ci: integration batch B (29 reviewed prove-* PRs with follow-up fixes) - #1796
Merged
Merged
Conversation
Call the production MCP server with a fixture whose call chains are known, and assert the JSON a caller observes. The previous check only rejected one absent edge, so an empty chain list still passed. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
The retired scan must refuse a real tools/call instead of returning an empty unused-import page that looks like a clean tree. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Call tracedecay_derives through production MCP tools/call and assert the JSON and markdown an agent receives for attached names, empty derives, and typed misses. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Drive tracedecay_diagnose through production MCP tools/call and assert the mapped diagnostic, filters, and missing-input refusal. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Call the production MCP tool and assert the literal read and write sites, writes-only shape, qualifier filter, unknown qualifier, limit stop, missing argument, and unbound receiver. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Call the production MCP server and assert window, scope, section, fact, automation, and observatory results as literal values. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Exercise rollback through production MCP tools/call: restore retained move preimages, replay the receipt, refuse foreign bytes, and refuse edits that kept no preimage. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Call the tool through MCP tools/call and assert the literal answers a caller observes: the named project, the served project, not_found, an unmounted registry, and a failed registry read. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Publish one compiler diagnostic through the production MCP server and assert the list tool returns that finding, refuses unknown and get handles, and rejects a malformed handle. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Call the production MCP tools/call path and assert the registry payload, page bounds, wildcard escape, and typed refusals a client sees. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Drive the production tools/call path and assert the cycle's covering tests, the invalid-handle refusal, and the unknown-handle problem. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Exercise the production tools/call path and lock literal ranking, path, limit, and cycle results for tracedecay_inheritance_depth. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Lock the production MCP payload and the bytes a structural rewrite writes: both call sites swap arguments, while the signature, comment, and string stay. Cover replay, conflict, and the typed refusals. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
The advisory result nests the cycle under cycle; the handle and impact fields live on that object, not the envelope root. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Lock the production tools/call payload: leaf-first levels, one SCC's entry and break point, limit truncation, and typed argument rejection. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Resolve rustc from the repository toolchain so the fixture emits a real E0425, then assert the list finding carries that exact diagnostic text. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
A qualified census that hits an unbound macro site fails closed. Assert that refusal, then prove Counter::n on a file whose receivers bind. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Apply keeps the preview digest and reports the predicted bytes as committed state. A replay returns the retained receipt, not the live pattern, and an unmatched pattern still uses that receipt message. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
A path outside the worktree, a missing file, and a directory come back as failed source-edit results. The file bytes stay unchanged. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Lock the caller-visible census a real tools/call returns for one session, the other session, a missing session, and a deep scan. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Repository gates reject the edition-2024 form of these shared-lock matches. Collapse them so the field-sites proof can pass fmt. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
A daemon-unavailable cycle is not a recordable publication, so the tool's live answers are the handle refusals. The cycle impact still names the covering tests by their indexed symbol ids. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
…t-search-behavior-7811 Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
The review found the two added lines landed between `dependency_hint_test` and `edit_test` instead of their alphabetical slot; the mod list is kept sorted (rustfmt `reorder_modules`). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
# Conflicts: # crates/tracedecay-privacy/src/rules.rs
# Conflicts: # crates/tracedecay-privacy/src/rules.rs # crates/tracedecay/tests/mcp_suite/mcp_handler_test.rs
The review found `tracedecay_grep_reports_literal_matches_and_typed_failures` ended without `fixture.harness.shutdown().await;`, unlike its siblings in the suite, leaving the production composition to be torn down implicitly. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
# Conflicts: # crates/tracedecay-code-index/tests/code_index_suite/production_orchestration.rs # crates/tracedecay-privacy/src/rules.rs # crates/tracedecay/tests/mcp_suite/mcp_handler_test.rs
# Conflicts: # crates/tracedecay-privacy/src/rules.rs
# Conflicts: # crates/tracedecay-privacy/src/rules.rs # crates/tracedecay/tests/mcp_suite/mcp_handler_test.rs
…d line
The review required `git_repository()` to use `common::git_program()`
instead of a bare `Command::new("git")`, matching the rest of the suite so
the fixture does not depend on an ambient `git` on PATH. The merge also
placed `mod project_list_test;` out of its alphabetical slot.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
# Conflicts: # crates/tracedecay/tests/mcp_suite/mcp_handler_test.rs
The review required deleting `.audit/ast-grep-figure.summary.txt` and `.audit/ast-grep-rewrite.tsv`; they are one-off scratch output from the authoring session, not part of the test. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
# Conflicts: # crates/tracedecay-privacy/src/rules.rs # crates/tracedecay/tests/mcp_suite/mcp_handler_test.rs
# Conflicts: # crates/tracedecay/tests/mcp_suite/mcp_handler_test.rs
The review found `IsolatedEnv::acquire()` was bound inside `open_port_order_project()`, so the guard dropped as soon as the fixture was returned and the tests only passed under `--test-threads=1`. Acquire it in each test body instead, matching `affected_tests_behavior_test.rs`. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
# Conflicts: # crates/tracedecay-privacy/src/rules.rs # crates/tracedecay/tests/mcp_suite/mcp_handler_test.rs
# Conflicts: # crates/tracedecay-privacy/src/rules.rs # crates/tracedecay/tests/mcp_suite/support.rs
`cargo clippy --workspace --all-targets --locked -- -D warnings` (the CI Clippy job) fails on `Duration::from_secs(60)` with `clippy::duration_suboptimal_units`. `Duration::from_mins` is the form the rest of the workspace already uses for minute-scale deadlines. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
# Conflicts: # benchmark_data/runtime/tests/test_lifecycle.py # crates/tracedecay-dashboard-api/src/delivery_api.rs # crates/tracedecay-privacy/src/rules.rs # crates/tracedecay/tests/mcp_suite/mcp_handler_test.rs
…lper The review required replacing the file-local `wait_for_graph` status poll with `crate::support::warm_code_index_search(&server, "target")`, matching 1622/1628. The fixture exposes a server through `fixture.harness.server(&fixture.project_root)`, so the swap is direct and the helper also waits on the search generation, not only graph serving. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ority" This reverts commit 51402cd.
The registry search ORs whitespace-separated tokens through `LIKE`. The injection probe `search-alpha' OR '1'='1` therefore also searched for the substring `OR`, which matched both fixture roots whenever their shared temp directory drew a name containing it (`.tmpXoRyz`, ~2% of runs; CI run 35408468113 TRY 1). Drop the whitespace so the probe stays a single token that breaks the quote but can match no fixture field. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
# Conflicts: # crates/tracedecay-mcp/src/handlers/hook_runtime/ingest.rs # crates/tracedecay-mcp/src/handlers/hook_runtime/ingest/kernels.rs
|
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. |
This was referenced Sep 19, 2026
neoneye
pushed a commit
to agent-memory-atlas-archive/ScriptedAlchemy--tracedecay
that referenced
this pull request
Sep 22, 2026
workflow_dispatch admits an integration branch and previously skipped commitlint, so batch-fold follow-ups with headers of 73, 75, and 85 characters landed in ScriptedAlchemy#1796 and failed the master push. Dispatch now lints the commits a merge onto the default branch would introduce. header-max-length stays 72. A dispatch of the default branch does not rejudge published history. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Integration batch B: 29 reviewed PRs folded with
git merge --no-ffso each PR head stays an ancestor and GitHub marks it merged when this branch lands. Verdict class: reviewed MERGE-AFTER-FIX verdicts; the required fix was applied as a follow-up commit on this branch after each fold.Every PR was reviewed for content first (verdict blocks in the coordinator's scratchpad), then validated together on one CI dispatch rather than 95 separate runner-queue slots. Files that PRs only touched to make stale CI pass (the CI-patch list in the batch rules) were kept at the batch side; master already fixed those properly. Module lists were unioned and sorted.
a9d50525f260920790baa5fa6681f9394be5789695d7ab9b44f07725bb6222af66da95bcbacef22a9fc8b96d97cf675d2e1869bd6cd35dde63db2bf579aac6758d4770639a5cc3b2f00760ab2ea4f3b154976649a06de65a9927mod project_context_test;from between dependency_hint_test and edit_test to its sorted slot after move_symbol_test90e75ea78ac532fb1fedaf6863057a699bf727164e8d3b9a1448a0639227mod project_list_test;to its sorted slot462f1bfc337e75057b03c083c6b8c8e59259b94f1fd2a0bbcf🤖 Generated with Claude Code