chore: harden SDD governance workflow
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
## Context
|
||||
|
||||
<!-- Current state and constraints that shape the approach. See proposal.md for motivation - don't restate it -->
|
||||
|
||||
## Goals / Non-Goals
|
||||
|
||||
**Goals:**
|
||||
<!-- What this design aims to achieve -->
|
||||
|
||||
**Non-Goals:**
|
||||
<!-- What is explicitly out of scope -->
|
||||
|
||||
## Decisions
|
||||
|
||||
<!-- Key design decisions with rationale and alternatives considered -->
|
||||
|
||||
## Delivery Map
|
||||
|
||||
| Area | Status | Architectural outcome or N/A reason |
|
||||
| --- | --- | --- |
|
||||
| frontend | `affected` or `N/A` | <!-- concrete result or reason --> |
|
||||
| backend | `affected` or `N/A` | <!-- concrete result or reason --> |
|
||||
| specs | `affected` | <!-- normative result --> |
|
||||
| docs | `affected` or `N/A` | <!-- as-built documentation result or reason --> |
|
||||
|
||||
### Contract Gate Decision
|
||||
|
||||
| Gate | Status | Reason |
|
||||
| --- | --- | --- |
|
||||
| runtime-openapi | `required` or `N/A` | <!-- required only when both API contract sides change; otherwise concrete N/A reason --> |
|
||||
|
||||
## Solution Assessment
|
||||
|
||||
<!-- Include only when the change crosses a mandatory build-vs-buy trigger.
|
||||
Compare mature options and custom implementation; otherwise remove section. -->
|
||||
|
||||
## Risks / Trade-offs
|
||||
|
||||
<!-- Known risks and trade-offs -->
|
||||
|
||||
## Migration Plan
|
||||
|
||||
<!-- Delivery order and rollback, when applicable -->
|
||||
|
||||
## Open Questions
|
||||
|
||||
<!-- Only questions that cannot change Specs, approach or Tasks; otherwise
|
||||
resolve with the Change Owner before saving Design. Remove if empty. -->
|
||||
@@ -0,0 +1,30 @@
|
||||
## Why
|
||||
|
||||
<!-- Explain the motivation for this change. What problem does this solve? Why now? -->
|
||||
|
||||
## What Changes
|
||||
|
||||
<!-- Describe the intended outcome and explicit non-goals without technologies,
|
||||
APIs, files, dependencies or implementation decisions. -->
|
||||
|
||||
## Capabilities
|
||||
|
||||
### New Capabilities
|
||||
<!-- Capabilities being introduced. Use kebab-case for path segments you introduce
|
||||
(e.g., user-auth or identity/user-auth) that follow the project's existing
|
||||
spec organization. Each creates specs/<capability-path>/spec.md. -->
|
||||
- `<capability-path>`: <brief description of what this capability covers>
|
||||
|
||||
### Modified Capabilities
|
||||
<!-- Existing capabilities whose REQUIREMENTS are changing (not just implementation).
|
||||
Only list here if spec-level behavior changes. Each needs a delta spec file.
|
||||
Use the exact existing path under openspec/specs/. Leave empty if no requirement
|
||||
changes. A change with no capabilities at all (pure refactor, tooling, docs)
|
||||
must set `skip_specs: true` in its .openspec.yaml - openspec validate rejects
|
||||
a zero-delta change without that marker. Do not invent a requirement just to
|
||||
satisfy validation. -->
|
||||
- `<existing-capability-path>`: <what requirement is changing>
|
||||
|
||||
## Impact
|
||||
|
||||
<!-- Affected users, processes or system areas at scope level only. -->
|
||||
@@ -0,0 +1,11 @@
|
||||
## Purpose
|
||||
<!-- New capabilities only: one or two sentences (50+ characters) on what this capability is for. Delete this section for an existing capability. -->
|
||||
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: <!-- requirement name -->
|
||||
<!-- requirement text -->
|
||||
|
||||
#### Scenario: <!-- scenario name -->
|
||||
- **WHEN** <!-- condition -->
|
||||
- **THEN** <!-- expected outcome -->
|
||||
@@ -0,0 +1,9 @@
|
||||
## 1. <!-- Task Group Name -->
|
||||
|
||||
- [ ] 1.1 <!-- Concrete implementation action and its planned verification -->
|
||||
- [ ] 1.2 <!-- Concrete implementation action and its planned verification -->
|
||||
|
||||
## 2. <!-- Task Group Name -->
|
||||
|
||||
- [ ] 2.1 <!-- Affected repository action and canonical local gate -->
|
||||
- [ ] 2.2 <!-- Cross-area verification when required -->
|
||||
Reference in New Issue
Block a user