You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(cli): correct the shipped provenance claim, and record the two new declarations in the CI filter-parity pin
Two review findings from PR #15974.
1. The head reddened `check-ci-filter-parity --self-test`: the pre-#10015
rollback now uncovers 21 globs, not 19. Measured, the delta is exactly the
two `content/docs` pages this branch declared for `@objectstack/cli`
(troubleshooting.mdx, getting-started/index.mdx) — an origin/main control
yields 19 with an empty symmetric difference otherwise. Both are recorded by
name, the way the pin's own comment prescribes for #14824's three, rather
than the count merely being bumped.
2. The shipped history claim was wrong. `dbb54e12f0c` (2026-05-25) added the
bundled template at `^5.3.0`, not `^6.0.0`; `eaff01425b7` (#2907,
2026-07-14) moved it to `^6.0.0` and recorded no reasoning about TypeScript
— in that same one-file diff the five `@objectstack/*` ranges move
`^6.0.0` to `^14.0.0` while the `typescript` line moves onto the `^6.0.0`
they are vacating. So the three-value split is 53 days old, not 102, and
the two-value split is 210 (the changeset said 211). Corrected in init.ts,
create.ts, the pin's header and the changeset, which now agree.
A dated provenance claim written into source comments is exactly the restated
fact nothing checks that this card exists to close; shipping a wrong one inside
the fix would have been self-refuting.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D47qPfEWVPmhguWgBZCi5N
Copy file name to clipboardExpand all lines: .changeset/scaffold-emission-policy-one-definition.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
`objectstack init` and `objectstack create` now read one emission policy instead of each restating it.
6
6
7
-
Both commands write a `tsconfig.json` and a set of third-party dependency ranges into a new project. Each had written those in its own words, and the words had come apart. Measured on the tree: the TypeScript range — the value that decides whether a scaffolded project type-checks at all — was written in six places across three scaffolders and had split into three values (`^5.3.0`, `^5.8.0`, `^6.0.0`); the vitest range into two. The two CLI values were written in the same commit and stayed apart for 211 days.
7
+
Both commands write a `tsconfig.json` and a set of third-party dependency ranges into a new project. Each had written those in its own words, and the words had come apart. Measured on the tree: the TypeScript range — the value that decides whether a scaffolded project type-checks at all — was written in six places across three scaffolders and had split into three values (`^5.3.0`, `^5.8.0`, `^6.0.0`); the vitest range into two. Dated off `git log -G` as of 2026-09-05: the two CLI values were written in the same commit and stayed apart for 210 days, and the third value is 53 days old — the bundled template landed at `^5.3.0` like the others and was moved to `^6.0.0` later, in a commit that records no reasoning about TypeScript.
8
8
9
9
The control for that reading was already in the same file: `SCAFFOLD_PNPM_RANGE` and `renderPnpmWorkspaceYaml()` are imported by the second scaffolder rather than restated, and across the same five emissions, the same window and the same authors, they had not drifted at all. So the policy moved to where those already live — `renderScaffoldTsconfig()` and one `SCAFFOLD_*_RANGE` constant per dependency, in `init.ts`, imported by `create.ts`.
`rolling \`crosspkg\` back to its pre-#10015 list uncovers the ten it fixed plus #10848's one plus #10178's two plus #12201's one plus #12924's one plus #14561's one plus #14824's three -- got ${newSet(uncoveredGlobs(preFix)).size}`,
695
+
newSet(uncoveredGlobs(preFix)).size===21,
696
+
`rolling \`crosspkg\` back to its pre-#10015 list uncovers the ten it fixed plus #10848's one plus #10178's two plus #12201's one plus #12924's one plus #14561's one plus #14824's three plus #15818's two -- got ${newSet(uncoveredGlobs(preFix)).size}`,
691
697
);
692
698
assert(
693
699
uncoveredGlobs(preFix).includes('skills/**'),
@@ -723,6 +729,15 @@ export async function selfTest() {
723
729
`-- and #14824 added the \`os create plugin\` scaffold-listing page ${page}, by name`,
724
730
);
725
731
}
732
+
for(constpageof[
733
+
'content/docs/deployment/troubleshooting.mdx',
734
+
'content/docs/getting-started/index.mdx',
735
+
]){
736
+
assert(
737
+
uncoveredGlobs(preFix).includes(page),
738
+
`-- and #15818 added the TypeScript-floor page ${page}, by name`,
739
+
);
740
+
}
726
741
727
742
// ── (7) WIRING: the gate and its self-test really run in CI ──────────────
728
743
battery('(7) WIRING: the gate and its self-test really run in CI');
@@ -794,7 +809,7 @@ export async function selfTest() {
794
809
`same-root-different-file case observed failing and then covered by naming the file, a glob covered by `+
795
810
`\`core\`, one covered only by \`crosspkg\` and one covered by neither judged separately in one table, the `+
796
811
`stale-entry direction, seven refusals over subjects that could not be read, the checked-in ci.yml, the `+
797
-
`pre-#10015 rollback uncovering the ten it fixed plus #10848's one plus #10178's two plus #12201's one plus #12924's one plus #14561's one plus #14824's three, `+
812
+
`pre-#10015 rollback uncovering the ten it fixed plus #10848's one plus #10178's two plus #12201's one plus #12924's one plus #14561's one plus #14824's three plus #15818's two, `+
0 commit comments