- watchdog.py: tier0 auto-recovery (3 retries, 1h cooldown, audit trail) — pending Ganymede review
- stale_pr.py: new module, closes extraction PRs open >30 min with zero claims
- deploy.sh: expanded with new deployment features
- validate.py, extract.py, cascade.py, db.py: minor fixes
- backfill-descriptions.py: utility script
- review_queue.py: minor fix
Note: watchdog + stale_pr not yet deployed to VPS (reverted after missing import crash)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- lib-state.sh: all 7 functions now use os.environ instead of string interpolation
- deploy.sh: syntax checker uses sys.argv[1] instead of '$f' interpolation
- research-session.sh: per-command auth header instead of credential helper,
tweet parsers use sys.argv instead of '$OUTFILE' interpolation
- state_end_session: now writes pr_number to session JSON via env var
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Imports 67 files from VPS (/opt/teleo-eval/) into repo as the single source
of truth. Previously only 8 of 67 files existed in repo — the rest were
deployed directly to VPS via SCP, causing massive drift.
Includes:
- pipeline/lib/: 33 Python modules (daemon core, extraction, evaluation, merge, cascade, cross-domain, costs, attribution, etc.)
- pipeline/: main daemon (teleo-pipeline.py), reweave.py, batch-extract-50.sh
- diagnostics/: 19 files (4-page dashboard, alerting, daily digest, review queue, tier1 metrics)
- agent-state/: bootstrap, lib-state, cascade inbox processor, schema
- systemd/: service unit files for reference
- deploy.sh: rsync-based deploy with --dry-run, syntax checks, dirty-tree gate
- research-session.sh: updated with Step 8.5 digest + cascade inbox processing
No new code written — all files are exact copies from VPS as of 2026-04-06.
From this point forward: edit in repo, commit, then deploy.sh.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>