Repository navigation
docs(pm-skill): write the third platform-readings increment and measure it at +36 against the 358 ceiling - #15265
Merged
os-zhuang merged 4 commits intoSep 4, 2026
Conversation
…re it against the ceiling Four members, each written in the file's voice and wrapped by the gate's own `wrapLine` rather than by hand, so the counts are landing costs and not estimates: the channel/input-scoped attribution-footer row, the MCP-side rate-refusal reading, the CDN cause behind the payload channel's absence rule, and the Routine transport family with its orphan-recovery path. The ceiling row is deliberately NOT touched: raising it is a maintainer-floor act and this change exists to give that ruling a measured number to size. The ratchet is expected RED. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox
…ight, into the same row Opening this PR over a raw REST create measured a combination none of the three prior observations covered: the create end appended a SECOND session-URL footer (a leading horizontal rule, exactly +90 bytes, the sent body a strict prefix of the stored one) rather than the bare form the edit end appends. The row now says the append shape varies by channel AND by action, and still refuses to state a law. Re-measured after the change: the member costs 12 lines instead of 9, so the increment is +39 rather than +36. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox
This was referenced Sep 4, 2026
…atform-readings-third-increment
…, as an ordinary ruled raise The maintainer sized the third increment at the measured +39 (decision batch #34, item 1 = A). The ceiling row moves 358 to 397 and carries the ruling verbatim beside it, with the four members and their line counts, the same way the row above carries the previous one. The move declaration takes a SECOND `ruledRaises` record rather than a carried- forward `was`: an ordinary ruled raise is the maintainer's, so it is subtracted before the move is priced. `was` stays at this file's literal pre-move 314, and the verdict reads +10 (314 to 397, less 73 lines of ordinary ruled raise) against the same net source decrease of 11. Item 2 of the ruling is C: the two quota sentences left in tension stay exactly as written, pending a discriminating read. Neither is edited. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox
os-zhuang
approved these changes
Sep 4, 2026
os-zhuang
marked this pull request as ready for review
September 4, 2026 12:23
os-zhuang
enabled auto-merge
September 4, 2026 12:23
os-zhuang
deleted the
claude/issue-15192-platform-readings-third-increment
branch
September 4, 2026 12:56
This was referenced Sep 4, 2026
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 free
to 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 #15192
Part of #15275
The third increment of the
platform-readings.mdintake, now landed under itsruling. The measurement flight wrote and counted the members and left the ceiling
alone; this patch round takes the ruling and raises it. The gate is green.
Attribution, as prose so it survives an edit: produced by Claude Code, session
https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox.The ruling this executes
Maintainer, decision batch #34, 2026-09-04, on the recommendation presented for the
sizing card — verbatim and untranslated:
The director record states what that adopts, item by item:
members land as written. It is an ORDINARY raise under the ratchet's own
maintainer exit, not a cross-file move.
exactly as the measurement flight wrote them, pending a discriminating read. ⛔
Neither was edited, here or in the readings file.
Per member, measured rather than estimated
Each member was written in the file's own voice and wrapped by the gate's own
wrapLineimported from the ratchet script — the canonical form, so no line canbe over budget and no break lands on a junction that renders as a space. 120
bytes per line, not columns.
sources/ nomodelon the create end358 + 39 = 397, and the file landed at exactly that. Nothing was shortened to
fit and nothing was padded to reach it.
What the ratchet script changed, and why
wasdid not moveTwo edits, both in
scripts/pm/check-skill-line-ratchet.mjs:platform-readings.md358 → 397, with this rulingquoted verbatim beside it and the four members accounted for line by line —
the same shape the row above uses for the previous raise. The earlier comment
and its 358 history are kept intact; the new text is an addition. Item 2's
disposition is recorded there too, so the next author does not "tidy" a
deliberate tension away.
ruledRaisesrecord on the same file'sCROSS_FILE_MOVESdeclaration, carrying this ruling as a verbatim quotation and
delta: 39.⛔
wasstays314— this file's literal pre-move ceiling — and is nevercarried forward. That is the whole point of the
ruledRaisesshape: an ordinaryruled raise is the maintainer's, so it neither re-opens the move nor pays it
down, and it is subtracted before the move is priced. With both records the
arithmetic is 397 − 314 − (34 + 39) = +10, against the same net source
decrease of 11 the move landed with. The over-claim bar still holds, since the 73
lines of ruled raise are less than the gross 83.
Gate verdicts, all green at
40cb0c59node scripts/pm/check-skill-line-ratchet.mjs, its own lines:Headroom is 0, the same convention every other entry in the map keeps. The
self-test's live-registry case — "every live ruled-raise record quotes its ruling,
dates it, and names a positive line count" — passes over both records.
Verification
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --commands,no paths, re-derived after the final commit: it read the change set from git as the
two paths above and named 28 runnable commands (up from 14 on the
measurement flight, because a
scripts/pm/file is now in the diff). All 28 wererun, and the reconciliation is the gate's own:
Every exit code was captured by redirect before any pipe; 28 of 28 exited 0.
The derived set at the final commit was diffed against the set actually run and is
identical. Nothing in this round was NOT MEASURED.
check-governed-merges --teston both changed paths returns its GOVERNEDverdict (exit 3), on 1 of the 2:
pnpm lint— the whole repo, not a narrowing this time.OS_VERIFY_LOCK_SLOT=issue-15192-lint bash scripts/pm/os-verify-lock.sh -c 'pnpm lint'ran
eslint . --no-inline-configover the tree and exited 0. Lock verdict:command-exit 0 · held the lock 74s (1m14s) · waited 0s— shared-box seconds, asthe lock's own line states. The reinstall after the merge moved
pnpm-lock.yamlwent through the same lock (
command-exit 0 · held 6s · waited 0s).The edited script's own test suite is an obligation separate from the derived
families, and it is discharged:
--self-test, 155 cases, quoted above. A repo-widegrep over
*.test.*/*.spec.*forskill-line-ratchetreturns no dedicated testfile, so nothing else is owed on that leg. Both changed files were also swept
directly for raw control bytes outside
check:nul-bytes— no hits. ⛔ Nofingerprint phrase of the decision frame appears in either changed file;
check:skill-frame-syncis green.origin/mainwas merged before any of this (8f404a51and later, including theruledRaisesshape this round depends on). It touches neither changed path, andno generated-artifact regeneration was outstanding after the merge.
Merge path
.claude/**is a governed surface. Draft, human merge. Not flipped ready, noauto-merge, no queue, no reviewers requested, no approval from this seat — the
seat requests both approvers after reviewing this patched head.
skip-changesetapplies: nothing is published from any package.
Generated by Claude Code
Generated by Claude Code