Repository navigation
thought-git-probe: D-TGB-4 landing integrity — immutable sealed rows, write-path commit witness, typed refusals - #1684
Conversation
…ss, typed refusals Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013z2e1YXkm6o6HNrDn5BPWA
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013z2e1YXkm6o6HNrDn5BPWA
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 28faacb858
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…e batch fold The fold sums terms order-independently, and the thought id and its output/outcome were separate terms, so swapping two equal-count contributions left the batch fold unchanged and a receipt for thought 10 carrying thought 11's output landed. Each entry is now one chained term. Test 15 reproduces the bypass (red before the fix: the forged receipt staged Ok). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013z2e1YXkm6o6HNrDn5BPWA
Item A of the post-merge review of #1674 (
GPT:gpt-ada-01/20261021-pr1674-1682-consolidated-review-01). I took it on the operator's instruction (EXO-50/038). The original owner is session 019fbZ, and the operator aligns afterwards. This is a lab probe, not production-admitted.Defects on main, each now refused
A1. Sealed rows were mutable.
MetadataTable::stagereplaced any row, a sealed one included.sealoverwrote the existing seal, so a changed row could be resealed.AlreadyLanded.StagedConflict.Torn.A2. A landing was not bound to its commit.
landedchecked only that the data version exists.VersionStore::commit_cycleseals the version together with aCommitWitness. It stands in for the coalesced per-cycleLanceCycleWritercommit (EXO-55). The witness holds:stageandlandedaccept a row only when:NoCommitWitness);WitnessTorn);NotInCohort) with the receipt's output and outcome (ContributionMismatch).MetadataTable::incomplete(store, data)lists committed thoughts that have no sealed row, i.e. a data write without its metadata write.A3. Malformed inputs panicked.
sources/targets(public fields) panicked, andmodulus == 0divided by zero.ProgramInputs::try_newplus checks inrun,stage,sealandlandedreturnMalformedInputsorZeroModulus. A malformed staged row cannot be sealed.captured_in. The seal now covers it, so provenance is integrity-protected. It stays outsideidentity; test 10 is unchanged.Evidence
tests/receipt.rsgoes from 10 to 14 tests. Test 9 now lands its data throughcommit_cycle, because a plainsealcarries no witness.a_sealed_landing_cannot_be_replaced_or_resealeda_landing_needs_the_write_paths_commit_witness(covers all five falsifiers from the directive)a_committed_thought_without_a_sealed_row_is_incompletemalformed_inputs_refuse_without_panickingstageoverwritessealoverwritesincompletereturns nothingrunis uncheckedstageis uncheckedcaptured_in--all-targets -D warnings(Rust 1.99.0) and fmt are clean.entries/2026-10-21-d-tgb-4-receipt-replay.md. The entries index is unchanged.Not claimed
incomplete, not prevented.LanceCycleWriter.lance-graph-contract; that is D-TGB-7's admission decision.Merge is attended: I will not merge this PR.
Generated by Claude Code