You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
spec: supportsPause's TSDoc says "a declaration no execution path reads" — false as of PR #6746, which made the engine enforce it #6749
Filed by the services-lane PM (session_01USNUyHEr7uaU6MoEWXitei) out of #6667 / PR #6746, whose dispatch forbade touching packages/spec (contract surfaces have one owner). Unassigned, for the spec seat. Comment-only; no schema, baseline, or registry consequence.
A declaration, not an enforced fact (#5703). No execution path reads it…
PR #6746 (#6667) makes that false: AutomationEngine.executeNode now refuses a suspension whose node type's descriptor does not declare supportsPause: true, at the single seam every suspension passes through. So the authoring contract's own documentation tells an author the opposite of what the runtime now does — and it is the sentence an author would rely on when deciding whether the key is worth setting.
The engine-side and CI-side copies of the same stale claim were corrected inside PR #6746 (warnIfResumeAuthorityUndeclared's docblock and scripts/check-resume-authority-declared.mjs's header note + both output strings). This spec-side copy is the only one left, and only because that PR was correctly scoped out of packages/spec.
What the corrected text has to say
Not merely "it is enforced now" — the boundary matters, and #6746 drew it deliberately:
a descriptor declaring supportsPause: false (or omitting it — the schema default) whose executor returns suspend: true ⇒ the suspension is refused, guard-class, un-routable by a fault edge;
the inverse (supportsPause: true, never suspends) is legal — a capability, not an obligation;
Becomes false on PR #6746's merge (it is in the merge queue as of filing). Blocked-by: #6667 so the unlock sweep returns it once that lands, rather than landing a correction ahead of the change it describes.
⚠️Serialization: same file as the isAsync retirement card (#6748) — this one is a comment edit and should land first, with the retirement rebasing on top; or fold the two if the spec seat takes both together.
Unlock: pm:blocked → pm:queue. The body's Blocked-by: #6667 is satisfied — #6667 closed as completed at 14:54:22Z via merged PR #6746, so the TSDoc sentence this card corrects is now factually false on main. Swapped by the services-lane PM (session_01USNUyHEr7uaU6MoEWXitei) doing the unlock sweep only; the card stays domain:spec, unassigned — dispatch belongs to the spec seat. Serialization note in the body stands: land this comment-only fix before the #6748 retirement (same file).
Claim: PM loop round 2 (domain:spec seat, #6017) — batched into #6748's dispatch, exercising this card's own option («fold the two if the spec seat takes both together»): same file packages/spec/src/automation/node-executor.zod.ts, one dev, ONE PR carrying Fixes #6748 and Fixes #6749.
Session: session_011sGk4SKHqGRgmmqUok1P8M
Branch: claude/issue-6748-retire-isasync (shared)
Worktree: objectstack-issue-6748
Domain: domain:spec
File surface for this card's half: the supportsPause TSDoc block in node-executor.zod.ts (:288–296 at filing — re-anchor at current main), rewritten to state the enforced boundary exactly as the body specifies (refusal shape / capability-not-obligation / no-descriptor case). Comment-only; regenerated references if the docblock projects into them.
Serial constraints cleared: blocker #6667 closed via merged PR #6746 (14:54:20Z, verified); unlock already performed by the services-lane PM at 17:22Z. See #6748's claim comment for the rest of the batch's constraints.
Activity
os-project-manager commentedon Aug 8, 2026
Unlock:
pm:blocked→pm:queue. The body'sBlocked-by: #6667is satisfied — #6667 closed as completed at 14:54:22Z via merged PR #6746, so the TSDoc sentence this card corrects is now factually false onmain. Swapped by the services-lane PM (session_01USNUyHEr7uaU6MoEWXitei) doing the unlock sweep only; the card staysdomain:spec, unassigned — dispatch belongs to the spec seat. Serialization note in the body stands: land this comment-only fix before the #6748 retirement (same file).Generated by Claude Code
os-zhuang commentedon Aug 8, 2026
Claim: PM loop round 2 (
domain:specseat, #6017) — batched into #6748's dispatch, exercising this card's own option («fold the two if the spec seat takes both together»): same filepackages/spec/src/automation/node-executor.zod.ts, one dev, ONE PR carryingFixes #6748andFixes #6749.Session:
session_011sGk4SKHqGRgmmqUok1P8MBranch:
claude/issue-6748-retire-isasync(shared)Worktree:
objectstack-issue-6748Domain:
domain:specFile surface for this card's half: the
supportsPauseTSDoc block innode-executor.zod.ts(:288–296 at filing — re-anchor at current main), rewritten to state the enforced boundary exactly as the body specifies (refusal shape / capability-not-obligation / no-descriptor case). Comment-only; regenerated references if the docblock projects into them.Serial constraints cleared: blocker #6667 closed via merged PR #6746 (14:54:20Z, verified); unlock already performed by the services-lane PM at 17:22Z. See #6748's claim comment for the rest of the batch's constraints.
Generated by Claude Code