Skip to content

docs: add context-layer design spec (refs, aliases, packs, onboard, pickers) - #39

Merged
timimsms merged 1 commit into
mainfrom
docs/context-layer-spec
Jul 17, 2026
Merged

docs: add context-layer design spec (refs, aliases, packs, onboard, pickers)#39
timimsms merged 1 commit into
mainfrom
docs/context-layer-spec

Conversation

@timimsms

Copy link
Copy Markdown
Owner

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), the cu onboard wizard, and bubbletea-backed pickers with a plain-stdout cu pick contract. The doc folds in all fact-check corrections (real config.yaml filename, $CU_CONFIG_DIR marked as future, -w/--workspace and bulk --list labeled as new surface, corrected export example, non-vendored SDK wording) and includes the dependency-ordered S/M/L sequencing ladder. It lives in docs/design/ — deliberately outside docs/site/ — so it does not publish to the mkdocs site; mkdocs build --strict verified green with the new directory present.

Maintainer decisions (final; spec §9.1)

  1. The wizard is cu onboard, not cu initonboard joins the reserved-now list, init moves to future-reserved; happy side effect: no confusion with the existing cu config init.
  2. No shell (!) 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.yml TOFU gate stays; cu pack info gains a static capability report; escape hatches are project .cu.yml, cu-<name> PATH extensions, and a future declarative url: alias type. Pack work resized L → M.
  3. bubbletea/bubbles in core accepted as specced.
  4. Future-reserved word list approved (with the init/onboard swap) as an API commitment; cu which --reserved stays.
  5. Root cu @ref sugar kept, with an explicit cut line: if @-parsing complicates cobra arg/completion handling, the fallback is requiring cu task list @x.

Related issues

🤖 Generated with Claude Code

…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>
@timimsms
timimsms merged commit 62e13cf into main Jul 17, 2026
16 checks passed
@timimsms
timimsms deleted the docs/context-layer-spec branch July 17, 2026 02:32
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