3.9 KiB
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-architectureor 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/, andplugins/ - 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