first commit
This commit is contained in:
+67
@@ -0,0 +1,67 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Ordered Architecture Backlog
|
||||
The repository SHALL maintain an ordered architecture delivery backlog that maps each future OpenSpec change to its primary roots, purpose, dependencies, and verification expectations.
|
||||
|
||||
#### Scenario: Backlog lists the next architecture change
|
||||
- **WHEN** a contributor needs the next implementation target
|
||||
- **THEN** the backlog identifies the next change name, affected roots, and why it follows the previous change
|
||||
|
||||
#### Scenario: Backlog preserves bootstrap as baseline
|
||||
- **WHEN** a follow-up change is planned
|
||||
- **THEN** it references `bootstrap-game-server-platform-architecture` or archived baseline specs instead of redefining the product scope
|
||||
|
||||
### Requirement: Single Active Implementation Change
|
||||
The delivery workflow SHALL keep only one concrete implementation OpenSpec active at a time unless the user explicitly requests a pause, reprioritization, or parallel track.
|
||||
|
||||
#### Scenario: Previous change is not closed
|
||||
- **WHEN** the current implementation change has unchecked tasks or missing verification evidence
|
||||
- **THEN** the next concrete implementation change is not started as active work
|
||||
|
||||
#### Scenario: User requests a reprioritization
|
||||
- **WHEN** the user explicitly changes the implementation order
|
||||
- **THEN** the backlog is updated or superseded before the new active change is implemented
|
||||
|
||||
### Requirement: Per-Change Handoff
|
||||
Each concrete implementation OpenSpec SHALL include a handoff block suitable for a fresh chat, containing the change name, implementation objective, required context files, expected verification commands, and stopping conditions.
|
||||
|
||||
#### Scenario: New chat starts implementation
|
||||
- **WHEN** the user opens a fresh chat for a concrete change
|
||||
- **THEN** the handoff block gives enough context to implement that change without expanding scope to unrelated backlog items
|
||||
|
||||
#### Scenario: Handoff references verification
|
||||
- **WHEN** the handoff is prepared
|
||||
- **THEN** it includes `scripts/check-structure.sh`, `openspec validate <change> --strict`, and any change-specific build, test, or browser walkthrough commands
|
||||
|
||||
### Requirement: Closure Evidence
|
||||
Implementation tasks SHALL remain unchecked until the implementing chat records verification evidence for the task or group of tasks.
|
||||
|
||||
#### Scenario: Task is completed
|
||||
- **WHEN** a task checkbox is marked complete
|
||||
- **THEN** the change records the command, walkthrough, file reference, or artifact that proves the task is complete
|
||||
|
||||
#### Scenario: Verification fails
|
||||
- **WHEN** a required verification command fails
|
||||
- **THEN** the implementation chat fixes the issue or records the blocker before the change is considered closed
|
||||
|
||||
### Requirement: Ownership Boundaries
|
||||
Each concrete change SHALL name its affected project roots and preserve root ownership boundaries from `AGENTS.md`.
|
||||
|
||||
#### Scenario: Change touches multiple roots
|
||||
- **WHEN** a change updates more than one of `platform/`, `run/`, `platform_web/`, and `plugins/`
|
||||
- **THEN** the OpenSpec design explains the contract boundary and avoids casual cross-root imports
|
||||
|
||||
#### Scenario: Shared contracts are needed
|
||||
- **WHEN** two roots need the same request, response, or protocol shape
|
||||
- **THEN** the change uses an explicit contract file, generated artifact, or documented copy boundary rather than importing implementation code across roots
|
||||
|
||||
### Requirement: Progress Tracking
|
||||
The delivery workflow SHALL maintain a progress record for the architecture stream that shows completed, active, pending, paused, and blocked changes.
|
||||
|
||||
#### Scenario: Active change completes
|
||||
- **WHEN** a concrete implementation change is closed
|
||||
- **THEN** the progress record marks it complete with verification evidence and identifies the next pending change
|
||||
|
||||
#### Scenario: Change is split
|
||||
- **WHEN** a backlog item is too large for one implementation chat
|
||||
- **THEN** the progress record replaces it with smaller ordered changes and records the reason for the split
|
||||
Reference in New Issue
Block a user