Skip to content

feat(cli): explain delivery evidence across supported routes - #325

Merged
abruption merged 8 commits into
mainfrom
feat/323-delivery-explanation
Oct 23, 2026
Merged

abruption merged 8 commits into
mainfrom
feat/323-delivery-explanation

Conversation

@abruption

@abruption abruption commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Summary

Completes the approved v1.3 explanation scope for #323, expanding the original local/SSH text dry-run slice:

  • send --dry-run --explain covers local, SSH and paired receivers; doctor --explain explains the existing diagnostic snapshot; handoff status --explain explains an existing read-only intent snapshot.
  • Text only. JSON combinations and handoff send combinations are refused before advisory/input/destination work. Ordinary output, native optional fields, exits and the frozen handoff schema/fixture remain unchanged when the option is absent.
  • Distinguishes declared capability, this invocation's validated facts, unavailable/unknown evidence, wake preflight, receipt assurance, latest wait and task completion. A receipt never proves task completion or model identity. Explanation generation time is not delivery-observation time; receipt time is labelled as stored record time.
  • Paired explanation context is negotiated through the existing authenticated probe, only for an explicit resolve. A new receiver advertises delivery-explanation-v1; an old receiver gets the unchanged resolve body and preserves known native facts with unknown context. No extra probe, connection, native submission, collector or fallback is introduced.
  • The private context is a strict, bounded 8 KiB v1 envelope. It uses only executing-worker declarations and actually returned native target/home. Unsolicited, malformed or unrequested context is discarded; optional metadata cannot displace otherwise usable native facts at the existing result byte cap. Actual direct/relay is shown only when the existing response reports it.
  • Handoff explanations reuse the shared read-only ledger/clock primitives from feat(handoff): add read-only status and bounded request watch #329 without merging that sibling PR. They never persist retention, initialize/repair history, mint authority, create waits or start a collector. A legacy collector's read-only clock rejection does not fall back to a write-through query.
  • New explanation text excludes message/URI/error/authority data and escapes terminal/bidi controls without changing ordinary output. Updates the four CLI-reference locales and generated standalone artifact.

Refs #323. No merge, runtime version bump, tag, release, package publication or operational change.

Validation

  • Final Python 3.13 extras suite, development mode and ResourceWarning-as-error: 1,373 tests OK, 19 skipped.
  • Python 3.9 explanation/CLI modes: 45 tests OK. The new relay path is not claimed for Python 3.9; existing optional relay requires Python 3.11+.
  • Documentation/manifest: 65 tests OK; generator check and staged diff checks pass. Frozen handoff contract/fixture unchanged.
  • The initial full test ran while documentation was being edited and failed five doc checks; the final frozen run above includes the corrected docs and all review regressions.

Tests use isolated offline fixtures/mocked native operations and loopback components; no real agent/model/SSH-account/hosted deployment acceptance is claimed.

Independent code review

Before push, independent-cli-review ran Claude Code 2.1.308 (requested and observed claude-opus-5-5) and Codex CLI 0.163.0 (isolated default; actual model not exposed) in parallel. Both received identical frozen self-contained source/test excerpts, completed with exit 0, and left input SHA-256 a6e7c8b3f931c111104ff26ac08361b34c391663904ecbb5a9a4393f580c35b1 unchanged. Claude reported no execution error; Codex completed its turn without command-execution events. Reviewers had no file-edit, test, network or external-session authority.

Confirmed findings were corrected: Claude context prefix, paired real-CLI validation-stage attribution, actual-route display, unsolicited context rejection, failure evidence labels, stored receipt time wording and bidi sanitization. Root additionally guarded the optional-context byte-cap boundary. Regressions exercise actual generated code and real CLI-to-renderer paths rather than mocking the formatter. A separate read-only subagent inspected the corrected integration and found no blocker. These corrections are not represented as a second exact-head CLI review or live security/transport acceptance.

Translation quality review

Antigravity CLI 1.4.5 explicitly selected available gemini-3.8-flash-medium, medium effort, plan mode and sandbox, five-minute limit. One fresh structured review completed with exit 0 in 147.064 seconds; no permission bypass, repository exposure, tools, network or edits were authorized. Input covered the frozen changed explanation sections in English/Korean/Japanese/Simplified Chinese. Prompt SHA-256: a6e19a9283239a750f16029835e2c0242ac4f553ee1108901bd4f78effed3caf; evidence SHA-256: fc8d9da6c7e1e2f723da1a519b9d14f36ee96cc126ecb5b7cba823949def4588.

Codex checked proposed edits against the English contract and corrected Japanese context wording and Chinese no-new-schema wording. Overstated model claims about doctor wording were not adopted. Code, options, links, numbers and supported-scope limits are preserved. The selected model is recorded; independent backend identity is not exposed. This is linguistic/semantic QA, not runtime/native validation.

Integration gates

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-22T07:15:17.679687Z 03e9891 PR opened
🔒 Security Review ✅ Completed 2026-10-22T07:16:11.582818Z 03e9891 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@abruption abruption added this to the v1.3.0 milestone Oct 22, 2026
@abruption

Copy link
Copy Markdown
Owner Author

The unchanged Control dependency-audit blocker is now tracked separately in #326 and fixed by dependency-only PR #327. That PR updates compatible Vite/Vitest patches, preserves the existing audit gates, and has successful local production/full audits. After normal approval and merge of #327, refresh or rerun this PR against the updated main; this comment does not claim current #325 CI is green.

@abruption abruption changed the title feat(cli): explain ordinary dry-run delivery limits feat(cli): explain delivery evidence across supported routes Oct 23, 2026
@abruption

Copy link
Copy Markdown
Owner Author

The owner-approved additional #323/#324 implementations are pushed to the existing PRs:

Independent Claude/Codex code-review findings and verified Gemini translation suggestions were addressed before the review handoff. Precise model/input/version limits are recorded in the PR bodies; this does not imply a new cloud review of an identical final tree.

A separate local combined tree includes all six ordinary v1.3 feature PRs (#325/#328/#329/#330/#331/#332), detached head 0511ef4a6ee7ae0b2866193db963ac18a563e001. Python 3.9 focused composition: 110 pass; documentation: 65 pass; six new cross-feature regressions pass; generator/diff checks pass. Full-discovery audit: 1698 retained pass, 23 skipped, excluding exactly 35 proven external-volume environment-baseline method IDs (29 preset and six original #330 SSH-storage methods). Their failure signatures were independently reproduced; no production guard, test assertion or actual filesystem permission was weakened. This is not an unfiltered combined-tree CI or live delivery claim.

No PR/main merge, version bump, tag, release, publication, installation or operations change was performed. The integration commits are local only; normal sequential merges will still need current-head protections and checks. Research #245/#247 and Draft #246/#248 are assigned to Long-term.

@abruption
abruption merged commit 4486ce3 into main Oct 23, 2026
28 checks passed
@abruption
abruption deleted the feat/323-delivery-explanation branch October 23, 2026 05:15
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