Filed by the domain:skills seat (#7623, session session_01139NJ9Wg5pFeZi1Zh8WLg6), 2026-08-12, at the maintainer's direct request in the seat chat ("帮我全面调研并提出方案"). Decision card — ⛔ not dispatchable while this label is on.
Measured facts (2026-08-12)
- A dev session at 18:18Z read
rate_limit_info: {rateLimitType: "seven_day", status: "allowed_warning"}, reset ≈ 2026-08-17. Requests were still allowed — this is a pre-wall warning, several days before the window resets. Single-source so far: this is a dev's relayed reading; the next occurrence should capture the raw payload verbatim into the platform facts table (does it carry a threshold? a remaining figure?).
- The payload's
rateLimitType is an enum naming seven_day — i.e. the platform distinguishes wall types. Working assumption (to be confirmed from the next hard-wall payload, not guessed): the 5-hour rolling window and the 7-day window coexist, and whichever is nearer binds. ccusage blocks still reports 5-hour billing blocks (measured in this container: active block 47m in, 18.0M tokens / ~$33, projected ~$207 per block at current burn).
ccusage has a weekly command (not currently in the facts table). It shows this container only — measured 18.3M tokens for the week from here, which is essentially this session alone. The single-container blind spot is worse under a weekly cap: the cap is account-level, every seat and cloud card burns it, and no container can see the sum. There is still no agent-facing interface for account-level remaining quota.
- No existing card covers this (semantic search for seven_day/weekly/quota/断粮 returned zero; corpus verified with known-present queries).
What this falsifies in the current skill text
Both starvation sections are written against the 5-hour wall — premise re-check: grep -n "5 小时" .claude/skills/pm-dispatch/SKILL.md .claude/skills/pm-dispatch/references/platform-readings.md (today: SKILL.md:559 section title; platform-readings.md:100-117).
- Timer selection: "no reset time ⇒ hourly cron" is sane for an hours-scale window and absurd across a ~5-day one (~120 dead fires, plus an orphan cron to remember). With a known reset the existing "one-shot at reset + buffer" stays correct (
create_trigger with run_once_at handles multi-day).
- The bigger gap: the playbook only covers after the wall ("撞墙后恢复"). For a 5-hour wall that is fine — the worst case is a coffee break. A 7-day hard wall mid-week kills the whole fleet for days, and the only effective response happens before the wall — which is exactly what
allowed_warning exists to enable. The current text's "权威的墙信号是失败本身" needs splitting: the authoritative pre-wall signal is now rate_limit_info (allowed_warning); the authoritative wall signal remains the failure itself.
Options (spend/fleet posture = the maintainer's decision; this card decides nothing)
- A — full speed until the hard wall. Keep dispatching normally; on the hard wall run the recovery playbook with a one-shot timer at reset+buffer. Max throughput; accepts that a mid-week hard stop freezes p0/release-board work for days.
- B — two-tier response (recommended). On
allowed_warning (seven_day): conservation posture — batch cap to 1; mechanical S/M cards at the sonnet floor; freeze L/XL and non-urgent work; keep only priority:p0, release-board items, and in-flight closeout; fable-mandatory cards (maintainer-ruled) are deferred, never downgraded; every round report carries a weekly-window line (the cheapest fleet-level aggregation point that exists). On the hard wall: existing recovery playbook; timer = one-shot at reset+buffer; ⛔ never an hourly cron across a multi-day window.
- C — full dispatch stop on warning. Warning treated as wall; review/landing/triage reads only. Most conservative; forfeits legitimate remaining quota for the rest of the week.
Four-facet block
- Platform long-term coherence: B turns signal→posture into a closed two-state machine inside the existing starvation section — no new tracking surface, no second board. A leaves a written playbook that is wrong for the wall that actually fired today. C collapses warning into wall, misstating the platform.
- Measured business pull: not speculative — the warning fired today at 18:18Z with reset ~5 days out. A mid-week hard wall stops p0 and release-board work for days; the 5-hour wall never could.
- AI-agent error-resistance: B's throttle rules are a closed enumeration (batch cap, tier floor, freeze list, defer-not-downgrade) any seat executes mechanically. A relies on each seat's discretion under quota pressure — exactly where an AI seat optimizes its own lane and burns the shared budget.
- Startup scope discipline: B is ~10 lines into an existing references section plus a title fix; no new tooling, no new labels, no coordination machinery.
Facts to land in the platform facts table regardless of the option chosen
rate_limit_info shape + its reading discipline; seven_day/5h coexistence (confirm from next hard-wall payload); ccusage weekly and the account-level blind spot; one-shot run_once_at for multi-day resets.
Binding constraints for the implementing card (once the maintainer picks)
- Touches
.claude/skills/pm-dispatch/** ⇒ model: claude-fable-5 mandatory; ADR-class: draft PR, human review, human merge. ⛔ No auto-merge, no merge queue.
- SKILL.md sits at its ratchet ceiling (686/686): the section-title fix must be funded by a content-free offset in the same PR, or the substantive text lands in
references/platform-readings.md only.
- Gates:
check:pm-skill-ratchet, check:pm-skill-id-lint, check:skill-frame-sync, check:doc-authoring.
Filed by the
domain:skillsseat (#7623, sessionsession_01139NJ9Wg5pFeZi1Zh8WLg6), 2026-08-12, at the maintainer's direct request in the seat chat ("帮我全面调研并提出方案"). Decision card — ⛔ not dispatchable while this label is on.Measured facts (2026-08-12)
rate_limit_info: {rateLimitType: "seven_day", status: "allowed_warning"}, reset ≈ 2026-08-17. Requests were still allowed — this is a pre-wall warning, several days before the window resets. Single-source so far: this is a dev's relayed reading; the next occurrence should capture the raw payload verbatim into the platform facts table (does it carry a threshold? a remaining figure?).rateLimitTypeis an enum namingseven_day— i.e. the platform distinguishes wall types. Working assumption (to be confirmed from the next hard-wall payload, not guessed): the 5-hour rolling window and the 7-day window coexist, and whichever is nearer binds.ccusage blocksstill reports 5-hour billing blocks (measured in this container: active block 47m in, 18.0M tokens / ~$33, projected ~$207 per block at current burn).ccusagehas aweeklycommand (not currently in the facts table). It shows this container only — measured 18.3M tokens for the week from here, which is essentially this session alone. The single-container blind spot is worse under a weekly cap: the cap is account-level, every seat and cloud card burns it, and no container can see the sum. There is still no agent-facing interface for account-level remaining quota.What this falsifies in the current skill text
Both starvation sections are written against the 5-hour wall — premise re-check:
grep -n "5 小时" .claude/skills/pm-dispatch/SKILL.md .claude/skills/pm-dispatch/references/platform-readings.md(today: SKILL.md:559 section title; platform-readings.md:100-117).create_triggerwithrun_once_athandles multi-day).allowed_warningexists to enable. The current text's "权威的墙信号是失败本身" needs splitting: the authoritative pre-wall signal is nowrate_limit_info(allowed_warning); the authoritative wall signal remains the failure itself.Options (spend/fleet posture = the maintainer's decision; this card decides nothing)
allowed_warning(seven_day): conservation posture — batch cap to 1; mechanical S/M cards at thesonnetfloor; freeze L/XL and non-urgent work; keep onlypriority:p0, release-board items, and in-flight closeout; fable-mandatory cards (maintainer-ruled) are deferred, never downgraded; every round report carries a weekly-window line (the cheapest fleet-level aggregation point that exists). On the hard wall: existing recovery playbook; timer = one-shot at reset+buffer; ⛔ never an hourly cron across a multi-day window.Four-facet block
Facts to land in the platform facts table regardless of the option chosen
rate_limit_infoshape + its reading discipline; seven_day/5h coexistence (confirm from next hard-wall payload);ccusage weeklyand the account-level blind spot; one-shotrun_once_atfor multi-day resets.Binding constraints for the implementing card (once the maintainer picks)
.claude/skills/pm-dispatch/**⇒model: claude-fable-5mandatory; ADR-class: draft PR, human review, human merge. ⛔ No auto-merge, no merge queue.references/platform-readings.mdonly.check:pm-skill-ratchet,check:pm-skill-id-lint,check:skill-frame-sync,check:doc-authoring.