Skip to content

ci(nextest): give the whole-tree architecture scans real timeout headroom - #8060

Merged
henrypark133 merged 1 commit into
mainfrom
fix/nextest-location-scan-timeout
Sep 4, 2026
Merged

henrypark133 merged 1 commit into
mainfrom
fix/nextest-location-scan-timeout

Conversation

@henrypark133

Copy link
Copy Markdown
Collaborator

Summary

  • The three ironclaw_architecture_tests binaries reborn_{extension_contract,loop_port,product_contract}_location_scan each run one whole-crates/-tree scan. On the last green run of feat(loop): derive the prompt context budget from the model's advertised window #8053 they finished at 176.8 s against the ci profile's 60s × 3 = 180 s hard kill; the very next run, with no code change touching their runtime, was terminated at 180.008 s. reborn_sealed_evidence_mint_ratchet rides the same ladder to 136–141 s.
  • Add one [[profile.ci.overrides]] for that family at 60s × 6 (same SLOW cadence, real headroom). The default is unchanged for every other binary.

Change Type

  • CI/Infrastructure

Linked Issue

None — observed on #8053's CI (runs 33803597916 green at 176.8 s, 33810122502 terminated at 180.008 s).

Validation

  • Match proven locally, not inferred: with the override's period temporarily set to 150s, cargo nextest run --profile ci -p ironclaw_architecture_tests -E 'binary(/_location_scan$/)' produced no SLOW marker (tests take ~110 s locally); with 60s restored, SLOW [> 60.000s] fires at 60 s for the three scans and all 21 tests pass.
  • Not applicable: no Rust code changed.

Test Strategy

User behavior: none. Risk areas: none (CI timeout policy for four test binaries).
Tests added or updated: Not applicable: nextest configuration.
What the tests prove: n/a. Commands run: see Validation.

Security Impact

None.

Reborn Trust-Boundary Checklist

N/A — CI configuration.

Database Impact

None.

Blast Radius

Four architecture-test binaries get 360 s instead of 180 s before termination. A genuine hang in one of them now takes 6 minutes to surface instead of 3.

Rollback Plan

Delete the override block.

Review Follow-Through

The same commit is cherry-picked onto #8053 so its architecture bucket stops flipping; when this lands it becomes a no-op there.


Review track: C (CI)

🤖 Generated with Claude Code

…room

The three reborn_*_location_scan binaries each carry one scan of the entire
crates/ tree. On the last green run they finished at 176.8s against the ci
profile's 60s x 3 = 180s hard kill; the next run was terminated at 180.008s
with no code change that touches their runtime. reborn_sealed_evidence_mint_ratchet
rides the same ladder to 136-141s. One override for that family at 60s x 6
keeps the SLOW cadence and stops every PR's architecture bucket being a
coin flip; the default stays as is for every other binary.

Match verified locally: with the override's period set to 150s no SLOW marker
fires (tests take ~110s); with 60s the markers return at 60s.

Rollback: delete the override block.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6JWfzEzWKThikJ9wsHAer
(cherry picked from commit f0cdace)
Copilot AI lite review requested due to automatic review settings September 3, 2026 22:24
@railway-app

railway-app Bot commented Sep 3, 2026 •

Copy link
Copy Markdown

🚅 Deployed to the ironclaw-pr-8060 environment in ironclaw-ci-preview

Service Status Web Updated
ironclaw ✅ Success (View Logs) Web Sep 3, 2026 at 10:35 pm UTC

@railway-app
railway-app Bot temporarily deployed to ironclaw-ci-preview / ironclaw-pr-8060 September 3, 2026 22:24 Destroyed
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 3, 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-03T22:28:15.443281Z 2f4c1b0 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.

@github-actions github-actions Bot added size: S 10-49 changed lines risk: low Changes to docs, tests, or low-risk modules labels Sep 3, 2026
@github-actions github-actions Bot added the contributor: core 20+ merged PRs label Sep 3, 2026
@coderabbitai

coderabbitai Bot commented Sep 3, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Team

Run ID: 4cee6fec-38d5-4b1f-8afd-fc61db6ad970

📥 Commits

Reviewing files that changed from the base of the PR and between 05949d2 and 2f4c1b0.

📒 Files selected for processing (1)
  • .config/nextest.toml

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Summary

Summary by CodeRabbit

  • Chores
    • Updated continuous integration test settings to allow selected slow-running tests more time to complete.

Walkthrough

The CI nextest configuration adds a six-minute termination threshold for selected slow-test binaries.

Changes

CI timeout configuration

Layer / File(s) Summary
Slow-test termination override
.config/nextest.toml
Adds a CI override for binaries ending in _location_scan and reborn_sealed_evidence_mint_ratchet. Matching tests receive six 60-second slow-test intervals before termination.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Merge Risk: ⚪ Minimal · up to 2f4c1

