Runtime, replay, fleet, and frontier-control surface for predictive descendants built on top of decepticons.
- Tracks experiments from any model family, stores them in SQLite, and keeps legality/trust state attached to results
- Analyzes curves and frontiers with saturation, marginal ranking, velocity, and ablation-board views
- Runs the search loop through manifest-driven fleet dispatch, drain, result pull-back, and auto-deepen/control surfaces
- Exposes runtime state to agents through an MCP server, terminal observer, and HTTP runtime dashboard
Chronohorn is family-agnostic at the runtime layer. Family-specific mutation policy lives under python/chronohorn/families/<name>/; the shared mechanism layer stays in the sibling decepticons repo.
# Monorepo dev install: shared kernel first, then runtime
python3 -m pip install -e ../decepticons
python3 -m pip install -e .
# Ingest results and view the observer/dashboard
chronohorn observe serve --result-dir out/results
# Emit a family-owned scan manifest
chronohorn fleet emit-family-matrix --family causal-bank --regime gated-retention
# Full daemon: drain + fleet probe + observer + MCP
chronohorn runtime --manifest manifests/frontier_gated_retention.jsonl
# CLI help
chronohorn --helpChronohorn exposes a stateful MCP surface for experiment querying, frontier analysis, ablation tracking, fleet control, saturation detection, learning-curve comparison, and manifest/runtime management. The exact tool set changes with the runtime; the live registry is in python/chronohorn/mcp.py. Run chronohorn mcp for stdio transport. See .mcp.json for a client configuration example.
The intended split is:
decepticons -> chronohorn -> heinrich
kernel runtime evidence / audit
decepticonsowns reusable mechanisms, config validation, and export-friendly kernel surfaceschronohornowns training, replay, scoring, scan emission, fleet execution, and runtime controlheinrichis outside the runtime path and owns external evidence packaging
See docs/REPO_BOUNDARY.md and docs/STACK.md for the promoted boundary.
The repo has a few different kinds of material that matter for different reasons:
- docs/README.md points to canonical live docs vs historical docs
- manifests/README.md explains named regimes, generated queue files, and archive intent
- state/README.md explains the tracked runtime snapshot and handoff files
- scripts/README.md explains which scripts are wrappers vs maintenance utilities
Create a package at python/chronohorn/families/<name>/ implementing the FamilyTrainingAdapter protocol. The registry auto-discovers it — no manual registration. See CLAUDE.md for the full protocol reference and conventions.
The active causal-bank search is organized around cheap O(n) architecture screening before promotion:
10krapid ablation lanes for mechanism screening- scale/context survival rows aimed at pushing the frontier toward
1.0 - primary learned-substrate experiments around
gated_delta - VRAM-tier-aware fleet placement so small CUDA rows can prefer the smallest sufficient GPU lane
Current manifests live under manifests/, and current results/launch state live under out/results/ and out/fleet/.
MIT — see LICENSE.
