Bolder /boss: collapse spec auto-sign onto grounding-check, add rollback sandbox + mandatory reference issue #8

Closed
opened 2026-06-18 23:43:22 +02:00 by Brummel · 0 comments
Owner

Goal

Make autonomous /boss markedly bolder. Today a spec under /boss must
clear grounding-check plus a unanimous five-lens spec-skeptic panel,
re-dispatching all five lenses after each editorial correction over up to two
self-correction rounds — a worst case of 18 agent runs per spec before any
planning starts. Most of what the panel blocks on is trivia that could be
patched inline. This issue trades that heavy upfront gate for a bold-and-recover
posture.

Design

1. Auto-sign collapses onto grounding-check

Under /boss, specify Step 6 becomes: grounding-check PASS → commit spec →
planner. No panel, no pause. A no-override grounding-check BLOCK escalates to
the human sign-off pause exactly as today. The five-lens panel, the
editorial/design BLOCK partition, the ≤2-round self-correction loop, and the
objective-gates-then-panel staging are all removed. Rationale: grounding is the
one test-objective lens (it ratifies against currently-green tests); the other
four are judgement lenses. Keep the objective anchor, drop the obligatory
judgement gate. "Never sign on model self-confidence alone" still holds —
grounding-check is an independent fresh-context agent, not the producing
orchestrator's confidence.

2. Stance inversion at specify Step 1.5 / Iron Law

  • Old: doubt about whether the sources resolve a fork is the fork signal →
    bounce to brainstorm. Default = abort.
  • New: can I derive a better answer for this fork? → decide it (boldly). Only
    a genuinely undecidable fork → bounce/human-pause. Default = act.

The abort line:

  • A derivably better answer exists (groundable in sources / code / consistency
    / risk — even "this one fits the existing design better") → the orchestrator
    decides. On self-doubt about its own bias it pulls one independent
    subagent opinion (ad-hoc spec-skeptic lens).
  • The fork hangs on pure user preference with no derivable better (roadmap
    order, product taste, two genuinely equivalent paths) → that is the user's
    call → human-pause.

Being wrong is allowed; the net is the rollback (§5) plus the user's veto.

3. spec-skeptic repurposed, not deleted

From obligatory five-in-parallel panel juror to an ad-hoc bias-breaker the
orchestrator pulls on its own initiative when it wants an independent,
bias-free second opinion on a fork it is about to decide. The lens prompts
(scope-fork etc.) survive as a tool; they are no longer a unanimous-or-nothing
gate. Still read-only, still refutation-postured — its output feeds the
orchestrator's decision, it does not veto.

4. Mandatory reference issue

Every /boss run always has a reference issue (an existing one, or one freshly
created — generalising the Step-1.5 issue-less mechanic to all runs). The
orchestrator comments its fork decisions there, with provenance/reasoning, as it
goes. Triple purpose: the user's after-the-fact decision log, the orchestrator's
cross-run "issue memory", and — because discarded attempts are hard-dropped
(§5) — the only surviving trace of an abandoned attempt.

5. Rollback sandbox (boss Direction freedom)

main-sacrosanct is relaxed in one narrow, safe way:

  • At /boss start the orchestrator anchors on HEAD (the last user-ratified
    state).
  • The sandbox = everything strictly above the anchor, committed autonomously
    this session, and not yet pushed.
  • Inside the sandbox the orchestrator may git reset --hard back (never below
    the anchor) when it has run itself into a dead end.
  • "Dead end" is an escalation response (implement BLOCKED after its re-loops,
    audit/fieldtest exposing the wrong fork), not a reflex.
  • Discarded attempts are hard-dropped (no attempt-N branch); the reference
    issue's comment thread is the trace.
  • Push boundary: anything pushed is forward-only (revert), never reset.
    Anything below the anchor stays sacrosanct.

Files touched

specify/SKILL.md (Iron Law, Step 1.5, Step 6), specify/agents/spec-skeptic.md
(panel → ad-hoc tool), boss/SKILL.md (Spec auto-sign, Direction freedom,
Notifications, reference-issue duty), docs/pipeline.md (specify paragraph,
skip-rules, config note), docs/conventions.md (git discipline / main-sacrosanct,
auto-sign always-on, spec-skeptic role), docs/design.md, docs/agent-template.md,
implement/SKILL.md, README.md (consistency).

