Skip to content

chore(orchestrator): closure-sweep round 3 — 50 verified umbrella closures (done.md backfill) - #1268

Merged
artyhoo merged 1 commit into
stagingfrom
claude/sweet-jepsen-b06c3c
Aug 7, 2026
Merged

chore(orchestrator): closure-sweep round 3 — 50 verified umbrella closures (done.md backfill)#1268
artyhoo merged 1 commit into
stagingfrom
claude/sweet-jepsen-b06c3c

Conversation

@artyhoo

@artyhoo artyhoo commented Aug 7, 2026

Copy link
Copy Markdown
Owner

What

Closure-sweep round 3 over .claude/orchestrator-prompts/ (round-2 precedent: cf246c2, #565). Adds exactly 50 done.md files — nothing else is touched. The 2026-08-07 /pipeline no-arg run found ~50 umbrella dirs whose work is verifiably merged but which lack done.md, poisoning the priority-score completion filter in BOTH directions: false-open noise, plus a false-DONE on the live critical path arch-v2-context-pipeline-s-d-prime via C2 jaccard (C3 done.md coverage starves C2 of cheap-closed umbrellas, so jaccard runs over a dirtier population).

Method

Every closure verified mechanically BEFORE writing done.mdgh pr view (state + mergedAt + title + files), git log origin/staging --grep, git ls-tree origin/staging deliverable checks. Format per docs/meta-factory/operational-conventions.md §1 (binding schema; priority-score.sh Layer C3 parses the - Final PR: #<num> line).

Breakdown (50)

Corrections vs the dispatch evidence list

Untouched (genuinely open)

beta-delivery-ux (+meta-launch), beta-ai-docs-agnosticism, beta-docs-showcase, arch-v2-context-pipeline (+s-d-prime, s-f, meta-launch), getff-freshness-widening, getff-python-dtz-adopt, getff-to-prod-meta-launch, modular-install-fullpack, shipped-artifact-liveness-gap family, phase-10-foundations-audit, heal-honest-capacity, shipped-skill-sync, trust-tiers-did-review, executable-aidocs-and-cargo-followups, h10-verdict-gate-research, stack-tooling-generation, zcode-full-parity-mega-umbrella — plus all residue dirs not on the verified list.

Residue candidates for a possible round 4 (NOT closed here, outside the dispatch list): getff-foreign-scan-triage-meta-launch (parent closed #1174), consumer-install-hardening-s4-meta-launch, zcode-parity-step1-emit-wrapper (+meta-launch), generation-live-delivery-meta-launch, and ~55 older dirs left open by rounds 1-2.

Fidelity verdict

FIDELITY: skipped — closure-record backfill (doc-only, additive done.md files); no dispatching stage kickoff declares a WHAT to audit against. Every Final PR claim is mechanically sourced from gh pr view / git log output gathered in-session.

§1.7 Forward-check applied

  • operational-conventions.md §1 (umbrella closure convention) — this PR is precisely that convention applied retroactively; the binding schema's - Final PR: #<num> line is followed in all 50 files. Evidence: docs/meta-factory/operational-conventions.md:37
  • priority-score.sh Layer C3 parse compatibility — every file keeps the greppable ^- Final PR: # line; the n/a variant and the extra - Status: superseded line are both tolerated by the parser. Evidence: .claude/skills/pipeline/helpers/priority-score.sh:258
  • attention-is-not-a-mechanism.md — no new load-bearing check introduced; the sweep feeds an existing deterministic gate (C3), it does not add attention-dependent detection. Evidence: .claude/rules/attention-is-not-a-mechanism.md:22
  • build-first-reuse-default.md / Prior-art trailer — not a capability commit (no deps, no code modules; doc-only), per the CLAUDE.md capability-commit definition. Evidence: CLAUDE.md:24

§1.7 Backward-check applied

Change class = done.md closure-marker backfill. Sibling surfaces swept:

  • Round-2 sweep schema (cf246c2) — MATCHED: 4-line format and the n/a (deliverable-exists) variant reproduced byte-compatible. Evidence: .claude/orchestrator-prompts/coordination-adopt-hook/done.md:2
  • priority-score.sh C1/C2 layers — UNAFFECTED: C3-closed umbrellas are skipped before the expensive C2 jaccard pass, which is the intended fix direction for the s-d-prime false-DONE. Evidence: .claude/skills/pipeline/helpers/priority-score.sh:142
  • Genuinely-open umbrellas — SWEPT-CLEAN: none of the 17 named-open dirs (nor any residue dir outside the verified list) gains a done.md in this diff; git status showed exactly 50 additions, all enumerated above.

…sures (done.md backfill)

The 2026-08-07 /pipeline no-arg run found ~50 umbrella dirs whose work is
verifiably merged but which lack done.md, poisoning the priority-score
completion filter in both directions (false-open noise + a false-DONE on the
live critical path arch-v2-context-pipeline-s-d-prime via C2 jaccard).
Round-2 precedent: cf246c2 (#565).

Every closure verified mechanically BEFORE writing done.md (gh pr view
state/mergedAt, git log origin/staging --grep, git ls-tree deliverable
checks). Breakdown:

- 26 closed by a verified merged PR (aif-doctor-helper-parity #1147,
  hook-tsx-resolution-fix #1126, hook-tsx-resolution-sweep #1130,
  universalization-fix-s2 #517, multistack-augment-first #830,
  guard-liveness-v2-fullsweep #484, install-self-verification #823,
  arch-v2 stages s-a #1192 / s-b #1198 / s-c #1197 / s-e #1237 / s-g #1228 /
  s-h #1250 / s-i #1229 / s-l #1263, getff-any-stack-trace r1 #1254 /
  s1 #1166 / s2 #1169 / s2b #1233 / s3 #1253 / s4 #1262,
  getff-honest-signals s1-s6 #1140/#1145/#1150/#1167/#1170/#1175,
  preset-react-spa-iphase #661, preset-react-native-iphase #662).
  Note: the dispatch evidence list carried kickoff-CREATION PR numbers for
  three of these (#1127/#1125/#1131); the actual closing PRs are
  #1147/#1126/#1130 — verified by PR title + files.
- 4 closed by deliverable-on-staging + merged PR (plan-currency-reconcile-s4-aif
  #789, live-research-default-delivery #824, story-recap #592,
  aif-loop-resilience-soak n/a — soak-journal AUTONOMOUS RUN COMPLETE
  2026-06-05, API-harvest rounds #427/#429/#431).
- 10 meta-launch dispatch records closed by parent umbrella DONE (adapter-jig
  #1240, getff-any-stack-trace #1262, getff-honest-signals #1175, ir-unfreeze
  #1084, launch-preannounce-track #994, ecosystem-wiring #1086,
  rule-tests-surface #1093, python-delivery-v0 #997, plan-currency-reconcile
  #792, live-generation #1055) — each parent's done.md verified present.
- 7 closed as Status: superseded pointing at the absorbing umbrella: the five
  #1221-rescued kickoffs (fix-735-fresh-install-prepush -> #775/#747,
  generator-compile-forbid -> forbid-mvp #684-#697, recipe-declarative-tier ->
  forbid-mvp S2 #689, validator-anti-vacuity -> forbid-mvp S3 #693,
  rule-bootstrapping-live-adapter -> rule-research-live-adapter #805/#809),
  plus install-ast-wiring -> migration-ast Stage 4 #632 (GH #547 Layer 2) and
  arch-v2-context-pipeline-s-a-r2 -> executed in-session inside S-A #1192
  (its own header says SUPERSEDED — do not dispatch).

Genuinely open umbrellas untouched: beta-delivery-ux (+meta-launch),
beta-ai-docs-agnosticism, beta-docs-showcase, arch-v2-context-pipeline
(+s-d-prime, s-f, meta-launch), getff-freshness-widening,
getff-python-dtz-adopt, getff-to-prod-meta-launch, modular-install-fullpack,
shipped-artifact-liveness-gap family, phase-10-foundations-audit,
heal-honest-capacity, shipped-skill-sync, trust-tiers-did-review,
executable-aidocs-and-cargo-followups, h10-verdict-gate-research,
stack-tooling-generation, zcode-full-parity-mega-umbrella, and the rest of the
no-done.md residue not on the verified list.
@artyhoo
artyhoo merged commit e346e08 into staging Aug 7, 2026
41 checks passed
@artyhoo
artyhoo deleted the claude/sweet-jepsen-b06c3c branch August 7, 2026 15:31
artyhoo added a commit that referenced this pull request Aug 7, 2026
…rge-forward range fix (#1273)

* fix(pre-push): exempt trunk-reachable commits from trailer gates — merge-forward range fix

The documented merge-forward recipe (git-conflict-merge-forward.md §2) was
structurally blocked by the very hook it must pass: a plain push after
`git merge origin/staging` ran the §7/§1.7 trailer gates over the bare
`remote_sha..local_sha` range, which sweeps in staging's own squash commits —
trailer-less by squash-trailer-loss (the server-side PR-body gate #1098 covered
them at merge) and unfixable by the pusher. Observed live 2026-08-07 harvesting
PRs #1269/#1270 (staging commits from #1265/#1266/#1268 flagged).

- utils/git.ts getCommits: optional excludeReachableFrom -> `--not <ref>`.
- pre-push.ts resolveBase: env + stdin paths carry exclude=resolveDefaultBase();
  commitsToCheck threads it. The Z40 new-branch path already excludes
  `--not --remotes` (a superset); the default path's base IS the trunk (no-op).
- pre-push.fallback.sh: trunk resolved once (dual-pair parity with the TS
  resolver), env/stdin/default ranges exclude trunk-reachable commits, and
  `--no-merges` skips the merge commit its reduced PRESENCE-only check would
  otherwise flag (the TS core never flags merges: diff-tree / `git show --cc`
  are empty on a clean merge).
- Paired-negative: tests/hooks/prepush-merge-forward-range.test.sh (TS + fallback
  channels, wired into audit-self.yml principles-meta-tests) — a merged-in
  trailer-less staging commit passes; the branch's OWN trailer-less capability
  commit still fails. Plus unit paired-negatives in utils/git.test.ts and a
  structural thread-through assertion in pre-push.test.ts.
- git-conflict-merge-forward.md §2: recipe documents the gate interaction
  (step 1's fetch keeps the exclusion accurate; PREPUSH_UPSTREAM_REF override
  no longer needed).

Range-correctness fix, not a gate relaxation: trunk-reachable commits were
already gated at their own push time or by the PR-body gate at merge.

Prior-art: skipped — range-correctness bug fix in existing hook + tests + doc update, no new capability
§1.7: forward-check applied — attention-is-not-a-mechanism.md §1 deterministic-gate + paired-negative shape (packages/core/hooks/utils/git.test.ts:190); no-paid-llm-in-ci.md clean (bash-only CI step, .github/workflows/audit-self.yml:450); dual-pair twins updated in lockstep (packages/core/hooks/pre-push.fallback.sh:14); backward-check sweep — class = push-range derivation for commit-scoped gates; surfaces: getCommits FIXED (packages/core/hooks/utils/git.ts:157), fallback range_commits FIXED (packages/core/hooks/pre-push.fallback.sh:47), commitsNotOnRemotes SWEPT-CLEAN — already `--not --remotes`, a trunk superset (packages/core/hooks/utils/git.ts:119), rangeGit SWEPT-CLEAN — merge-base(base,head)..head excludes base-reachable by construction (packages/core/hooks/utils/git.ts:219), getChangedFiles deliberately UNCHANGED — §6/§8 gate pushed TREE content, not commit authorship (packages/core/hooks/pre-push.ts:1451)

* chore(snapshot-regen): baselines after pre-push.fallback.sh range fix

Prior-art: skipped — snapshot regeneration after shipped-hook edit, no new capability

---------

Co-authored-by: Test <test@example.com>
artyhoo added a commit that referenced this pull request Aug 21, 2026
…us + principle 43 (#1506)

* feat(host-verify-retrofit): kickoff inventory classifier — lanes + bulk-wave filter

Warn-phase tool for the host-verify retrofit (PR #1491 park #2): classifies
every .claude/orchestrator-prompts/*/kickoff.md into
contracted | legacy-closed | attention/closed | attention/open.

Fail-safe by direction of error: the blanket lane (legacy-closed) requires
BOTH done.md AND last non-wave activity older than --min-days (default 30).
Bulk waves (commits touching >10 umbrella dirs — back-catalog migration
#523, done.md backfills, the FRS S2 spelling sweep itself) do not refresh
activity dates. Contract recognition is delegated to scripts/host-verify.sh
--list (the SSOT runner, dual-implementation-discipline §8) — never
re-implemented here. Dirs without kickoff.md are out of scope by construction.

Measured on staging c8d2e34 (322 kickoff files, lanes reconcile exactly):
contracted 64, legacy-closed 86, attention/closed 133 (119 last=none-non-wave
— every commit in their history is a bulk wave; 31 with dated non-wave
activity — the human-review borderline), attention/open 39.
Blanket-safe total: 86 + 119 = 205; manual lanes: 31 + 39 = 70.

Recheck note: two dated files (pre-merge-carrier-meta-launch,
generator-forbid-mvp-meta-launch) MENTION host-verify in prose/headings but
carry no runner-recognized contract — classified as uncontracted, correctly.

* docs(kickoff): host-verify retrofit B1 — blanket legacy-closed opt-outs (195 files)

Retrofits the destination-environment-verification contract
(.claude/rules/destination-environment-verification.md §1) onto the closed
back-catalog: each file gets the canonical opt-out marker

  <!-- host-verify: none — legacy closed umbrella (done.md): work already
  accepted; no live host acceptance to declare — retro-marked 2026-08-21 -->

recognized by the runner (bash scripts/host-verify.sh --list <path> → 0),
replacing silent contract-absence with an explicit, greppable declaration.
+2 lines per file, byte-identical otherwise.

Population (lanes from scripts/kickoff-hv-inventory.sh, run at this commit):
- legacy-closed 90 + attention/closed none-non-wave 102 → kickoff.md each
- stage kickoffs of closed tracked umbrellas: beta-delivery-ux s1/s2/s3/s5
= 195 tracked files.

Guards applied per file (escalate, never blanket): done.md required;
runner-recognition skip; any prose 'host-verify' mention → individual lane.
Escalated to B2: generator-forbid-mvp-meta-launch (prose mention the runner
does not recognize — one of the two 'lying contracts'), beta-delivery-ux/
kickoff-r1.md (already carries a real contract; guard prevented a second
declaration).

consumer-install-{completeness,hardening} stage kickoffs are gitignored
(per-umbrella un-ignore globs, .gitignore:31-55) — excluded: their kickoff.md
is marked, the untracked stage files stay untouched.

.husky/pre-commit, two accompaniments (both first-triggered by staging the
corpus; no CI mirror, no shipped-template twin carries either gate —
verified: grep 'exceeds 600' → only this hook):
- 600-line gate: case entries for the two oversized closed meta-kickoffs it
  would otherwise block (queue-mode-bootstrap 730, strategic-clarity-dialogue
  664). Both already self-declared the 'transient artifact' exemption in
  their headers at creation — only the case entry was missing. Same
  list∩marker shape as the two pre-existing entries.
- markdownlint-cli2 arm now excludes .claude/orchestrator-prompts/**: the
  dispatch corpus is append-only history whose older files predate linting
  (95 pre-existing violations, 68 of them MD040 bare fences; zero introduced
  by this commit's EOF-only appends); full-file lint made any touch of an
  old kickoff a style-repair demand. The corpus keeps its dedicated
  spec-discipline soft-warn arm; all other md surfaces stay fully linted.

* docs(kickoff): host-verify retrofit B2 — 28 individually adjudicated closed kickoffs

The attention/closed-with-date lane: every umbrella HAS done.md but its dir
saw non-wave activity inside the 30-day window, so the blanket pass refused
them (guard: recent targeted touch = look before marking). Adjudication per
dir — the git log of each — sorted every recent touch into four closure
classes, zero live-work reopeners:

- done.md closure commits (#1243 #1361 #1476 #1118 #1158 #1262 #1175 …)
- closure-sweep backfills (#1268: 50 verified closures, round 3)
- archival of superseded designs (#1221)
- cosmetic example fixes on closed files (#1280 Jest→vitest in fenced
  examples; #1288 600-line unfreeze)

Each of the 27 dated dirs + the G3-escalated generator-forbid-mvp-meta-launch
gets the same canonical marker as B1 (+2 lines, EOF append).

The two 'lying contracts' resolved as NOT lying declarations but prose
vocabulary: generator-forbid-mvp-meta-launch §4d ('Cross-stage host-verify
acceptance' section title, commands named as stage obligations — never a
fenced contract) and pre-merge-carrier-meta-launch (prose pointers to the
binding umbrella's §4 host-verify + 'both host-verify legs green' gate
description). The runner is right to not see a contract; the marker states
the machine truth, the historical prose stays byte-identical.

* docs(kickoff): host-verify retrofit B3 — real contracts + honest opt-outs for the 39 open umbrellas (+ modular stages)

The attention/open lane (no done.md — the lane the fail-safe classifier
refuses to blanket): every file handled individually, error direction
toward REAL contracts (an executable kickoff never gets a lazy opt-out).

17 contracts, each quoting the file's own acceptance material or the
existing suites its acceptance names (mechanical quoting, no authorship):
- heal-honest-capacity → the fixture suite §3 demands + criterion 8
- install-prepush-copylist → §5 bullet 2 verbatim (SHAs zeroed: the no-op
  deletion probe, live-verified exit 0 before quoting)
- multi-model-profile-marker → live aif /tasks probe (§3 verifies live; the
  contract fails closed when the runtime is down — stated in the fence)
- r2-enforced-zod-scope → gh-535-rule-enforced.test.sh (§6's harness)
- r2-zod-aware-selector → make self-audit (§5 names it)
- rule-bootstrapping-iphase-spike → snapshot compare (§7 byte-identical)
- salg-m1-gate → principle 21 (its Part B, shipped)
- salg-postinstall-smoke-p1 → the four harness homes §Deliverable names
- shipped-skill-sync → check-skill-drift.sh (sibling gate, same surface)
- zero-dep-synth-bundle → build-synth-bundle.sh --check (its step-6 gate)
- zcode-full-parity + step1-emit-wrapper → the twin test suites §3/§4 name
- modular-install-fullpack s1-s5 → snapshot compare (+shellcheck on s1),
  the §4 byte-identical guard; empirical consumer probes stay documented
  in §4 as live-session work

28 opt-outs, three precented classes, each naming its own evidence:
- 15 planning STUBs (U4-U17 of the getff-to-prod МЕГАКИКОФФ + the
  self-declared stack-tooling-generation stub): stages are sketches; the
  full kickoff that replaces a stub declares the contract
- 6 research/docs-only (h10, phase-10, salg R-phase, container-audit,
  worktree-flakiness tracker, trust-tiers adjudication): deliverable is a
  markdown artifact per each file's own header/scope
- 7 meta-launch/orchestration/deferred (getff-to-prod МЕГАКИКОФФ,
  salg-meta-launch, beta-ai-docs-agnosticism [stages s1-s3 already carry
  contracts], modular umbrella + S0 table, executable-aidocs deferred WIs,
  m2-probe [DORMANT prose deliverable by design])

Every edited file verified: bash scripts/host-verify.sh --list <path>
exits 0 (recognized contract or valid opt-out).

* feat(principles): host-verify retrofit B4 — principle 43 (whole-population contract presence) + rule §1 note

packages/core/principles/43-kickoff-host-verify-presence.test.ts: promotes the
edit-time contract gate (fires only on touch) to a CI channel over the WHOLE
tracked kickoff family — kickoff.md + stage kickoffs via kickoff-population.ts,
mirrors excluded, gitignored stage files out of population (principle 40's
tracked-file posture; they cannot ship a contract to CI). Detection shells to
the SSOT runner (host-verify.sh --list) exactly like the edit-time gate —
no second grammar (#sync-by-copy-paste avoided). Paired-negative fixtures prove
the detector discriminates: absence fail-closed, fence pass, opt-out pass,
too-short rationale fail; anti-tautology strips a real compliant kickoff and
asserts the verdict flips; tripwire holds the population non-vacuous.

First live run CAUGHT two real gaps the lane measurement missed:
cross-worktree-symlink-iphase and f2-aif-fire-backend-iphase end in a dangling
bare ``` (single fence line, CommonMark opens an unterminated code block),
so their B1 opt-out markers landed inside the block and the runner rightly
ignored them. Fixed by closing the dangling fence (+1 line, renders empty
exactly as before); both now recognized. No exemption list: after the retrofit
nothing is exempt.

Rule §1 (destination-environment-verification.md): names the stage-kickoff
family as bound (population SSOT), documents principle 43 as mechanism (c) in
the Class header — honestly: PRESENCE, not execution; the Class-A promotion
path is unchanged.

Prior-art: prior-art-evaluations.md#229 (ADAPT — the destination-environment contract row; this commit promotes its edit-time gate to a population principle test on the same SSOT runner, grammar unchanged)

* fix(review): host-verify retrofit B5 — cold-review round 1 fixes

Code review (review-sidecar, cold): REVISE on one MAJOR, folded the cheap
MINORs. Fidelity audit (cold): GO, no round-triggering findings.

MAJOR — markdownlint exclusion was permanent and corpus-wide (no re-entry):
new kickoffs would have escaped lint forever. Fixed by narrowing the carve-out
to the legacy corpus ON TOUCH: the STAGED_MD filter now ADMITS orchestrator-
prompts files with git status A (newly added — no pre-existing debt, fully
linted), excludes only M-status touches of historical files. Re-entry trigger
recorded in the comment, measurable: when
'npx markdownlint-cli2 .claude/orchestrator-prompts' reports zero, drop the
filter. Awk filter unit-tested against synthetic A/M/R/non-md input.

MINOR — principle 43 anti-tautology wrote its stripped copy INSIDE the real
population dir (litter risk on mid-test failure): now mutates in tmpdir with
a finally-cleanup; timeout 120_000 added (its find can spawn the runner
hundreds of times on a non-compliant corpus).

MINOR — comment precision: 342 tracked family files at retrofit (auditor's
independent count), not 349.

Verified: principle 43 4/4, sweep 26/26 (diff mode).

* fix(hooks): host-verify retrofit B6 — pre-push §8 lychee legacy-corpus carve-out (A/M split)

The push of the retrofit surfaced the same structural class the pre-commit
markdownlint arm hit: §8 checks EVERY link in EVERY changed *.md, and the
orchestrator-prompts back-catalog carries 101 pre-existing offline errors
(links to since-moved targets — e.g. .github/workflows/discipline-self-check.yml
resolved from the wrong base; gitignored drafts/ scratch; machine-local ~/…
paths; one doubled .claude/.claude relative path). All 101 pre-date the
retrofit; the touching commit introduces zero links.

Fix mirrors the pre-commit markdownlint arm's A/M split exactly (one carve-out
pattern, two gates): orchestrator-prompts *.md enter the lychee set only when
git status A (newly authored — fully checked); M/R-status touches of legacy
files are excluded. utils/git.ts gains getAddedFiles() (diff-filter=A via the
existing parseNameStatus) reused by the section. Re-entry trigger recorded in
the comment, measurable: when 'lychee --offline .claude/orchestrator-prompts'
reports zero, drop the filter.

No consumer-twin sync needed: the shipped husky-pre-push.sh template does not
carry §8 (verified: zero lychee references). tsc clean; pre-push
consumer-layout suite 32/32 (the §3 negative arm still guards the gate lives
on consumer-owned md).

* chore(install-sh): host-verify retrofit B7 — regenerate snapshot baselines for B6's shipped-file edits

B6 edited two shipped files (packages/core/hooks/pre-push.ts §8 carve-out,
packages/core/hooks/utils/git.ts getAddedFiles) without regenerating the
fingerprints — the byte-identical battery (all 4 stacks × greenfield/brownfield)
went RED on CI exactly as designed. SNAPSHOT_MODE=capture diff reviewed: only
the two expected hash lines per baseline (fe4242205c0… pre-push.ts,
3a1b55973f… git.ts), matching the hashes CI computed — no other shipped byte
moved. Sweep after B6 was skipped by me; this is the FRS S2 lesson repeated.

* chore(install-sh): host-verify retrofit B8 — merge-forward staging + recapture refresh-baseline hashes

staging moved under the PR (#1503 consumer-refresh-integrity R1 added the
.ai-factory/refresh-baseline.json manifest + its baseline lines; #1504 R4;
#1505 barrel fix). The PR merge-ref mixed my B6 hooks with staging's R1
manifest: the installed manifest hashes the shipped files, so B6's
pre-push.ts/git.ts edits change its bytes — CI computed the new manifest
hashes (7a39d960…/0b204c85…/34eb550e…/59008f53…), staging's baselines still
carried the pre-B6 ones.

merge origin/staging (clean, no conflicts) + SNAPSHOT_MODE=capture on the
merged tree: diff is exactly the 4 refresh-baseline hash lines × 8 npm
baselines, matching what CI's install computes — no other shipped byte moved.

---------

Co-authored-by: Test <test@example.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

presets: pre-baked stack presets are frozen snapshots with pinned tool versions and no staleness/freshness guard

1 participant