manual page/ ADRs
ADR-0172 - Reversible harness economy setup
Context
Skills load on demand. They cannot govern routine chat before activation. Codex, Claude Code, and
OpenCode each expose user-level instruction files, but their paths and precedence differ
[CODEXGLOBAL]
[CLAUDEDIR]
[OPENCODERULES]. npx skills installs skills; it does not
install a global interaction policy.
The CLI currently has one read-only verb. Global setup therefore requires a deliberate boundary change, not mutation hidden inside package or skill installation.
Decision
- Add explicit setup plumbing.
suspec setup <harness>...installs, checks, previews, or removes the economy policy for explicitcodex,claude-code, andopencodetargets. It never detects or guesses targets and never reads stdin. - Human authority survives convenience. Detection, dry-run, and check are non-mutating. Install
and removal require target-specific owner approval plus
--yes. - One canonical payload, generated runtime bytes.
corpus/policy/economy.mdowns the contract. The CLI checks in a generated module with the current bytes, source digest, version, and retained recognized version/hash pairs. Source and packaged binaries consume the same generated module. - Own fragments, not files. Setup mutates only marked Suspec spans in documented user-level instruction files. It refuses drift, links, special files, foreign owners, unsafe paths, ambiguous precedence, and unrecognized payloads. Removal restores the exact original bytes.
- Be honest about enforcement.
--checkproves user-level installation and unambiguous documented precedence. Project, managed, and separately combined instructions can override it. Setup never claims hard enforcement or adversarial same-user filesystem security. - Keep checking separate.
suspec check, its contract, and its exit meanings do not change. Setup has its own versioned JSON envelope. MCP exposes no setup, storage, or mutation surface. - Touch no repository. Setup resolves only fixed user-level locations under the home directory. It adds no registry, daemon, telemetry, hook, output style, project file, or cleanup service.
Narrowed decisions
- ADR-0140: skills remain the workflow product; setup is non-authoritative communication-policy installation, not a method carrier.
- ADR-0143 and
ADR-0165:
checkremains path-explicit and read-only; the CLI gains one isolated user-setup verb. - ADR-0151: setup creates no agent, role, projection, or artifact.
- ADR-0169 and ADR-0170: the no-runtime default stands for methods; witnessed global waste justifies this narrow installer.
Consequences
- Full local installation has three explicit parts: CLI, skills, and economy setup.
- The checker contract and MCP remain boring. Good.
- Unsupported or ambiguous harness states fail closed instead of receiving a confident lie.
Status
Accepted (2026-08-08). Narrows ADR-0140, ADR-0143, ADR-0151, ADR-0165, ADR-0169, and ADR-0170.
Need a starting point? Install the skills