# Objective Guard actors and surfaces

## Actors

### ACT-01 — Programming agent

- [Inference] Edits files, executes tools, consumes findings, and fixes violations.
- [Inference] Can start a session, request explanation, or present evidence.
- [Ambiguity] The first supported harness will be decided when implementing the hook.

### ACT-02 — Supervising developer

- [Inference] Declares or confirms objectives and criteria.
- [Inference] Approves exceptions or sensitive expansions.
- [Inference] Inspects final results and reproduces findings.

### ACT-03 — Module owner

- [Inference] Maintains local policies, public contracts, and focused commands.
- [Inference] Defines sensitive zones without exhaustively describing the entire module.

### ACT-04 — Platform team

- [Inference] Installs hooks, integrates CI, and controls permissions, timeouts, and global policies.
- [Inference] Reviews runtime errors and detector quality.

### ACT-05 — Researcher or evaluator

- [Inference] Consumes passive events, builds datasets, and validates statistical signals.
- [Inference] Does not modify thresholds after observing the confirmatory set.

## Surfaces

### SUP-01 — Edit-triggered hook

- Primary actor: ACT-01.
- Timing: after writing or editing a file.
- Input: file, content, and diff against baseline.
- Output: compact delta of new findings.
- Trust: [Inference] defined by MVP; not implemented.

### SUP-02 — Local CLI

- Actors: ACT-01, ACT-02, and ACT-04.
- Planned operations: check, finding detail, status, session, and final mode.
- Outputs: budgeted text or stable JSON.
- Trust: [Inference].

### SUP-03 — Session contract

- Actors: ACT-01 and ACT-02.
- Content: type, objective, criteria, scope, sensitive zones, and invariants.
- Trust: [Inference]; external format still [Ambiguity].

### SUP-04 — CI integration

- Actors: ACT-04 and ACT-02.
- Input: commit, contract, and versioned policies.
- Output: reproducible verdict and evidence artifact.
- Trust: [Inference].

### SUP-05 — Local storage

- Actors: all indirectly.
- Content: fingerprints, sessions, cache, evidence, and JSONL events.
- Trust: [Inference].

### SUP-06 — Offline scientific report

- Primary actor: ACT-05.
- Input: anonymized or local events and benchmark labels.
- Output: calibration, comparison with baselines, and falsification.
- Trust: [Inference].

### SUP-07 — Documentary guard

- Primary actor: ACT-04.
- Command: `node scripts/validate-docs.mjs`.
- Output: `PASS` or `BLOCK` with structural non-compliance.
- Trust: [Fact] backed by `scripts/validate-docs.mjs`.

## Relations

```text
ACT-01 → SUP-01/SUP-02/SUP-03
ACT-02 → SUP-02/SUP-03/SUP-04
ACT-03 → policies consumed by SUP-01/SUP-04
ACT-04 → installs and governs SUP-01/SUP-04/SUP-05
ACT-05 → consumes SUP-05 through SUP-06
```

## Ambiguities

- [Ambiguity] No graphical UI was defined.
- [Ambiguity] No standard protocol for integration with all agents was chosen.
- [Ambiguity] It was not decided whether approvals live in a file, service, or external platform.
