Verify your machine
Complete installation first. Use an allowed folder with no private test data.
Verify a fresh Claude Code session
Section titled “Verify a fresh Claude Code session”Start the guided check:
itera-learning verify start claude-codeThe command prints one synthetic prompt. Paste it into a new Claude Code or Claude Desktop Code session. Wait for the response and close that session.
Then run:
itera-learning verify finishRequire MACHINE_CAPTURE_OK.
Verify a fresh Codex session
Section titled “Verify a fresh Codex session”itera-learning verify start codexPaste the printed prompt into a new Codex session. Wait for the response and close that session.
itera-learning verify finishRequire MACHINE_CAPTURE_OK.
verify finish prints network progress immediately and every 10 seconds.
Network retries can take up to 60 seconds.
The finish command checks all of these controls:
- One unique session contains the synthetic marker.
- The session has
turn-endandSessionEnd. - The shipped episode uses schema version 2 and agent 0.4.4.
- The final agent output is present.
- The engine acknowledged the full batch.
The command checks captured text in memory without printing it. It skips and counts permanent invalid historical NDJSON lines. Those lines cannot block a fresh positive result.
Repair old invalid spool lines
Section titled “Repair old invalid spool lines”Agent 0.4.1 can produce invalid JSON when redaction reaches an escaped quote. Version 0.4.2 and later prevent new occurrences.
Close Claude Code and Codex. Then run:
itera-learning repair-spoolThe command keeps exact originals and invalid lines in a private quarantine. It preserves shipped episode IDs and keeps all valid spool lines active.
Verify the local monitor
Section titled “Verify the local monitor”itera-learning monitorOpen http://127.0.0.1:5173 in a new browser tab. Check these items:
- The Activity page is visible and the browser console has no uncaught error.
- The fresh test has a shipped row with its timestamp and batch count.
- The Consent tab agrees with
itera-learning consent list. - The Ship journal uses 50-row pages.
- Network requests stay on the loopback origin.
An HTTP 200, a page title, or an empty page does not prove a working render.
Open a remote monitor through SSH
Section titled “Open a remote monitor through SSH”Run the agent and monitor on the host that runs the coding CLI.
Keep the monitor bound to 127.0.0.1.
Forward that loopback port from your laptop:
ssh -N -L 127.0.0.1:5173:127.0.0.1:5173 user@hostThen open http://127.0.0.1:5173 on the laptop. The page reads the remote host’s state.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Action |
|---|---|
itera-learning is missing | Reopen the terminal and check the npm global binary directory. |
update is unknown on 0.4.1 | Run the one-time command on the update page. |
Missing SessionEnd | Run itera-learning update, then start a new verification session. |
| Codex has no capture | Run itera-learning install codex. Start Codex, review /hooks, and trust the three Itera hooks. |
| Invalid consent ledger | Run itera-learning consent verify, then repair the reported syntax or access problem. |
| Invalid historical spool lines | Run itera-learning repair-spool while capture clients are closed. |
| Expired DFL session | Run dfl-auth login, then repeat verify finish. |
| Port 5173 is occupied | Run itera-learning monitor --port 5194. |
Record the operating system, coding client version, source, protocol episode ID, and the complete MACHINE_CAPTURE_OK line.
One operating-system result does not certify another operating system.
Return to installation or consent and privacy.