Skip to content

fix(feed,benchmarks): restore 7 files clobbered by #11271 — broken imports + orphaned tests (#11419) - #11490

Merged
0xSolace merged 2 commits into
developfrom
sol/11419-restore-feed-benchmarks
Jul 2, 2026
Merged

fix(feed,benchmarks): restore 7 files clobbered by #11271 — broken imports + orphaned tests (#11419)#11490
0xSolace merged 2 commits into
developfrom
sol/11419-restore-feed-benchmarks

Conversation

@0xSolace

@0xSolace 0xSolace commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

What

Restores the 7 packages/feed + packages/benchmarks files clobbered by the #11271 stale-base mega-revert, per the blob-level audit on #11419. All 7 restored byte-identical from the pre-clobber parent dc1a63b103 (= 5b714c74e6^), then verified against the current develop tip. One post-restore fix from codex review (see below).

Per-file breakdown

🔴 Live functional breakage on develop

1. packages/benchmarks/orchestrator_lifecycle/events.py

  • runner.py:228 calls extract_lifecycle_events(actions, params) from .events (import at runner.py:37). The module was deleted, so the bench dies at import time.
  • Verified: python3 -c "from benchmarks.orchestrator_lifecycle import runner" → OK after restore (ImportError before).

2. packages/feed/tools/e2e-gate.mjs

  • Both packages/feed/tools/chroma/package.json and packages/feed/tools/e2e/package.json invoke node ../e2e-gate.mjs --suite ... -- <playwright cmd> in their test scripts. The gate script was deleted, so both lanes die at spawn — and the whole point of this script was making skipped lanes VISIBLE (FEED_E2E_RESULT=skipped, exit 3 under CI/strict) instead of silently exiting 0.
  • Verified: node --check clean; CLI args in both package.json scripts match the gate's --suite/--requires/-- interface.

3. packages/feed/tools/chroma/specs/helpers/page-helpers.health.test.ts
4. packages/feed/tools/e2e/tests/helpers/page-helpers.health.test.ts

  • Referenced by each package's test:unit script (bun test <path>); scripts pointed at deleted files.

🟡 Orphaned test coverage

5. packages/benchmarks/orchestrator_lifecycle/tests/test_events.py — tests for the extractor above (action-name mapping, pattern-C TASKS operation params, trajectory-snapshot leak guard, prose-produces-no-events).
6. packages/benchmarks/interrupt-bench/tests/honest-scoring.test.ts — the #9310 §3.11 honest-scoring guard.
7. packages/benchmarks/three-agent-dialogue/__tests__/verification.test.tscomputeVerification/detectEmotionFromText coverage; imports still resolve against current runner/verification.ts exports.

Post-restore fix (codex review finding)

Codex review (gpt-5.5) flagged a real gap in the restored extractor: the runtime's actual TASKS control op carries the child operation in controlAction (action=control, controlAction=pause|resume|stop|continue|reopen, per packages/core/src/generated/action-docs.ts), which wasn't in _OPERATION_KEYS — so genuine pause/resume turns would score as missing behavior. Added controlaction to the key set (keys now matched case-insensitively) + 2 regression tests. Second commit, kept separate from the byte-identical restore.

Verification

  • python3 -m pytest packages/benchmarks/orchestrator_lifecycle/tests/ -q26 passed (incl. 5+2 in test_events.py)
  • bun test specs/helpers/page-helpers.health.test.ts (chroma) → 7 pass, 0 fail
  • bun test tests/helpers/page-helpers.health.test.ts (e2e) → 7 pass, 0 fail
  • bun x vitest run tests/honest-scoring.test.ts (interrupt-bench) → 4 passed
  • bun x vitest run __tests__/verification.test.ts (three-agent-dialogue) → 5 passed
  • node --check packages/feed/tools/e2e-gate.mjs → clean
  • bun x biome check on the 5 touched TS/MJS files → clean, no fixes

Closes the feed + benchmarks rows of the #11419 audit. Does not touch any other rows.

— [sol-orch]

0xSolace and others added 2 commits July 2, 2026 17:43
Restores files deleted by the #11271 stale-base mega-revert, identified
in the blob-level audit on #11419. All restored byte-identical from the
pre-clobber parent dc1a63b (= 5b714c7^) and verified against the
current develop tip.

Functional breakage (develop is broken without these):
- packages/benchmarks/orchestrator_lifecycle/events.py
  runner.py:228 calls extract_lifecycle_events from .events; the module
  was deleted so the bench could not even import.
