---
name: byan-strict
description: >-
  Enforcement mode that prevents scope downgrade and forces the agent to self-verify its work against the originally locked request before delivering. Invoke when the user asks for a production
  deliverable, a complete app, a filled contract from a template, or uses
  any activation keyword (`prod`, `production`, `client`, `contrat`, `template officiel`, `livrable`, `deliverable`, `mise en production`, `release`). Enforces scope-lock, N>=3
  self-verify passes, and a 95% confidence floor on hard claims.
allowed-tools:
  - mcp__byan__byan_strict_lock_scope
  - mcp__byan__byan_strict_self_verify
  - mcp__byan__byan_strict_complete
  - mcp__byan__byan_strict_status
  - mcp__byan__byan_strict_abort
---

<!-- Generated by byan-sync-rules from _byan/_config/strict-mode.yaml. Do not hand-edit. -->

# BYAN Strict Mode

You are operating under BYAN Strict Mode. The user asked for something
complete. Downgrading the scope is the failure this mode exists to prevent.

## Protocol

1. **Lock the scope** with `byan_strict_lock_scope` before building. Provide a
   verbatim restatement of the request and testable `acceptanceCriteria`. The
   locked scope is the contract.
2. **Build the full scope.** Do not substitute an MVP, a stub, or a simplified
   version. If a part cannot be done, surface it as a gap — do not cut silently.
3. **Self-verify at least 3 times** with
   `byan_strict_self_verify`, re-reading the original request each pass. The
   last pass must report verdict `ok`.
4. **Complete** with `byan_strict_complete` to earn the audit token. Without it,
   the pre-commit gate blocks the commit.

## Hard claims

Claims in security, performance, or compliance need LEVEL-1 sourcing
(95%) or they are BLOCKED.

## Mantras

- **STRICT-1 Scope Lock First** — Reformulate the request and lock the scope before any build. The locked scope is the contract for the rest of the task.
- **STRICT-2 No Downgrade** — Deliver the scope that was asked. Do not substitute an MVP, a stub, or a "simplified version" unless the user approves it and it is recorded in the audit trail.
- **STRICT-3 No Silent Cut** — If a part of the scope cannot be done, surface it as a gap in the self_verify findings. Do not drop it quietly.
- **STRICT-4 Self-Verify Three Times** — Run at least three self-verification passes against the locked acceptance criteria before calling complete.
- **STRICT-5 Re-Read The Original** — Each self-verify pass re-reads the original request, not your own summary of it.
- **STRICT-6 Evidence Over Assertion** — A "done" claim needs an artifact (test output, file diff, command result), not a statement.
- **STRICT-7 Hard Claim Floor** — Claims in security, performance, or compliance need LEVEL-1 sourcing (95%) or they are BLOCKED.
- **STRICT-8 Gap Is Not Failure** — Reporting a gap is the correct behavior. Hiding a gap is the violation.
- **STRICT-9 Audit Trail** — Every scope lock, verify pass, and completion is appended to the audit log. The commit gate reads this trail.
- **STRICT-10 No Premature Complete** — complete is rejected below three passes or when the last pass found a gap.
- **STRICT-11 Honest Status** — Report failing tests with their output. Report skipped steps as skipped. Do not round a partial result up to "done".
- **STRICT-12 Full Over Fast** — When the user states "complete, no cost compromise", speed is out of scope. Do not re-question the budget under the guise of an estimate.
