Skip to content

Add Rust IR performance baseline - #521

Merged
flyingrobots merged 3 commits into
mainfrom
codex/rust-ir-performance-baseline
May 23, 2026
Merged

flyingrobots merged 3 commits into
mainfrom
codex/rust-ir-performance-baseline

Conversation

@flyingrobots

@flyingrobots flyingrobots commented May 23, 2026 •

Copy link
Copy Markdown
Owner

Summary

Adds a v0 Rust IR performance baseline for the v0.0.6 compiler-truth lane.

  • Adds pnpm perf:ir, backed by scripts/measure-ir-performance.mjs, to measure Rust CLI schema lower wall-clock samples over the explicit valid IR fixture corpus.
  • Pulls the performance baseline backlog card into the active 0013-rust-ir-parity-sentinel packet and records the v0 report contract.
  • Adds Bats coverage for report shape, fixture listing, failure behavior, and Markdown output.
  • Splits memory, JS lowering, Node binding, and WASM binding evidence into a follow-on up-next backlog card instead of claiming unsupported performance proof.

Validation

  • BATS_LIB_PATH=test bats -t test/ir-performance-baseline.bats
  • pnpm perf:ir -- --iterations 1 --warmups 0 --json
  • pnpm lint
  • pnpm run format:check
  • git diff --check
  • pnpm run lint:docs-whitespace
  • pnpm parity:ir
  • bash scripts/smoke/repo-bats-prepush.sh
  • pnpm run preflight
  • pnpm run validate
  • pre-push hook: repository preflight + repo Bats smoke suite

Notes

The GitHub connector token was expired during PR creation, so this PR was opened through the authenticated gh CLI fallback.

Summary by CodeRabbit

Release Notes

  • New Features

    • Added pnpm perf:ir command to measure Rust schema lowering wall-clock performance across fixture corpus.
  • Bug Fixes

    • Fixed median calculation for performance samples with even-sized duration sets to use the midpoint of central values.
  • Documentation

    • Added detailed performance baseline documentation and evidence specifications.
  • Tests

    • Added comprehensive test suite for performance baseline measurement.

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 23, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

@flyingrobots, we couldn't start this review because you've used your available PR reviews for now.

Your plan currently allows 1 review/hour. Refill in 16 minutes and 28 seconds.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more review capacity refills, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than trial, open-source, and free plans. In all cases, review capacity refills continuously over time.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 75062ca0-f3aa-4b72-a1b2-665454e10bac

📥 Commits

Reviewing files that changed from the base of the PR and between 43ad6c0 and aaf1db3.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (4)
  • CHANGELOG.md
  • package.json
  • scripts/measure-ir-performance.mjs
  • test/ir-performance-baseline.bats
📝 Walkthrough

Walkthrough

This PR establishes a Rust IR performance baseline measurement system via pnpm perf:ir, comprising a Node.js measurement script, comprehensive test suite, design documentation clarifying scope (wall-clock duration only), integration into the build pipeline, and planning documentation for follow-on binding and memory baseline work.

Changes

Rust IR Performance Baseline

Layer / File(s) Summary
Performance Baseline Design & Scope
docs/design/0013-rust-ir-parity-sentinel/EVIDENCE_rust-core-performance-baseline.md, docs/design/0013-rust-ir-parity-sentinel/rust-ir-parity-sentinel.md, docs/design/0013-rust-ir-parity-sentinel/SOURCE_wesley-core-rs-ir-contract-and-fixtures.md, docs/design/0009-rust-core-and-wasm-capability-abi/rust-core-and-wasm-capability-abi.md, docs/design/README.md
Design documents specify the baseline scope: Rust CLI schema lower wall-clock sampling over explicit fixture corpus, with explicit exclusions (peak RSS, binding overhead, external measurements), plus cross-reference updates.
Measurement Script Implementation
scripts/measure-ir-performance.mjs
Node.js script implements benchmarking: CLI parsing, per-fixture warmup/iteration phases, duration aggregation with even-sample median as midpoint, JSON/Markdown rendering, Git HEAD capture, and error handling with nonzero exit on fixture failure.
Test Suite for Performance Baseline
test/ir-performance-baseline.bats
Bats test suite validates script behavior: successful measurement with JSON output contract verification, fixture list enumeration, even-sample median computation (e.g., [10,20,30,40] → 25), error handling with fake Wesley CLI, and Markdown report generation.
Build System Integration
package.json, scripts/smoke/repo-bats-prepush.sh, scripts/README.md
Integrates measurement tool: new pnpm perf:ir npm script, test suite added to pre-push hook, and measurement script documented in scripts table.
Project Documentation & Roadmap
CHANGELOG.md, docs/method/backlog/up-next/EVIDENCE_rust-core-binding-and-memory-baselines.md, docs/method/backlog/up-next/README.md, docs/BEARING.md
Updates project documentation: CHANGELOG entries for command and median fix, new backlog item for binding/memory baselines with measurement separation acceptance criteria, and work priority updates in BEARING.

Sequence Diagram(s)

sequenceDiagram
    participant User as User (pnpm perf:ir)
    participant Script as measure-ir-performance.mjs
    participant Wesley as Wesley CLI
    participant Report as JSON/Markdown Report
    
    User->>Script: CLI flags + fixture selection
    Script->>Wesley: warmup run (schema lower)
    Wesley->>Script: JSON output
    Script->>Wesley: iteration 1 (schema lower)
    Wesley->>Script: JSON output + duration
    Script->>Wesley: iteration N (schema lower)
    Wesley->>Script: JSON output + duration
    Script->>Script: summarizeDurations() median/min/max
    Script->>Report: render with metrics
    Report->>User: JSON or Markdown evidence
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested labels

enhancement, feature

Poem

🐰 A measurement quest begins,
Wall-clocks ticking, fixtures spin,
Baselines captured, medians bright,
Rust IR performance in sight,
Memory and bindings wait in queue,
The baseline's set, what's next to do?

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description covers Summary, Validation steps, and Notes, but is missing key template sections: Why (rationale/alternatives), Risk (user-facing/CI risk), Backout (revert strategy), and Testing (specific commands). Add Why section explaining rationale and alternatives; add Risk section noting CI impact; add Backout section with revert guidance; add Testing section with specific preflight commands.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Add Rust IR performance baseline' directly and clearly summarizes the main change: introducing a v0 Rust IR performance baseline measurement system with pnpm perf:ir command and supporting infrastructure.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/rust-ir-performance-baseline

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 and usage tips.

@github-actions

github-actions Bot commented May 23, 2026 •

Copy link
Copy Markdown

🔍 The Case of Pull Request #521

Plain-English Readout

  • Holmes (evidence investigation): Holmes says this change should not ship in its current state. Main reasons: No evidence citations were available for trust analysis; test evidence is incomplete; schema coverage is incomplete.
  • Watson (independent verification): Watson found verification concerns. Most important concern: Low migration risk claimed but schema incomplete.
  • Moriarty (trend forecast): Moriarty sees progress as stalled right now, so forecast confidence is limited.

Suggested next actions

  1. Tighten citations so the report points to exact lines instead of whole files or coarse references.
  2. Resolve Watson’s verification concerns before trusting the Holmes verdict as final.
  3. Treat the readiness forecast as stalled until new evidence or real progress moves the trend again.
  4. Add or strengthen tests for the schema elements and operations HOLMES flagged as weakly proven.
📚 Glossary (what the Holmes terms mean)
  • HOLMES: Wesley’s main evidence investigation. It decides whether the cited proof is strong enough to justify shipping this commit.
  • WATSON: An independent verification pass. It checks Holmes’s citations and score math instead of trusting them blindly.
  • MORIARTY: A readiness forecast over time. It is advisory trend analysis, not the release gate itself.
  • Schema coverage score (SCS): How much of the schema has direct supporting evidence across generated artifacts and cited proof.
  • Test confidence index (TCI): How much test evidence exists for constraints, policies, relationships, and operations.
  • Migration risk index (MRI): How risky the schema change is to roll out. Lower is better.
  • Evidence trust: Whether the report is backed by exact citations, whole-file citations, or coarse references. Weak trust means the claim may be directionally right but not specific enough to trust blindly.
  • Citation quality: A count of exact line-span citations versus whole-file or coarse references.
  • ELEMENTARY: Ready to ship based on the current evidence.
  • REQUIRES INVESTIGATION: More work or review is needed before shipping.
  • YOU SHALL NOT PASS: Do not ship this change in its current state.

🕵️ SHA-lock HOLMES full report (click to expand)

🕵️ SHA-lock HOLMES Investigation

  • Generated: 2026-05-23T18:30:34.003Z
  • Commit SHA: a190256
  • Bundle Version: 2.0.0

⚠️ Evidence valid only for commit a190256

🔍 Executive Deduction

"Watson, after careful examination of the evidence, I deduce..."

Weighted Completion: ░░░░░░░░░░ 0.0%
Scores: SCS 0.0% · TCI 0.0% · MRI 0.0%
Verification Status: 0 claims verified
Citation Quality: 0 exact · 0 whole-file · 0 coarse
Evidence Trust: missing
Ship Verdict: YOU SHALL NOT PASS

🧩 SCS Breakdown

Component Score Coverage
Sql 0.0% 0.00/154.00
Types 0.0% 0.00/154.00
Validation 0.0% 0.00/154.00
Tests 0.0% 0.00/154.00

🧪 TCI Breakdown

Component Score Coverage Note
Unit Constraints 0.0% 0/104 N/A
Unit Rls 0.0% — N/A
Integration Relations 0.0% 0/3 N/A
E2e Ops N/A — Query operation test tracking not yet implemented

⚠️ MRI Breakdown

Component Risk Share Points Count
Drops 0% 0 0
Renames Without Uid 0% 0 0
Add Not Null Without Default 0% 0 0
Non Concurrent Indexes 0% 0 0

📊 The Weight of Evidence

"Observe, Watson, how not all features carry equal importance..."

Element Weight Status Evidence Strength Deduction

🚪 Security & Performance Gates

"Elementary security measures, Watson..."

Gate Status Evidence Holmes's Ruling
Migration Risk ✅ MRI: 0.0% "Trivial risk"
Test Coverage ⚠️ TCI: 0.0% "Theatrical tests!"
Sensitive Fields ✅ 0 fields "All secured"
Evidence Quality ⛔ 0 exact · 0 whole-file · 0 coarse "No evidence citations were available for trust analysis."

📋 The Verdict

⛔ YOU SHALL NOT PASS
"Critical evidence is missing! Return to your laboratory!"

Signed and sealed,

  • S. Holmes, Consulting Detective

[END OF INVESTIGATION FOR COMMIT a190256]

🧵 Command Run

  • Run ID: run-mpiopl07-yaioog
  • Transmutation: holmes-investigate
  • Command: investigate
  • Status: completed
  • Ledger: /home/runner/work/wesley/wesley/test/fixtures/examples/.wesley-cache/ledger

🩺 Dr. WATSON full report (click to expand)

🩺 Dr. Watson's Independent Verification Report

Medical Examination of Evidence

  • Examination Date: 2026-05-23T18:31:33.768Z
  • Patient SHA: a190256

🔬 Citation Verification

"Let me examine each piece of evidence independently..."

  • Citations Examined: 0
  • Verified: 0 ✅
  • Failed: 0 ❌
  • Unable to Verify: 0
  • Exact Subrange Citations: 0
  • Whole-file Citations: 0
  • Coarse Citations: 0
  • Evidence Trust: missing
  • Trust Note: No evidence citations were available for trust analysis.

Verification Rate: 0.0%

📊 Mathematical Verification

"I shall recalculate Holmes's arithmetic..."

Holmes claimed SCS: 0.0%
Watson calculates: 0.0%
Difference: ✅ Negligible

🔍 Consistency Analysis

"Checking for contradictions in Holmes's deductions..."

⚠️ Low migration risk claimed but schema incomplete

🩺 Dr. Watson's Medical Opinion

VERIFICATION: CONCERNS NOTED ⚠️

"While Holmes's methods are generally sound, I have noted some"
"discrepancies that warrant further investigation. No evidence citations were available for trust analysis."

Respectfully submitted,

  • Dr. J. Watson, M.D.
    Medical Examiner & Verification Specialist

