# AGENTS

## Project intent

Intent Petri is a Pi coding-agent extension that maintains a human-oriented intent and action map. The main graph represents goals, conditions, actions, gates, evidence, and execution flow—not raw tool or code activity.

## Product rules

- Keep Workflow Net Core separate from Attention View state.
- Never present hidden reasoning or claim access to chain-of-thought.
- Tool calls and logs stay in the evidence layer unless they change a condition, gate, uncertainty, declared path, or completion claim.
- Near actions must carry why-now, expected evidence, exit condition, and failure behavior when declared-path data is available.
- Preserve provenance across human corrections, observed facts, agent declarations, and observer inference.
- Structural graph changes must be revisioned, atomic, idempotent, and replayable.
- Phase 1 is single-agent and single-token. Do not add split/join semantics without an explicit design update.

## Toolchain

Prefer `nub` over node, bun, npm, npx, pnpm, and yarn:

- Run files with `nub <file>`.
- Run package scripts with `nub run <script>`.
- Run installed CLIs with `nubx <tool>`.
- Install dependencies with `nub install` / `nub add`.
- Use `nub --node <file>` only for strict unaugmented Node compatibility checks.

## Verification

Before reporting a change complete:

1. Run type checking.
2. Run unit tests.
3. Run package validation.
4. Smoke-load the extension with Pi when the change touches extension wiring or UI.
