Skip to content

docs: rescope the job-architecture extraction - #82

Merged
retr0h merged 1 commit into
mainfrom
fix/job-architecture-scope
Aug 16, 2026
Merged

docs: rescope the job-architecture extraction#82
retr0h merged 1 commit into
mainfrom
fix/job-architecture-scope

Conversation

@retr0h

@retr0h retr0h commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Task 3.2 is scoped wrong, and applying it is what showed why.

What it said

propose a capability from job-architecture.md's "Architecture Principles"; leave its remaining 550 descriptive lines in place

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:

  • Semantic routing rules (line 129) — whether an operation reaches jobs.query or jobs.modify
  • Target types (line 153) — _all, _any, hostname, label selector
  • Hierarchical label matching (line 163)
  • Label limits (line 202) — five labels, with the consumer arithmetic that follows

Following 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:

22 get   13 update   10 list   10 execute   10 delete   9 create
 1 each: stop start signal shutdown restart remove reboot
         password install enable disable sources query do

.list appears ten times and the rule does not classify it. Ten more verbs are unanticipated. .read and .set are documented and unused.

Nothing enforces any of it — the caller picks Query() or Modify() 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 .list appeared.

Changes

  • 3.2 rescoped to a job-routing capability drawn from the whole document
  • 3.2a added — establish the real routing rule before writing it down, since the documented one is a third accurate
  • 3.2b added — the descriptive remainder stays: job states, append-only status, package layout, performance notes

design.md records the finding, including why renaming the three architecture documents should wait until after extraction rather than before.

No new capability here. The documentation capability 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

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>
@github-actions

Copy link
Copy Markdown

Thank you for contributing to this project! 😊🕹️

@retr0h
retr0h merged commit 127fc5e into main Aug 16, 2026
6 checks passed
@retr0h
retr0h deleted the fix/job-architecture-scope branch August 16, 2026 07:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant