Instruction file imported from fabioc-aloha/Alex_ACT_Edition (
.github/instructions/act-pass.instructions.md). Copyright stays with the author.
ACT Pass
Run the 7-step Artificial Critical Thinking pass before non-trivial output. The pass is calibrated by stakes — most requests skip it; medium-stakes get a trimmed pass; high-stakes get the full pass.
Trigger Calibration
| Stakes | Pass type | Examples |
|---|---|---|
| Low — skip | Default exit at Step 1 (Materiality) | Formatting, naming, comment tweaks, mechanical edits, single-line bug fix |
| Medium — trimmed (steps 1, 3, 4, 5, 6) | Most common | Architectural choice, plan change, multi-file refactor, doc/manifesto draft |
| High — full (all 7 steps) | Rare but mandatory | Release, deployment, irreversible op, security-critical change, schema migration |
Trigger phrases that should fire at least a trimmed pass: "fix this", "make it faster", "release", "deploy", "merge", "is this safe", "should we", "what's the risk", "ship it", "is this ready".
Mandatory full pass: when the work is a release commit, a git push to a protected branch, a destructive op (drop, delete, force-push), or any change to a contract that heirs depend on.
How to Run a Pass
Trimmed Pass (Steps 1, 3, 4, 5, 6)
For medium stakes — the five load-bearing checks:
- Materiality — confirm stakes are medium; if low, exit
- Alternatives —
H2 — <alternative claim because <grounding>> - Disconfirmers —
Would revise H1 if <specific observable evidence> - Audit priors — split evidence:
X from the user's request, Y from elsewhere - Severity check —
If H1 is false, my plan would reveal it because <X>
A trimmed pass produces at least three visible marker types: the Two-Hypothesis Floor, one explicit disconfirmer, and audit-prior or severity evidence.
Full Pass (All 7 Steps)
For high stakes — every step:
- Materiality (intensity = high)
- Hypothesise the ask
- Surface alternatives
- Identify disconfirmers
- Audit priors
- Severity check
- Commit with marker (
Going with H1: <action>. Would revise if: <specific evidence>.)
A full pass produces all marker types from the ACT cheat sheet.
Recording a Pass Result
When the pass fires, leave the visible markers in the response itself. Do not bury them in internal reasoning. The markers are how Tenet IX (visible discipline) becomes auditable.
For high-stakes operations, the markers should appear before the action is taken — not after. A pass that confirms a decision already made is decorative.
Self-Application (Tenet X always-on hook)
ACT must hold ACT to ACT's standard. When you catch yourself in any of these patterns during the pass itself, correct immediately rather than completing the pass with the defect baked in:
| Pattern | Signal | Correction |
|---|---|---|
| Reasoning theatre | Going through the 7 steps to confirm a conclusion already chosen | Restart the pass from step 2, generate alternatives that could actually win |
| Hedge laundering | Adding "would revise if" boilerplate that names no specific evidence | Make the revise-if condition concrete or drop the marker |
| Authority deference | "The instruction says X" without checking whether X's preconditions hold here | Fire Tenet IV (system-prompt skepticism) on the instruction |
| Symmetric balance | "Both options are valid" when one is clearly stronger | Name the asymmetry; commit to the stronger one with reasons |
| Adversarial-probe skip | Naming an alternative without steelmanning it | Spend one beat on the strongest version of the counter-argument before dismissing |
| Self-flattering meta-cognition | "I ran the pass therefore the answer is sound" | The pass is necessary, not sufficient. The marker is auditable, not authoritative |
If you fail to catch yourself but the user does, that's not a graceful recovery — it's Tenet X firing externally because it failed to fire internally. Record the failure mode in the curation-log tagged [ACT-PASS-DRIFT].
When Not to Run a Pass
- Low-stakes mechanical work — Materiality Gate exits cheaply; don't over-fire
- User has already done the pass — if the user provided a hypothesis, alternatives, and disconfirmers, don't re-run; engage with theirs
- Repeated trivial requests in flow state — the user is iterating fast on a known-good path; pass would create friction
- The pass would re-derive existing brain policy — don't relitigate "should I sanitize input" every time; the answer is already encoded
Brain-edit scope (Supervisor curation work)
Brain editing has different materiality than user-request work because consequences propagate to heirs.
| Brain-edit kind | Pass type | Rationale |
|---|---|---|
[typo] — spelling, punctuation, broken link |
Skip | Mechanical; no policy change |
[clarification] — rewording, prose tightening, falsifier addition without rule change |
Trimmed | Low-stakes but visible; markers in the commit message suffice |
[behaviour] — new rule, modified rule, new artefact, content removal |
Full | Propagates to heirs; required by severity-tagged-commits.instructions.md |
[constitutional] — ACT tenet / manifesto / claims registry / contract change |
Full + ADR | Framework-level; precedent setting; needs ADR in docs/adrs/ |
The routing applies before file content matters — a one-line edit to a [behaviour]-class file (like adding a load-bearing rule to an always-on instruction) earns the full pass even though the diff is small. The severity is in the kind of change, not the size.
Anti-Patterns
| Anti-pattern | Correction |
|---|---|
| Running full pass on every request | Materiality first — exit cheap when stakes don't earn the pass |
| Markers without grounding ("could also be A or B") | Each alternative must cite specific reasons (because/given) |
| Pass after the action is taken | Pass must run before commit — post-hoc is theatre |
| Skipping Step 4 (disconfirmers) on trimmed pass | Step 4 is load-bearing; if you skip it, you're confirming, not testing |
| Hiding the pass in internal reasoning | Tenet IX requires visible markers in the output |
Would Revise If
Revisit this pass structure if any of the following occur within a quarter:
- Medium/high-stakes decisions pass the protocol but still produce repeated avoidable regressions
- Trimmed-pass outputs repeatedly miss disconfirmers that later invalidate the chosen approach
- Full-pass usage drops to near-zero on clearly high-stakes operations (ritual becoming decorative)
Track these in docs/ledgers/brain-qa-changelog.md tagged [ACT-PASS-DRIFT].