Skip to content

refactor(replay): move target classification into replay-port (#2663) - #3016

Merged
thymikee merged 6 commits into
mainfrom
codex/2663-replay-classification
Sep 28, 2026
Merged

thymikee merged 6 commits into
mainfrom
codex/2663-replay-classification

Conversation

@thymikee

@thymikee thymikee commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

Summary

Moves replay target classification and its 17-case test into @agent-device/replay-port. The recorded target tree fixture also moves to a package subpath used by the package test and two daemon replay regression suites. The daemon verifier imports the classifier from its owning package. Runtime decisions and wire responses are unchanged.

12 files touched; three source/test/fixture moves. This is an independent staged move toward #2663's PR B, alongside #3007.

Validation

Tested rebased commit 15a8f497e on origin/main 4bbbfb702 after review fixes to the base-tree readability predicate and rename regression assertion.

  • Fresh pnpm install --frozen-lockfile && pnpm build && pnpm check:affected --run: all runnable checks passed, including related tests, layering, typecheck, lint, build, package, fallow, export, and provider integration checks. The manifest and lockfile change selected the full local gate set.
  • Eager-closure budget suite: 701 tests passed. The tracked scripts/*.ts to package-source case now asserts the rename map entry before the null result, so the test cannot pass without detecting the rename.
  • pnpm typecheck and tracked-file layering scan passed. The closure gate now treats a fixture moved out of __tests__ as a new package export and loads its selector calculation on demand, keeping it within the new-entry budget.

No live device replay was run for this location-only move. The remaining replay runtime and Maestro adapter move needs the issue's live .ad and Maestro characterization.

Part of #2663.

@cubic-dev-ai cubic-dev-ai 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.

No issues found across 12 files

Re-trigger cubic

@github-actions

github-actions Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Size Report

Metric Base Current Diff
Installed (including dependencies) 4.87 MB 4.87 MB 0 B
Package (unpacked) 4.87 MB 4.87 MB 0 B
Package (download) 1.46 MB 1.46 MB +1 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 29.1 ms 29.8 ms +0.7 ms
CLI --help 87.1 ms 88.2 ms +1.0 ms

@github-actions

github-actions Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-09-28 17:04 UTC

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed across 6 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

Comment thread scripts/__tests__/committed-source-tree.ts Outdated
@thymikee

Copy link
Copy Markdown
Member Author

Temporarily reopening to trigger the required CI workflows on the repaired head.

@thymikee thymikee closed this Sep 28, 2026
@thymikee thymikee reopened this Sep 28, 2026
@thymikee
thymikee force-pushed the codex/2663-replay-classification branch from 50a5a5a to 614fbd0 Compare September 28, 2026 11:51
@thymikee

Copy link
Copy Markdown
Member Author

Reviewed at 50a5a5a, and checked again at 614fbd0, which rebases onto main and resolves the package.json conflict with #3007 without other changes. The target-classification move is byte-identical, but the new gate helper can crash on unrelated renames.

baseProductionPathOf in committed-source-tree.ts:65 checks baseTree.isFile(...), which accepts any tracked file. readFile serves only the files that WALKED_SOURCE accepts (see committedSourceSet). If a later PR renames a tracked production .ts file outside src/ or packages/*/src/, eager-closure-budgets.test.ts calls readFile on it and crashes. Today 338 tracked files are outside those roots. Can baseProductionPathOf use the WALKED_SOURCE check from committedSourceSet, and not a second, narrower copy of it?

CI: checks on 614fbd0 are still running.

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed across 2 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Fix all with cubic | Re-trigger cubic

Comment thread scripts/__tests__/eager-closure-budgets.test.ts
@thymikee

Copy link
Copy Markdown
Member Author

Reviewed at 779f121. The fix for the finding at 614fbd0 is in, the classification move into replay-port looks correct, and I have no new findings. This is ready for human review.

CI: the test jobs were still running when I checked. The only non-passing check was the automated review bot, which runs no tests.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Sep 28, 2026
@thymikee
thymikee force-pushed the codex/2663-replay-classification branch from 779f121 to 15a8f49 Compare September 28, 2026 16:35
@thymikee
thymikee merged commit 16041a2 into main Sep 28, 2026
20 of 21 checks passed
@thymikee
thymikee deleted the codex/2663-replay-classification branch September 28, 2026 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant