Skip to content

Strip scheduler restatements from the Skywalker prompt - #974

Merged
TheGreatAxios merged 2 commits into
mainfrom
cl-6953-strip-scheduler-prose
Sep 13, 2026
Merged

Strip scheduler restatements from the Skywalker prompt#974
TheGreatAxios merged 2 commits into
mainfrom
cl-6953-strip-scheduler-prose

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Summary

  • The Skywalker system prompt no longer restates runtime scheduler mechanisms; each deleted section names behavior the runtime already enforces in code, so the prompt keeps orchestration judgment and drops mechanism copy
  • Prompt shrinks by ~1.8k characters with no behavior change on any surface; every remaining rule is judgment or taste, and no numeric limit survives that the runtime does not enforce

Verification

  • bun run typecheck passes (exit 0)
  • bun run lint passes (oxfmt + oxlint, 0 warnings, 0 errors)
  • bun run build passes
  • bun test ./src ./tests ./evals ./scripts --randomize --seed 424242 passes (7131 pass, 0 fail, 488 files)
  • Per-row audit against current main — landed means deleted, with the mechanism evidence in code:
    • Admission queue (hard caps): landed — src/subagent/admission.ts:137,194 (queueing + width caps) — deleted queues excess restatement
    • Overlap detection (lane disjointness): landed — src/subagent/admission.ts:64 (laneDisjointness) — deleted queue-depth restatement
    • Composable stop conditions (retry budgets): not landed as a runtime budget — no cap exists in code, so the numeric Cap re-fix rounds (e.g. 1-2) is deleted while the loop judgment (ship -> verify -> fix -> re-verify) is kept
    • Steering + resumable sessions: landed — src/subagent/agent-fleet.ts:510 (spawn returns immediately), src/subagent/exec/runner.ts:144, src/agent/agent-search.ts:114 — deleted mount-fact and triple-stated contract restatements; kept the fail/successor/interrupt/cancel judgment
    • Non-blocking spawn: landed — same three files — deleted the static mount fact; the unmounted chat prompt loses an impossible-tool ref (CL-6807 hygiene) while mount-correct copy stays in the mount-gated guidelines and tool descriptions
  • Kept remainder: classification, routing table, effort scaling as judgment, report tone, and the fail-then-successor / interrupt-resume / operator-cancel-wait judgment
  • Shared sections with sibling CL-7665 (src/agent/directors/skywalker/package.ts, markers): that branch compresses classification while this one strips scheduler prose — the second to land rebases

Fixes CL-6953

@linear-code

linear-code Bot commented Sep 13, 2026

Copy link
Copy Markdown

CL-6953

@TheGreatAxios

Copy link
Copy Markdown
Collaborator Author

Audit: Needs-work, fix now pushed as 1c93834. Loop repro: the branch deleted "Cap is one successor for that stall" while keeping MAY spawn_agent one successor with a changed brief per stall. Each stall permits one successor but nothing terminates the chain: the successor stalls, its stall permits another one successor, ad infinitum, with each step plausibly changed enough to pass the identical-re-dispatch guard. Fix restores the qualitative bound (one successor per stall, then synthesize + Blockers and stop), pinned by expect(p).toContain("Cap is one successor for that stall"). Checks on the branch: bun run typecheck exit 0; bun test skywalker + prompts suites 44 pass, 0 fail.

@TheGreatAxios
TheGreatAxios merged commit f896652 into main Sep 13, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant