Commit 2ba4329
refs(pm-dispatch): qualify the REST prescriptions as per-session, and bank four platform readings (#12091)
* refs: canonically re-wrap platform-readings.md (whitespace only, 315 -> 299)
Pays for the platform-readings consolidation without raising the ratchet
ceiling. This commit changes NO words: it joins each paragraph back to one
logical line and re-wraps it with the ratchet gate's own exported `wrapLine`,
which by construction only ever moves whitespace (a space becomes a newline,
or a newline is inserted between two wide characters).
Multi-line 「…」 ruling quotations are left byte-for-byte alone -- their line
structure is the author's and the gate exempts it, so the re-wrap never makes
a quoted maintainer ruling un-greppable.
Proof, both directions, run before the write:
- every paragraph collapsed back to one logical line is byte-identical
before and after;
- the whitespace-stripped whole file is byte-identical before and after
(this is what catches a space wrongly inserted or dropped at a join).
Gates on this commit: check:pm-skill-ratchet, check:doc-authoring,
check:nul-bytes, check:skill-frame-sync, check:pm-skill-id-lint all green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RMTpSRF5CjMmQBFfPtPCwJ
* refs: qualify the REST prescriptions as per-session, and bank four platform readings
platform-readings.md prescribed REST in three places as if it were always
available, while recording one bullet earlier that the direct-REST gate is a
per-session authorization snapshot. A seat that read in order learned the
fallback existed, reached for it mid-outage, and got a 403 with no next step
named. Both measurements stand -- the correction is the modality.
Landed on this branch:
- REST availability is a SESSION property: probe once at shift start (the
round-opening /rate_limit curl doubles as it), bank it for the shift, and
read the degradation ladder when the gate is shut -- git-first, then a
SINGLE-label MCP list plus a local intersect (the labels array is OR, so a
multi-label request only ever comes back wider than either input), then
wait for reset. The three prescriptions now point at it instead of each
re-deriving a channel choice.
- An empty dedupe is NOT a reading until a known-hit control answered in the
same session -- unconditional, not "verify when the result looks odd".
- undraft goes through the MCP update_pull_request draft:false and nowhere
else: raw GraphQL is refused in-session (and the refusal's own advice to
use REST is wrong here), raw REST PATCH answers 200 and does nothing.
- enable_pr_auto_merge's mergeMethod is inert -- SQUASH reads back as
`merge`; harmless because the queue performs the merge and its own method
governs, this repo being squash-only.
- The downgrade fuse's get_session reading forks by host: where the ccd host
excludes the current session by contract, the transcript-JSONL "model":
field is the valid substitute, own-session only.
- The auto-mode classifier's verdicts are shape-sensitive, not capability
boundaries: retry the core action BARE before reporting blocked.
Paid entirely by compression, no ceiling raised. The API-quota section stated
the channel prescription four times over; consolidating it into one gate
bullet plus pointers is the purse. The ceiling is LOWERED 315 -> 314.
Gates (verdict lines quoted in the PR body): check:pm-skill-ratchet,
check:doc-authoring, check:nul-bytes, check:skill-frame-sync,
check:pm-skill-id-lint, plus the families the changeset re-derivation added
for scripts/**.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RMTpSRF5CjMmQBFfPtPCwJ
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent a33b4d3 commit 2ba4329
2 files changed
Lines changed: 201 additions & 202 deletions
File tree
- .claude/skills/pm-dispatch/references
- scripts/pm
0 commit comments