Baseline tagged pre-autosign-rework before this work.

## Goal Make autonomous `/boss` markedly bolder. Today a spec under `/boss` must clear `grounding-check` **plus** a unanimous five-lens `spec-skeptic` panel, re-dispatching all five lenses after each editorial correction over up to two self-correction rounds — a worst case of 18 agent runs per spec before any planning starts. Most of what the panel blocks on is trivia that could be patched inline. This issue trades that heavy upfront gate for a bold-and-recover posture. ## Design ### 1. Auto-sign collapses onto `grounding-check` Under `/boss`, `specify` Step 6 becomes: `grounding-check` PASS → commit spec → `planner`. No panel, no pause. A no-override `grounding-check` BLOCK escalates to the human sign-off pause exactly as today. The five-lens panel, the editorial/design BLOCK partition, the ≤2-round self-correction loop, and the objective-gates-then-panel staging are all removed. Rationale: `grounding` is the one test-objective lens (it ratifies against currently-green tests); the other four are judgement lenses. Keep the objective anchor, drop the obligatory judgement gate. "Never sign on model self-confidence alone" still holds — `grounding-check` is an independent fresh-context agent, not the producing orchestrator's confidence. ### 2. Stance inversion at `specify` Step 1.5 / Iron Law - **Old:** doubt about whether the sources resolve a fork *is* the fork signal → bounce to `brainstorm`. Default = abort. - **New:** can I derive a better answer for this fork? → decide it (boldly). Only a genuinely undecidable fork → bounce/human-pause. Default = act. The abort line: - **A derivably better answer exists** (groundable in sources / code / consistency / risk — even "this one fits the existing design better") → the orchestrator decides. On self-doubt about its own bias it pulls **one** independent subagent opinion (ad-hoc `spec-skeptic` lens). - **The fork hangs on pure user preference** with no derivable better (roadmap order, product taste, two genuinely equivalent paths) → that is the user's call → human-pause. Being wrong is allowed; the net is the rollback (§5) plus the user's veto. ### 3. `spec-skeptic` repurposed, not deleted From obligatory five-in-parallel panel juror to an **ad-hoc bias-breaker** the orchestrator pulls on its own initiative when it wants an independent, bias-free second opinion on a fork it is about to decide. The lens prompts (`scope-fork` etc.) survive as a tool; they are no longer a unanimous-or-nothing gate. Still read-only, still refutation-postured — its output feeds the orchestrator's decision, it does not veto. ### 4. Mandatory reference issue Every `/boss` run always has a reference issue (an existing one, or one freshly created — generalising the Step-1.5 issue-less mechanic to all runs). The orchestrator comments its fork decisions there, with provenance/reasoning, as it goes. Triple purpose: the user's after-the-fact decision log, the orchestrator's cross-run "issue memory", and — because discarded attempts are hard-dropped (§5) — the only surviving trace of an abandoned attempt. ### 5. Rollback sandbox (boss Direction freedom) `main`-sacrosanct is relaxed in one narrow, safe way: - At `/boss` start the orchestrator anchors on HEAD (the last user-ratified state). - The **sandbox** = everything strictly above the anchor, committed autonomously this session, **and not yet pushed**. - Inside the sandbox the orchestrator may `git reset --hard` back (never below the anchor) when it has run itself into a dead end. - "Dead end" is an escalation response (implement BLOCKED after its re-loops, audit/fieldtest exposing the wrong fork), not a reflex. - Discarded attempts are hard-dropped (no `attempt-N` branch); the reference issue's comment thread is the trace. - **Push boundary:** anything pushed is forward-only (revert), never reset. Anything below the anchor stays sacrosanct. ## Files touched `specify/SKILL.md` (Iron Law, Step 1.5, Step 6), `specify/agents/spec-skeptic.md` (panel → ad-hoc tool), `boss/SKILL.md` (Spec auto-sign, Direction freedom, Notifications, reference-issue duty), `docs/pipeline.md` (specify paragraph, skip-rules, config note), `docs/conventions.md` (git discipline / main-sacrosanct, auto-sign always-on, spec-skeptic role), `docs/design.md`, `docs/agent-template.md`, `implement/SKILL.md`, `README.md` (consistency). Baseline tagged `pre-autosign-rework` before this work.
Brummel added the feature label 2026-06-18 23:43:22 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Brummel/Skills#8