Repository navigation
alpha.54: pre-beta Track 1 (worker file from ref, Codex client-reported, first job via init, terminal gaps) - #112
Merged
Merged
Conversation
…he operator reference README.md and README.tr.md now read hero -> what Deckent is (problem, what it does, solo to enterprise, ERP/CRM as well as code) -> how it works (request flow, Govern/Execute/Prove, architecture) -> get started (requirements, source install, first session) -> first job -> everyday use (terminal, CLI, MCP, runtime service) -> safety and control -> what works today / not yet -> roadmap -> learn more -> license. Claims were checked against the alpha.53 source, CHANGELOG and known limits (npm not published, no Desktop, delivery advisory rule only, coding tasks accepted on exit code). The stale alpha.23 roadmap is replaced by the beta order (npm, Brain/Nervous orchestration, then Desktop). Long operator detail (bubblewrap build and Ubuntu userns, provider secret names and vaults, first-job values and messages, delivery queue undo, runtime service, sandbox views, secret stores and strict install, spend settlement, extension entry, MCP groups, backup caveats) moved to new sections of operator-reference EN/TR. Inbound anchors (#get-started, #your-first-session and their Turkish twins) are kept. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…ned npm package Restore --discovery repository on the first-job init registry lines so the commands match the clean-machine rehearsal the paragraph cites; name the planned @verhex/deckent package as not final; say the /help table shows the most used commands; drop the one-section "moved from README" note in the operator reference. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…, policy modes and vault grants, maintainer review wording) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…and-ai, CONTRIBUTING, SECURITY) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…Desktop in parallel during it Owner 2026-10-23 via the lead: memory, agent/skill emergence, worker execution and assignment, evaluation, Brain, Nervous with automatic recovery and the Auditor are built before the beta; the beta hardens them through real use and tests while Desktop app development starts in parallel. README EN/TR roadmap and known-limits EN/TR (Desktop: in beta after the core layers, not shipped today) now say the same; no dates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…2, alternate screen, restore) into terminal-host; add empty tui* i18n families; reserve /copy and /rename names Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…ARNESS-FARK P0) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…ort onto Y1 Runs control) `a` on a Run whose task waits with a needs-input question opens an answer card (question, state/revision, identity). The answer is written with Tab and sent only with a single typed y; y with nothing written sends nothing. The terminal ledger port answerTask builds the same runLifecycleCommandSchema `answer` command as `deckent run resume --task --answer` in-process: no protocol or MCP change. A stale store conflict rereads the Run and asks again (bounded by run-control.json, same codes as the CLI); any other refusal or a dropped connection is the typed line and nothing is retried. EN/TR words in the new termanswer family; /runs help text updated with its i18n fixture. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…dow (K7 ported alone; owner Q1) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob # Conflicts: # arch.json # src/platform/core/i18n/internal/families.ts
…PRE-8/PRE-9/alpha.53 reference (set B) - ARCHITECTURE: ~40 "author/source candidate" labels now name the release that landed them (verified against CHANGELOG and release ancestry); the stale DECKENT-MD "worker context is deferred" paragraph now states the alpha.53 worker instruction snapshot contract; opening reads intro -> Northstar -> document map; W3-AUTHORITY / MCP-NO-DECIDE moved verbatim under Task approval; host-kit/skill/Jev/board notes moved verbatim to a new module note; test budget names declared test cases; two Turkish contract lines in English; Packages table gains run-planning and the new note (1200 -> 1149 lines). - architecture/**: same relabelling incl. headings (S6 anchor updated); "verbatim" headers say later dated additions are marked; decisions.md rows for PRE-8, PRE-9, worker instruction snapshot, DeliverySummary + autonomy shadow. - operator-reference EN/TR: secret set needs --main|--project (no piped value), .deck format, grant/revoke/handover, list --all, doctor key rows, registry connection kinds incl. openrouter, Cursor catalog seed, init policy --modes, coding instructions status/trust/revoke. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…l-window terminal (EN/TR) All 17 EN and 17 TR images re-recorded from the compiled alpha.53 CLI in a real 120x36 PTY against its own runtime service and a loopback test model, in a throwaway installation under /tmp/claude-1000/shots-ev with a fake HOME (no owner, live or N1 state; no provider call, no real key). Tooling reused from the alpha.17 capture (proof DOCS-SCREENSHOTS-2026-10-08), copied to proof DOCS-2026-10-23/screenshots/tool with three changes: SHOT_REPO defaults to this worktree, the secret-store switch runs in its own PTY (alpha.53 refuses an authority change off a person's terminal) and the placeholder piped key is dropped (SECRET_SET_TERMINAL_REQUIRED), the /model ready wait text follows the current catalog, and the renderer trims the blank conversation rows above the content of the full-window layout. Captions now describe what the new screens show (Create budget in /model, local model usable without a budget, answer list on the approval card, OpenRouter in /provider). Commands: npm run build; SHOT_LANG=en|tr node capture.mjs (all 11 scenes status 0); SHOT_LANG=en|tr uv run --with pyte --with cairosvg --with pillow python render.py. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…t; real 0.163.0 stream seals measured tokens (alpha.54 CX) Step 0: a recorded Codex 0.163.0 exec --json stream (redacted fixture) runs through normalizer -> schema -> seal -> summary and keeps measured tokens, so known-limits 'no token use' is stale since B09-3 (4eec455). cache_write_input_tokens is a detail of input_tokens (Codex rust-v0.163.0 parses_cache_write_token_usage: 100 = 40 + 60) and is now counted apart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ntext paragraph, operator reference alpha.51–53) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…creenshots, roadmap); operator detail moved to operator-reference Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob # Conflicts: # .deckent/docs/architecture/operator-reference.md # .deckent/docs/architecture/operator-reference.tr.md
…up and missing owner decisions CHANGELOG alpha.53 marked released (PR #111, live/N1 2026-10-23, switch b10f46a-12aed6973728) and alpha.19 skip noted. PLAN: current release record, owner direction and beta gates as of 2026-10-23, Şimdi rewritten around the alpha.54/alpha.55 program, CLI-INSAN and BETA-ISCI-BAGLAM landed/open split, closed inbox items moved to COMPLETED-PLAN, duplicates linked to one place, K1-K8 branch status, decision index in date order. COMPLETED-PLAN: alpha.53/52 sections, alpha.25-35 and 39-49 short records, alpha.24 live record corrected. owner-decisions: 2026-10-16..19, 10-22 and 10-23 decisions recorded; header states it is a living record. Changed PLAN lines kept verbatim in the plan archive. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ext step for uncertain outcomes (BETA-RAKIP-3) - test-ERP fixture: replyLate holds the next operation request past the client deadline until releaseLate(); then it is processed as usual and its reply goes to a client that gave up. - test-erp-operations (sdk + runtime): late reply keeps unknown and settles by lookup with one write; a resubmission before the late write lands resends the same keyed conditional write once and the late original writes nothing; a card decided after a restart executes after another restart with one write; the installed CLI names the next step on an unknown outcome. - CLI: EFFECT_OUTCOME_UNKNOWN / EFFECT_TARGET_BUSY carry a next-step suggestion; `deckent operation` adds scope/command/record params so it names the exact inspect command; `operation inspect` shows the next step for unknown/claimed records. - run inspect: the lost-worker line says what is known and that no automatic recovery exists yet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…le, 78 broken links, snapshot notes roadmap-2026-10-15: status note (alpha.38 -> alpha.53), D0-D2 landed in alpha.39 and Y3/Y4/D3 moved to beta, native Windows/macOS in beta scope, protected queue exits (DECKENT-MD-WORKERS, NODE-26), ORG-Q1..Q6 answered 2026-10-16, npm name, BETA-RAKIP in alpha.54, status column in the PRE table. cli-review: closure table per common item (alpha.48 / alpha.53, verified in source; unverified items said so). work-list, workstreams, status, open-findings, capability-map, qwen-host-pilot: 78 root-relative links rebased; frozen-snapshot notes on the 10-05/06 pages. Archive notes that verbatim PLAN lines keep repository-root links. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd /resume picker filter (T2, T5) T2: focus reports (mode 1004) are taken out of the input; the host rings BEL when work finishes or a card waits only after the window reported it lost focus. Setting terminal.notify bell|off (default bell). T5: /rename <title> stores a private sidecar next to the session snapshot (snapshot file unchanged); /resume shows the title and filters by typed text. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…g, closed wave-8 item, archive labels Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ed / client-reported-mismatch verdicts (alpha.54 CX, owner Q4)
Owner Q4 2026-10-23: a model name the client resolved and wrote to its own
session log is its own evidence label, never verified or start-name-matched.
- provider-catalog: modelUsageEvidence 'client-reported'.
- verifyWorkerModels: admitted exact id (or a catalog name of the admitted
model) -> client-reported; any other name -> client-reported-mismatch
(listed); no name -> unverified. Never substituted on a forgeable name.
- New statuses sealed as model.verification v4; unverified stays v2.
- Evaluation: verdict enum widened; mismatch held ('unknown'); match and
missing accepted by criteria (missing = as before the capability).
- Delivery verdict list widened; autonomy rule data unchanged (not eligible).
- Monitor EN/TR verdict texts; notice text updated (text-change entry).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…TED-PLAN, owner decisions 10-16…10-23, roadmap, links) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…sals), blank line above the person's message, terminal.responseStyle setting (T1, T6) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…om its base ref (alpha.54 R1) With a configured work target, `.deckent/worker-instructions.md` (or AGENTS.md) is read from the commit the target's base ref names (owner Q5 2026-10-23), never the working tree: each directory must be a tree, the file a plain blob whose listed size is within the registry bound before cat-file, and the read blob's object id is recomputed. The commit is resolved through the work target's own checks (resolveGitWorkTarget now returns baseCommit) on every read. Trust key unchanged (folder identity + content digest): alpha.53 trust records stay valid and a branch advancing with the same bytes stays trusted. The trust card binding gains ref, commit and blobOid (shown and sealed, not compared); path is `<ref>:<file>`; file dev/ino are null for a ref read and kept for the no-target working-tree read; decision input tag :3. Status and card name ref@commit (EN/TR); the worker prompt part names `<ref>:<file> at commit <sha>`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nal.responseStyle (HARNESS-FARK T1, T6) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…default sandbox realm, and the full-access mark glyph The /usage shot now shows the same 20 USD budget the budget steps create; the /mcp example server uses the default realm (sandbox with network) instead of host; the full-access status mark is rendered without a bold fallback face that lacked the glyph. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
# Conflicts: # src/adapters/core/contract/internal/terminal.ts # src/surfaces/core/terminal-host/index.ts # src/surfaces/core/terminal-host/internal/host.ts # src/surfaces/core/terminal-kit/internal/slash-registry.ts # src/surfaces/core/terminal/internal/workline.tsx # tests/contracts/platform/config-zod-equivalence.test.ts # tests/contracts/surfaces/terminal-slash-registry.test.ts
…ename + /resume filter (HARNESS-FARK T2, T5) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
… and a restart-apply setting applies on restart TR used "kabul" for both admission (the Run started) and acceptance (the result met its criterion), so "Run ... kabul edildi" read as an accepted result. Admission strings now say başlatıldı / başlatılırken; acceptance keeps kabul. The config apply word "yeniden" becomes "yeniden başlatınca". EN unchanged; each change is recorded in cli-text-changes.json. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…); Ctrl+G edits the draft in $VISUAL/$EDITOR through a new adapter port (T4) - panel controller: withdraw-queued input (only a still-queued input; the active one never) - composer: withdraw/editor/restore keys; restore is one undo step; Ctrl+G stays Esc without an editor - terminal-host: useDraftHandoffs (queued entries, Ink suspendTerminal + host handover: mouse off, real TTY paused, SIGINT ignored, held rows) - adapters/terminal-editor: 0700 dir + 0600 file, VISUAL then EDITOR, no shell, lstat/no-follow, byte bound from editor.json, cleanup on every path - i18n families tuiqueue, tuieditor (EN/TR); help panel lines Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… log; registry flips codex to client-reported (alpha.54 CX, owner Q4) - Bootstrap: after thread.started the Codex rollout log (<CODEX_HOME>/sessions/Y/M/D/rollout-*-<thread_id>.jsonl) is polled while the worker runs and read once more at the end; bounds from providers.json limits.clientModelReport (poll/wait/file bytes/line bytes/walk entries); no symbolic link is followed, the thread id must be a session id, a partial last line is not read. Only the first turn_context.model and session_meta.cli_version leave the container (redacted, bounded), as the one session.started; a later turn_context is counted unmapped; a missing, unsafe or oversized log yields a start without a model plus its cause. - Registry: codex modelUsageEvidence none -> client-reported; profiles stamped none are refused by the binding check (re-create at the switch). - Gateway: the first session.started is the one the verdict compares. - Codex seed: reportedNames = nativeId per model (source codex rollout turn_context.model, 0.163.0), revision codex-cli-subscription-2026-10-23. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…(EN/TR) Who answers an approval, MCP and shell sandbox fallback, macOS/non-Linux limits for the service, delivery and key grants, release status of alpha.53, the build retry, init, connect vs choose, worker login, discovery flag, admission vs acceptance wording, recovery-set encryption, screen-note placement and plainer contract words. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
… log and seals client-reported / mismatch; EN/TR monitor label (alpha.54 CX) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the execution settings and declares the first kind and pool (BR1) - execution family: worker image stage (a person is asked; build or --image-id adopt as a foreground stage after a card with size and time) and execution settings stage (config.set composed from the detected Docker/Git paths and the receipt's image) - engine: WorkerImageSetupApplication + planFirstWorkerImage (packaged recipe, or the next counter past the daemon-held one), work family (first kind from the native CLI registry, then the pool; both foreground stages through the existing owners) - adapters: receipts reader, read-only image presence, buildWorkerImageInHome shared with toolchains update (same failed-context retention), built-lineage reader moved - doctor: work.workerImage row (read-only image inspect); first-job steps 1-2 become one `deckent init` step; no npm run worker:image, no hand config JSON Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nal codenames (EN/TR) Restructured after the reader review: README flow first (build, first-run setup, providers, first job, worker instructions and discovery, delivery, runtime service, sandbox, modes, keys, spending), terminal keys and CLI commands next, internals last. Merged the duplicated spending, key vault, delivery, restart, upgrade, Run control, backup, pool and MCP texts; removed stale "not yet" catalog notes, codenames and the ledger version; corrected discovery per CLI, backup integrity, BACKUP_PASSPHRASE via secret set, non-Linux refusals and the decision grant (template v13). TR uses policy, dala alma, siz and yükseltme. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
… wording matches its help Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob # Conflicts: # tests/fixtures/i18n/cli-text-changes.json
…trust binds ref + content digest; owner Q5) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
… composition 8200; owner 2026-10-23) on alpha.54 too; re-measured when alpha.54 and alpha.55 meet on main Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…/do text), not its remembered history form Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…reads no key and draws nothing while it owns the TTY (a paused stream re-arms a read); handover only switches mouse/focus reports; real-PTY tests for fullscreen, inline and SIGINT Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…after the card, composed settings, kind, pool; second init reads done) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the draft in $VISUAL/$EDITOR (HARNESS-FARK T3, T4) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…step for uncertain outcomes (BETA-RAKIP-3) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob # Conflicts: # tests/fixtures/i18n/cli-text-changes.json
…e/setup keeps no runtime, source-control or coding vocabulary) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s the worker image, composes execution, kind + pool stages; read-only image check) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob # Conflicts: # tests/fixtures/i18n/cli-text-changes.json
… Runs list and run list name a held Run (alpha.54 g) Queue rows in the /run window now show the DeliverySummary (or its not-available line) through the card's reader and renderer (ledger port queueSummaryLines, wired from describeDeliverySummaries). The /runs list and picker show the park reason and a hold laid over another park (operatorHold) in EN/TR; deckent run list says the same. No ledger or protocol change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…and run list name a held Run (alpha.53 gaps) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
CHANGELOG alpha.54 line (Unreleased; lead fills date, commit, PR and switch at landing) covering R1, CX, BR1-BR3, T0-T6, G and the docs lanes; version bump in package.json, package-lock.json and package-metadata.json; README/SECURITY name alpha.54. README EN/TR first job: `deckent init` builds or adopts (--image-id) the worker image, writes execution, declares the first kind and pool; restart only if the service was running; docs-script-references no longer requires README to name worker:image. known-limits EN/TR: init first-job stages, worker file from the target ref, Codex client-reported model and measured tokens, /copy OSC 52 bounds, background bell, Ctrl+G blocking, responseStyle, uncertain-effect next step and EFFECT_TARGET_BUSY, held-Run pool slot (G), lost worker without automatic recovery, switch/rollback notes for alpha.54. operator-reference EN/TR, ARCHITECTURE worker-context paragraph and config-and-cli-help: worker file read from the target ref; init image step. PLAN: alpha.54 row and program sub-items in code, K7 moved, inbox items closed per G/R1; replaced lines kept verbatim in the plan archive. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…on and the admission registry is read live Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…sion 1.0.0-alpha.54, known-limits, README first job via deckent init, PLAN moves) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…een fixture knows focus reporting ?1004, /help has 34 rows (/rename), TR policy doc command blocks keep EN placeholders Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…f + digest (REVISE 2738 R1, owner Q5) A trust given at a work target's base ref was written and read under the folder + digest key, so ref B with the same bytes read as trusted after a trust of ref A, and admission passed it. A committed read now writes and reads its own tagged record keyed by folder + ref + digest; revoking one ref never removes another ref's record. Legacy rule: the alpha.53 folder + digest record (content = the bare digest) is still honoured at a ref of that folder but never written for a ref; a revoke at the ref removes it too, so a sealed revoke never leaves the card trusted. A working-tree read (no target, terminal) is unchanged. Negatives first (red on f6bfc42): adapter A->B same bytes, folder working tree, per-ref revoke both ways, commit advance, exact alpha.53 record bytes; composition A trust -> B untrusted + admission withheld, B own card, per-ref revoke. Docs: known-limits EN/TR, operator-reference EN/TR, config-and-cli-help, ARCHITECTURE, CHANGELOG. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
… rule (REVISE 2738 R1) `coding instructions` help (EN/TR) says trust is for the folder and, with a work target, its base ref (text-change entries + regenerated help fixtures). known-limits, operator-reference, config-and-cli-help, ARCHITECTURE and CHANGELOG name the legacy rule exactly as implemented: any folder-and-content record (alpha.53, or a read without a target) still counts at a ref of that folder, is never written for a ref and is removed by a revoke there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
… alpha.54 first opened the store unlock a ref (REVISE 2738 R1, lead) Round 1 let any folder + digest record unlock every ref of the folder, including a new alpha.54 no-target trust and the terminal's AGENTS.md trust. Now the first reader of this release seals, before it can write, the bare records that already exist into a private snapshot (legacy-folder-trust.v1: `<name> <digest>` lines, bound from registry data, O_EXCL temp + fsync + rename + dir fsync under the shared write lock). A committed read honours a folder + digest record only when the snapshot lists it. A ref revoke removes that ref's record and the legacy entry and keeps the folder's own record; a working-tree revoke also drops the entry, so a later folder trust never reopens a ref. alpha.53 never reads the snapshot. Negatives first (red on 7e3b874): no-target trust as the first store access, the terminal's AGENTS.md trust and a record laid down after the snapshot never unlock a ref; a same-process race of first writes and a ref open; a captured alpha.53 record still unlocks the ref; a ref revoke keeps the working-tree trust; composition: a folder trust before the target is configured leaves admission withheld. WORKER_INSTRUCTIONS_CHANGED.place names the ref (EN/TR, text-change record). known-limits, operator-reference, config-and-cli-help follow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…ds ref + digest; only pre-alpha.54 folder records (sealed snapshot) unlock refs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
…hot rule Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
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
alpha.54 — pre-beta Track 1 (owner 2026-10-23). One live-bound release: worker instruction file read from the work target's ref (trust binds ref + content digest), Codex client-reported model evidence, first durable job without hand JSON (
deckent initworker image + execution + kind/pool), answer a worker's question from/runs, honest next step for uncertain effects, terminal gaps (/copy, unfocused bell, /rename, Alt+Up withdraw, Ctrl+G editor, response style), alpha.53 gaps, docs audit + README rewrite.Evidence
ALPHA54-2026-10-23/exact-head-38bdd222.log).38bdd222bc8fd77b59997e3ea3b45b8797949379.Doors
terminal.responseStyleandterminal.notify; ref trusts given on alpha.54 are asked again after rollback; folder trusts stay valid.🤖 Generated with Claude Code
https://claude.ai/code/session_01JrXPpzy6N7zFwchFM6Adob