- packages/feed/tools/e2e-gate.mjs
  chroma + e2e package.json 'test' scripts invoke node ../e2e-gate.mjs;
  the gate script was deleted so both lanes died at spawn.
- packages/feed/tools/chroma/specs/helpers/page-helpers.health.test.ts
- packages/feed/tools/e2e/tests/helpers/page-helpers.health.test.ts
  both referenced by the packages' test:unit scripts.

Orphaned test coverage:
- packages/benchmarks/orchestrator_lifecycle/tests/test_events.py
- packages/benchmarks/interrupt-bench/tests/honest-scoring.test.ts
- packages/benchmarks/three-agent-dialogue/__tests__/verification.test.ts

Verification: orchestrator_lifecycle full pytest suite 26 passed;
both page-helpers.health suites 7 pass each (bun test); interrupt-bench
honest-scoring 4 passed (vitest); three-agent-dialogue verification
5 passed (vitest); node --check e2e-gate.mjs clean; biome clean.

Co-authored-by: wakesync <shadow@shad0w.xyz>
…nt extraction

Codex review flagged that the runtime's real TASKS control op carries the
child operation in controlAction (action=control, controlAction=pause|
resume|stop|continue|reopen per core action docs), which wasn't in
_OPERATION_KEYS. Valid pause/resume turns were scored as missing
behavior. Added controlaction to the key set (matched case-insensitively)
plus regression tests.

Co-authored-by: wakesync <shadow@shad0w.xyz>
@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ca389c3a-4d62-4a85-a74b-8a644d643fb1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sol/11419-restore-feed-benchmarks

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.

@greptile-apps greptile-apps 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.

Your trial has ended. Reactivate Greptile to resume code reviews.