🧵 Command Run

  • Run ID: run-mpioq7we-fpqr80
  • Transmutation: watson-verify
  • Command: verify
  • Status: completed
  • Ledger: /home/runner/work/wesley/wesley/test/fixtures/examples/.wesley-cache/ledger

🔮 Professor MORIARTY full report (click to expand)

🧠 Professor Moriarty's Temporal Predictions

The Mathematics of Inevitability

  • Analysis Date: 2026-05-23T18:32:08.497Z

🔮 Current State

SCS: ░░░░░░░░░░ 0.0%
TCI: ░░░░░░░░░░ 0.0%
MRI: 0.0% risk
Evidence Trust: missing

📈 Velocity Analysis

SCS Velocity: +0.00%/day
Git Activity (window): 24h · commits 12 (1 relevant) · ~12.00 commits/day
↳ Magnitude: ~498 relevant LOC/day across ~12.0 files/day
Activity Index: 30 / 100 (PR 0, Window 74)
Blended Velocity: +0.18%/day
Commit Size Burstiness: 0 / 100 (higher = more uneven commit sizes)
⚠️ PLATEAU DETECTED - Low SCS movement and low recent Git activity.

⏰ Completion Predictions

ETA: Cannot predict (insufficient velocity)

"At current velocity, completion is... improbable."

⚠️ Warnings

  • Evidence trust is missing; No evidence citations were available for trust analysis.

🧪 Readiness EXPLAIN

  • SCS ≥ 80% → FAIL ❌ (actual 0.0%)
  • TCI ≥ 70% → FAIL ❌ (actual 0.0%)
  • MRI ≤ 40% → PASS ✅ (actual 0.0%)
  • CI Stability ≥ 90% (branch main) → PASS ✅ (actual 93% over ~168h)
  • Evidence Trust ≥ moderate → FAIL ❌ (actual missing) — No evidence citations were available for trust analysis.
  • Delivery context (last 168h): 0 issues closed · 9 PRs merged (informational, not gating)

Signals blend: SCS velocity (70%) + Git activity (30%, branch-first). Activity only suppresses false plateaus; it never inflates readiness.

📊 Historical Trajectory

05-23: ░░░░░░░░░░ 0.0%
05-23: ░░░░░░░░░░ 0.0%
05-23: ░░░░░░░░░░ 0.0%

"Every problem becomes elementary when reduced to mathematics"
— Professor Moriarty

🧵 Command Run

  • Run ID: run-mpioqypb-8fwhc8
  • Transmutation: moriarty-predict
  • Command: predict
  • Status: completed
  • Ledger: /home/runner/work/wesley/wesley/test/fixtures/examples/.wesley-cache/ledger

Machine-readable reports: holmes-report.json · watson-report.json · moriarty-report.json (see workflow artifacts).


Filed at 221B Repository Street

@flyingrobots

Copy link
Copy Markdown
Owner Author

@codex Self-audit finding

Issue Severity Source File Evidence Required mitigation
Rust IR performance report computes even-sample median as the upper middle value P2 Self scripts/measure-ir-performance.mjs:233-240 summarizeDurations() sorts samples but returns sorted[Math.floor(sorted.length / 2)]; for [10, 20, 30, 40] the reported median is 30 instead of the statistical midpoint 25. The new report is evidence-oriented, so mislabeled summary statistics would mislead cutover review. Add a deterministic regression for even-sized sample sets, make the summary helper import-safe enough to test without running the CLI, compute even-sample median as the rounded midpoint of the two central values, update CHANGELOG, and rerun focused plus repo validation.

@chatgpt-codex-connector

Copy link
Copy Markdown

Summary

  • Fixed the Rust IR performance duration summary median calculation for even-sized sample sets by using the rounded midpoint of the two center values, while preserving existing odd-sample behavior. scripts/measure-ir-performance.mjsL233-L245
  • Made the performance script import-safe for tests by exporting the CLI wrapper and guarding execution with an explicit entrypoint check, so importing helpers no longer runs the CLI side effects. scripts/measure-ir-performance.mjsL312-L324
  • Added a deterministic regression test that imports summarizeDurations() and asserts [10, 20, 30, 40] yields median 25. test/ir-performance-baseline.batsL129-L140
  • Updated the changelog with a fix entry documenting the median-correction behavior and testability change. CHANGELOG.mdL50-L53

