refactor(gatorwalk-factory): separate engine and tracker code behind a seam the tests enforce (swamp-club #2793) #384
Loading…
Reference in a new issue
No description provided.
Delete branch "cue/2793-gatorwalk-factory-separate"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes swamp-club #2793.
gatorwalk-factory's engine and tracker code now live in separate directories. A test, not a package boundary, enforces the seam between them. There is no behaviour change: model types, method names and data names are the same.
Layout
extensions/models/engine/(lifecycle, work_item) andextensions/models/tracker/(linear, swamp_club). swamp loads models from nested directories; this was checked both repo-local and throughextension source add, and the moved registration test covers it._lib/engine/,_lib/tracker/core/(the contract, nowadapter.ts, plus tracker_methods, projection and claim), and_lib/tracker/backends/(the Lab and Linear clients and their fakes).integration/: split intoengine/,tracker/andextension/(whole-extension tests).harness.tsstays at the root as shared test infrastructure.The seam
_lib/engine/tracker.tsis the only engine module tracker code may import. It exports exactly what tracker code uses._lib/engine/tracker_testing.tsadds the fakes and work-item operations that tracker tests drive.extensions/models/boundary_test.tsenforces five rules:Changes beyond import paths
These are listed so the no-behaviour-change claim can be audited:
ModelDataRecord, and aDataReadingContextthat replacesClaimContext's definition, move fromclaim.tstowork_item_ops.ts.ClaimContextis now an alias of it. This meansfake_swampno longer imports claim.test_support.tsto_lib/tracker/core/test_support.ts.engine/lifecycles_test.tstotracker/examples_test.ts;cli_test.tstointegration/extension/models_test.ts.splitWordsmoves fromskill_commands.tsintointegration/harness.ts, and the harness no longer re-exportsLINEAR_TYPEandSWAMP_CLUB_TYPE.import.meta.urlfixture paths are adjusted for each file's new depth, including one test that #2804 added.deno checknow takes directories, both indeno.jsonand in the gatorwalk-factory target ofverification/checks.yaml, so the subdirectories are checked.Verification
Attested on
7ce7d5897. Allverify-buildchecks passed, including the gatorwalk unit suite (460 tests) and the real-engine suite (23 tests). The code, adversarial and ci-security reviews all passed.🤖 Generated with Claude Code