Skip to content

Commit 40309ff

Browse files
committed
test(cli): declare the blank starter as an input of the CLI's pins
Both new pins measure create-objectstack's blank config and src/ tree, so @objectstack/cli#test declares them (with a witness for the barrel glob the scan cannot name) and turbo.json hashes them. Claude-Session: https://claude.ai/code/session_01UYBdGBzWSrAMzpW8ah3GbP Co-authored-by: Claude <noreply@anthropic.com>
1 parent 5d551e3 commit 40309ff

2 files changed

Lines changed: 27 additions & 1 deletion

File tree

‎scripts/cross-package-test-inputs.mjs‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,31 @@ export const CROSS_PACKAGE_TEST_INPUTS = {
624624
// that file DEFINES the `FieldType` enum the pin asserts totality over --
625625
// a member added there is exactly the change that must re-run this suite.
626626
'packages/spec/src/data/field.zod.ts',
627+
// The blank starter's config and its `src/` tree, the third pair of the
628+
// two-scaffolder shape above (#20333). The starter cannot import the
629+
// wiring `os init` renders (the dependency edge runs the other way), so
630+
// its config and barrels are a static COPY of that render, and
631+
// test/create-objectstack-wiring-parity.test.ts holds the copy to it:
632+
// every expected line is read off `TEMPLATES.app` and the two exported
633+
// rosters. test/create-objectstack-stack-reach.test.ts drives the
634+
// on-ramp's `bin/` into a project and counts what `os validate` loads,
635+
// the starter's own object included. A template-only diff therefore
636+
// changes what both measure, and without these globs
637+
// `@objectstack/cli#test` would hash the same and replay a cached green
638+
// over the drift the parity pin exists to catch. `src/**` rather than
639+
// the barrels by name: the pin reaches them through a join over the
640+
// roster, which is why the glob carries a witness below.
641+
'packages/create-objectstack/src/templates/blank/objectstack.config.ts',
642+
'packages/create-objectstack/src/templates/blank/src/**',
627643
],
644+
heldBy: {
645+
// The parity pin joins each barrel path from `SCAFFOLD_WIRED_BARRELS`, a
646+
// roster the scan cannot fold, so no rostered path lands in this glob;
647+
// the witness keeps it attributed to the read that needs it.
648+
'packages/create-objectstack/src/templates/blank/src/**': [
649+
'packages/cli/test/create-objectstack-wiring-parity.test.ts',
650+
],
651+
},
628652
},
629653
'@objectstack/client': {
630654
// The first entry this gate DERIVED from import specifiers rather than from

‎turbo.json‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,9 @@
144144
"$TURBO_ROOT$/scripts/sync-scaffold-emission-policy.mjs",
145145
"$TURBO_ROOT$/packages/drivers/driver-sql/src/sql-driver.ts",
146146
"$TURBO_ROOT$/packages/drivers/driver-sql/src/schema-drift.ts",
147-
"$TURBO_ROOT$/packages/spec/src/data/field.zod.ts"
147+
"$TURBO_ROOT$/packages/spec/src/data/field.zod.ts",
148+
"$TURBO_ROOT$/packages/create-objectstack/src/templates/blank/objectstack.config.ts",
149+
"$TURBO_ROOT$/packages/create-objectstack/src/templates/blank/src/**"
148150
]
149151
},
150152
"@objectstack/client#test": {

0 commit comments

Comments
 (0)