Skip to content

D-TGL: F-LAND / F-DISCARD lab, Thought-Git lifecycle contract, post-merge record for #1923 - #1924

Merged
AdaWorldAPI merged 5 commits into
mainfrom
claude/clone-repositories-71a5sw
Nov 2, 2026
Merged

AdaWorldAPI merged 5 commits into
mainfrom
claude/clone-repositories-71a5sw

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Nov 2, 2026 •

Copy link
Copy Markdown
Owner

Summary

#1923 was merged at 83ac4b3a8. Two commits pushed to its branch after that point never reached main. This PR carries them, the post-merge record for #1923, and two items from the operator review of this PR.

The branch merges current main (2e19a5adc) instead of rewriting history. There was no force push and nothing was lost.

1. Codegraph lab: F-LAND and F-DISCARD (ab9fb36f6)

refresh_crate is now prepare_refresh followed by commit_refresh.

  • prepare_refresh takes &self and returns an owned PreparedRefresh, or None when the file is unchanged.
  • commit_refresh first checks the graph generation the change was prepared against. A mismatch returns RefreshRefusal::Stale before anything changes.
  • The generation is local and held in memory only. Every commit and every refold bumps it.
  • Both functions are crate-private. Nothing is wired into Thought-Git.

F-LAND. Two branches over one W0 each mint a new symbol, so both claim the same free position (the test asserts this).

  • After A lands, B's old preparation is refused and the full-state snapshot is unchanged.
  • B is then recomputed against the current W0.
  • The result equals a clean open of both revised sources, including call-site counts. m::b has 5 call sites from two sources.

F-DISCARD. Dropping a prepared branch leaves the snapshot unchanged and issues no map-table version.

2. Thought-Git lifecycle contract D-TGL (4025292ea, docs only)

thought-git-lifecycle-contract-v1.md:

  • The GitHub-analogue lifecycle mapped onto existing primitives. PR states are readings of existing records.
  • The conditional exception to DRed and the G8 bag contract.
  • Production gates G9–G12 and EXO-148, all open.

3. Post-merge record for #1923

PR_ARC_INVENTORY, LATEST_STATE, and the STATUS_BOARD rows D-CODEGRAPH-0-C2 and D-DYNBAG-4.

4. Release-profile check of the fence (operator review)

  • cargo test --release --lib: 7 passed.
  • Release disable with the fence removed: F-LAND fails on its own assertion. The stale preparation is accepted silently: Ok(RefreshStats { edges_added: 6, symbols_appended: 1, .. }).
  • So the generation fence is the guard, and it refuses correctly without any debug_assert.

5. G10 × G11 lab spec D-TGL-PUB (docs only)

g10-g11-atomic-publication-lab-v1.md covers prepared land, a fenced durable commit, crash recovery and branch-local routing.

Boundaries read in code:

  • DT64 route refuses only UnknownClass and OutsideReservation. The registry is insert-only, so a checked route intent never goes stale.
  • No read-only check_route exists. That is the one missing read-only addition.
  • Re-applying a route ticks RouteVersion again, so DT64 recovery needs a watermark. Codegraph recovery is idempotent through the digest skip.
  • scan_sealed returns landings without their payload, so land records must be read from the image.
  • recover_and_apply is idempotent by watermark.
  • There are five crash boundaries, B1–B5.

Falsifiers L1–L6, each with a disable:

  • L1, prepare: W0 and DT64 unchanged.
  • L2, Fenced: nothing published.
  • L3, crash after the commit and before publication: recovery restores exactly the confirmed state.
  • L4, a second recovery: nothing changes. Without the watermark, RouteVersion would tick again.
  • L5, a branch route stays invisible until it lands.
  • L6, a rebuild followed by a canonical replay.

Nothing in the spec is implemented. The next three steps would each be their own reviewable change: check_route, a lab WalSink, and the L1–L6 test.

Test Plan

  • cargo test in crates/lance-graph-codegraph, in both debug and release profiles: all pass. Clippy and fmt are clean.
  • Board gates pass: entries_index --check, append_only_gate, the supersession index, plan_dids, and citation_decay --since origin/main.

EXO-148 stays locked. Lab results do not satisfy any production gate. Not to be merged automatically.

🤖 Generated with Claude Code

https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX

…fiers F-LAND and F-DISCARD

refresh_crate = prepare_refresh (&self, returns an owned PreparedRefresh,
or None for an unchanged file) + commit_refresh. commit_refresh refuses a
preparation made against an older graph generation (RefreshRefusal::Stale)
before changing anything: two branches over one W0 that both mint symbols
claim the same free position, so the second must be recomputed against
the current W0. Lab only, crate-private; no Thought-Git wiring.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
…8 bag contract; G9-G12 + EXO-148 production gates; F-LAND/F-DISCARD lab result

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
…its merge point

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 2, 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-11-02T14:42:39.937066Z 6921695 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.

@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: a44b1c12-206c-49cf-937e-7eb48d637163
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

Share

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 69216959ad

ℹ️ 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".

…publication lab spec (D-TGL-PUB), boundaries B1-B5, falsifiers L1-L6

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
@AdaWorldAPI
AdaWorldAPI merged commit 78f9996 into main Nov 2, 2026
12 checks passed
AdaWorldAPI pushed a commit that referenced this pull request Nov 2, 2026
…merge point

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
AdaWorldAPI pushed a commit that referenced this pull request Nov 2, 2026
…mmit (codex P2 on #1924)

A read between prepare_refresh and commit_refresh (impact, closure take
&self) can fill a closure cache the preparation did not see. It was built
from the pre-commit edges, and commit kept it, so impact answered from
the old graph. When the batch changes edges, commit now drops every cache
it has no prepared refresh for.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
AdaWorldAPI added a commit that referenced this pull request Nov 2, 2026
…1a5sw

D-TGL-PUB steps 1-2: BindStore::check_route, lab WalSink; codegraph stale-closure fix; post-merge record for #1924
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.

2 participants