Capture README Orloj in Action Media
This guide documents the reproducible workflow for generating the README media assets used in the Orloj in Action section.
The capture pipeline targets the frontend web console (not docs pages) and outputs assets to docs/public/readme/.
Prerequisites
- Repository root as current working directory
- Built binaries (
orlojd,orlojctl) or Go toolchain available for fallback build - Python packages:
playwrightPillow
- Playwright Chromium runtime:
python3 -m playwright install chromiumOne-Command Capture
From repo root:
scripts/capture_readme_media.shWhat the script does:
- Starts
orlojdin deterministic local mode (memory,sequential, embedded worker). - Applies
testing/scenarios-real/01-pipelineby default. - Waits for:
agent-systems/<system>to reachReadytasks/<reference-task>to reachSucceeded
- Captures fixed UI routes via Playwright and writes:
docs/public/readme/dashboard-overview.pngdocs/public/readme/system-topology.pngdocs/public/readme/task-detail-graph.pngdocs/public/readme/task-trace-logs.pngdocs/public/readme/task-run-lifecycle.gif
Capture Targets and Sizing
- Screenshot viewport:
1728x1080(desktop-oriented) - GIF output size:
960x540 - Theme: light mode
- Locale:
en-US
The scripts intentionally keep names stable so README links do not need to change.
Default capture inputs are controlled by env vars in scripts/capture_readme_media.sh:
ORLOJ_CAPTURE_MANIFEST_DIR(defaulttesting/scenarios-real/01-pipeline)ORLOJ_CAPTURE_NAMESPACE(defaultrr-real-pipeline)ORLOJ_CAPTURE_SYSTEM(defaultrr-real-pipeline-system)ORLOJ_CAPTURE_REFERENCE_TASK(defaultrr-real-pipeline-task)ORLOJ_CAPTURE_READY_TIMEOUT(default2m)ORLOJ_CAPTURE_TASK_TIMEOUT(default3m)
Naming Convention
dashboard-overview.png: Control-plane overviewsystem-topology.png: AgentSystem resource tree/topology viewtask-detail-graph.png: Task detail with graph tabtask-trace-logs.png: Task detail with logs/trace contexttask-run-lifecycle.gif: Task lifecycle (created -> running -> succeeded)
Redaction and Safety Rules
- Use safe demo task input only.
- Do not capture personal usernames, hostnames, or secrets.
- Keep auth in
offmode for capture runs. - If any sensitive text appears, regenerate after clearing local state.
Quality Gate Checklist
Before committing refreshed media:
- Confirm all five media files were regenerated in
docs/public/readme/. - Confirm README images render in GitHub markdown preview.
- Confirm status and UI text are legible on desktop and mobile widths.
- Keep combined media payload reasonably small (target under ~8 MB total).