feat: give the corpus an entry point and an honest description - #83
Merged
Conversation
The README calls openspec/specs/ the current description of how osapi-io behaves. Five of its six capabilities govern how work is done; only one says anything about how the software behaves. openspec/ also has no top-level document. Six capabilities and eleven archives, and nothing saying where to start. Survivable now, not at twenty. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Thank you for contributing to this project! 😊🕹️ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds two requirements to the
documentationcapability, and the tasks to apply them.Added here rather than as a separate change because
documentationis still in flight — a new change carrying a## MODIFIEDdelta against it would apply to a capability the corpus does not hold yet, and orphan. That is the failurecorrect-documentation-driftnearly hit againstmodule-dependencies.The README promises something the corpus does not hold
It is not that. Of six capabilities, five govern how work is done:
code-architecturejustfilesgo-library-standardsmodule-dependenciesreplacedirectivesnon-library-standardssdk-standardsA reader could learn all forty-five requirements, know our linting rules, and still not know that osapi has three processes or what a provider is.
The gap is sequence, not intent — every change so far has been repository standardization, which produces rules about process. The capabilities queued next (routing, API design, provider semantics, domain completeness) are about behavior. It will never fully match, because package maps and request flows stay in the repositories by a decision this capability already records. So the README is corrected to say what the corpus is: the rules the software is held to, with the reasoning in the archive.
There is no way in
openspec/holds six capability directories and eleven archived changes, and no top-level document. Nothing says where to start or which capability governs what. Survivable at six; not at twenty.The requirement asks for a map, not a summary — naming each capability and what it covers, saying what the corpus is, pointing at the archive for reasoning. A summary would restate the requirements and drift from them; a map stays true as long as the names do.
The second requirement asks each
## Purposeto state what the capability governs and why that ground needs governing. A capability that opens with its first requirement teaches a reader who already knows the domain, and no one else.Tasks 4a.1–4a.3 apply it; 5.4 verifies the map names every capability.
🤖 Generated with Claude Code