Skip to content

fix(code-index): stamp continuations before the seat looks idle - #1836

Merged
ScriptedAlchemy merged 3 commits into
masterfrom
cursor/serving-seat-failure-ceiling-3ef6
Sep 19, 2026
Merged

ScriptedAlchemy merged 3 commits into
masterfrom
cursor/serving-seat-failure-ceiling-3ef6

Conversation

@ScriptedAlchemy

Copy link
Copy Markdown
Owner

Summary

A serving-seat waiter that sees reconcile_in_progress at zero treats the owner as idle. BusyFollowUp was stamped after that drop, so the waiter sampled an empty slot and then raced the failure ceiling.

  • Continuation notes now hold the pass guard only for the stamp. Idle means the slot is already set.
  • A store directory that does not exist yet is an unpublished retention plan, not Storage(NotFound). latest_generation_id can move before cold open creates the scoped store.
  • The mounted retention journey re-reads that store on the serving-seat signal instead of planning once against the text id.

This does not retake the background admission permit around text projection. That ordering is #1826.

ci.yml is unchanged. No merge.

Verification

  • cargo test -p tracedecay-code-index-retention missing_store_is_an_unpublished_plan_not_a_storage_failure — 1 passed
  • cargo check -p tracedecay-code-index-runtime --tests — finished
  • cargo check -p tracedecay --tests --lib — finished
Open in Web Open in Cursor 

A seat waiter that sees reconcile_in_progress at zero treats the owner
as finished. Noting BusyFollowUp after that drop sampled an empty slot
and then raced the failure ceiling. The stamp now holds the pass guard
for the note only.

A store directory that does not exist yet is an unpublished plan, not
Storage(NotFound). Planning against latest_generation_id before cold
open created the scoped store was that error. The retention journey
now re-reads the store on the serving-seat signal.

Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
@changeset-bot

changeset-bot Bot commented Sep 19, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 543b6e2

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@ScriptedAlchemy
ScriptedAlchemy marked this pull request as ready for review September 19, 2026 06:53
@ScriptedAlchemy

Copy link
Copy Markdown
Owner Author

Pairs with #1826 (admission retake / BusyFollowUp stamp). Merge either order; avoid double-editing the same pass-tail paths without rebase.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 19, 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-09-19T06:58:35.531804Z 218ae5c Draft marked ready
ℹ️ 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.

ScriptedAlchemy and others added 2 commits September 19, 2026 08:33
…-failure-ceiling-3ef6

# Conflicts:
#	crates/tracedecay/src/daemon/production_harness/generation_retention_test.rs
Master run 35431539771 failed Check formatting (projector.rs, query.rs) and
Clippy (items_after_test_module in query.rs) after #1844/#1845 merged
without CI.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
ScriptedAlchemy added a commit that referenced this pull request Sep 19, 2026
A missing scope root is an unpublished plan (#1836), not GenerationStoreBusy
(690e843): the only production caller re-plans on its interval either way,
and an absent root has no publisher to wait for, so Busy would log degraded
and retry fast forever for a never-indexed project. The enumerate-then-open
deferrals stay.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
ScriptedAlchemy added a commit that referenced this pull request Sep 19, 2026
Takes batch D's resolution of the missing-scope-root contract: the root-case
test is deleted there (735bfbd) and #1836's own test already pins the
unpublished plan, so the rewrite from db2a28a is dropped.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

# Conflicts:
#	crates/tracedecay-code-index-retention/src/code_index_generations/tests.rs
@ScriptedAlchemy
ScriptedAlchemy merged commit 0d51ad4 into master Sep 19, 2026
1 check passed
ScriptedAlchemy added a commit that referenced this pull request Sep 19, 2026
chore: integration batch D (#1834, #1836, deslop, two #1848 follow-ups)
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