Skip to content

feat: move Requirements to companion file (requirements.md)#84

Merged
corvid-agent merged 5 commits intomainfrom
feat/requirements-companion-file
Mar 31, 2026
Merged

feat: move Requirements to companion file (requirements.md)#84
corvid-agent merged 5 commits intomainfrom
feat/requirements-companion-file

Conversation

@corvid-agent
Copy link
Copy Markdown
Collaborator

Summary

  • Reverts ## Requirements as a required spec section (added in v3.1.0) — requirements don't belong in the technical contract
  • Adds requirements.md as a per-module companion file scaffolded alongside tasks.md and context.md
  • Keeps specs focused as dev-authored technical contracts while giving Product/Design their own space

Companion file model

File Author Validated? Purpose
{module}.spec.md Dev/Architect Yes — against code Technical contract
tasks.md Anyone No Work coordination
context.md Dev/Agent No Architecture notes
requirements.md Product/Design No The ask, acceptance criteria

What changed

  • Removed "Requirements" from default_required_sections() and all 6 spec templates
  • Added REQUIREMENTS_TEMPLATE with User Stories, Acceptance Criteria, Constraints, Out of Scope
  • Updated generate_companion_files() to scaffold requirements.md
  • Removed ## Requirements from all 15 existing specs, added requirements.md for each
  • Updated specsync.json, README, docs, SCOPE, CHANGELOG, and all integration tests

Test plan

  • cargo build — compiles clean
  • cargo test — 195 tests pass (119 unit + 76 integration)
  • specsync check — all 15 specs pass, 100% coverage
  • New specs scaffolded via add-spec / generate will include requirements.md
  • Verify specsync generate on a fresh project scaffolds all three companion files

🤖 Generated with Claude Code

corvid-agent and others added 5 commits March 30, 2026 17:54
Add a Requirements section (user stories + acceptance criteria) as the 8th
default required section, positioned after Purpose and before Public API.
This enables a natural product/AI workflow where humans define what a module
should do from a user perspective, and AI fills in the technical details.

- Add "Requirements" to default_required_sections() in types.rs
- Add ## Requirements to all 6 built-in language templates in generator.rs
- Update all 15 project spec files with the new section
- Update docs, config, and all test fixtures
- Bump version to 3.1.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Requirements to all default section lists, config examples, spec
examples, and AGENTS.md. Add v3.1.0 CHANGELOG entry.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add support for AGENTS.md as a hook target, following the OpenAI Codex
convention. Works the same as the existing claude/cursor/copilot targets:
creates or appends spec-sync instructions to AGENTS.md.

CLI: specsync hooks install --agents

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Requirements as a required spec section (v3.1.0) blurred the authorship
boundary between technical contracts and product asks. This moves
requirements to a per-module companion file (requirements.md) alongside
tasks.md and context.md, keeping specs focused as dev-authored technical
contracts while giving Product/Design their own space.

Changes:
- Remove "Requirements" from default required sections
- Remove ## Requirements from all spec templates (default + 5 languages)
- Add requirements.md companion file template with User Stories,
  Acceptance Criteria, Constraints, and Out of Scope sections
- Scaffold requirements.md alongside tasks.md and context.md
- Update all 15 existing specs and add requirements.md for each module
- Update docs, README, SCOPE, CLI docs, and integration tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ents sections

Merge from main re-introduced ## Requirements as a required section
(from v3.1.0). Removed it from all spec files, templates, validator
defaults, test fixtures, and specsync.json to keep this branch's
companion-file approach consistent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@corvid-agent corvid-agent merged commit 8860402 into main Mar 31, 2026
9 checks passed
@corvid-agent corvid-agent deleted the feat/requirements-companion-file branch March 31, 2026 01:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant