Merge remote-tracking branch 'origin/main' into prompt-token-load-reduction

# Conflicts:
#	CHANGELOG.md
#	VERSION
#	package.json
#	test/helpers/carve-guards.ts
This commit is contained in:
Garry Tan
2026-08-27 15:50:05 +00:00
19 changed files with 844 additions and 33 deletions
+29 -5
View File
@@ -116,18 +116,42 @@ export const CARVE_GUARDS: Record<string, CarveGuard> = {
// The PR-title-version invariant MUST stay always-loaded: the v1.54.0.0
// carve stranded it in pr-body.md and PRs started landing with bare titles
// (CI backstop: test/pr-title-sync-workflow-safety.test.ts).
mustStayInSkeleton: ['v$NEW_VERSION', 'gstack-pr-title-rewrite'],
// Same carve also stranded the Step 18 /document-release dispatch out of
// sight — the skeleton never named it and the handoff "got lost" (#2666
// follow-up). Three NON-OVERLAPPING anchors pin the restored visibility,
// one per touchpoint (no anchor is a substring of another, so each is
// independently enforced — a subsumed anchor adds zero enforcement):
// gerund form → manifest trigger (renders 2x: section index + STOP)
// imperative → Step 17 handoff line
// 3rd person → hoisted doc-sync invariant
// Matching is case-sensitive String.includes — "dispatching the" does NOT
// contain "dispatch the" — so update anchors in lockstep with any
// touchpoint rewording.
mustStayInSkeleton: [
'v$NEW_VERSION',
'gstack-pr-title-rewrite',
'dispatching the /document-release subagent to sync docs',
'dispatch the /document-release subagent to sync docs',
'dispatches the /document-release subagent',
],
// ...while the full create/update procedure stays carved into pr-body.md
// (out of the skeleton, present in the union). Asserts BOTH PR paths
// survive: the create path and the idempotent update path.
mustMoveToSection: ['gh pr create --base', 'gh pr edit --title'],
// survive: the create path and the idempotent update path. The Step 18
// dispatch imperative stays carved too — pasting that literal into the
// skeleton (correctly) fails this guard; the skeleton speaks of "the
// /document-release subagent", never the carved imperative.
mustMoveToSection: [
'gh pr create --base',
'gh pr edit --title',
'Dispatch /document-release as a subagent',
],
// ship is operational (multi-STOP, not a plan review); no single post-STOP gate.
gateAfterStop: undefined,
},
behavioral: 'external',
externalTest: 'test/skill-e2e-ship-section-loading.test.ts',
maxSkeletonBytes: 71_750, // token-reduction Phases 1-2 (v1.69.x branch): preamble bash -> bin/gstack-skill-start, onboarding -> gated emission; measured 71,145
minUnionBytes: 181_000, // token-reduction Phases 1-2 (v1.69.x branch): preamble bash -> bin/gstack-skill-start, onboarding -> gated emission; measured union 201,464
maxSkeletonBytes: 71_300, // token-reduction Phases 1-2 + #2700 document-release anchors; measured 70,568 post-merge regen
minUnionBytes: 181_000, // token-reduction Phases 1-2 (v1.69.x branch); measured union 201,464
mustContain: ['VERSION', 'CHANGELOG', 'review', 'merge', 'PR'],
// v1.58.5.0: pre-push-guard install (#2077) stacks on the shared first-run-guidance preamble.
// Fork port wave 2: multi-ecosystem test-detection evidence (Django/JVM
+2
View File
@@ -284,6 +284,7 @@ export const E2E_TOUCHFILES: Record<string, string[]> = {
'review-coverage-audit': ['review/**', 'test/fixtures/coverage-audit-fixture.ts', 'test/skill-e2e-coverage-audit.test.ts'],
'plan-eng-coverage-audit': ['plan-eng-review/**', 'test/fixtures/coverage-audit-fixture.ts', 'test/skill-e2e-coverage-audit.test.ts'],
'ship-triage': ['ship/**', 'bin/gstack-repo-mode', 'test/skill-e2e-triage.test.ts'],
'ship-docsync': ['ship/**', 'document-release/**', 'scripts/gen-skill-docs.ts', 'scripts/resolvers/sections.ts', 'test/skill-e2e-ship-docsync.test.ts'],
// Plan completion audit + verification
'ship-plan-completion': ['ship/**', 'scripts/gen-skill-docs.ts'],
@@ -646,6 +647,7 @@ export const E2E_TIERS: Record<string, 'gate' | 'periodic'> = {
'ship-local-workflow': 'gate',
'ship-coverage-audit': 'gate',
'ship-triage': 'gate',
'ship-docsync': 'gate',
'ship-plan-completion': 'gate',
'ship-plan-verification': 'gate',