---
name: inspect
description: Inspect AI work — diffs, tool traces, mill receipts, CI. Factory mill plant. Not 45/42 costume.
---

# Inspect

This mill **fastens** a suit for **inspecting AI work**. Not an empty suit. Not a copy of 0xRay's 45/42 costume.

Mill **does** these checks (`npx @0xray/foundry inspect`). Mint fails on a costume dump. Live PUT GETs the `.tgz`. Isolated HOME refuses `~/.grok/plugins/0xray`. Not an 8th MCP.

## What mill inspects

1. **Diff.** `git status` / `git diff --stat` of the milled cwd. Ignore the agent's summary if the diff disagrees.
2. **Plant vs worn.** `src/skills`, `src/opencode/agents` vs `.opencode/skills`, `.opencode/agents`. Same name: plant wins. Shop plant (`shop-extract`, `shop-witness`, `shop-pin`, plus `foundry.json` `shopPlant`) is first-class with mill plant. Sound plant (`sound`, `sound-inspect`, `sound-mixer`) is first-class when `foundry.json` `"plant": "sound"` (mill may be off). Blip plant (`blip`, `blip-inspect`) is first-class when `foundry.json` `"plant": "blip"` (mill may be off). Costume dump (worn names they did not plant, mill did not fasten, sound did not fasten, blip did not fasten, and shop plant did not name) fails mint unless `foundry.json` has `"costume": true`.
3. **Mill receipt.** `.xray/foundry-inventory.json` — mill name/version, `suit` (`fastened` / `overlay` / `costume`), `plant`. Mill seats: `millPlant.skills` must include `mill` and `inspect`. Sound seats: `soundPlant.skills` must include `sound`, `sound-inspect`, and `sound-mixer`; last bed receipt is a separate check. Blip seats: `blipPlant.skills` must include `blip` and `blip-inspect`; last blip receipt is a separate check.
4. **CI.** GitHub mill CI report (`.opencode/logs/ci-cd-monitor-report.json`), not a green check in chat. No token is a skip, not a pass invented.
5. **Live PUT.** HTTP 200 on the npm `.tgz`. Metadata without a tarball is not shipped.
6. **Isolated HOME.** Last-mile dest is project `.grok/plugins/0xray`. Isolated HOME may wear `$HOME/.grok/plugins/0xray` and must not write machine `~/.grok/plugins/0xray`. Shared HOME (passwd `$HOME`) does not last-wins clobber the machine plugin. Mill compares `$HOME` to the passwd home (`os.userInfo().homedir`), not `os.homedir()` (which follows `$HOME`).
7. **Harness (observational).** Bound Cursor/Grok hooks, fastened Repertoire organ, Station card. Profiles: `bare` / `suited` / `partial`. Does **not** fasten. `--go` prints a forge GO receipt so cloud return is mill, not chat. `--require-harness=bare|suited|partial` fails when the live plant disagrees.

## How to work

- Open the files. Quote paths. Do not invent a pass.
- Constitution stays on (Codex 11 / 69 / destructive). Inspecting is not a license to add an 8th MCP.
- Factory Repertoire is the organ, not the inspection.
- Fasten their plant on top; do not dump our costume.

```bash
npx @0xray/foundry mint
npx @0xray/foundry inspect
npx @0xray/foundry inspect --skip-live --go --require-harness=bare
npx @0xray/foundry ci --report
```

CLI `mint` runs inspect after overlay (exit 1 if inspect fails). Postinstall mint does not; `--skip-live` skips the tarball GET. Chat is not a receipt.
