From predicate
Defines sufficiency conditions for Initial Boundary Conditions (IBCs) and provides a cheap-tier refinement loop for prompt boundaries before expensive model calls.
How this skill is triggered — by the user, by Claude, or both
Slash command
/predicate:boundaryThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill defines what every Initial Boundary Condition (IBC) MUST possess
This skill defines what every Initial Boundary Condition (IBC) MUST possess before an expensive walk is launched from it, and the cheap-tier refinement loop that manufactures such boundaries.
The key words "MUST", "MUST NOT", "SHOULD", and "MAY" are to be interpreted as described in BCP 14 (RFC 2119, RFC 8174).
A good IBC is not one that maximizes the probability the walk succeeds. It is one that makes the failure modes cheap and early. A wrong frame can never be fully prevented at authoring time; what can be guaranteed is that the walk detects and rejects it in its first few hundred tokens instead of its last fifty thousand.
This follows from the cost asymmetry of cascade control: iterating in boundary-space (cheap models + human revising a prompt document) costs orders of magnitude less than iterating in trajectory-space (re-running an architect-class walk). Error-correction iterations therefore belong in the cheap outer loop. The expensive walk should launch from a fixed point $\text{IBC}^*$ of the cheap refinement mapping and run as close to one-shot as the task allows.
The most expensive failure mode of a high-capability walker is a confidently-wrong frame: long-horizon coherence builds a large, internally consistent structure on a false premise without the local error signals that would trip a weaker model into visible incoherence. Premise verification before the expensive call has the highest leverage-per-token of any activity in the system.
A micro-specified boundary induces a compliance posture: the walk optimizes for letter-satisfaction of the rubric and produces rubric-satisfying, goal-missing output. A boundary that grants explicit discretion over its delegated questions ("these calls are yours; log your reasoning") shifts the optimization target from satisfy the spec to achieve the goal under constraints. The partnership dyad is structural, not sentimental:
An IBC whose delegated set is empty wastes an architect on typist work. An IBC whose delegated set is unbounded is a gamble, not a delegation.
An IBC is sufficient when it satisfies all seven conditions below. Each condition is independently checkable; adversarial reviewers in the refinement loop MUST cite the violated condition by ID when raising an objection.
Every premise the IBC asserts about the world MUST be stated so that the receiving walker can verify or refute it against primary sources at low token cost, and SHOULD name the exact check (command, file:line, document section).
❌ "The auth module is well-tested." ✅ "
auth/session_test.gocovers token expiry; verify withgo test ./auth/ -run TestExpiry."
Rationale: what reliably triggers early fallback in a capable walker is a verifiable contradiction between frame and world — vague unease does not. A falsifiable premise is a manufactured tripwire.
The IBC MUST state that rejecting the frame is a success condition, and MUST define the rejection report format: which premise failed, the refuting evidence, and what the boundary loop should reconsider. The receiving walker's first obligation is a premise audit against S1's tripwires; on failure it MUST emit the rejection report and freeze rather than proceed.
Rationale: if halting has no genre, the walk invents continuation. An explicit low-energy path to "no" is what makes early fallback reachable.
Every question in scope MUST belong to exactly one of three sets:
| Set | Meaning | Obligation |
|---|---|---|
| RESOLVED | Answered during boundary refinement | Evidence attached (S1-grade) |
| DELEGATED | The walker's to answer — where the expensive tokens go | Discretion granted; reasoning logged |
| RESERVED | The human's to decide | Encountering one is a halt predicate, stated as a predicate |
A question that fits none of the sets is an unresolved unknown: the IBC is not sufficient and MUST NOT be dispatched. Genuinely architectural questions MUST NOT be fake-resolved at the cheap tier; ambiguities MUST NOT be left for the expensive tier.
Every constraint and every acceptance criterion MUST name the strongest affordable deterministic evaluator that checks it, selected from the evaluator hierarchy:
machine-checked proof > type system > property test > example test > linter > decorrelated adversarial review > [human: escalation only]
In domains with formal models, a theorem statement is the perfectly saturated acceptance criterion — the boundary contains its own evaluator (see formal-foundations). A constraint with no evaluator attached is an exhortation, not a constraint, and MUST be either grounded or moved to the rubric as a qualitative goal.
Context MUST be supplied as pointers and verbatim excerpts — file paths, line ranges, exact commands, quoted spec clauses — never as paraphrase. The boundary author's job is selection; the walker reads primary sources directly. A summary written by a cheaper model injects its misreadings as ground truth, moving the hallucination upstream where the walker cannot detect it.
The IBC MUST partition its clauses into:
A boundary with no plastic region cannot survive contact with reality; a boundary with no load-bearing region is not a boundary. Amendments to plastic clauses MUST be logged where the dispatching loop can read them (see campaign RECONCILE).
Boundary mass MUST scale inversely with walker capability. Weaker walkers do not need fewer constraints — they need a smaller, prioritized boundary: rule overload causes silent prioritization failure (the walker drops invariants it cannot rank).
/boundary manufactures $\text{IBC}^*$ as the fixed point of a cheap
contraction mapping. It is a meta-application of the
refine loop where CTX.TARGET_ARTIFACTS is the IBC
document itself; the machinery (ledger discipline, adversarial sweeps,
grounded critique, convergence bounds) is inherited rather than restated.
DRAFT ──→ ATTACK (adversarial sweep against S1–S7)
ATTACK ─→ REVISE (grounded objections found)
└─→ APPROVE (zero grounded objections; human gate)
REVISE ─→ ATTACK (loop)
APPROVE ─→ DISPATCH (human approves IBC*; expensive walk launches)
└─→ DRAFT (human rejects; reframe)
AGENTS.md is the persistent project-scope boundary: the durable anchor a zero-context agent orients from before any walk begins. It is the slow-changing record of goal, requirements, constraints, and known-unknowns that the per- dispatch IBC (S1–S7 above) is projected from.
.scratch and is promoted deliberately at reconcile boundaries.Unknowns and requirements both move forward via the same carrier stack:
| Carrier | Role | Cadence |
|---|---|---|
| AGENTS.md | Persistent anchor — goal, R/I/C, unknowns | Slow-changing; synced at reconcile |
| Nickel context-map | Live carrier — active requirements + unknowns with grounding, last_validated, signpost markers; fail-loud on omission (last_validated is tracked but staleness enforcement is not yet implemented) | Per-walk |
Flight log (.ledger/log/) | Narrative/history — decisions, findings, pivots and their why | Append-only |
.scratch + sync | Volatile draft; promotes validated changes → AGENTS.md | Ephemeral |
Boundary-setting is the recurring self-conditioning operation, not a pre-flight checklist run once per campaign. It operates at three cadences:
npx claudepluginhub nrdxp/predicate --plugin predicateDefines epistemic boundaries per decision by probing task domains, enriching with context, and classifying as user-supplies, AI-proposes, or AI-autonomous into BoundaryMap.
Creates a Locked Intent Boundary artifact to fix human intent before planning, preventing agents from redefining goals. Use before any build/remove/replace/migrate/refactor task or when turning discussion into a master PRD.
Provides knowledge reference for Autonomous Refinement Loop (ARL) research on prerequisites, failure categories, and 10 machine-verifiable gates for human-out-of-the-loop (HOOTL) AI execution. Use when designing or evaluating autonomous agent loops and gate conditions.