Skip to content

test: organize recipe contract cases by responsibility - #1589

Open
risu729 wants to merge 1 commit into
mainfrom
refactor/contract-recipes-tests-20261112
Open

risu729 wants to merge 1 commit into
mainfrom
refactor/contract-recipes-tests-20261112

Conversation

@risu729

@risu729 risu729 commented Nov 12, 2026 •

Copy link
Copy Markdown
Owner

Recipe contract cases now live in six passive modules, reducing the discovered entry from 1,314 to 126 lines. The eight describe scopes and shared fixtures retain their original owners and initialization order. Registrars run synchronously inside those scopes; imports register no tests. Helper files stay outside discovery and production coverage. Only this entry's line-limit exception is removed, with ownership documented in development guidance.

Independent source review is clear at final HEAD: all eight bodies preserve full ASTs/raw tokens, 52 callbacks expand to 60 cases, and all 190 expect sites, 56 comments, 10 templates, fixture/import identities and lifetimes match. Seven TypeScript files are byte-identical to the author revision after rebasing.

Separate runtime verification ran the original Git-base entry at the identical module path (60/60 pass, 0.452s), then the actual existing contracts task with coverage (1,055/1,055 across 28 files, 8.63s). All 60 case IDs, full titles, order, outcomes and eight suite IDs/explicit parents match exactly. The 28 ordinary entries match the existing CI partition; all 38 Git entries remain unchanged. Coverage contains 36 production files and no helper files. The separate CI orders task passes all 16 cases across 10 files.

Final CI passes Verify, Orders and components, all six browser shards and CI Check; CodeQL passes. The actual CI merge has the exact base and final head as parents and its tree equals the final head. Compared with exact-base CI, every task count matches: Verify 9,186 cases/274 files plus 73 tools; components 1,814/108. Observed Verify duration 271→206s, runtime 212.44→153.96s, contracts 26.90→19.52s and entry 0.433→0.323s. Components was slower, 141→170s (step 116→145s), with all four component task durations higher. These observations do not establish causal performance changes.

No production behavior, task, discovery, coverage or test expectations changed. No merge or auto-merge.

@risu729 risu729 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent source review: CLEAR at reviewed HEAD.

All eight original scope bodies match the extracted registrar bodies as full Babel ASTs and exact raw token streams, preserving assertions, comments, literals, table order and callbacks. Independently counted 52 callbacks / 60 expanded cases / 190 expect sites; eight fixture declarations and synchronous initialization order are unchanged. Import owners and type/runtime classification are preserved, with no new runtime entry cycles. Discovery, coverage configuration, tasks and production files are unchanged. All seven TypeScript files are byte-identical to the author revision after rebasing. No actionable findings.

Source review only; separate runtime comparison and final CI validation remain pending.

@risu729
risu729 marked this pull request as ready for review November 12, 2026 14:07

This branch has not been deployed

No deployments
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