docs: add context-layer design spec (refs, aliases, packs, onboard, pickers) - #39
Merged
Conversation
…ickers) Accepted design for the cu context layer: named refs and saved queries, gh-identical aliases, declarative-inert packs with a manifest-hash trust model, the cu onboard wizard, and bubbletea-backed pickers. Folds in the final maintainer decisions, the security-review hardening (manifest-wide sha256, SHA-pin authority, git fetch hardening, credential-key blocklist, source TOFU), and all fact-check corrections. Placed in docs/design/ (outside docs/site) so it does not publish to the mkdocs site; 'mkdocs build --strict' verified green with the new dir. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Jul 17, 2026
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.
Summary
Adds
docs/design/context-layer.md, the accepted design spec for the cu context layer: named refs and saved queries compiling onto the #25 Filtered-Team-Tasks endpoint, gh-identical aliases with registration-based dispatch, declarative-inert packs whose entire trust model is a manifest-wide sha256 with semantic-diff re-consent (SHA-pin authority, git fetch hardening, credential-key blocklist, source TOFU, 0600 tamper-evident lockfile), thecu onboardwizard, and bubbletea-backed pickers with a plain-stdoutcu pickcontract. The doc folds in all fact-check corrections (realconfig.yamlfilename,$CU_CONFIG_DIRmarked as future,-w/--workspaceandbulk --listlabeled as new surface, corrected export example, non-vendored SDK wording) and includes the dependency-ordered S/M/L sequencing ladder. It lives indocs/design/— deliberately outsidedocs/site/— so it does not publish to the mkdocs site;mkdocs build --strictverified green with the new directory present.Maintainer decisions (final; spec §9.1)
cu onboard, notcu init—onboardjoins the reserved-now list,initmoves to future-reserved; happy side effect: no confusion with the existingcu config init.!) aliases in packs — packs are 100% declarative-inert. The manifest parser rejects!aliases at install (fail-closed, loud error); the grant machinery is deleted entirely; the lockfile becomes source/pin/rev/manifest_sha256 (+ trusted_projects); the project.cu.ymlTOFU gate stays;cu pack infogains a static capability report; escape hatches are project.cu.yml,cu-<name>PATH extensions, and a future declarativeurl:alias type. Pack work resized L → M.cu which --reservedstays.cu @refsugar kept, with an explicit cut line: if@-parsing complicates cobra arg/completion handling, the fallback is requiringcu task list @x.Related issues
🤖 Generated with Claude Code