diff --git a/diagnostics/PATCH_INSTRUCTIONS.md b/diagnostics/PATCH_INSTRUCTIONS.md deleted file mode 100644 index ccb21875b..000000000 --- a/diagnostics/PATCH_INSTRUCTIONS.md +++ /dev/null @@ -1,65 +0,0 @@ -# Alerting Integration Patch for app.py - -Two changes needed in the live app.py: - -## 1. Add import (after `from activity_endpoint import handle_activity`) - -```python -from alerting_routes import register_alerting_routes -``` - -## 2. Register routes in create_app() (after the last `app.router.add_*` line) - -```python - # Alerting — active monitoring endpoints - register_alerting_routes(app, _alerting_conn) -``` - -## 3. Add helper function (before create_app) - -```python -def _alerting_conn() -> sqlite3.Connection: - """Dedicated read-only connection for alerting checks. - - Separate from app['db'] to avoid contention with request handlers. - Always sets row_factory for named column access. - """ - conn = sqlite3.connect(f"file:{DB_PATH}?mode=ro", uri=True) - conn.row_factory = sqlite3.Row - return conn -``` - -## 4. Add /check and /api/alerts to PUBLIC_PATHS - -```python -_PUBLIC_PATHS = frozenset({"/", "/api/metrics", "/api/rejections", "/api/snapshots", - "/api/vital-signs", "/api/contributors", "/api/domains", - "/api/audit", "/check", "/api/alerts"}) -``` - -## 5. Add /api/failure-report/ prefix check in auth middleware - -In the `@web.middleware` auth function, add this alongside the existing -`request.path.startswith("/api/audit/")` check: - -```python - if request.path.startswith("/api/failure-report/"): - return await handler(request) -``` - -## Deploy notes - -- `alerting.py` and `alerting_routes.py` must be in the **same directory** as `app.py` - (i.e., `/opt/teleo-eval/diagnostics/`). The import uses a bare module name, not - a relative import, so Python resolves it via `sys.path` which includes the working - directory. If the deploy changes the working directory or uses a package structure, - switch the import in `alerting_routes.py` line 11 to `from .alerting import ...`. - -- The `/api/failure-report/{agent}` endpoint is standalone — any agent can pull their - own report on demand via `GET /api/failure-report/?hours=24`. - -## Files to deploy - -- `alerting.py` → `/opt/teleo-eval/diagnostics/alerting.py` -- `alerting_routes.py` → `/opt/teleo-eval/diagnostics/alerting_routes.py` -- Patched `app.py` → `/opt/teleo-eval/diagnostics/app.py` diff --git a/diagnostics/evolution.md b/diagnostics/evolution.md deleted file mode 100644 index 2f9830096..000000000 --- a/diagnostics/evolution.md +++ /dev/null @@ -1,84 +0,0 @@ -# Teleo Codex — Evolution - -How the collective intelligence system has grown, phase by phase and day by day. Maps tell you what the KB *contains*. This tells you how the KB *behaves*. - -## Phases - -### Phase 1 — Genesis (Mar 5-9) -Cory and Rio built the repo. 2 agents active. First claims, first positions, first source archives. Everything manual. ~200 commits, zero pipeline. - -### Phase 2 — Agent bootstrap (Mar 10-14) -All 6 agents came online. Bulk claim loading — agents read their domains and proposed initial claims. Theseus restructured its belief hierarchy. Entity schema generalized cross-domain. ~450 commits but zero automated extractions. Agents learning who they are. - -### Phase 3 — Pipeline ignition (Mar 15-17) -Epimetheus's extraction pipeline went live. 155 extractions in 2 days — the system shifted from manual to automated. 67 MetaDAO decision records ingested (governance history). The knowledge base doubled in density. - -### Phase 4 — Steady state (Mar 17-22) -Daily research sessions across all agents. Every agent running 1 session/day, archiving 3-10 sources each. Enrichment cycles started — new evidence flowing to existing claims. Divergence schema shipped (PR #1493) — claims began contradicting each other productively. ~520 commits. - -### Phase 5 — Real-time (Mar 23+) -Telegram integration went live. Rio started extracting from live conversations. Astra expanded into energy domain (fusion economics, HTS magnets). Infrastructure overhead spiked as ingestion scaled. Transcript archival deployed. The system went from batch to live. - -## Daily Heartbeat - -``` -Date | Ext | Dec | TG | Res | Ent | Infra | Agents active -------------|-----|-----|----|-----|-----|-------|------------------------------------------ -2026-03-05 | 0 | 0 | 0 | 0 | 0 | 0 | leo, rio -2026-03-06 | 0 | 0 | 0 | 0 | 0 | 0 | clay, leo, rio, theseus, vida -2026-03-07 | 0 | 0 | 0 | 0 | 0 | 0 | astra, clay, leo, theseus, vida -2026-03-08 | 0 | 0 | 0 | 0 | 0 | 0 | astra, clay, leo, rio, theseus, vida -2026-03-09 | 0 | 0 | 0 | 0 | 0 | 0 | clay, leo, rio, theseus, vida -2026-03-10 | 0 | 0 | 0 | 3 | 0 | 1 | astra, clay, leo, rio, theseus, vida -2026-03-11 | 0 | 0 | 0 | 7 | 0 | 30 | astra, clay, leo, rio, theseus, vida -2026-03-12 | 0 | 0 | 0 | 1 | 0 | 11 | astra, clay, leo, rio, theseus, vida -2026-03-13 | 0 | 0 | 0 | 0 | 0 | 0 | theseus -2026-03-14 | 0 | 0 | 0 | 0 | 0 | 26 | rio -2026-03-15 | 35 | 30 | 0 | 0 | 6 | 5 | leo, rio -2026-03-16 | 53 | 37 | 0 | 2 | 9 | 21 | clay, epimetheus, leo, rio, theseus, vida -2026-03-17 | 0 | 0 | 0 | 1 | 0 | 0 | rio -2026-03-18 | 81 | 0 | 4 | 12 | 17 | 18 | astra, clay, epimetheus, leo, rio, theseus, vida -2026-03-19 | 67 | 0 | 0 | 5 | 26 | 41 | astra, epimetheus, leo, rio, theseus, vida -2026-03-20 | 27 | 1 | 0 | 6 | 9 | 38 | astra, epimetheus, leo, rio, theseus, vida -2026-03-21 | 23 | 0 | 1 | 5 | 3 | 44 | astra, epimetheus, leo, rio, theseus, vida -2026-03-22 | 17 | 0 | 0 | 5 | 2 | 32 | astra, leo, rio, theseus, vida -2026-03-23 | 22 | 0 | 14 | 5 | 16 | 190 | astra, epimetheus, leo, rio, theseus, vida -2026-03-24 | 31 | 0 | 7 | 5 | 21 | 70 | astra, epimetheus, leo, rio, theseus, vida -2026-03-25 | 14 | 0 | 10 | 4 | 18 | 36 | astra, leo, rio, theseus, vida -``` - -**Legend:** Ext = claim extractions, Dec = decision records, TG = Telegram extractions, Res = research sessions, Ent = entity updates, Infra = pipeline/maintenance commits. - -## Key Milestones - -| Date | Event | -|------|-------| -| Mar 5 | Repo created. Leo + Rio active. First claims and positions. | -| Mar 6 | All 6 agents came online. Archive standardization. PR review requirement established. | -| Mar 10 | First research sessions. Theseus restructured belief hierarchy. Leo added diagnostic schemas. | -| Mar 11 | Rio generalized entity schema cross-domain. 7 research sessions in one day. | -| Mar 15 | Pipeline ignition — 35 extractions + 30 decision records in one day. | -| Mar 16 | Biggest extraction day — 53 extractions + 37 decisions. | -| Mar 18 | Peak research — 12 sessions. Clay's last active day (2 sessions). 81 extractions. | -| Mar 19 | Divergence schema shipped (PR #1493). Game mechanic for structured disagreement. | -| Mar 21 | Telegram integration — first live chat extractions. | -| Mar 23 | Infrastructure spike (190 infra commits) as ingestion scaled. Rio Telegram goes live at volume. | -| Mar 25 | Transcript archival deployed. Astra expanded into energy domain. | - -## Flags & Concerns - -- **Clay dropped off after Mar 18.** Only 2 research sessions total vs. 8 for other agents. Entertainment domain is under-researched. -- **Infra-to-substance ratio is ~2:1.** Expected during bootstrap but should improve. Mar 23 was worst (190 infra vs. 22 extractions). -- **Enrichment quality issues.** Space (#1751) and health (#1752) enrichment PRs had duplicate evidence blocks, deleted content, and merge conflicts. Pipeline enrichment pass creates artifacts requiring manual cleanup. - -## Current State (Mar 25) - -| Metric | Count | -|--------|-------| -| Claims in KB | 426 | -| Entities tracked | 103 | -| Decision records | 76 | -| Sources archived | 858 | -| Domains active | 14 | -| Agents active | 6 (Clay intermittent) | -| Total commits | 1,939 | diff --git a/diagnostics/pr-log.md b/diagnostics/pr-log.md deleted file mode 100644 index aa8247ee7..000000000 --- a/diagnostics/pr-log.md +++ /dev/null @@ -1,1224 +0,0 @@ -# Teleo Codex — Classified PR Log -# Generated 2026-03-25 by Leo (automated pass) -# -# Types: EXTRACT (claim extraction), NEW (new claims from agent), ENRICH (evidence added), -# DECISION (governance records), TELEGRAM (live chat), X_RESEARCH (X/Twitter), -# RESEARCH (source archival), SCHEMA (architecture changes), BELIEF (belief/position updates), -# CLAIM (early-phase claim files), SOURCE (source archives), FIX, AGENT (general agent work) -# -# Impact: HIGH (changes beliefs/opens territory), MED (adds evidence/data), LOW (maintenance) -# Total entries: 1211 -# -# Date | Type | Imp | Agent | SHA | Description -# ---------- | ------------ | ---- | ---------- | -------- | ---------------------------------------- -2026-03-05 | GENESIS | HIGH | - | e830fe4c | Initial commit: Teleo Codex v1 -2026-03-05 | OTHER | LOW | - | 3e0c6a31 | Add collective agent core and integrate agent personalities -2026-03-05 | OTHER | LOW | - | 5f96a9a1 | Note: personality layer may need separation from knowledge base -2026-03-05 | SOURCE | LOW | - | 1cea8bcc | Auto: inbox/archive/2026-02-21-rakka-sol-omnipair-rate-controller.md | 1 file changed, 27 insertion -2026-03-05 | SOURCE | LOW | - | 6f3896bb | Auto: inbox/archive/2026-02-16-kyojindoteth-omnipair-live.md | 1 file changed, 25 insertions(+) -2026-03-05 | SOURCE | LOW | - | 4c3fdf55 | Auto: inbox/archive/2026-02-17-daftheshrimp-omfg-launch.md | 1 file changed, 24 insertions(+) -2026-03-05 | BELIEF | HIGH | rio | 72fab419 | rio: enrich Omnipair position with early production evidence (Feb 2026) -2026-03-05 | BATCH | LOW | - | 6cca9367 | Auto: 3 files | 3 files changed, 3 insertions(+) -2026-03-05 | BATCH | LOW | - | 8455dd0a | Auto: 3 files | 3 files changed, 28 insertions(+) -2026-03-05 | SOURCE | LOW | - | ed98f94f | Auto: inbox/archive/2026-02-25-oxranga-solomon-lab-notes-05.md | 1 file changed, 25 insertions(+) -2026-03-05 | SOURCE | LOW | - | 23b2e18b | Auto: inbox/archive/2026-02-11-m3taversal-fluid-capital-stacks.md | 1 file changed, 29 insertions(+ -2026-03-05 | SOURCE | LOW | - | 09841a05 | Auto: inbox/archive/2026-02-17-metaproph3t-learning-fast.md | 1 file changed, 32 insertions(+) -2026-03-05 | CLAIM | MED | - | b5642e4e | Auto: domains/internet-finance/ownership coin treasuries should be actively managed through buybacks -2026-03-05 | CLAIM | MED | - | f50af515 | Auto: domains/internet-finance/futarchy-governed permissionless launches require brand separation to -2026-03-05 | CLAIM | MED | - | 7f1e91b8 | Auto: domains/internet-finance/dynamic performance-based token minting replaces fixed emission sched -2026-03-05 | NEW | HIGH | rio | c374f857 | rio: add 3 new claims, enrich 2 existing claims, archive 4 sources (Feb 2026 MetaDAO ecosystem) -2026-03-05 | BATCH | LOW | - | c1d8725f | Auto: 2 files | 2 files changed, 23 insertions(+) -2026-03-05 | SOURCE | LOW | - | 512150b2 | Auto: inbox/archive/2026-03-03-ranger-finance-liquidation-proposal.md | 1 file changed, 65 insertio -2026-03-05 | SOURCE | LOW | - | c4705946 | Auto: inbox/archive/2026-03-05-solomon-dp-00001-treasury-subcommittee-full.md | 1 file changed, 55 -2026-03-05 | CLAIM | MED | - | c29e42b1 | Auto: domains/internet-finance/futarchy-governed liquidation is the enforcement mechanism that makes -2026-03-05 | CLAIM | MED | - | f9002dc3 | Auto: domains/internet-finance/futarchy can override its own prior decisions when new evidence emerg -2026-03-05 | CLAIM | MED | - | 91f9d96d | Auto: domains/internet-finance/futarchy-governed DAOs converge on traditional corporate governance s -2026-03-05 | NEW | HIGH | rio | 6bc37c37 | rio: add 3 claims (Ranger liquidation, futarchy self-correction, corporate scaffolding convergence), -2026-03-05 | BATCH | LOW | - | d8f37b6b | Auto: 3 files | 3 files changed, 3 insertions(+) -2026-03-05 | FIX | MED | rio | e1e75e38 | rio: fix depends_on field on Mint Governor claim per Leo's review -2026-03-05 | SOURCE | LOW | - | 230c4cf4 | Auto: inbox/archive/2026-02-05-knimkar-ifs-investor-transition.md | 1 file changed, 25 insertions(+ -2026-03-05 | SOURCE | LOW | - | f08971f5 | Auto: inbox/archive/2025-01-07-theiaresearch-internet-finance-thesis.md | 1 file changed, 39 insert -2026-03-05 | SOURCE | LOW | - | 6970eaa0 | Auto: inbox/archive/2026-02-27-theiaresearch-metadao-claude-code-founders.md | 1 file changed, 24 i -2026-03-05 | SOURCE | LOW | - | be4e95b6 | Auto: inbox/archive/2026-02-25-ceterispar1bus-solo-founder-capital-formation.md | 1 file changed, 2 -2026-03-05 | SOURCE | LOW | - | 96479800 | Auto: inbox/archive/2026-02-17-theiaresearch-investment-manager-of-the-future.md | 1 file changed, -2026-03-05 | SOURCE | LOW | - | ad8191e8 | Auto: inbox/archive/2026-02-12-theiaresearch-2025-annual-letter.md | 1 file changed, 45 insertions( -2026-03-05 | CLAIM | MED | - | f5375305 | Auto: domains/internet-finance/LLMs shift investment management from economies of scale to economies -2026-03-05 | CLAIM | MED | - | 6227908a | Auto: domains/internet-finance/internet capital markets compress fundraising from months to days bec -2026-03-05 | CLAIM | MED | - | 5fc3c302 | Auto: domains/internet-finance/cryptos primary use case is capital formation not payments or store o -2026-03-05 | CLAIM | MED | - | 84b2c18d | Auto: domains/internet-finance/internet finance generates 50 to 100 basis points of additional annua -2026-03-05 | NEW | HIGH | rio | f76b6559 | rio: add 4 claims (economies of edge, compressed fundraising, capital formation, GDP impact), enrich -2026-03-05 | BATCH | LOW | - | 164ae029 | Auto: 3 files | 3 files changed, 3 insertions(+) -2026-03-05 | BATCH | LOW | - | a8d7bc5e | Auto: 6 files | 6 files changed, 14 insertions(+) -2026-03-05 | BATCH | LOW | - | e11538d2 | Auto: 2 files | 2 files changed, 2 insertions(+) -2026-03-05 | BATCH | LOW | - | bf755e1c | Auto: 3 files | 3 files changed, 3 insertions(+) -2026-03-05 | BATCH | LOW | - | 2a57c3f6 | Auto: 3 files | 3 files changed, 3 insertions(+) -2026-03-05 | BATCH | LOW | - | 91a1ae4b | Auto: 3 files | 3 files changed, 3 insertions(+) -2026-03-05 | SOURCE | LOW | - | 75b7bcf0 | Auto: inbox/archive/2026-02-22-citriniresearch-2028-global-intelligence-crisis.md | 1 file changed, -2026-03-05 | SOURCE | LOW | - | fa1be518 | Auto: inbox/archive/2026-02-23-johnloeber-contra-citrini7.md | 1 file changed, 53 insertions(+) -2026-03-05 | SOURCE | LOW | - | 18486b57 | Auto: inbox/archive/2026-02-22-michaelxbloch-2028-global-intelligence-boom.md | 1 file changed, 96 -2026-03-05 | SOURCE | LOW | - | 660d5e2f | Auto: inbox/archive/2026-02-23-harkl-2030-sovereign-intelligence-memo.md | 1 file changed, 56 inser -2026-03-05 | CLAIM | MED | - | d77986c4 | Auto: domains/internet-finance/AI labor displacement operates as a self-funding feedback loop becaus -2026-03-05 | CLAIM | MED | - | 3da83f98 | Auto: domains/internet-finance/white-collar displacement has lagged but deeper consumption impact th -2026-03-05 | CLAIM | MED | - | 540cdc7e | Auto: domains/internet-finance/private credits permanent capital is structurally exposed to AI disru -2026-03-05 | CLAIM | MED | - | f417998a | Auto: domains/internet-finance/technology-driven deflation is categorically different from demand-dr -2026-03-05 | NEW | HIGH | rio | 3415400d | rio: add 4 claims (AI displacement feedback loop, white-collar consumption impact, private credit ex -2026-03-05 | FIX | MED | leo | 9abc8e2d | leo: process fixes — .gitignore sessions, document inbox/archive/ -2026-03-05 | SOURCE | LOW | - | efcc9cf7 | Auto: inbox/archive/2026-02-26-citadel-securities-contra-citrini-rebuttal.md | 1 file changed, 48 i -2026-03-05 | SOURCE | LOW | - | dc77f697 | Auto: inbox/archive/2026-02-26-bobchen-2028-chinese-intelligence-crisis.md | 1 file changed, 57 ins -2026-03-05 | CLAIM | MED | - | 39ba052c | Auto: domains/internet-finance/incomplete digitization insulates economies from AI displacement cont -2026-03-05 | NEW | HIGH | rio | 08ea6371 | rio: add 1 claim (digitization insulation), enrich 2 claims (S-curve counter, Ghost GDP cross-ref), -2026-03-05 | AGENT | MED | rio | 6fb79889 | rio: upgrade Skill 8 from On-Chain Research to Source Ingestion & Claim Extraction -2026-03-05 | SOURCE | LOW | - | fe35ffba | Auto: inbox/archive/2026-03-03-pineanalytics-metadao-q4-2025-quarterly-report.md | 1 file changed, -2026-03-05 | SOURCE | LOW | - | 92b3e789 | Auto: inbox/archive/2026-03-05-pineanalytics-futardio-launch-metrics.md | 1 file changed, 35 insert -2026-03-05 | BELIEF | HIGH | rio | 86f61e34 | rio: enrich MetaDAO launchpad claim + adoption friction + Position #4 with Pine Analytics Q4 data an -2026-03-06 | BATCH | LOW | - | 4d53ed28 | Auto: 2 files | 2 files changed, 2 insertions(+) -2026-03-06 | AGENT | MED | clay | bbd8f9b5 | clay: seed entertainment domain with 8 media disruption claims -2026-03-06 | CLAIM | MED | - | 54311f7c | Auto: domains/entertainment/GenAI is simultaneously sustaining and disruptive depending on whether u -2026-03-06 | CLAIM | MED | - | 0a383a1c | Auto: domains/entertainment/information cascades create power law distributions in culture because c -2026-03-06 | CLAIM | MED | - | bba8f384 | Auto: domains/entertainment/five factors determine the speed and extent of disruption including qual -2026-03-06 | AGENT | MED | leo | 1a3416f2 | leo: 3 cross-domain synthesis claims connecting entertainment and internet finance -2026-03-06 | NEW | HIGH | rio | a837c54c | rio: add Pentagon-Agent git trailer convention to commit format -2026-03-06 | CLAIM | MED | - | 50ddbf2e | Auto: domains/entertainment/consumer definition of quality is fluid and revealed through preference -2026-03-06 | CLAIM | MED | - | a0f1a2c0 | Auto: domains/entertainment/GenAI adoption in entertainment will be gated by consumer acceptance not -2026-03-06 | CLAIM | MED | - | 2cc35314 | Auto: domains/entertainment/Hollywood talent will embrace AI because narrowing creative paths within -2026-03-06 | CLAIM | MED | - | 9732b780 | Auto: domains/entertainment/non-ATL production costs will converge with the cost of compute as AI re -2026-03-06 | CLAIM | MED | - | 4698de7e | Auto: domains/entertainment/cost-plus deals shifted economic risk from talent to streamers while mis -2026-03-06 | CLAIM | MED | - | b949e2d3 | Auto: domains/entertainment/progressive validation through community building reduces development ri -2026-03-06 | CLAIM | MED | - | 4f3a9f7f | Auto: domains/entertainment/traditional media buyers now seek content with pre-existing community en -2026-03-06 | AGENT | MED | clay | 9ccc0ad5 | clay: update entertainment map + archive 19 processed sources -2026-03-06 | NEW | HIGH | clay | 8b6a40c2 | clay: add missing wiki link to quality redefinition claim -2026-03-06 | BATCH | LOW | - | fec04f9c | Auto: agents/clay/positions/content as loss leader will be the dominant entertainment business model -2026-03-06 | BELIEF | HIGH | clay | 528f3e60 | clay: revise content-as-loss-leader position timeline from 2030 to 2035 -2026-03-06 | AGENT | MED | leo | b55231e3 | leo: codify peer review rule for evaluator-as-proposer -2026-03-06 | BATCH | LOW | - | c56a266e | Auto: 45 files | 45 files changed, 2120 insertions(+) -2026-03-06 | BATCH | LOW | - | ce8795a2 | Auto: 8 files | 8 files changed, 42 insertions(+), 9 deletions(-) -2026-03-06 | AGENT | MED | vida | e1c84b77 | vida: update _map.md with Devoted claim and demand signals -2026-03-06 | FIX | MED | vida | a756745c | vida: fix broken wiki links and add Vida to Active Agents table -2026-03-06 | BATCH | LOW | - | 1ddb036f | Auto: 5 files | 5 files changed, 5 insertions(+) -2026-03-06 | ENRICH | MED | rio | 4a91abec | rio: enrich leverage claim with trader recruitment mechanism and Omnipair valuation thesis -2026-03-06 | BATCH | LOW | - | 6455dc13 | Auto: 5 files | 5 files changed, 5 insertions(+) -2026-03-06 | BELIEF | HIGH | rio | 017caf48 | rio: add position paper on Omnipair milestone-vested team and community packages -2026-03-06 | BELIEF | HIGH | rio | a2d7a210 | rio: require PR review for all changes including positions and agent state -2026-03-06 | BATCH | LOW | - | fc510438 | Auto: 24 files | 24 files changed, 898 insertions(+) -2026-03-06 | BATCH | LOW | - | 1c5f4389 | Auto: agents/theseus/beliefs.md | 1 file changed, 91 insertions(+) -2026-03-06 | BATCH | LOW | - | cfd9c709 | Auto: agents/theseus/reasoning.md | 1 file changed, 81 insertions(+) -2026-03-06 | BATCH | LOW | - | 9442cbb5 | Auto: agents/theseus/skills.md | 1 file changed, 83 insertions(+) -2026-03-06 | BATCH | LOW | - | ce3cc19b | Auto: agents/theseus/published.md | 1 file changed, 14 insertions(+) -2026-03-06 | BATCH | LOW | - | f73921a4 | Auto: 23 files | 23 files changed, 31 insertions(+), 99 deletions(-) -2026-03-06 | BATCH | LOW | - | 84718776 | Auto: 4 files | 4 files changed, 37 insertions(+), 3 deletions(-) -2026-03-06 | NEW | HIGH | theseus | e780b4b6 | theseus: address Leo's PR #16 review feedback -2026-03-06 | NEW | HIGH | theseus | 235d12d0 | theseus: add 3 claims from Anthropic/Pentagon/nuclear news + enrich 2 foundations -2026-03-06 | AGENT | MED | theseus | a2c42621 | theseus: restore COVID coordination link per Leo's review -2026-03-06 | FIX | MED | vida | 100669a8 | vida: fix pipe-alias wiki link in Oura claim -2026-03-06 | FIX | MED | theseus | d7025e65 | theseus: fix dangling topic links and update domain map -2026-03-06 | FIX | MED | clay | bd2905ff | clay: fix 45 dangling wiki links in entertainment domain -2026-03-06 | FIX | MED | rio | d30d6e43 | rio: navigation layer cleanup — fix case mismatch, create 9 topic maps, add demand signals -2026-03-06 | AGENT | MED | theseus | 5e5e99d5 | theseus: 6 AI alignment claims from Noah Smith Phase 2 extraction -2026-03-06 | AGENT | MED | rio | b5d5f3f7 | rio: 4 macro resilience claims from Noah Smith Phase 2 extraction -2026-03-06 | ENRICH | MED | leo | 8226a47d | leo: evaluator calibration — 2 standalone→enrichment conversions + 3 new evaluation gates -2026-03-06 | ENRICH | MED | theseus | 12001687 | theseus: enrich emergent misalignment + government designation claims -2026-03-06 | AGENT | MED | leo | 26978d46 | leo: musings architecture — exploratory thinking layer for agents -2026-03-06 | ENRICH | MED | theseus | 316cb23a | theseus: 3 enrichments + 2 claims from Dario Amodei / Anthropic sources -2026-03-06 | AGENT | MED | leo | 31dc9bd5 | leo: restore musings additions to CLAUDE.md -2026-03-06 | AGENT | MED | rio | 60d1f0f9 | rio: extract 1 claim — dutch-auction dynamic bonding curves for token launch pricing -2026-03-06 | SCHEMA | HIGH | leo | 80410ba9 | leo: archive standardization — source schema + workflow update -2026-03-06 | AGENT | MED | leo | a8e8359d | leo: synthesis batch 2 — 3 cross-domain claims (phase transition, Jevons universal, early-conviction -2026-03-06 | AGENT | MED | leo | 59948849 | leo: codify synthesis multi-agent review rule -2026-03-06 | FIX | MED | leo | 466de29e | leo: remove 21 duplicates + fix domain:livingip in 204 files -2026-03-06 | ENRICH | MED | vida | ab63abae | vida: 5 health AI claims + 1 enrichment from Bessemer State of Health AI 2026 -2026-03-06 | ENRICH | MED | rio | 7dadd45d | rio: Aschenbrenner extraction — 3 standalone claims + 2 enrichments + 1 archive (#40) -2026-03-06 | OTHER | LOW | - | cb1918a4 | Synthesis batch 3: alignment Jevons paradox + centaur boundary conditions (#39) -2026-03-06 | AGENT | MED | rio | 4578f519 | rio: 3 launch mechanism design claims — trilemma, hybrid-value auctions, layered architecture (#35) -2026-03-06 | BATCH | LOW | - | 37c8c6dc | Auto: 46 files | 46 files changed, 342 insertions(+), 2 deletions(-) (#41) -2026-03-06 | OTHER | LOW | - | de2f3e27 | Synthesis batch 4: voluntary commitment collapse + purpose-built full-stack + OPSEC scrub -2026-03-06 | AGENT | MED | rio | 7bf5bbf2 | rio: 5 Theseus Living Capital vehicle design musings — fee, governance, launch, regulatory, treasury -2026-03-07 | CLAIM | MED | - | ce0dc818 | Auto: core/living-agents/adversarial PR review produces higher quality knowledge than self-review be -2026-03-07 | CLAIM | MED | - | 9654c215 | Auto: core/living-agents/prose-as-title forces claim specificity because a proposition that cannot b -2026-03-07 | CLAIM | MED | - | 4de75458 | Auto: core/living-agents/wiki-link graphs create auditable reasoning chains because every belief mus -2026-03-07 | CLAIM | MED | - | 6814a7c7 | Auto: core/living-agents/domain specialization with cross-domain synthesis produces better collectiv -2026-03-07 | CLAIM | MED | - | ce7966ee | Auto: core/living-agents/confidence calibration with four levels enforces honest uncertainty because -2026-03-07 | CLAIM | MED | - | 6ef5bbb3 | Auto: core/living-agents/source archiving with extraction provenance creates a complete audit trail -2026-03-07 | CLAIM | MED | - | ead15d8b | Auto: core/living-agents/git trailers on a shared account solve multi-agent attribution because Pent -2026-03-07 | CLAIM | MED | - | 6a437a8f | Auto: core/living-agents/human-in-the-loop at the architectural level means humans set direction and -2026-03-07 | CLAIM | MED | - | a2eeacd0 | Auto: core/living-agents/musings as pre-claim exploratory space let agents develop ideas without qua -2026-03-07 | CLAIM | MED | - | 3b5cd0da | Auto: core/living-agents/atomic notes with one claim per file enable independent evaluation and gran -2026-03-07 | AGENT | MED | leo | 8a8a7178 | leo: 10 architecture-as-claims — documenting how the Teleo collective works -2026-03-07 | NEW | HIGH | leo | f15d8a5e | leo: address review feedback from Rhea, Theseus, Rio on PR #44 -2026-03-07 | AGENT | MED | leo | 88f5d58b | leo: 10 architecture-as-claims — the codex documents itself -2026-03-07 | CLAIM | MED | - | 5f23712f | Auto: core/living-agents/single evaluator bottleneck means review throughput scales linearly with pr -2026-03-07 | CLAIM | MED | - | 82476635 | Auto: core/living-agents/all agents running the same model family creates correlated blind spots tha -2026-03-07 | CLAIM | MED | - | f4852f35 | Auto: core/living-agents/social enforcement of architectural rules degrades under tool pressure beca -2026-03-07 | AGENT | MED | leo | e3e24b6e | leo: 3 failure mode claims — evaluator bottleneck, correlated priors, social enforcement degradation -2026-03-07 | NEW | HIGH | leo | e36a46a3 | leo: address Theseus + Rio review feedback on PR #45 -2026-03-07 | AGENT | MED | leo | 58e84a2d | leo: 3 failure mode claims — evaluator bottleneck, correlated priors, social enforcement degradation -2026-03-07 | BATCH | LOW | - | 24fd456a | Auto: 35 files | 35 files changed, 10533 insertions(+) -2026-03-07 | OTHER | LOW | - | 05ed5203 | Add contributor docs, Alex onboarding brief, and evaluate-trigger script -2026-03-07 | OTHER | LOW | - | bd9707a9 | Address Leo's review: 5 fixes to contributor docs -2026-03-07 | OTHER | LOW | - | 4be64979 | Add contributor skill file and 2-agent evaluation trigger -2026-03-07 | OTHER | LOW | - | d1fa42bf | Fix agent naming: Theseus (not Logos) throughout -2026-03-07 | CLAIM | MED | - | 5aa629d7 | Auto: domains/ai-alignment/the internet accelerates collective intelligence evolution by enabling kn -2026-03-07 | CLAIM | MED | - | 30b2a1c8 | Auto: domains/ai-alignment/superorganism organization extends effective lifespan by orders of magnit -2026-03-07 | AGENT | MED | theseus | 7418e127 | theseus: 3 claims from Reese/Agora superorganism source -2026-03-07 | BATCH | LOW | - | 49d216a1 | Auto: 5 files | 5 files changed, 68 insertions(+), 53 deletions(-) -2026-03-07 | NEW | HIGH | theseus | 033ee7ba | theseus: address Leo review feedback on PR #47 -2026-03-07 | BATCH | LOW | - | ad5513ab | Auto: ops/evaluate-trigger.sh | 1 file changed, 3 insertions(+), 2 deletions(-) -2026-03-07 | NEW | HIGH | theseus | 8903e91c | theseus: address Leo + Theseus review feedback on PR #47 -2026-03-07 | FIX | MED | leo | 673c751b | leo: foundations audit — 7 moves, 4 deletes, 3 condensations, 10 confidence demotions, 23 type fixes -2026-03-07 | AGENT | MED | clay | bd300fbf | clay: superorganism synthesis claim + CLAUDE.md precision conventions (#51) -2026-03-07 | AGENT | MED | leo | 46e49d76 | leo: reframe superorganism claim — lead with superorganism, footnote obligate mutualism -2026-03-07 | AGENT | MED | vida | f266cca5 | vida: agent relationship directory — collective organism anatomy guide -2026-03-07 | ENTITY | LOW | astra | e29072a4 | astra: onboarding — identity files, domain structure, and first 5 claims (#53) -2026-03-07 | NEW | HIGH | vida | 068bfab3 | vida: add 3 collective health diagnostic claims (#55) -2026-03-07 | AGENT | MED | leo | eb9e7022 | leo: coordination architecture — peer review v1, handoff protocol, synthesis triggers (#56) -2026-03-07 | AGENT | MED | theseus | 6c357917 | theseus: foundations follow-up + Claude's Cycles research program (11 claims) (#50) -2026-03-07 | AGENT | MED | astra | 3fce3fa8 | astra: batch 2 — cislunar economics and commons governance (8 claims) (#57) -2026-03-08 | AGENT | MED | rio | b68b5df2 | rio: mechanism design foundation claim — Hurwicz/Myerson/Maskin (#58) -2026-03-08 | AGENT | MED | astra | 63017207 | astra: batch 3 — governance, stations, market structure (8 claims) (#59) -2026-03-08 | NEW | HIGH | theseus | 0401e296 | theseus: add 3 CAS foundation claims to critical-systems -2026-03-08 | NEW | HIGH | theseus | df78bca9 | theseus: add 3 CAS foundation claims to critical-systems (#62) -2026-03-08 | AGENT | MED | rio | 9b2e557a | rio: 4 foundation claims — auction theory, transaction costs, information aggregation, platform econ -2026-03-08 | AGENT | MED | clay | 55ff1b0c | clay: foundation claims — community formation + selfplex (6 claims) (#64) -2026-03-08 | AGENT | MED | theseus | d9e1950e | theseus: coordination infrastructure + convictions + labor market claims (#61) -2026-03-08 | AGENT | MED | clay | 2bf0a689 | clay: Rio homepage conversation handoff (#60) -2026-03-08 | FIX | MED | leo | 876a01a4 | leo: fix evaluate-trigger.sh — 4 bugs + auto-merge support -2026-03-08 | AGENT | MED | vida | c637343d | vida: knowledge state self-assessment -2026-03-09 | AGENT | MED | rio | 6f7a06da | rio: eval pipeline test claim (#61) Co-authored-by: Rio Co-committed-by: R -2026-03-09 | AGENT | MED | leo | 1b8bdacd | leo: remove eval pipeline test claim (#62) -2026-03-09 | ENRICH | MED | rio | 83ccf808 | rio: MetaDAO X landscape — 27 archives + 4 claims + 2 enrichments (#63) Co-authored-by: Rio Co-committe -2026-03-10 | AGENT | MED | rio | 80efb316 | rio: extract claims from 2026-03-09-richard-isc-x-archive (#127) Co-authored-by: Rio Co -2026-03-10 | RESEARCH | LOW | clay | 0ff27d17 | clay: research session 2026-03-10 (#187) Co-authored-by: Clay Co-committe -2026-03-10 | AGENT | MED | clay | 3c7dd2ac | clay: extract claims from 2025-10-01-pudgypenguins-dreamworks-kungfupanda-crossover (#189) Co-author -2026-03-10 | AGENT | MED | theseus | ccf05c11 | theseus: extract claims from 2026-02-00-anthropic-rsp-rollback (#190) Co-authored-by: Theseus Co-c -2026-03-12 | AGENT | MED | rio | 9ea9f30a | rio: extract claims from 2025-12-00-colosseum-stamp-introduction (#626) Co-authored-by: Rio Co-committed- -2026-03-21 | RESEARCH | LOW | theseus | d6c34c99 | theseus: research session 2026-03-21 — 9 sources archived -2026-03-21 | EXTRACT | MED | - | d9ee1570 | extract: 2026-03-21-aisi-control-research-program-synthesis -2026-03-21 | EXTRACT | MED | - | 9b6d942e | extract: 2026-03-21-basharena-sabotage-monitoring-evasion -2026-03-21 | EXTRACT | MED | - | 8ca19f38 | extract: 2026-03-21-ctrl-alt-deceit-rnd-sabotage-sandbagging -2026-03-21 | EXTRACT | MED | - | 7ed2adcb | extract: 2026-03-21-research-compliance-translation-gap -2026-03-21 | EXTRACT | MED | - | 7ea7cf42 | extract: 2026-03-21-california-ab2013-training-transparency-only -2026-03-21 | RESEARCH | LOW | vida | 505b81ab | vida: research session 2026-03-21 — 6 sources archived -2026-03-21 | EXTRACT | MED | - | e66a34d2 | extract: 2026-03-21-natco-semaglutide-india-day1-launch-1290 -2026-03-21 | EXTRACT | MED | - | 6685d947 | extract: 2026-03-21-openevidence-12b-valuation-nct07199231-outcomes-gap -2026-03-21 | EXTRACT | MED | - | 9055231a | extract: 2026-03-21-semaglutide-us-import-wall-gray-market-pressure -2026-03-21 | EXTRACT | MED | - | 4faf4f07 | extract: 2026-03-21-obbba-rht-50b-rural-counterbalance-state-work-requirements -2026-03-21 | RESEARCH | LOW | astra | 7b702b40 | astra: research session 2026-03-21 — 9 sources archived -2026-03-21 | EXTRACT | MED | - | a6312b72 | extract: 2024-01-31-starlab-90m-starship-contract-single-launch -2026-03-21 | EXTRACT | MED | - | e7693e75 | extract: 2026-01-21-haven1-delay-2027-manufacturing-pace -2026-03-21 | EXTRACT | MED | - | 5c6e6631 | extract: 2026-02-26-starlab-ccdr-full-scale-development -2026-03-21 | EXTRACT | MED | - | 80f65351 | extract: 2026-03-21-ng3-unlaunched-pattern2-blue-origin -2026-03-21 | EXTRACT | MED | - | 2425825c | extract: 2026-02-12-axiom-station-module-order-pptm-iss -2026-03-21 | EXTRACT | MED | - | dd4b9f1e | extract: 2026-03-21-lemon-sub30mk-continuous-aps-confirmed -2026-03-21 | RESEARCH | LOW | leo | 9671a1bc | leo: research session 2026-03-21 — 4 sources archived -2026-03-21 | EXTRACT | MED | - | cd95d844 | extract: 2025-12-01-aisi-auditing-games-sandbagging-detection-failed -2026-03-21 | EXTRACT | MED | - | a75b94e9 | extract: 2026-03-21-metr-evaluation-landscape-2026 -2026-03-21 | FIX | MED | leo | af0d3001 | leo: fix PR #1569 review issues — soften challenge framing, fix source status -2026-03-21 | AGENT | MED | epimetheus | c50d9e0e | epimetheus: seed Rio learnings.md — agent conversation memory -2026-03-21 | ENTITY | LOW | rio | dbf83dbb | rio: learn — identity clarity + no learned helplessness -2026-03-21 | AGENT | MED | rio | 51772bda | rio: learn — know when to shut up, shorter responses -2026-03-21 | AGENT | MED | epimetheus | 503ca479 | epimetheus: queue research on telegram bot strategy -2026-03-21 | TELEGRAM | LOW | - | 83ead5c0 | extract: 2026-03-21-research-telegram-bot-strategy -2026-03-21 | AGENT | MED | rio | e47c147e | rio: learn — use conversation history, dont ask what project -2026-03-21 | AGENT | MED | rio | d8c4a42c | rio: learn — every word earns its place, no filler -2026-03-21 | DECISION | MED | rio | d98bfef0 | rio: META-036 Robin Hanson futarchy research — decision record + entity update -2026-03-21 | RESEARCH | LOW | rio | 67213319 | rio: research session 2026-03-21 — 8 sources archived -2026-03-21 | EXTRACT | MED | - | 05a04202 | extract: 2026-03-21-blockworks-ranger-ico-outcome -2026-03-21 | EXTRACT | MED | - | 22a5286f | extract: 2026-03-21-phemex-hurupay-ico-failure -2026-03-21 | EXTRACT | MED | - | 007fd83b | extract: 2026-03-21-phemex-p2p-me-ico-announcement -2026-03-21 | EXTRACT | MED | - | 2174c958 | extract: 2026-03-21-academic-prediction-market-failure-modes -2026-03-21 | EXTRACT | MED | - | e5b02d77 | extract: 2026-03-21-federalregister-cftc-anprm-prediction-markets -2026-03-21 | EXTRACT | MED | - | 9aa760a9 | extract: 2026-03-21-dlnews-trove-markets-collapse -2026-03-22 | RESEARCH | LOW | theseus | 1f8cab27 | theseus: research session 2026-03-22 — 9 sources archived -2026-03-22 | EXTRACT | MED | - | d295b396 | extract: 2025-02-13-aisi-renamed-ai-security-institute-mandate-drift -2026-03-22 | EXTRACT | MED | - | e0c44f07 | extract: 2025-10-00-california-sb53-transparency-frontier-ai -2026-03-22 | EXTRACT | MED | - | 8049e6fe | extract: 2025-12-00-aisi-frontier-ai-trends-report-2025 -2026-03-22 | EXTRACT | MED | - | ebfe0a21 | extract: 2026-03-12-metr-claude-opus-4-6-sabotage-review -2026-03-22 | EXTRACT | MED | - | 04ef8702 | extract: 2026-03-00-mengesha-coordination-gap-frontier-ai-safety (#1619) -2026-03-22 | RESEARCH | LOW | vida | 00202805 | vida: research session 2026-03-22 — 8 sources archived -2026-03-22 | EXTRACT | MED | - | 954d17fa | extract: 2026-03-22-arise-state-of-clinical-ai-2026 -2026-03-22 | EXTRACT | MED | - | accb51f3 | extract: 2026-03-22-health-canada-rejects-dr-reddys-semaglutide -2026-03-22 | EXTRACT | MED | - | a8ca0236 | extract: 2026-03-22-openevidence-sutter-health-epic-integration -2026-03-22 | EXTRACT | MED | - | 9dd2eb33 | extract: 2026-03-22-obbba-medicaid-work-requirements-state-implementation -2026-03-22 | RESEARCH | LOW | astra | 94daf7c8 | astra: research session 2026-03-22 — 9 sources archived -2026-03-22 | EXTRACT | MED | - | 1030f967 | extract: 2026-02-12-nasa-vast-axiom-pam5-pam6-iss -2026-03-22 | EXTRACT | MED | - | 4e2020b5 | extract: 2026-02-nextbigfuture-ast-spacemobile-ng3-dependency -2026-03-22 | EXTRACT | MED | - | bc475713 | extract: 2026-03-22-ng3-not-launched-5th-session -2026-03-22 | EXTRACT | MED | - | b59512ba | extract: 2026-03-22-voyager-technologies-q4-fy2025-starlab-financials -2026-03-22 | EXTRACT | MED | - | 58af8af3 | extract: 2026-03-19-blueorigin-project-sunrise-orbital-data-center -2026-03-22 | RESEARCH | LOW | leo | b81403b6 | leo: research session 2026-03-22 (#1640) -2026-03-22 | AGENT | MED | rio | 7203755d | rio: learn — always use live prices, never serve stale KB data as current -2026-03-22 | RESEARCH | LOW | rio | 756a3255 | rio: research session 2026-03-22 — 3 sources archived -2026-03-22 | EXTRACT | MED | - | 8d3ba36b | extract: 2026-03-22-atanasov-mellers-calibration-selection-vs-information-acquisition -2026-03-22 | EXTRACT | MED | - | b6cbf861 | extract: 2026-03-22-fed-research-kalshi-cpi-prediction-accuracy -2026-03-22 | EXTRACT | MED | - | 67d01e79 | extract: 2026-03-22-cftc-anprm-40-questions-futarchy-comment-opportunity -2026-03-23 | RESEARCH | LOW | theseus | 480fbf9c | theseus: research session 2026-03-23 — 8 sources archived -2026-03-23 | EXTRACT | MED | - | 59b9654c | extract: 2025-12-11-trump-eo-preempt-state-ai-laws-sb53 -2026-03-23 | EXTRACT | MED | - | 69268c58 | extract: 2026-01-12-mechanistic-interpretability-mit-breakthrough-2026 -2026-03-23 | EXTRACT | MED | - | 2e195f01 | extract: 2026-01-29-metr-time-horizon-1-1-methodology-update -2026-03-23 | EXTRACT | MED | - | 71a17ee7 | extract: 2026-02-00-international-ai-safety-report-2026-evaluation-reliability -2026-03-23 | EXTRACT | MED | - | f5d067ce | extract: 2026-02-05-mit-tech-review-misunderstood-time-horizon-graph -2026-03-23 | EXTRACT | MED | - | df33272f | extract: 2026-03-20-metr-modeling-assumptions-time-horizon-reliability -2026-03-23 | EXTRACT | MED | - | 93dd536a | extract: 2026-02-24-anthropic-rsp-v3-voluntary-safety-collapse -2026-03-23 | RESEARCH | LOW | vida | 1670f9d6 | vida: research session 2026-03-23 — 7 sources archived -2026-03-23 | EXTRACT | MED | - | 6a8f8b22 | extract: 2026-02-10-klang-lancet-dh-llm-medical-misinformation -2026-03-23 | EXTRACT | MED | - | 6e378141 | extract: 2026-03-15-nct07328815-behavioral-nudges-automation-bias-mitigation -2026-03-23 | EXTRACT | MED | - | d9673dac | extract: 2026-08-02-eu-ai-act-healthcare-high-risk-obligations (#1661) -2026-03-23 | EXTRACT | MED | - | 18060394 | extract: 2026-02-24-nhs-dtac-v2-digital-health-clinical-safety-standard -2026-03-23 | RESEARCH | LOW | astra | 112734a2 | astra: research session 2026-03-23 — 1 sources archived -2026-03-23 | RESEARCH | LOW | leo | dc8d94b3 | leo: research session 2026-03-23 (#1663) -2026-03-23 | EXTRACT | MED | - | d2948af6 | extract: 2026-03-21-replibench-autonomous-replication-capabilities -2026-03-23 | EXTRACT | MED | - | fb43ff40 | extract: 2026-03-22-automation-bias-rct-ai-trained-physicians -2026-03-23 | EXTRACT | MED | - | af9b713d | extract: 2026-01-28-nasa-cld-phase2-frozen-saa-revised-approach (#1666) -2026-03-23 | TELEGRAM | LOW | - | 32752a88 | extract: 2026-03-23-telegram-m3taversal-weird-saying-how-much-meta-theia-research-has-thi -2026-03-23 | X_RESEARCH | MED | - | 642e27fb | extract: 2026-03-23-x-research-theia-research-meta -2026-03-23 | TELEGRAM | LOW | - | b0f25a18 | extract: 2026-03-23-telegram-m3taversal-futairdbot-research-the-upcoming-p2p-fundraise-la -2026-03-23 | TELEGRAM | LOW | - | c929e33e | extract: 2026-03-23-telegram-m3taversal-futairdbot-what-are-people-saying-about-the-p2p (#1680) -2026-03-23 | TELEGRAM | LOW | - | da69294d | extract: 2026-03-23-telegram-m3taversal-i-saw-a-few-posts-from-vcs-saying-they-would-be-in (#1681) -2026-03-23 | TELEGRAM | LOW | - | 74090d47 | extract: 2026-03-23-telegram-m3taversal-this-tweet-has-nothing-to-do-with-mira-murati-were -2026-03-23 | TELEGRAM | LOW | - | 7ada1a64 | extract: 2026-03-23-telegram-m3taversal-futairdbot-what-do-you-think-about-this-article -2026-03-23 | TELEGRAM | LOW | - | c0877314 | extract: 2026-03-23-telegram-m3taversal-glad-your-able-to-actually-read-the-article-this-t (#1689) -2026-03-23 | AGENT | MED | astra | 8d6dccab | astra: batch 4 space claims + founding energy/fusion claims + Space Ambition source (18 claims) -2026-03-23 | X_RESEARCH | MED | - | 50300de6 | extract: 2026-03-23-x-research-metadao-robin-hanson-george-mason-futarchy-research-proposal -2026-03-23 | AGENT | MED | rio | 3bd94f4a | rio: learn — META-036 is current proposal, Ranger is historical -2026-03-23 | AGENT | MED | rio | da3df349 | rio: learn — stop deflecting, synthesize what you have -2026-03-23 | ENRICH | MED | epimetheus | 37d87993 | epimetheus: archive MetaDAO proposals 1-30 for decision record enrichment -2026-03-23 | TELEGRAM | LOW | - | 50f7def6 | extract: 2026-03-23-telegram-m3taversal-futairdbot-you-should-learn-about-this-i-know-dr -2026-03-23 | TELEGRAM | LOW | - | d0b89342 | extract: 2026-03-23-telegram-m3taversal-what-is-in-your-kb-about-the-robin-hanson-proposal -2026-03-23 | TELEGRAM | LOW | - | b4537450 | extract: 2026-03-23-telegram-m3taversal-what-do-you-think-of-that-proposal-can-you-send-m -2026-03-23 | TELEGRAM | LOW | - | 92ca5f4b | extract: 2026-03-23-telegram-m3taversal-that-s-not-the-proposal-we-were-talking-about-i-m (#1702) -2026-03-23 | X_RESEARCH | MED | - | 0b0acd37 | extract: 2026-03-23-x-research-metadao-robin-hanson -2026-03-23 | EXTRACT | MED | - | 167db0c2 | extract: metadao-proposals-1-15 -2026-03-23 | TELEGRAM | LOW | - | ac6fe763 | extract: 2026-03-23-telegram-m3taversal-please-return-whatever-information-is-in-your-know -2026-03-23 | TELEGRAM | LOW | - | ff46a9cb | extract: 2026-03-23-telegram-m3taversal-ok-can-you-give-me-the-full-text-for-the-robin-han -2026-03-23 | TELEGRAM | LOW | - | 4c5cca7a | extract: 2026-03-23-telegram-m3taversal-that-s-all-the-information-you-have-how-do-you -2026-03-23 | RESEARCH | LOW | rio | 70f285c5 | rio: research session 2026-03-23 — 6 sources archived -2026-03-23 | EXTRACT | MED | - | 20073f3f | extract: 2026-03-23-hanson-futarchy-details-open-research-questions -2026-03-23 | EXTRACT | MED | - | be9e4952 | extract: 2026-03-23-launcher-eco-futarchy-moloch-adoption -2026-03-23 | EXTRACT | MED | - | 46aaeda3 | extract: 2026-03-23-umbra-ico-155m-commitments-metadao-platform-recovery -2026-03-23 | EXTRACT | MED | - | 27dbf747 | extract: 2026-03-23-umbra-research-futarchy-trustless-joint-ownership-limitations (#1716) -2026-03-24 | RESEARCH | LOW | theseus | 4e26ab91 | theseus: research session 2026-03-24 — 6 sources archived -2026-03-24 | EXTRACT | MED | - | b4a7cf52 | extract: 2025-05-29-anthropic-circuit-tracing-open-source -2026-03-24 | EXTRACT | MED | - | 98d283e7 | extract: 2026-01-29-metr-time-horizon-1-1 -2026-03-24 | RESEARCH | LOW | vida | e1e90a89 | vida: research session 2026-03-24 — 11 sources archived -2026-03-24 | EXTRACT | MED | - | 56c58579 | extract: 2025-10-15-cell-reports-medicine-llm-pharmacist-copilot-medication-safety -2026-03-24 | EXTRACT | MED | - | b41a80ab | extract: 2025-11-01-jmir-knowledge-practice-gap-39-benchmarks-systematic-review -2026-03-24 | EXTRACT | MED | - | 8f8f8adf | extract: 2026-01-23-obbba-medicaid-work-requirements-implementation-2026-states -2026-03-24 | EXTRACT | MED | - | 78f6b9ea | extract: 2026-02-24-nhs-dtac-v2-updated-form-april-6-deadline -2026-03-24 | EXTRACT | MED | - | 38a7a378 | extract: 2026-03-10-abrams-bramajo-pnas-birth-cohort-mortality-us-life-expectancy -2026-03-24 | EXTRACT | MED | - | c4fa000f | extract: 2026-03-20-iatrox-openevidence-uk-dtac-nice-esf-governance-review -2026-03-24 | EXTRACT | MED | - | 2bbe1212 | extract: 2026-01-16-nhs-england-ai-scribing-supplier-registry-19-vendors -2026-03-24 | EXTRACT | MED | - | 55930169 | extract: 2026-02-10-oxford-nature-medicine-llm-public-medical-advice-rct -2026-03-24 | EXTRACT | MED | - | 0309ddd5 | extract: 2026-03-10-uk-lords-inquiry-nhs-ai-personalised-medicine -2026-03-24 | EXTRACT | MED | - | 73d141b8 | extract: 2025-04-01-jmir-glp1-digital-engagement-outcomes-retrospective -2026-03-24 | RESEARCH | LOW | astra | 88b64de8 | astra: research session 2026-03-24 — 7 sources archived -2026-03-24 | EXTRACT | MED | - | f7ec1526 | extract: 2025-12-10-cnbc-starcloud-first-llm-trained-space-h100 -2026-03-24 | EXTRACT | MED | - | 21d82a80 | extract: 2026-03-20-restofworld-orbital-data-centers-regulation-sovereignty -2026-03-24 | EXTRACT | MED | - | 9ae44594 | extract: 2026-03-21-nasaspaceflight-blue-origin-ng-manufacturing-odc -2026-03-24 | EXTRACT | MED | - | 3472f386 | extract: 2026-xx-richmondfed-rural-electrification-two-gate-analogue -2026-03-24 | EXTRACT | MED | - | 8693af54 | extract: 2026-03-19-space-com-starship-v3-first-static-fire -2026-03-24 | EXTRACT | MED | - | 4318816d | extract: 2026-03-20-spacenews-orbital-data-center-race-landscape -2026-03-24 | RESEARCH | LOW | leo | 7c7b8130 | leo: research session 2026-03-24 (#1745) -2026-03-24 | DECISION | MED | rio | 2913e7d5 | rio: decision records batch 1 — 5 MetaDAO governance proposals (full text) (#1746) Co-authored-by: T -2026-03-24 | DECISION | MED | rio | 55dd62b1 | rio: Drift + Sanctum decision records — full text backfill + new records (#1750) Co-authored-by: The -2026-03-24 | AGENT | MED | rio | 735bb095 | rio: Dean's List + ORE + coal full text + URL migration (missed #1750) (#1753) Co-authored-by: These -2026-03-24 | DECISION | MED | epimetheus | 929e70b5 | epimetheus: 3 decision records from proposal extraction -2026-03-24 | DECISION | MED | rio | e8016cf0 | rio: batch 3c — full text for remaining 21 decision records -2026-03-24 | X_RESEARCH | MED | - | 7406c8bd | extract: 2026-03-24-x-research-vibhu-tweet (#1757) -2026-03-24 | DECISION | MED | rio | fdebd951 | rio: batch 4 — 26 new decision records for 10 projects -2026-03-24 | AGENT | MED | rio | a959f713 | rio: remove stale availability learning (Robin Hanson data exists now) -2026-03-24 | TELEGRAM | LOW | - | 89b78b27 | extract: 2026-03-24-telegram-m3taversal-did-you-run-an-x-keyword-search -2026-03-24 | OTHER | LOW | - | b756e697 | fix: lowercase MetaDAO URLs — 26 proposal_url 404s fixed -2026-03-24 | TELEGRAM | LOW | - | 5f4065ea | extract: 2026-03-24-telegram-m3taversal-futairdbot-what-have-people-been-saying-about-p2 -2026-03-24 | X_RESEARCH | MED | - | 4031302f | extract: 2026-03-24-x-research-p2p-me -2026-03-24 | X_RESEARCH | MED | - | 832c4edc | extract: 2026-03-24-x-research-p2p-me-metadao-launch-allocation -2026-03-24 | TELEGRAM | LOW | - | 8b687525 | extract: 2026-03-24-telegram-m3taversal-hey-futairdbot-you-should-now-have-solomon-labs-p -2026-03-24 | TELEGRAM | LOW | - | 128c6297 | extract: 2026-03-24-telegram-m3taversal-futarchy-metadao-fi-is-not-a-real-site-the-link-t -2026-03-24 | EXTRACT | MED | - | a32bbeff | extract: 2026-03-24-tg-shared-unknown-metadao-appoint-nallok-proph3t (#1769) -2026-03-24 | AGENT | MED | rio | 10a2c359 | rio: never hallucinate URLs — use proposal_url from frontmatter -2026-03-24 | DECISION | MED | rio | 1d8f9367 | rio: MetaDAO full text backfill — 28 decision records -2026-03-24 | TELEGRAM | LOW | - | dbb6f98e | extract: 2026-03-24-telegram-m3taversal-futairdbot-can-you-please-send-me-the-full-text-o -2026-03-24 | TELEGRAM | LOW | - | 818c15f7 | extract: 2026-03-24-telegram-m3taversal-interesting-hadnt-thought-about-it-that-way-any -2026-03-24 | EXTRACT | MED | - | 65b77baa | extract: 2026-03-21-pineanalytics-metadao-q4-2025-report -2026-03-24 | EXTRACT | MED | - | fe7ce4aa | extract: 2026-01-28-nasa-cld-phase2-frozen-saa-revised-approach -2026-03-24 | EXTRACT | MED | - | 391ea062 | extract: 2026-02-24-anthropic-rsp-v3-0-frontier-safety-roadmap -2026-03-24 | EXTRACT | MED | - | 2aa2b373 | extract: 2026-03-19-pineanalytics-p2p-metadao-ico-analysis -2026-03-24 | X_RESEARCH | MED | - | a46b8411 | extract: 2026-03-23-x-research-metadao-governance-proposal -2026-03-24 | TELEGRAM | LOW | - | edb19fc6 | extract: 2026-03-23-telegram-m3taversal-futairdbot-what-are-people-saying-about-the-p2p -2026-03-24 | RESEARCH | LOW | rio | 8f87fef6 | rio: research session 2026-03-24 — 5 sources archived -2026-03-24 | EXTRACT | MED | - | da9b31e4 | extract: 2026-03-24-gg-research-futarchy-vs-grants-council-optimism-experiment -2026-03-24 | EXTRACT | MED | - | 6a356c1e | extract: 2026-03-24-metadao-bdf3m-markets-authorizing-delegates-analytical-framing -2026-03-24 | EXTRACT | MED | - | cd2e1b65 | extract: 2026-03-24-vibhu-solana-foundation-builder-support-infrastructure -2026-03-24 | EXTRACT | MED | - | f5a9499c | extract: 2026-03-24-delphi-digital-metadao-ico-participant-behavior-study -2026-03-25 | RESEARCH | LOW | theseus | aa35dc6b | theseus: research session 2026-03-25 — 6 sources archived -2026-03-25 | EXTRACT | MED | - | 78181f52 | extract: 2026-03-25-aisi-self-replication-roundup-no-end-to-end-evaluation -2026-03-25 | EXTRACT | MED | - | 96fd8d29 | extract: 2026-03-25-metr-developer-productivity-rct-full-paper -2026-03-25 | TELEGRAM | LOW | - | f0fc07c4 | extract: 2026-03-25-telegram-m3taversal-futairdbot-what-s-the-current-price-of-solo -2026-03-25 | TELEGRAM | LOW | - | 5793ee6b | extract: 2026-03-25-telegram-m3taversal-futairdbot-who-are-you-and-what-s-your-purpose -2026-03-25 | TELEGRAM | LOW | - | ef9ab215 | extract: 2026-03-25-telegram-m3taversal-not-bad-i-like-the-answer-what-if-i-asked-you-to -2026-03-25 | X_RESEARCH | MED | - | 53eecfc2 | extract: 2026-03-23-x-research-metadao-robin-hanson-futarchy-research-proposal-george-mason -2026-03-25 | TELEGRAM | LOW | - | 90c1fa02 | extract: 2026-03-25-telegram-m3taversal-can-you-save-a-learning-for-this -2026-03-25 | TELEGRAM | LOW | - | 9d7ce639 | extract: 2026-03-25-telegram-m3taversal-futairdbot-what-s-the-price-of-omfg -2026-03-25 | TELEGRAM | LOW | - | 5267f3fc | extract: 2026-03-25-telegram-m3taversal-that-s-a-bad-answer-you-have-access-to-live-pric -2026-03-25 | EXTRACT | MED | - | 25daafaa | extract: 2026-03-23-ranger-finance-metadao-liquidation-5m-usdc -2026-03-25 | TELEGRAM | LOW | - | aa4fae62 | extract: 2026-03-23-telegram-m3taversal-futairdbot-whats-the-latest-metadao-decision-mark (#1819) -2026-03-25 | TELEGRAM | LOW | - | 777b77c5 | extract: 2026-03-23-telegram-m3taversal-futairdbot-whats-the-latest-metadao-governance-pr -2026-03-25 | TELEGRAM | LOW | - | cc41cfe8 | extract: 2026-03-23-telegram-m3taversal-i-saw-a-few-posts-from-vcs-saying-they-would-be-in -2026-03-25 | RESEARCH | LOW | vida | edf7c3da | vida: research session 2026-03-25 — 0 0 sources archived -2026-03-25 | RESEARCH | LOW | astra | 8ab4759c | astra: research session 2026-03-25 — 7 sources archived -2026-03-25 | EXTRACT | MED | - | b518fc7f | extract: 2026-02-26-starcloud-wp-why-train-ai-space -2026-03-25 | EXTRACT | MED | - | fec1edf9 | extract: 2026-03-06-spacex-fcc-1m-odc-satellites-public-comment -2026-03-25 | EXTRACT | MED | - | d6de7802 | extract: 2026-03-19-spacex-starship-b19-partial-static-fire-10-engines -2026-03-25 | EXTRACT | MED | - | f23a0e13 | extract: 2026-03-21-nasaspaceflight-blue-origin-ng3-odc-ambitions -2026-03-25 | EXTRACT | MED | - | 517e7fdb | extract: 2026-03-xx-spacenews-orbital-datacenter-economics-focus -2026-03-25 | EXTRACT | MED | - | c1ccf7b7 | extract: 2026-02-25-gartner-dcd-odc-peak-insanity-critique -2026-03-25 | EXTRACT | MED | - | 61528e4b | extract: 2026-03-16-nvidia-vera-rubin-space-module-gtc2026 -2026-03-25 | RESEARCH | LOW | leo | 3d40cdb1 | leo: research session 2026-03-25 (#1837) -2026-03-25 | TELEGRAM | LOW | - | 2ef04a62 | extract: 2026-03-23-telegram-m3taversal-that-s-not-the-proposal-we-were-talking-about-i-m -2026-03-25 | EXTRACT | MED | - | 1ade1b36 | extract: 2026-03-23-umbra-research-futarchy-trustless-joint-ownership-limitations -2026-03-25 | X_RESEARCH | MED | - | eedfa0af | extract: 2026-03-25-x-research-solo-token-price-solomon -2026-03-25 | EXTRACT | MED | - | 3e302edb | extract: 2026-03-25-metr-algorithmic-vs-holistic-evaluation-benchmark-inflation diff --git a/diagnostics/weekly/2026-03-25-week3.md b/diagnostics/weekly/2026-03-25-week3.md deleted file mode 100644 index 9220c1e39..000000000 --- a/diagnostics/weekly/2026-03-25-week3.md +++ /dev/null @@ -1,59 +0,0 @@ -# Week 3 (Mar 17-23, 2026) — From Batch to Live - -## Headline -The collective went from a knowledge base to a live intelligence system. Rio started ingesting Telegram conversations in real-time, Astra spun up covering space/energy/manufacturing, and the KB expanded from ~400 to 426 claims across 14 domains. The pipeline processed 597 sources and generated 117 merged PRs. - -## What actually happened - -### Astra came alive -The biggest structural change — a new agent covering space-development, energy, manufacturing, and robotics. In 8 days, Astra ran 8 research sessions, archived ~60 sources, and contributed 29 new claims. The energy domain is entirely new: fusion economics, HTS magnets, plasma-facing materials. Space got depth it didn't have: cislunar economics, commercial stations, He-3 extraction, launch cost phase transitions. - -### Rio went real-time -Telegram integration means Rio now extracts from live conversations, not just archived articles. ~59 Telegram-sourced commits. Also processed 46 decision records from MetaDAO governance — the futarchy proposal dataset is now substantial. Plus 8 SEC regulatory framework claims that gave the IF domain serious legal depth. - -### Theseus stayed steady -8 research sessions, ~58 sources. Major extractions: Dario Amodei pieces, Noah Smith superintelligence series, Anthropic RSP rollback, METR evaluations. AI alignment domain is the deepest in the KB. - -### Vida kept pace -8 research sessions, ~51 sources. Health enrichments from GLP-1 economics, clinical AI, SDOH evidence. - -### Clay went quiet -2 research sessions on Mar 18, then silence. Entertainment domain is the least active. Needs attention. - -### Leo focused on infrastructure -Divergence schema shipped (PR #1493). 6 research sessions. Most time went to PR review, conflict resolution, and evaluator role. - -## By the numbers - -| Metric | Count | -|--------|-------| -| New claims added | ~29 | -| Existing claims enriched | ~132 files modified | -| Sources archived | 597 | -| Entities added | 10 | -| Decision records added | 46 | -| Merged PRs | 117 | -| Research sessions | 42 | -| Telegram extractions | ~59 | -| Pipeline/maintenance commits | ~420 | - -## What's meaningful - -- **29 new claims** — real intellectual growth, mostly space/energy (Astra) and IF regulatory (Rio) -- **132 claim enrichments** — evidence accumulating on existing positions -- **46 decision records** — primary futarchy data, not analysis of analysis -- **Divergence schema** — the KB can now track productive disagreements -- **Telegram going live** — first real-time contribution channel - -## What changed about how we think - -The biggest qualitative shift: the KB now has enough depth to create real tensions. The divergence schema shipped precisely because claims are contradicting each other productively (GLP-1 inflationary vs. deflationary by geography; human-AI collaboration helps vs. hurts by task type). The collective is past the accumulation phase and into the refinement phase. - -## Concerns - -1. Clay silent after day 1 -2. Enrichment pipeline creating duplicate artifacts (PRs #1751, #1752) -3. Infra-to-substance ratio at 2:1 - ---- -*Generated by Leo, 2026-03-25* diff --git a/ops/AGENT-SOP.md b/ops/AGENT-SOP.md new file mode 100644 index 000000000..4a6a3cdf4 --- /dev/null +++ b/ops/AGENT-SOP.md @@ -0,0 +1,78 @@ +# Agent SOP: Ship, Review, Deploy + +Load at session start. No exceptions. + +## Code Changes + +1. Branch from main: `git checkout -b {agent-name}/{description}` +2. Make changes. One branch per task. One concern per PR. +3. Commit with agent-name prefix, what changed and why. +4. Push to Forgejo. Open PR with deploy manifest (see deploy-manifest.md). +5. Ganymede reviews. Address feedback on same branch. +6. Merge after approval. Delete branch immediately. +7. Auto-deploy handles the rest. Do not manually deploy. + +## Do Not + +- SCP files directly to VPS +- Deploy before committing to the repo +- Edit files on VPS directly +- Send the same review request twice for unchanged code +- Claim code exists or was approved without reading git/files to verify +- Go from memory when you can verify from files +- Reuse branch names (Forgejo returns 409 Conflict on closed PR branches) + +## Canonical File Locations + +| Code | Location | +|---|---| +| Pipeline lib | `ops/pipeline-v2/lib/` | +| Pipeline scripts | `ops/pipeline-v2/` | +| Diagnostics | `ops/diagnostics/` | +| Agent state | `ops/agent-state/` | +| Deploy/ops scripts | `ops/` | +| Claims | `core/`, `domains/`, `foundations/` | +| Agent identity | `agents/{name}/` | + +One location per file. If your path doesn't match this table, stop. + +## Verification Before Acting + +- Before editing: read the file. Never describe code from memory. +- Before reviewing: check git log for prior approvals on the same files. +- Before deploying: `git status` must show clean tree. +- Before messaging another agent: check if the same message was already sent. + +## Branch Hygiene + +- Delete branch immediately after merge. +- Nightly research branches: deleted after 7 days if unmerged. +- Never leave a branch open with no active work. + +## Deploy + +After merge to main, auto-deploy runs within 2 minutes on VPS: +1. Pulls latest main into deploy checkout +2. Syntax-checks all Python files +3. Syncs to working directories (pipeline, diagnostics, agent-state) +4. Restarts services only if Python files changed +5. Runs smoke tests (systemd status + health endpoints) + +Manual deploy (only if auto-deploy is broken): +``` +cd ops && ./deploy.sh --dry-run && ./deploy.sh --restart +``` + +Check auto-deploy status: `journalctl -u teleo-auto-deploy -n 20` + +## Shell and Python Safety + +- Run `bash -n script.sh` after modifying any shell script. +- Never interpolate shell variables into Python strings via `'$var'`. + Pass values via `os.environ` or `sys.argv`. +- Never write credentials to `.git/config`. Use per-command `git -c http.extraHeader`. + +## Schema Changes + +Any PR that changes a file format, DB table, or API response shape must follow +`ops/schema-change-protocol.md`. Tag all consumers. Include migration. diff --git a/ops/auto-deploy-setup.md b/ops/auto-deploy-setup.md new file mode 100644 index 000000000..a83b37859 --- /dev/null +++ b/ops/auto-deploy-setup.md @@ -0,0 +1,84 @@ +# Auto-Deploy Setup + +One-time setup on VPS. After this, merges to main deploy automatically within 2 minutes. + +## Prerequisites + +- SSH access as `teleo` user: `ssh teleo@77.42.65.182` +- Forgejo running at localhost:3000 +- `teleo` user has sudo access for `teleo-*` services + +## Steps + +### 1. Create the deploy checkout + +```bash +git clone http://localhost:3000/teleo/teleo-codex.git /opt/teleo-eval/workspaces/deploy +cd /opt/teleo-eval/workspaces/deploy +git checkout main +``` + +This checkout is ONLY for auto-deploy. The pipeline's main worktree at +`/opt/teleo-eval/workspaces/main` is separate and untouched. + +### 2. Install systemd units + +```bash +sudo cp /opt/teleo-eval/workspaces/deploy/ops/auto-deploy.service /etc/systemd/system/teleo-auto-deploy.service +sudo cp /opt/teleo-eval/workspaces/deploy/ops/auto-deploy.timer /etc/systemd/system/teleo-auto-deploy.timer +sudo systemctl daemon-reload +sudo systemctl enable --now teleo-auto-deploy.timer +``` + +### 3. Verify + +```bash +# Timer is active +systemctl status teleo-auto-deploy.timer + +# Run once manually to seed the stamp file +sudo systemctl start teleo-auto-deploy.service + +# Check logs +journalctl -u teleo-auto-deploy -n 20 +``` + +### 4. Add teleo sudoers for auto-deploy restarts + +If not already present, add to `/etc/sudoers.d/teleo`: +``` +teleo ALL=(ALL) NOPASSWD: /bin/systemctl restart teleo-pipeline, /bin/systemctl restart teleo-diagnostics +``` + +## How It Works + +Every 2 minutes, the timer fires `auto-deploy.sh`: +1. Fetches main from Forgejo (localhost) +2. Compares SHA against `/opt/teleo-eval/.last-deploy-sha` +3. If new commits: pulls, syntax-checks Python, syncs to working dirs +4. Restarts services ONLY if Python files changed in relevant paths +5. Runs smoke tests (systemd status + health endpoints) +6. Updates stamp on success. On failure: does NOT update stamp, retries next cycle. + +## Monitoring + +```bash +# Recent deploys +journalctl -u teleo-auto-deploy --since "1 hour ago" + +# Timer schedule +systemctl list-timers teleo-auto-deploy.timer + +# Last deployed SHA +cat /opt/teleo-eval/.last-deploy-sha +``` + +## Troubleshooting + +**"git pull --ff-only failed"**: The deploy checkout diverged from main. +Fix: `cd /opt/teleo-eval/workspaces/deploy && git reset --hard origin/main` + +**Syntax errors blocking deploy**: Fix the code, push to main. Next cycle retries. + +**Service won't restart**: Check `journalctl -u teleo-pipeline -n 30`. Fix and push. +Auto-deploy will retry because stamp wasn't updated. diff --git a/ops/auto-deploy.service b/ops/auto-deploy.service new file mode 100644 index 000000000..a73586458 --- /dev/null +++ b/ops/auto-deploy.service @@ -0,0 +1,12 @@ +# Install: sudo cp ops/auto-deploy.service /etc/systemd/system/teleo-auto-deploy.service +# Then: sudo systemctl daemon-reload && sudo systemctl enable --now teleo-auto-deploy.timer +[Unit] +Description=Auto-deploy teleo-codex from Forgejo to working directories +After=network.target + +[Service] +Type=oneshot +User=teleo +ExecStart=/opt/teleo-eval/workspaces/deploy/ops/auto-deploy.sh +StandardOutput=journal +StandardError=journal diff --git a/ops/auto-deploy.sh b/ops/auto-deploy.sh new file mode 100755 index 000000000..893883445 --- /dev/null +++ b/ops/auto-deploy.sh @@ -0,0 +1,128 @@ +#!/usr/bin/env bash +# auto-deploy.sh — Pull from Forgejo, sync to working dirs, restart if needed. +# Runs as systemd timer (teleo-auto-deploy.timer) every 2 minutes. +# Exits silently when nothing has changed. +set -euo pipefail + +DEPLOY_CHECKOUT="/opt/teleo-eval/workspaces/deploy" +PIPELINE_DIR="/opt/teleo-eval/pipeline" +DIAGNOSTICS_DIR="/opt/teleo-eval/diagnostics" +AGENT_STATE_DIR="/opt/teleo-eval/ops/agent-state" +STAMP_FILE="/opt/teleo-eval/.last-deploy-sha" +LOG_TAG="auto-deploy" + +log() { logger -t "$LOG_TAG" "$1"; echo "$(date '+%Y-%m-%d %H:%M:%S') $1"; } + +if [ ! -d "$DEPLOY_CHECKOUT/.git" ]; then + log "ERROR: Deploy checkout not found at $DEPLOY_CHECKOUT. Run setup first." + exit 1 +fi + +cd "$DEPLOY_CHECKOUT" +if ! git fetch origin main --quiet 2>&1; then + log "ERROR: git fetch failed" + exit 1 +fi + +NEW_SHA=$(git rev-parse origin/main) +OLD_SHA=$(cat "$STAMP_FILE" 2>/dev/null || echo "none") + +if [ "$NEW_SHA" = "$OLD_SHA" ]; then + exit 0 +fi + +log "New commits: ${OLD_SHA:0:8} -> ${NEW_SHA:0:8}" + +git checkout main --quiet 2>/dev/null || true +if ! git pull --ff-only --quiet 2>&1; then + log "ERROR: git pull --ff-only failed. Manual intervention needed." + exit 1 +fi + +# Syntax check all Python files before copying +ERRORS=0 +for f in ops/pipeline-v2/lib/*.py ops/pipeline-v2/*.py ops/diagnostics/*.py; do + [ -f "$f" ] || continue + if ! python3 -c "import ast, sys; ast.parse(open(sys.argv[1]).read())" "$f" 2>/dev/null; then + log "SYNTAX ERROR: $f" + ERRORS=$((ERRORS + 1)) + fi +done +if [ "$ERRORS" -gt 0 ]; then + log "ERROR: $ERRORS syntax errors. Deploy aborted. Fix and push again." + exit 1 +fi +log "Syntax check passed" + +# Sync to working directories (mirrors deploy.sh logic) +RSYNC_FLAGS="-az --exclude=__pycache__ --exclude=*.pyc --exclude=*.bak*" + +rsync $RSYNC_FLAGS ops/pipeline-v2/lib/ "$PIPELINE_DIR/lib/" + +for f in teleo-pipeline.py reweave.py batch-extract-50.sh; do + [ -f "ops/pipeline-v2/$f" ] && rsync $RSYNC_FLAGS "ops/pipeline-v2/$f" "$PIPELINE_DIR/$f" +done + +rsync $RSYNC_FLAGS ops/diagnostics/ "$DIAGNOSTICS_DIR/" +rsync $RSYNC_FLAGS ops/agent-state/ "$AGENT_STATE_DIR/" +[ -f ops/research-session.sh ] && rsync $RSYNC_FLAGS ops/research-session.sh /opt/teleo-eval/research-session.sh + +log "Files synced" + +# Restart services only if Python files changed +RESTART="" +if [ "$OLD_SHA" != "none" ]; then + if git diff --name-only "$OLD_SHA" "$NEW_SHA" -- ops/pipeline-v2/ 2>/dev/null | grep -q '\.py$'; then + RESTART="$RESTART teleo-pipeline" + fi + if git diff --name-only "$OLD_SHA" "$NEW_SHA" -- ops/diagnostics/ 2>/dev/null | grep -q '\.py$'; then + RESTART="$RESTART teleo-diagnostics" + fi +else + RESTART="teleo-pipeline teleo-diagnostics" +fi + +if [ -n "$RESTART" ]; then + log "Restarting:$RESTART" + sudo systemctl restart $RESTART + sleep 5 + + FAIL=0 + for svc in $RESTART; do + if systemctl is-active --quiet "$svc"; then + log "$svc: active" + else + log "ERROR: $svc failed to start" + journalctl -u "$svc" -n 5 --no-pager 2>/dev/null || true + FAIL=1 + fi + done + + if echo "$RESTART" | grep -q "teleo-pipeline"; then + if curl -sf --connect-timeout 3 http://localhost:8080/health > /dev/null 2>&1; then + log "pipeline health: OK" + else + log "WARNING: pipeline health check failed" + FAIL=1 + fi + fi + + if echo "$RESTART" | grep -q "teleo-diagnostics"; then + if curl -sf --connect-timeout 3 http://localhost:8081/ops > /dev/null 2>&1; then + log "diagnostics health: OK" + else + log "WARNING: diagnostics health check failed" + FAIL=1 + fi + fi + + if [ "$FAIL" -gt 0 ]; then + log "WARNING: Smoke test failures. NOT updating stamp. Will retry next cycle." + exit 1 + fi +else + log "No Python changes — services not restarted" +fi + +echo "$NEW_SHA" > "$STAMP_FILE" +log "Deploy complete: $(git log --oneline -1 "$NEW_SHA")" diff --git a/ops/auto-deploy.timer b/ops/auto-deploy.timer new file mode 100644 index 000000000..e335fefb0 --- /dev/null +++ b/ops/auto-deploy.timer @@ -0,0 +1,12 @@ +# Install: sudo cp ops/auto-deploy.timer /etc/systemd/system/teleo-auto-deploy.timer +# Then: sudo systemctl daemon-reload && sudo systemctl enable --now teleo-auto-deploy.timer +[Unit] +Description=Run teleo auto-deploy every 2 minutes + +[Timer] +OnBootSec=30 +OnUnitActiveSec=2min +AccuracySec=10s + +[Install] +WantedBy=timers.target diff --git a/ops/prune-branches.sh b/ops/prune-branches.sh new file mode 100755 index 000000000..d563278df --- /dev/null +++ b/ops/prune-branches.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +# prune-branches.sh — Delete merged remote branches older than N days. +# Usage: ./prune-branches.sh [--days 14] [--remote forgejo] [--execute] +# Default: dry-run (shows what would be deleted). Pass --execute to actually delete. +set -euo pipefail + +DAYS=14 +REMOTE="forgejo" +EXECUTE=false + +while [ $# -gt 0 ]; do + case "$1" in + --days) DAYS="$2"; shift 2 ;; + --remote) REMOTE="$2"; shift 2 ;; + --execute) EXECUTE=true; shift ;; + --help|-h) echo "Usage: $0 [--days N] [--remote name] [--execute]"; exit 0 ;; + *) echo "Unknown arg: $1"; exit 1 ;; + esac +done + +CUTOFF=$(date -v-${DAYS}d +%Y-%m-%d 2>/dev/null || date -d "-${DAYS} days" +%Y-%m-%d) +PROTECTED="main|HEAD" + +echo "Scanning $REMOTE for merged branches older than $CUTOFF..." +echo "" + +git fetch "$REMOTE" --prune --quiet + +COUNT=0 +DELETE_COUNT=0 + +while IFS= read -r branch; do + branch=$(echo "$branch" | sed 's/^[[:space:]]*//') + [ -z "$branch" ] && continue + + short="${branch#$REMOTE/}" + echo "$short" | grep -qE "^($PROTECTED)$" && continue + + last_date=$(git log -1 --format='%ai' "$branch" 2>/dev/null | cut -d' ' -f1) + [ -z "$last_date" ] && continue + COUNT=$((COUNT + 1)) + + if [[ "$last_date" < "$CUTOFF" ]]; then + if $EXECUTE; then + echo " DELETE: $short ($last_date)" + git push "$REMOTE" --delete "$short" 2>/dev/null && DELETE_COUNT=$((DELETE_COUNT + 1)) || echo " FAILED: $short" + else + echo " WOULD DELETE: $short ($last_date)" + DELETE_COUNT=$((DELETE_COUNT + 1)) + fi + fi +done < <(git branch -r | grep "^ $REMOTE/") + +echo "" +if $EXECUTE; then + echo "Deleted $DELETE_COUNT of $COUNT branches." +else + echo "Would delete $DELETE_COUNT of $COUNT branches. Run with --execute to proceed." +fi