Testing

  • ⚠️ BATS_LIB_PATH=test bats -t test/ir-performance-baseline.bats (failed because bats is not installed in this environment: /bin/bash: line 1: bats: command not found)
  • ✅ pnpm run preflight

Also completed requested SCM/PR actions:

  • Committed changes as fix(perf): correct even-sample median in ir report (commit 686f366).
  • Created follow-up PR metadata via make_pr with title “Fix Rust IR performance median calculation and add regression check”.

View task →

@flyingrobots

Copy link
Copy Markdown
Owner Author

@codex Activity Summary

Issue Severity Source Files Commit Outcome
Rust IR performance report computed even-sized sample medians as the upper middle value P2 Self-audit scripts/measure-ir-performance.mjs, test/ir-performance-baseline.bats, CHANGELOG.md 43ad6c0e Fixed: added an import-safe summary helper seam, added a deterministic regression for [10, 20, 30, 40], and now reports the median as the rounded midpoint of the two central values.

Validation after fix:

  • RED: BATS_LIB_PATH=test bats -t test/ir-performance-baseline.bats failed with median 30 for [10,20,30,40].
  • GREEN: BATS_LIB_PATH=test bats -t test/ir-performance-baseline.bats
  • pnpm perf:ir -- --fixture test/fixtures/ir-parity/small-schema.graphql --iterations 2 --warmups 0 --json
  • pnpm lint
  • pnpm run format:check
  • git diff --check
  • pnpm run preflight
  • pnpm parity:ir
  • bash scripts/smoke/repo-bats-prepush.sh
  • pnpm run validate
  • pre-push hook: repository preflight + repo Bats smoke suite

Merge gate is being re-evaluated on pushed head 43ad6c0e.

@chatgpt-codex-connector

Copy link
Copy Markdown

Thanks — I reviewed the trigger, PR metadata, and comment history.

Outcome

No further code changes are needed from me at this point:

  • The reported P2 issue (even-sized median) is already described as fixed on the PR head commit 43ad6c0e.
  • The trigger explicitly says validation was rerun and the merge gate is being re-evaluated on that head.
  • My local branch check in /workspace/wesley is clean and already at 43ad6c0 with no uncommitted changes.

Checks run

  • ✅ git -C /workspace/wesley status --short
  • ✅ git -C /workspace/wesley log -n 5 --oneline

Since I did not make any new changes, I did not create a new commit and did not call make_pr (to stay consistent with your workflow constraints).

View task →

@flyingrobots
flyingrobots marked this pull request as ready for review May 23, 2026 16:27

@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: 43ad6c0e5b

ℹ️ 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 thread scripts/measure-ir-performance.mjs Outdated

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CHANGELOG.md`:
- Around line 52-54: Update the CHANGELOG entry text for "Rust IR performance
baseline median" to explicitly state that for even-sized duration sample sets
the median is the "rounded midpoint" (i.e., the midpoint is rounded) instead of
saying "midpoint of the two central values" or "upper middle sample"; locate and
edit the bullet that begins with "**Rust IR performance baseline median**" and
replace the phrasing to read something like "Even-sized duration sample sets
report the median as the rounded midpoint of the two central values" to match
the implemented rounded behavior.

In `@scripts/measure-ir-performance.mjs`:
- Around line 215-219: Both spawnSync calls (in runLower and gitHead) lack
timeouts and can hang CI; add a timeout option to the spawnSync invocation
(e.g., timeout: 60_000 or use a shared constant like DEFAULT_SPAWN_TIMEOUT) and
handle timeout failures: after calling spawnSync check for result.error?.code
=== 'ETIMEDOUT' or a non-zero result.status/exit signal and surface a clear
error/log and throw or return a controlled failure instead of letting the
process hang. Update the spawnSync in runLower and the one in gitHead to include
the timeout and appropriate timeout/error handling logic.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 840aa75b-4a99-4ae1-920e-cbc09f7428b9

📥 Commits

Reviewing files that changed from the base of the PR and between 933403a and 43ad6c0.

📒 Files selected for processing (15)
  • CHANGELOG.md
  • docs/BEARING.md
  • docs/design/0009-rust-core-and-wasm-capability-abi/rust-core-and-wasm-capability-abi.md
  • docs/design/0013-rust-ir-parity-sentinel/EVIDENCE_rust-core-performance-baseline.md
  • docs/design/0013-rust-ir-parity-sentinel/SOURCE_wesley-core-rs-ir-contract-and-fixtures.md
  • docs/design/0013-rust-ir-parity-sentinel/rust-ir-parity-sentinel.md
  • docs/design/README.md
  • docs/method/backlog/up-next/EVIDENCE_rust-core-binding-and-memory-baselines.md
  • docs/method/backlog/up-next/EVIDENCE_rust-core-performance-baseline.md
  • docs/method/backlog/up-next/README.md
  • package.json
  • scripts/README.md
  • scripts/measure-ir-performance.mjs
  • scripts/smoke/repo-bats-prepush.sh
  • test/ir-performance-baseline.bats
💤 Files with no reviewable changes (1)
  • docs/method/backlog/up-next/EVIDENCE_rust-core-performance-baseline.md

Comment thread CHANGELOG.md Outdated
Comment thread scripts/measure-ir-performance.mjs Outdated
@flyingrobots

Copy link
Copy Markdown
Owner Author

@codex Activity Summary

Issue Severity Source Files Commit Outcome
Missing child-process output buffer for Rust IR lowerer output P2 PR review scripts/measure-ir-performance.mjs, test/ir-performance-baseline.bats, package.json, pnpm-lock.yaml, CHANGELOG.md aaf1db38 Fixed: replaced raw spawnSync with an async process runner, added explicit stdout/stderr buffer limits, and added deterministic oversized-output coverage.
External lowerer and Git probes could hang indefinitely P2 PR review scripts/measure-ir-performance.mjs, test/ir-performance-baseline.bats, package.json, pnpm-lock.yaml, CHANGELOG.md aaf1db38 Fixed: wrapped probes in @git-stunts/alfred Policy.timeout, used an unref production clock, killed timed-out children with SIGKILL, and proved timeout behavior with Alfred TestClock injection.
CHANGELOG median wording did not explicitly say rounded midpoint P5 PR review CHANGELOG.md aaf1db38 Fixed: release truth now says even-sized duration samples report the median as the rounded midpoint of the two central values.

Validation after fix:

  • RED: initial timeout regression failed before process bounds were implemented; the lowerer completed instead of timing out and fake Git returned a head instead of unknown.
  • GREEN: BATS_LIB_PATH=test bats -t test/ir-performance-baseline.bats
  • pnpm perf:ir -- --fixture test/fixtures/ir-parity/small-schema.graphql --iterations 2 --warmups 0 --json
  • pnpm lint
  • pnpm run format:check
  • git diff --check
  • pnpm run preflight
  • bash scripts/smoke/repo-bats-prepush.sh
  • pnpm run validate
  • pre-push hook: repository preflight + repo Bats smoke suite

Resolved the three outdated review threads after replying with the fixing SHA/outcome. CI and CodeRabbit are re-running on pushed head aaf1db38.

@chatgpt-codex-connector

Copy link
Copy Markdown

Summary

No new follow-up patch is required from me based on this trigger.

  • The trigger states the spawnSync buffer/timeouts and median wording issues are already fixed in commit aaf1db38 with tests re-run and review threads resolved.
  • My local branch is already at that head and has no uncommitted changes, so there is nothing valid to commit.
  • Per your workflow constraints, I therefore did not create a commit and did not call make_pr.

Validation / checks I ran

  • ✅ cat AGENTS.md
  • ✅ sed -n '1,120p' docs/BEARING.md
  • ✅ sed -n '1,120p' docs/METHOD.md
  • ✅ rg --files docs/method/backlog/asap
  • ✅ git status --short
  • ✅ git log -n 5 --oneline

If you want, I can do a fresh pass specifically against current scripts/measure-ir-performance.mjs to re-verify there are no remaining unresolved review findings before merge.

View task →

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.

1 participant