Repository navigation
refactor(test-kit): move the dispatch-disclosure harness out of contracts - #3690
Conversation
There was a problem hiding this comment.
All reported issues were addressed across 28 files
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
Size Report
Startup median (7 runs, lower is better):
|
|
|
The move itself looks right at 1e9a0ab: test-kit owns the harness, kernel owns the error test, and contracts shrinks. One layering rule needs a small change before merge. Not blocking: after that change, The open inline thread on this predicate still applies: #3690 (comment). It is the same issue as above. Its cited example, root All 21 checks are still queued and none has failed, so I have no job output. I did not run Before merge, replace |
…e test from contracts Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… kernel errors module Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r files Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Test support is not a platform substrate dependency; production source stays refused. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…source classification Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1e9a0ab to
efec583
Compare
|
Addressed the review and the open thread: R13's test-kit exception now uses the shared |
|
This PR is ready at efec583. The earlier thread on scripts/layering/platform-package-policy.ts:178 is fixed: isTestKitTestImport now calls isProductionSourceFile, and platform-package-policy.test.ts covers the fixtures.ts, .test, .spec and refused-production cases. CI is green (23 checks, none failing), and the layering gate and platform-package-policy.test.ts exercise the changed R13 path directly. There are no conflicts. I read the diff against the merge base and did not rerun layering or vitest locally. The unchanged parts of the move (fixtures content, kernel test split) were covered by the previous review and I did not recheck them. Not blocking, and you can take or leave these: R13 reads every tracked .ts file, so a non- The earlier inline thread on the R13 classifier no longer applies, because the head fixes it, so you can resolve it: #3690 No further work is needed before merge, beyond maintainer approval. |
…ctions-1 * origin/main: feat(react-devtools): inspect React components and profile renders through the Metro inspector (#3613) refactor(daemon-contracts): drop the registration and claims fixture exports (#3689) refactor(test-kit): drop the daemon-contracts dependency (#3686) refactor(test-kit): drop command-registry by making the replay-script generator a root fixture (#3687) fix(ios): handle delayed launch confirmations without stopping XCTest (#3682) refactor(test-kit): move the dispatch-disclosure harness out of contracts (#3690) refactor(test-kit): host the target classification capture fixture (#3691) ci: fold six CI jobs into four with parallel and background steps; cancel superseded and closed-PR runs (#3658) build(typescript): move root project references into tsconfig.typecheck.json (#3688) chore(daemon): declare @agent-device/proxy as a devDependency, since only a test imports it (#3685) refactor(settings): declare settings once and admit them per setting (#3662) # Conflicts: # packages/platform-android/src/alert.ts # website/docs/docs/limrun.md
What
The dispatch-disclosure harness is a cross-package test fixture: eleven driver tests across daemon, platform-android, platform-apple, platform-web, provider-webdriver and root each read the shared row table and assert they drive exactly the rows they own. It was published from
@agent-device/contracts/dispatch-disclosure-fixtures; it now lives in@agent-device/test-kitas three named exports.git mvofdispatch-disclosure.fixtures.tsanddispatch-disclosure.test.tsfrompackages/contracts/srctopackages/test-kit/src(contracts cannot import test-kit, so its table test moves with the harness). Content is unchanged; both files use../../../for the repo root, which is the same depth.discloseDispatch/discloseUnclassifiedDispatchbehaviour) testskernel/errors, so it becomespackages/kernel/src/errors-dispatch-disclosure.test.ts, verbatim; the two table tests stay in test-kit.assertDispatchDisclosureDriversMatchRows,DISPATCH_DISCLOSURE_TABLE_PATH,dispatchDisclosureRowsOwnedBy) from@agent-device/test-kit; platform-android, platform-apple, platform-web and provider-webdriver declare test-kit indevDependenciesand tsconfigreferences(daemon already did); the contracts subpath and its export-snapshot line are removed.chore(gates)): R13 refused any@agent-device/test-kitimport from a platform package, tests included. It now allows it in test files (*.test.ts,__tests__/,*.fixtures.*) only; production source is still refused. Unit-tested both ways inplatform-package-policy.test.ts.Fixture decision
contracts/dispatch-disclosure-fixtureskerneltypes and the repo-level tableParity
vitest run <files> --reporter=json, origin/main against this branch:dispatch-disclosure.test.ts, 3 tests)errors-dispatch-disclosure1 + test-kitdispatch-disclosure2)unit-coreincludespackages/*/src/**/*.test.ts, so the moved test-kit and kernel tests are selected;check:affected --runran them. The 11 drivers were not moved (specifier only). Several usevi.mock; none of those mocks was edited, and all pass.Surface and counts
exports: contracts 133 -> 132 (./dispatch-disclosure-fixturesremoved); test-kit stays one"."entry with +3 named exports; no new subpaths, barrels orexport *. New devDependency + tsconfig reference on test-kit in platform-android, platform-apple, platform-web, provider-webdriver (test-kit reaches only capture-kit, contracts, host-kit, kernel, so no cycle;tsc -bpasses).Colocation (my scan): contracts 1 -> 0 not beside a named module.
Gates
check:quick,check:layering,check:fallow,check:gate-manifest,pnpm format,check:affected --run: all pass on head.🤖 Generated with Claude Code