Uh oh!
There was an error while loading. Please reload this page.
fix(scripts): list the 17th error in @objectstack/formula's TEST_DEBT note - #13736
Merged
os-project-manager merged 2 commits intoAug 31, 2026
Merged
Conversation
… note The entry's per-code tally read TS2591 x6 + TS2345 x3 + TS2352 x3 + TS1470 x2 + TS2339 x2 = 16 above a field recording 17. Re-measured through the gate's own measureTestDebt at cc837db with the package's closure built: it measures 17, so the count was right and the tally was one line short. The unlisted one is TS2739 x1 at src/cel-to-filter.test.ts(173,52), where the local ok() helper pins its second argument to the exact shape of the module-level VARS. COMPOSITION reads tier itemisations and never sums per-code tallies, so nothing mechanical read the gap. No count moves, no baseline moves. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Pk26oZ12t5N1hwGW1m1MgC
…rmula-test-debt-count
os-project-manager
marked this pull request as ready for review
August 31, 2026 09:06
Uh oh!
There was an error while loading. Please reload this page.
os-project-manager
deleted the
claude/issue-13631-formula-test-debt-count
branch
August 31, 2026 09:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes#13631
The
@objectstack/formulaTEST_DEBTentry recordederrors: 17above a per-code tallythat summed to 16. Which of the two numbers was wrong was established by measurement, not
by picking the easier edit.
Which number was right: the recorded 17
The gate's own
--re-measurewas run, not replicated. Its refusal path (a ledgeredpackage whose dependency closure has no built type entry point) was cleared by building
the closure first, exactly as
lint.ymldoes:surplus: noneis the load-bearing line: every entry, this one included, measuresexactly its recorded number. So
@objectstack/formulameasures 17, the field wasright, and the tally was one line short.
The per-code breakdown was taken separately, through the gate's own
measureTestDebtandremeasureProject(a verbatim copy of the gate with a reporting block appended, so nohelper was re-implemented), at base
cc837dbfecwith the closure built:The unlisted 17th is
which reproduces the reporter's reading to the character position.
Why no gate had caught it
COMPOSITION (#10722) is the mechanical half that exists for exactly this shape — an
itemisation contradicting its own field. It reads tier itemisations
(
code-tier/config-tier/noise) and, by an explicitly reasoned decision in itsown docblock, never sums per-code tallies, which are "partial by construction". This
entry's note is a pure per-code tally, so
tierItemisation()returnsnulland theentry is unguarded — measured in both directions, with a positive control proving the
probe was live:
That is a documented, deliberate false negative rather than a defect in the gate, and it
is not touched here. It is written into the corrected note so the next reader does not
mistake the entry's silence for a check.
The change
One
TEST_DEBTentry'snote.errors: 17is untouched, no baseline moves, and theentry is reflowed into the multi-line form its longer-noted siblings already use.
Gates
Derived from the real change set with
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack(not from a hand-written list), re-derived after mergingorigin/mainso the answer comes from a tree atorigin/main. All run ata8a9374b6, exit codes captured before any pipe:pnpm check:type-check-coveragepnpm check:type-check-debt(full--re-measure, 29 entries)pnpm check:pm-dispatch-gatesnode scripts/pm/bare-root-worklist.mjs --self-testpnpm check:agent-test-spellingpnpm check:bash32-floorpnpm check:cli-command-idspnpm check:cross-package-test-inputspnpm check:entry-guardpnpm check:parse-guardpnpm check:pnpm-filter-targetspnpm check:watch-hint-literalnode scripts/check-ci-filter-parity.mjsnode scripts/check-cross-package-test-inputs.mjsnode scripts/check-shard-attestation.mjspnpm lint(repo-wide, 108s — not narrowed)pnpm check:nul-bytesnode scripts/check-test-completeness.mjsThe last one exits 3 on its own documented PREREQUISITE NOT MET branch — it grades a
saved
turbo run testlog and the derived family names it with no argument. Its own textrules that branch NOT MEASURED rather than red.
The two convention-triggered obligations for editing a gate script
(
bare-root-worklist --self-test,check:pm-dispatch-gates) were run, not just thepath-derived families.
Changeset
None, and
skip-changesetis applied. This PR releases nothing: the only file is arepo gate script under the private root package
@objectstack/spec-monorepo, andscripts/appears in no package's publishedfiles.Generated by Claude Code
Generated by Claude Code