# ZAKON #25 — Pre/Post-flight Mandatory (H/BLOCKER)

# ZAKON #25 — Pre/Post-flight Mandatory (H/BLOCKER)

**Source:** `~/system/rules/john-operating-system.md` line 77

**Instituted:** 2026-04-28 (MC #9941 panel approved 4/5 + DA timing dissent preserved)

## The Rule

**WHEN** task priority = H AND (BLOCKER label OR multi-component OR effort ≥ M)

**THEN** workflow MUST be:

1. `/prompt-forge <mc_id>` — 5-panel pre-flight, unified prompt
2. `/mehanik "task" <path> <mc_id>` — gate clearance (existing)
3. Specialist dispatch with forged prompt
4. `/task-postflight <mc_id>` — Proveo validation + learning loop

## When to Skip /prompt-forge

Skip directly to `/mehanik` when **ANY** of:

- Priority = M or L
- Trivial scope (single-line config, single-file edit, recurring template)
- Effort = S
- Explicit `/skip-forge` directive

**SKIP /task-postflight?** Never. Mandatory closure for H/BLOCKER.

## Decision Tree

```

HAS the task been classified as H + BLOCKER/multi-component?
  YES → /prompt-forge mandatory
  NO  → skip directly to /mehanik

AFTER specialist dispatch completes:
  /task-postflight <mc_id> — ALWAYS for H/BLOCKER
```

## Why This Exists

Eliminates reactive scope creep. Historical incidents:

- **feedback\_drop\_ceo\_request\_scope\_creep.md:** CEO requested "fix Drop demo" (5 bugs). John hallucinated "staging + CI infra" from LLM memory, dispatched 11 infra agents, lost 6h. Real deploy path = Docker → ECR → apprunner (30 min).
- **Dual-backend incident #9892:** Specialist built second backend because task prompt didn't specify "use existing backend".

**Solution:** 5-expert panel (Petter Graff, Devils Advocate, Anthropic CA, OpenAI CA, Chip Huyen) produces better prompts for H/BLOCKER tasks. Disagreements preserved unsmoothed in `<disagreements>` XML block.

## How to Apply

### For John (orchestrator):

1. Classify incoming task: priority, labels, effort, components
2. If H + BLOCKER/multi-component → invoke `/prompt-forge <mc_id>`
3. Wait for forged prompt at `~/system/prompts/forged/<mc_id>.md`
4. Pass forged prompt to `/mehanik` as Phase A input
5. After Mehanik clearance → dispatch specialist with forged prompt
6. After specialist completes → invoke `/task-postflight <mc_id>`
7. Wait for Proveo validation + learning loop
8. Submit `mc.js ready` only after postflight clears

### For specialists (builders):

No change. You receive a forged prompt (if H/BLOCKER) or regular prompt (if M/L). Execute as normal. Postflight validation happens after you finish.

## Cost Guardrails

- **/prompt-forge cap:** $1.00 per invocation
- **/task-postflight cap:** $0.50 per invocation
- **Daily budget:** $5.00 for prompt-forge (≈ 5 BLOCKER tasks/day max)
- **Typical combined cost:** $0.49 warm cache / $1.35 cold per H/BLOCKER task

## v0.1 Deferred Items

Deferred to post-Akershus (after 2026-05-04):

- Eval harness: 20-task golden dataset replay
- Complexity classifier: automated scope gate (replaces heuristic)
- cost-tracker.js integration: per-invocation logging + alerts
- Observability: agent latency, token counts, BFPR metric
- BFPR ship gate: ≥70% Builder First-Pass Rate over first 20 uses before declaring v1.0

## Panel Approval Record

**MC #9941:** ZAKON #25 proposal

<table border="1" cellpadding="5" id="bkmrk-panelist-vote-key-ar"> <tr> <th>Panelist</th> <th>Vote</th> <th>Key Argument</th> </tr> <tr> <td>Petter Graff</td> <td>APPROVE</td> <td>Scope creep root cause = ambiguous prompts. 5-expert forge addresses this.</td> </tr> <tr> <td>Anthropic CA</td> <td>APPROVE</td> <td>Disagreements XML preserves tension → better builder context.</td> </tr> <tr> <td>OpenAI CA</td> <td>APPROVE</td> <td>Post-flight learning loop closes gap between intent and execution.</td> </tr> <tr> <td>Chip Huyen</td> <td>APPROVE</td> <td>Cost acceptable if BFPR ≥70% (empirical gate required).</td> </tr> <tr> <td>Devils Advocate</td> <td>DISSENT</td> <td>Timing risk: 5-panel forge adds 2-5 min overhead. May bottleneck on urgent H tasks. Proposes fast-path override for P0 incidents.</td> </tr></table>

**CEO decision:** Approved 4/5. DA timing dissent preserved — fast-path override deferred to v0.2 based on empirical P0 incident latency data.

## References

- **Authoritative rule:** `~/system/rules/john-operating-system.md` line 77
- **Skill: prompt-forge:** `~/.claude/skills/prompt-forge/SKILL.md`
- **Skill: task-postflight:** `~/.claude/skills/task-postflight/SKILL.md`
- **Full spec:** `/tmp/std1-synthesis.md`
- **Memory entry:** `~/.claude/projects/-Users-makinja/memory/feedback_prompt_forge_postflight_zakon.md`
- **Incident references:**
    - feedback\_drop\_ceo\_request\_scope\_creep.md
    - Dual-backend incident #9892

---

*Author: ALAI, 2026*

*Last updated: 2026-04-28*