Skip to content

Commit 2ba4329

Browse files
claude[bot]claude
andauthored
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

0 commit comments

Comments
 (0)