test(daemon): one typed conformance helper for the daemon runtime suites - #2298
Merged
Merged
Conversation
Size Report
npm unpacked components
Startup median (7 runs, lower is better):
Top changed chunks: no changes in the largest emitted chunks. Top changed packed filesNo changed packed files. |
Extracts the shared exact-owner-unavailable admission mechanics repeated across back/home/app-switcher/focus/viewport/orientation/tv-remote/type/diff runtime test suites into runtime-binding-conformance.ts. Each suite keeps its own expected table (device, unavailable fact, and any owner-specific refusal wording); a new cross-module completeness test checks the shared table against the command registry's runtime-use declarations in both directions, including the newly-registered swipe command.
thymikee
force-pushed
the
claude/test-daemon-runtime-family-conformance
branch
from
September 5, 2026 17:09
ab204d7 to
4cca76f
Compare
Member
Author
|
Sentinel review at No actionable findings. Shared refusal mechanics preserve per-family expected errors and no-bind assertions; registry-backed completeness exercises real resolvers. Dedicated success/routing tests remain. Planted-red evidence and CI are green; tests-only. |
|
thymikee
added a commit
that referenced
this pull request
Sep 5, 2026
* origin/main: perf: bundle runtime dependencies and report full install size (#2310) ci: avoid unrelated Apple runner cache invalidation (#2303) fix(web): preserve the backend ref so snapshot refs match actionable refs (#2283) test(daemon): session-open-url-prewarm through the request seam (#2304) test(daemon): session-devices-batch-runtime through the request seam (#2305) chore(gates): layering baselines ratchet against merge-base (#2299) test(daemon): one typed conformance helper for the daemon runtime suites (#2298) chore(layering): derive the contracts export inventory from package.json (#2297) perf: bundle tar-stream to reduce install footprint (#2286) docs: simplify agent context and resolve conflicting guidance (#2287) refactor(cli): let help resolve command aliases itself and retire R12 (#2293)
thymikee
added a commit
that referenced
this pull request
Sep 5, 2026
* origin/main: perf: bundle runtime dependencies and report full install size (#2310) ci: avoid unrelated Apple runner cache invalidation (#2303) fix(web): preserve the backend ref so snapshot refs match actionable refs (#2283) test(daemon): session-open-url-prewarm through the request seam (#2304) test(daemon): session-devices-batch-runtime through the request seam (#2305) chore(gates): layering baselines ratchet against merge-base (#2299) test(daemon): one typed conformance helper for the daemon runtime suites (#2298) chore(layering): derive the contracts export inventory from package.json (#2297) perf: bundle tar-stream to reduce install footprint (#2286) docs: simplify agent context and resolve conflicting guidance (#2287) refactor(cli): let help resolve command aliases itself and retire R12 (#2293) refactor(commands): retire the navigation-only type projection (#2294) feat(runtime): route managed leases through contained transports (#2285) refactor(contracts): build unavailable runtime facts once (#2291) refactor(cli): derive the common flag readers from the common-field table (#2292) feat(daemon): add managed allocation operation journal (#2284)
thymikee
added a commit
that referenced
this pull request
Sep 5, 2026
* origin/main: perf: bundle runtime dependencies and report full install size (#2310) ci: avoid unrelated Apple runner cache invalidation (#2303) fix(web): preserve the backend ref so snapshot refs match actionable refs (#2283) test(daemon): session-open-url-prewarm through the request seam (#2304) test(daemon): session-devices-batch-runtime through the request seam (#2305) chore(gates): layering baselines ratchet against merge-base (#2299) test(daemon): one typed conformance helper for the daemon runtime suites (#2298) chore(layering): derive the contracts export inventory from package.json (#2297) perf: bundle tar-stream to reduce install footprint (#2286)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Nine
src/daemon/__tests__/*-runtime.test.tssuites (back, home, app-switcher, focus,viewport, orientation, tv-remote, type, diff) repeated the same "rejects an unavailable
exact-owner fact before binding" mechanics by copy.
runtime-binding-conformance.tsis theone typed helper carrying those mechanics (mock facts, inspect-then-refuse assertions); each
suite keeps its own expected table (device, unavailable fact, owner-specific refusal wording).
runtime-binding-conformance-completeness.test.tscross-checks the shared table against thecommand registry's runtime-use declarations in both directions, and a new
app-switcher-runtime.test.tsfills a gap the completeness check surfaced. Rebasing onto current
mainalso surfacedswipeas a new single-use
interaction-route command; it now has its own conformance entry (via theshared
gesture-runtime.tsresolver) so the completeness check stays green.Validation
Focused checks (all green on the final commit):
npx vitest run --project unit-core src/daemon/__tests__— 183 files, 1331 testspnpm check:quick(oxlint + tsc across all packages) — cleannode scripts/layering/check.ts,node scripts/gate/check.ts,pnpm check:fallow— cleanPlanted-red evidence:
backentry fromconformedRuntimeBindings→npx vitest run src/daemon/__tests__/runtime-binding-conformance-completeness.test.tsfailed: "everysingle-use generic or interaction route descriptor has a conformance entry: expected
['back']to deeply equal[]". Restored, re-ran green.hintfield fromsnapshot-diff-runtime.test.ts's own expected refusal →npx vitest run src/daemon/__tests__/snapshot-diff-runtime.test.ts -t "rejects an unavailable exact-owner fact before binding"failed on that suite alone (+ hint: 'Re-run without --actions...'); the completeness suite stayed green throughout. Restored, re-ran green.Full affected gate: green at 4cca76f (pnpm check:affected --run; gates run: format, lint, typecheck, fallow, vitest-related).