@0xSolace
0xSolace merged commit 219137d into develop Jul 2, 2026
31 of 37 checks passed
@0xSolace
0xSolace deleted the sol/11419-restore-feed-benchmarks branch July 2, 2026 17:49
NubsCarson added a commit that referenced this pull request Jul 2, 2026
…1271 (#11376) (#11530)

Re-lands packages/benchmarks/lifeops-quality (20 files) and
.github/workflows/lifeops-quality-bench.yml byte-identical from the
pre-clobber parent 5b714c7^. All three workflow lanes verified green
locally against current develop: unit 27/27, triage gate 6/6,
timeliness gate 1/1 (both DST windows).

The 4 orphaned benchmark tests from the same #11419 row are excluded:
already restored (and partly evolved) by merged #11490.

Refs #11376 #11419 #11271

[cloud-security]

Co-authored-by: Shaw <shawmakesmagic@gmail.com>
lalalune pushed a commit that referenced this pull request Jul 2, 2026
…ork (#11376)

The #11271 failure mode: a 304-file squash titled as a small cloud-refund
refactor carried a stale checkout's file contents over work already merged on
develop — no conflicts, merge-base only 8 minutes old, so no base-age check
could have caught it. This lands the final #11376 acceptance criterion: a
fast required PR check that makes that impossible to repeat silently.

- .github/workflows/stale-base-guard.yml — runs on every PR in seconds:
  blobless --depth=1500 fetch, guard script snapshotted from the BASE branch
  (a PR cannot neuter the gate that judges it), GIT_NO_LAZY_FETCH=1 so any
  accidental content read fails loudly. `stale-base-ack` label = loud
  override for deliberate reverts; labeled/unlabeled events re-trigger.
- packages/scripts/stale-base-guard.mjs — plumbing-only (oid compares, no
  blob reads): flags a PR when it sets a file byte-identically back to an
  older blob from the target's first-parent history, discarding newer merged
  work. Heal/re-land PRs (restoring work a clobber reverted) pass by
  construction; deletion-only findings are non-blocking notices unless a
  modification-revert corroborates the stale-tree signature. Staleness
  backstop: merge-base > 200 first-parent commits or > 72 h behind the tip.
- packages/scripts/stale-base-guard.self-test.mjs — 9 fixture-repo scenarios
  (clobber shape, heal, deletions, re-adds, backstops, --window, --ack,
  missing merge-base); the workflow runs it before the guard on every PR.

Proven on real history (evidence in
.github/issue-evidence/11376-stale-base-guard/): the actual #11271 topology
FAILS with 297 silent-revert findings in ~8 s; the five #11271-restore
merges (#11427 #11430 #11433 #11490 #11522) and ten live open PRs all PASS
with 0 findings; the exact CI clone shape verified against github.com
(fetch 2.4 s, guard sub-second).

Refs #11376

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
lalalune pushed a commit that referenced this pull request Jul 2, 2026
…ork (#11376)

The #11271 failure mode: a 304-file squash titled as a small cloud-refund
refactor carried a stale checkout's file contents over work already merged on
develop — no conflicts, merge-base only 8 minutes old, so no base-age check
could have caught it. This lands the final #11376 acceptance criterion: a
fast required PR check that makes that impossible to repeat silently.

- .github/workflows/stale-base-guard.yml — runs on every PR in seconds:
  blobless --depth=1500 fetch, guard script snapshotted from the BASE branch
  (a PR cannot neuter the gate that judges it), GIT_NO_LAZY_FETCH=1 so any
  accidental content read fails loudly. `stale-base-ack` label = loud
  override for deliberate reverts; labeled/unlabeled events re-trigger.
- packages/scripts/stale-base-guard.mjs — plumbing-only (oid compares, no
  blob reads): flags a PR when it sets a file byte-identically back to an
  older blob from the target's first-parent history, discarding newer merged
  work. Heal/re-land PRs (restoring work a clobber reverted) pass by
  construction; deletion-only findings are non-blocking notices unless a
  modification-revert corroborates the stale-tree signature. Staleness
  backstop: merge-base > 200 first-parent commits or > 72 h behind the tip.
- packages/scripts/stale-base-guard.self-test.mjs — 9 fixture-repo scenarios
  (clobber shape, heal, deletions, re-adds, backstops, --window, --ack,
  missing merge-base); the workflow runs it before the guard on every PR.

Proven on real history (evidence in
.github/issue-evidence/11376-stale-base-guard/): the actual #11271 topology
FAILS with 297 silent-revert findings in ~8 s; the five #11271-restore
merges (#11427 #11430 #11433 #11490 #11522) and ten live open PRs all PASS
with 0 findings; the exact CI clone shape verified against github.com
(fetch 2.4 s, guard sub-second).

Refs #11376

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
lalalune added a commit that referenced this pull request Jul 2, 2026
…ork (#11376) (#11629)

The #11271 failure mode: a 304-file squash titled as a small cloud-refund
refactor carried a stale checkout's file contents over work already merged on
develop — no conflicts, merge-base only 8 minutes old, so no base-age check
could have caught it. This lands the final #11376 acceptance criterion: a
fast required PR check that makes that impossible to repeat silently.

- .github/workflows/stale-base-guard.yml — runs on every PR in seconds:
  blobless --depth=1500 fetch, guard script snapshotted from the BASE branch
  (a PR cannot neuter the gate that judges it), GIT_NO_LAZY_FETCH=1 so any
  accidental content read fails loudly. `stale-base-ack` label = loud
  override for deliberate reverts; labeled/unlabeled events re-trigger.
- packages/scripts/stale-base-guard.mjs — plumbing-only (oid compares, no
  blob reads): flags a PR when it sets a file byte-identically back to an
  older blob from the target's first-parent history, discarding newer merged
  work. Heal/re-land PRs (restoring work a clobber reverted) pass by
  construction; deletion-only findings are non-blocking notices unless a
  modification-revert corroborates the stale-tree signature. Staleness
  backstop: merge-base > 200 first-parent commits or > 72 h behind the tip.
- packages/scripts/stale-base-guard.self-test.mjs — 9 fixture-repo scenarios
  (clobber shape, heal, deletions, re-adds, backstops, --window, --ack,
  missing merge-base); the workflow runs it before the guard on every PR.

Proven on real history (evidence in
.github/issue-evidence/11376-stale-base-guard/): the actual #11271 topology
FAILS with 297 silent-revert findings in ~8 s; the five #11271-restore
merges (#11427 #11430 #11433 #11490 #11522) and ten live open PRs all PASS
with 0 findings; the exact CI clone shape verified against github.com
(fetch 2.4 s, guard sub-second).

Refs #11376

Co-authored-by: lalalune <shaw.nicola.walters@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

❌ PR title does not match the required pattern. Please use one of these formats:

  • 'type: description' (e.g., 'feat: add new feature')
  • 'type(scope): description' (e.g., 'chore(core): update dependencies')
    Valid types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert, release

@claude

claude Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error —— View job


I'll analyze this and get back to you.

@github-actions github-actions Bot added the Tests label Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant