Skip to content

test(daemon): initialize rmcp target project before the engine - #1335

Merged
ScriptedAlchemy merged 3 commits into
codex/tracedecay-total-redesign-plan-reopenedfrom
agent/863-rmcp-target-fixture
Sep 15, 2026
Merged

ScriptedAlchemy merged 3 commits into
codex/tracedecay-total-redesign-plan-reopenedfrom
agent/863-rmcp-target-fixture

Conversation

@ScriptedAlchemy

@ScriptedAlchemy ScriptedAlchemy commented Sep 15, 2026

Copy link
Copy Markdown
Owner

Summary

Three commits on agent/863-rmcp-target-fixturecodex/tracedecay-total-redesign-plan-reopened:

  1. Fixture isolation: initialize every rmcp_route mounted project before the in-process engine exists.
  2. Production: sort clone_bodies after partitioned segment restore; keep incompatible-cursor rebuild on the V14 admission writer; publish text Ready before seating owners.
  3. Tests: align page-alignment / invalid-cursor / graph-off decode probes with clone-body pages and V14 successors.

Motivation (#863)

  • Isolation cluster: selected_target_rmcp_… failed 2/40 under --test-threads=16 with typed database is locked because mount_rmcp_target ran exclusive maintenance while the fixture engine was live on the same profile.
  • Tip-alone runtime reds (fail alone on tip binary; blocked Linux runtime nextest): clone-body page packing, unsorted clone bodies on cold restore, wrong cursor corruption index, probe that self-decodes, Ready published after owner install, artifact count vs attached pointer.

Evidence

  • rmcp before/after: 2/40 → 0/40 database is locked on the target identity.
  • Tip-alone: hauler cc-9…cc-14 each 1/1 alone-green after the fixes.
  • Codex threads: 0 unresolved.
  • Exact-head CI: requeued on 7f991b120 (supersedes 86292a42e).

Checklist

Open in Web Open in Cursor 

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

changeset-bot Bot commented Sep 15, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 7f991b1

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

cursoragent and others added 2 commits September 15, 2026 22:24
Sort clone bodies after partitioned segment restore so cold load
keeps canonical occurrence order. Keep invalid-cursor rebuild on
the V14 admission writer, and publish Ready before seating owners.

Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Rewrite page-alignment, invalid-cursor, overflow, and graph-off
decode probes for clone-body pages and V14 successor artifacts.

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

github-actions Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Performance Comparison codex/tracedecay-total-redesign-plan-reopenedagent/863-rmcp-target-fixture

Total Elapsed Time: 8.41s → 8.23s (-2.1%)
CPU Baseline: 90.46µs → 90.24µs (-0.2%)
Benchmark ID: index-bench-timing

timing - Execution duration of functions.

+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| Function                                 | Calls                      | Avg                            | P95                            | Total                          | % Total                      |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| tracedecay-index-bench                   | 1 → 1 (+0.0%)              | 8.41s → 8.23s (-2.1%)          | 8.41s → 8.23s (-2.1%)          | 8.41s → 8.23s (-2.1%)          | 100.00% → 100.00% (+0.0%)    |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| domain.canonical.sha256                  | 85787 → 85787 (+0.0%)      | 35.42µs → 34.86µs (-1.6%)      | 105.34µs → 103.68µs (-1.6%)    | 3.04s → 2.99s (-1.6%)          | 36.14% → 36.33% (+0.5%)      |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| code_index.workers.install               | 81 → 81 (+0.0%)            | 36.22ms → 36.05ms (-0.5%)      | 196.74ms → 208.01ms (+5.7%)    | 2.93s → 2.92s (-0.3%)          | 34.89% → 35.47% (+1.7%)      |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| query.artifact.batch.sqlite              | 5 → 5 (+0.0%)              | 306.97ms → 299.73ms (-2.4%)    | 362.81ms → 350.75ms (-3.3%)    | 1.53s → 1.50s (-2.0%)          | 18.26% → 18.20% (-0.3%)      |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| code_index.build.and_publish             | 2 → 2 (+0.0%)              | 714.15ms → 703.52ms (-1.5%)    | 975.70ms → 966.26ms (-1.0%)    | 1.43s → 1.41s (-1.4%)          | 16.99% → 17.09% (+0.6%)      |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| query.artifact.finalization.advance_wake | 28 → 28 (+0.0%)            | 47.72ms → 46.53ms (-2.5%)      | 320.34ms → 316.15ms (-1.3%)    | 1.34s → 1.30s (-3.0%)          | 15.89% → 15.83% (-0.4%)      |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| query.artifact.batch.parallel_prepare    | 5 → 5 (+0.0%)              | 241.10ms → 235.26ms (-2.4%)    | 293.60ms → 284.16ms (-3.2%)    | 1.21s → 1.18s (-2.5%)          | 14.34% → 14.29% (-0.3%)      |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| query.artifact.batch.postings            | 5 → 5 (+0.0%)              | 222.73ms → 219.72ms (-1.4%)    | 255.59ms → 250.87ms (-1.8%)    | 1.11s → 1.10s (-0.9%)          | 13.25% → 13.34% (+0.7%)      |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| domain.canonical.json_bytes              | 206681 → 206681 (+0.0%)    | 5.15µs → 5.26µs (+2.1%)        | 4.31µs → 4.25µs (-1.4%)        | 1.06s → 1.09s (+2.8%)          | 12.65% → 13.20% (+4.3%)      |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| code_index.extract.parser_artifact       | 276 → 276 (+0.0%)          | 3.76ms → 3.77ms (+0.3%)        | 6.05ms → 6.08ms (+0.5%)        | 1.04s → 1.04s (+0.0%)          | 12.35% → 12.64% (+2.3%)      |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| code_index.restore.file_admit            | 260 → 260 (+0.0%)          | 3.77ms → 3.76ms (-0.3%)        | 6.78ms → 6.88ms (+1.5%)        | 979.43ms → 977.43ms (-0.2%)    | 11.65% → 11.87% (+1.9%)      |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| code_index.lexical_source.batch_stage    | 6 → 6 (+0.0%)              | 120.99ms → 121.94ms (+0.8%)    | 196.21ms → 193.07ms (-1.6%)    | 725.96ms → 731.61ms (+0.8%)    | 8.63% → 8.89% (+3.0%)        |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| code_index.build.materialize_full        | 1 → 1 (+0.0%)              | 691.57ms → 685.25ms (-0.9%)    | 692.06ms → 685.77ms (-0.9%)    | 691.57ms → 685.25ms (-0.9%)    | 8.23% → 8.32% (+1.1%)        |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| code_index.collect.materialize_full      | 1 → 1 (+0.0%)              | 677.08ms → 671.41ms (-0.8%)    | 677.38ms → 671.61ms (-0.9%)    | 677.08ms → 671.41ms (-0.8%)    | 8.05% → 8.16% (+1.4%)        |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| query.artifact.batch.postings.ngram_rows | 5 → 5 (+0.0%)              | 127.56ms → 125.83ms (-1.4%)    | 144.97ms → 145.88ms (+0.6%)    | 637.78ms → 629.15ms (-1.4%)    | 7.59% → 7.64% (+0.7%)        |
+------------------------------------------+----------------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+

Generated with hotpath-rs

@ScriptedAlchemy
ScriptedAlchemy marked this pull request as ready for review September 15, 2026 23:58
@ScriptedAlchemy
ScriptedAlchemy merged commit cab9b3a into codex/tracedecay-total-redesign-plan-reopened Sep 15, 2026
20 of 28 checks passed
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 15, 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-16T00:03:54.920028Z 7f991b1 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.

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

ℹ️ 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 +2811 to 2812
self.publish_text_progress_phase(CodeIndexBuildPhaseV1::Ready, 0, 0);
self.install_artifact_owners(reader, reader_reservation)?;

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 Publish Ready only after owner installation succeeds

If install_artifact_owners returns an error—for example because the reader exceeds its admitted ceiling or the reservation cannot shrink—the progress snapshot has already been permanently advanced to Ready, while no query owners were installed. The caller latches the projection failure but does not roll this phase back, so dashboard/MCP progress reports a ready generation that cannot serve queries; coordinate these transitions atomically or publish Ready only after successful installation.

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

Useful? React with 👍 / 👎.

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