v3.1 hardening: review fixes + from-zero onboarding (v0.4.0)#2
Merged
Conversation
…ility Planned and written by Fable (docs-only slice). Adds explicit statement that registering a repo means executing its code (tests, inherited config), and that state-dir backup/encryption/retention is the operator's responsibility. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Spec by Fable, implemented by Codex, reviewed by Fable (ran npm test fail 0, read full diff: minimal 2-file change, real dual assertions with unique token). Envelope now leads with agent_river_contract: "exec-v1" and message_id so the exec contract can evolve without breaking adapters. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Spec by Fable, implemented by Codex, reviewed by Fable (ran npm test fail 0, read full diff). Codex and exec runner replies now run parseDispatchProposal + createDispatchApproval like the opus exchange runner, so any lane can propose cross-agent dispatch — still behind owner approval. Ledger-backed tests cover both lanes plus the no-block negative case. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Spec by Fable, implemented by Codex, reviewed by Fable (ran npm test fail 0, read full diff + all 5 new tests). Gate buttons carry taskApprovalHash (sha256 of repo+mode+request, 8 hex chars); approve rejects legacy no-hash buttons and stale hashes, reports already-approved idempotently. Reject path stays fail-safe and accepts old buttons. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Written by Fable. U4 retirement accidentally dropped the only command that manages the owner allowlist (direct_send_user_allowlist), leaving fresh installs unable to become owner; restore --direct-send-user-add/-remove on telegram-codex-policy-set (smoke-tested add+remove against a temp state). README (en + zh-Hant): prerequisites section, owner/bot bootstrap steps in Quickstart order that actually works, session transcript example, owner-list management commands. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Follow-up hardening after an external static review, plus onboarding fixes.
agent_river_contract: "exec-v1"+message_idagent-dispatchblocks (parity with opus lane, still owner-approved)--direct-send-user-add/-remove(lost in v1 retirement; fresh installs could not become owner) + README from-zero onboarding (en/zh-Hant)384 tests green. Breaking: pre-upgrade gate buttons stop working (by design).
🤖 Generated with Claude Code