# /apply — Apply Proposals

Review and apply intelligence proposals generated by /scan. Uses atomic operations with rollback safety.

## When to Use
- After /scan generates proposals in `intelligence/proposed/`
- During weekly triage sessions
- When proposals have been manually reviewed and approved

## How to Run

### Dry Run (recommended first)
```bash
python3 maintenance/apply_engine.py P-20260213-001 "${MIND_MEM_WORKSPACE:-.}" --dry-run
```

### Apply a Proposal
```bash
python3 maintenance/apply_engine.py P-20260213-001 "${MIND_MEM_WORKSPACE:-.}"
```

### Rollback to Snapshot
```bash
python3 maintenance/apply_engine.py --rollback 20260213-143052 "${MIND_MEM_WORKSPACE:-.}"
```

## Safety Protocol
1. **Always dry-run first** — See what would change before applying
2. Engine takes a state snapshot before any mutations
3. If any post-check fails, all changes roll back automatically
4. Applied proposals produce a receipt in `intelligence/applied/<timestamp>/APPLY_RECEIPT.md`
5. Rejected proposals are marked with reason

## Proposal Types
- `DECISIONS_PROPOSED.md` — New decisions to formalize
- `TASKS_PROPOSED.md` — New tasks to create
- `EDITS_PROPOSED.md` — Edits to existing blocks (supersede, status change)

## Triage Actions
- **ACCEPT** — Apply the proposal
- **DEFER** — Revisit later (stays in proposed)
- **REJECT** — Dismiss with reason
