Quick start
This content is for 0.1. Switch to the latest version for up-to-date documentation.
This walkthrough uses command mode on a supported Linux host and a plaintext HTTP/1.1 application. Replace ./my-app with the application you want to supervise.
Check the host
Section titled “Check the host”chronicle doctorFix reported platform, cgroup, BTF, capability, or embedded-program issues before recording. doctor does not mutate the host.
Record behavior
Section titled “Record behavior”chronicle record --name checkout -- ./my-appChronicle attaches capture first, then starts the application. Recording stops when the application exits, you press Ctrl+C, or an explicit --duration expires. While it runs, send representative requests from another terminal.
Without an explicit --duration, recording continues until the application exits or is stopped. Per epoch, the physical WAL ceiling is 4 GiB; a parent recording has no total-WAL cap.
Find the recording
Section titled “Find the recording”chronicle listchronicle inspect checkoutRecordings can be addressed by latest, rec_<uuid>, a bare UUID, or an exact name. inspect summarizes endpoints, operations, loss warnings, and replay eligibility without printing captured bodies or arbitrary header values.
Replay into a fresh copy
Section titled “Replay into a fresh copy”chronicle replay checkout -- ./my-appCommand mode plans before spawning the target, discovers one owned loopback listener, and replays only after target-independent policy checks pass. It automatically grants execution and read effects for the owned listener; writes and other effects stay denied unless explicitly authorized.
For an already-running application, use explicit target mode only with a loopback IP literal and all required gates:
chronicle replay checkout \ --target http://127.0.0.1:8080 \ --allow-host 127.0.0.1 \ --allow-read \ --executeAdd --allow-write only when the recording and target are prepared for write effects. Chronicle never uses the recorded production destination as a fallback.
Inspect machine-readable results
Section titled “Inspect machine-readable results”All public commands accept the global format option:
chronicle --format json listchronicle --format json inspect checkoutchronicle --format json replay checkout -- ./my-appJSON output is rendered after the bounded operation completes. Use it for tooling; keep human output for interactive diagnosis.