ouroboros/devtools
Ouroboros 24c94714c0 feat(rotation): generalize jsonl log rotation and rotate progress.jsonl
rotate_chat_log_if_needed becomes a thin wrapper over the generalized
rotate_jsonl_log_if_needed(drive_root, name, archive_prefix, max_bytes), which
keeps the atomic os.replace under the append sidecar lock, suppresses itself
in .ouroboros_isolated_benchmark data roots (bench harnesses read trial-local
single files), and avoids same-second archive-name collisions with a suffix
that still sorts chronologically. progress.jsonl now rotates on the same
supervisor tick as chat. Log archives are durable history: no GC/retention
sweep touches archive/ (verified: retention.py governs worktrees, task drives
and service logs only).

The TB ATIF trajectory builder reads the full archive chain (oldest-first +
live) for progress and chat, since not every harness writes the suppression
sentinel.
2026-08-08 06:48:25 +03:00
..
benchmarks feat(rotation): generalize jsonl log rotation and rotate progress.jsonl 2026-08-08 06:48:25 +03:00
__init__.py feat(devtools-benchmarks): add official benchmark harnesses and workspace executor 2026-06-06 12:03:30 +03:00
README.md feat(devtools-benchmarks): add official benchmark harnesses and workspace executor 2026-06-06 12:03:30 +03:00

Ouroboros Devtools

devtools/ contains operator-side and benchmark support code that should be versioned with Ouroboros without becoming part of the runtime core.

Rules:

  • Generated logs, datasets, run outputs, Docker layers, and secrets do not live here.
  • Default benchmark outputs go under /Users/anton/Ouroboros/bench_runs/.
  • Runtime modules must not import devtools.
  • This is not an immune-system bypass: touched files are reviewed normally.
  • Promote code out of devtools only through a separate reviewed runtime plan.