Skip to content

fix(status): expose verified graph readiness - #760

Merged
ScriptedAlchemy merged 1 commit into
ScriptedAlchemy:codex/tracedecay-total-redesign-plan-reopenedfrom
BleedingDev:codex/pr707-graph-serving-readiness
Aug 30, 2026
Merged

fix(status): expose verified graph readiness#760
ScriptedAlchemy merged 1 commit into
ScriptedAlchemy:codex/tracedecay-total-redesign-plan-reopenedfrom
BleedingDev:codex/pr707-graph-serving-readiness

Conversation

@BleedingDev

Copy link
Copy Markdown
Contributor

Summary

  • expose typed verified graph-serving readiness in code-index freshness
  • keep sealed graph census telemetry separate from serving readiness
  • make strict PR dogfood wait for a serving generation
  • regenerate the dashboard contracts

Why

graph_statistics.state=observed proves a sealed generation census exists, but it does not prove exact verified graph reads can open. Cold dogfood could therefore declare readiness while activation was still pending or refused, then fail its first context read.

Verification

  • cargo fmt --all -- --check
  • git diff --check upstream/pr-707...HEAD
  • focused scheduler readiness tests (ready and held-activation states)
  • dashboard legacy-serde and MCP status projection tests
  • dogfood output validator: 14/14
  • dashboard contracts:check
  • cold journey: status remained pending until code_graph_serving=ready at 603s
  • aggregate portability suite with fix(dogfood): ignore zombie-only process groups on macOS #756: 13/13

Standalone macOS portability still hits the zombie-process regression already isolated in #756; this change does not touch that process probe.

Supports #707.

@changeset-bot

changeset-bot Bot commented Aug 30, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: f9fdcb7

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

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 30, 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-08-30T18:54:38.214585Z f9fdcb7 New commits
ℹ️ 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.

@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: 168a569b2d

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

Comment on lines +712 to +713
return Some(if text_generation_present {
CodeGraphServingReadinessV1::Pending

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Report terminal graph activation failures as unavailable

When graph activation fails non-retryably (for example, CodeGraphProjectionError::Corrupt), the worker keeps the text generation but leaves serving_generation empty and schedules no activation retry; this branch therefore reports Pending indefinitely solely because text exists. That hides the terminal failure and makes strict dogfood poll until its global timeout instead of exposing an actionable unavailable/refused state. Preserve the activation failure reason or only return Pending while an activation attempt or retry is actually outstanding.

AGENTS.md reference: AGENTS.md:L167-L169

Useful? React with 👍 / 👎.

@BleedingDev
BleedingDev force-pushed the codex/pr707-graph-serving-readiness branch from 168a569 to f9fdcb7 Compare August 30, 2026 18:50

@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: f9fdcb7041

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

}
});
};
Some(latest.code_graph_serving_readiness())

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Report the pending successor instead of the old ready graph

When generation A is already seated and reconciliation seals B, the worker installs B as text_generation and drops the reconciliation guard before graph activation, but leaves A in serving_generation until B's later swap. This call therefore returns A's Ready; because the scheduler has already verified B and cleared its hints, status can report fresh/current with code_graph_serving: ready while B's graph is still pending. Compare the serving and current text-generation identities and report Pending on a mismatch so the new typed state describes the current sealed generation rather than its predecessor.

AGENTS.md reference: AGENTS.md:L9-L12

Useful? React with 👍 / 👎.

@ScriptedAlchemy
ScriptedAlchemy merged commit 081d58d into ScriptedAlchemy:codex/tracedecay-total-redesign-plan-reopened Aug 30, 2026
1 check passed
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