This change extends CI timeouts only for the selected slow architecture-test binaries. No remaining merge-readiness risk is identified.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The description is mostly complete and matches the CI timeout configuration change. It includes the summary, change type, linked issue, validation evidence, test strategy, security impact, trust-bound…
Title check ✅ Passed The title follows Conventional Commits style with the ci(nextest): prefix and clearly describes the increased timeout headroom for architecture scans.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description is mostly complete and matches the CI timeout configuration change. It includes the summary, change type, linked issue, validation evidence, test strategy, security impact, trust-boundary status, database impact, blast radius, rollback plan, review follow-through, and review track. The Test Strategy uses condensed fields instead of the template's detailed checkbox layout, but it provides the required information for this CI-only change.


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

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The new nextest override filter should be scoped to package(ironclaw_architecture_tests) to avoid unintentionally matching similarly named binaries in other packages.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adjusts cargo nextest CI timeout policy to stop flaky hard-kills of long-running whole-crates/ architecture scan test binaries in ironclaw_architecture_tests, without increasing the default timeout for the rest of the suite.

Changes:

  • Adds a profile.ci override that increases the hard-kill window for _location_scan and reborn_sealed_evidence_mint_ratchet binaries from 180s to 360s.
  • Documents the rationale and observed runtimes directly in nextest.toml for future maintainers.
File summaries
File Description
.config/nextest.toml Adds a CI-only nextest override to give architecture scan binaries more termination headroom while keeping the default timeout unchanged.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .config/nextest.toml
Comment on lines +76 to +78
[[profile.ci.overrides]]
filter = 'binary(/_location_scan$/) | binary(~reborn_sealed_evidence_mint_ratchet)'
slow-timeout = { period = "60s", terminate-after = 6 }
@ironloopai

ironloopai Bot commented Sep 3, 2026 •

Copy link
Copy Markdown
Contributor

Review · Status

🟩 Completed

IronLoop completed the review and posted it to GitHub.

Result

Open submitted review →

Run details
  • Run: 571481cc-9b1e-4205-ad5b-490576be5bbb
  • Base: main at 05949d2
  • Head: fix/nextest-location-scan-timeout at 2f4c1b0
  • Created: 2026-09-03 22:29 UTC
  • Updated: 2026-09-03 22:33 UTC

Automatic trigger · attempt 1 of 3 · completed in 3m 55s

@ironloopai ironloopai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review · Summary

🟢 No actionable findings

No additional actionable findings. Existing unresolved review feedback was inspected and not duplicated.

Validation
  • ✅ Nextest configuration — The changed configuration parses as TOML and contains the intended CI slow-timeout override of 60s × 6.
  • ✅ Current CI scope — Static target inventory found the four currently matching architecture-test binaries, and the CI crate lane invokes Nextest with the ci profile.
Review details
  • Run: 571481cc-9b1e-4205-ad5b-490576be5bbb
  • Attempts: 1

@lloydmak99 lloydmak99 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.

The change only widens the CI timeout headroom for the architecture-scan binaries (60s × 6 → 360s hard kill), with no production, data, or API-contract impact. Config is well-formed and correctly scoped.

  • .config/nextest.toml: new profile.ci.overrides[5] parses cleanly and is well-formed (period="60s", terminate-after=6).
  • The filter binary(/_location_scan$/) | binary(~reborn_sealed_evidence_mint_ratchet) matches exactly the 4 intended binaries under crates/app/ironclaw_architecture_tests/tests/, with no repo-wide collisions and no precedence conflict with the pre-existing reborn_group_/e2e/heavy_integration overrides.
  • Worst case a real hang now surfaces at 360s instead of 180s, still well within the workflow's outer timeout cap.

Local checks: TOML parsed via tomllib; git diff --check clean; filterset validated against real cargo-nextest 0.9.143 via an A/B show-config (broken copy rejected, PR's filter parses and advances to build); targeted CI planner/workflow contract tests passed. Full cargo nextest run skipped (no cc linker in sandbox) — not needed for a timeout-only change.

@henrypark133
henrypark133 added this pull request to the merge queue Sep 4, 2026

@lloydmak99 lloydmak99 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.

Well-scoped CI-config change: adds one [[profile.ci.overrides]] block giving the four architecture-scan binaries 60s × 6 = 360s before termination (up from the default 180s), keeping the 60s SLOW cadence. TOML parses cleanly, the new block is correctly last-placed so it wins precedence, and the filter matches only the four intended targets.

Optional follow-up (non-blocking):

  • .config/nextest.toml:77 — the filter binary(/_location_scan$/) | binary(~reborn_sealed_evidence_mint_ratchet) isn't package-scoped, so a future binary with a matching name added to any other crate would silently inherit the 360s timeout. No such collision exists today. Could prefix with package(ironclaw_architecture_tests) & (...) if desired.

Local checks: TOML validity + override precedence verified via Python tomllib (6 CI overrides; new block resolves to {period=60s, terminate-after=6}); find/grep across crates/ confirmed only the four intended binaries match, all in ironclaw_architecture_tests; CI logs confirmed the PR run passing 1025/1025. Live cargo nextest filterset validation skipped — cargo-nextest not installed in this environment.

Merged via the queue into main with commit 21f8fdd Sep 4, 2026
57 checks passed
@henrypark133
henrypark133 deleted the fix/nextest-location-scan-timeout branch September 4, 2026 02:51

This branch was successfully deployed

No deployments
ironclaw-ci-preview / ironclaw-pr-8060 — 2f4c1b02 Deployed Sep 3, 2026 by railway-app[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: core 20+ merged PRs risk: low Changes to docs, tests, or low-risk modules size: S 10-49 changed lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants