docs: rescope the job-architecture extraction - #82
Merged
Conversation
Task 3.2 said to take the "Architecture Principles" block and leave the remaining 550 lines as description. Those lines hold the semantic routing rules and the five-label limit, which govern how an operation is built. The routing rule has already drifted: it classifies ten suffixes, the code uses twenty, and .list appears ten times unclassified. Nothing enforces it, so nobody found out. 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.
Task 3.2 is scoped wrong, and applying it is what showed why.
What it said
Those 550 lines are where the requirements actually are. The block named "Architecture Principles" is twelve lines of slogans — KV-First Storage, Stream Notifications. The rules that govern how an operation gets built are further down:
jobs.queryorjobs.modify_all,_any, hostname, label selectorFollowing 3.2 as written would have extracted the slogans and left the rules.
The routing rule has already drifted
The document classifies ten suffixes:
.get,.query,.read,.status,.do→ query;.update,.set,.create,.delete,.execute→ modify.The code uses twenty:
.listappears ten times and the rule does not classify it. Ten more verbs are unanticipated..readand.setare documented and unused.Nothing enforces any of it — the caller picks
Query()orModify()directly. The code outgrew the document, and because a description is checked against nothing, no one found out. A requirement with scenarios would have failed the moment.listappeared.Changes
job-routingcapability drawn from the whole documentdesign.mdrecords the finding, including why renaming the three architecture documents should wait until after extraction rather than before.No new capability here. The
documentationcapability already settles that a document mixing requirements with description gets split — this only corrects a task that misjudged which parts were which.🤖 Generated with Claude Code