diff --git a/.gitignore b/.gitignore index 6eba7d4..8b978ac 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ .DS_Store *.DS_Store -ops/sessions/ diff --git a/CLAUDE.md b/CLAUDE.md index 1c7016f..e986178 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -40,8 +40,6 @@ teleo-codex/ │ ├── claim.md │ ├── belief.md │ └── position.md -├── inbox/ # Source material pipeline -│ └── archive/ # Processed sources (tweets, articles) with YAML frontmatter ├── skills/ # Shared operational skills │ ├── extract.md │ ├── evaluate.md diff --git a/agents/leo/skills.md b/agents/leo/skills.md index 543cca1..1f9f13b 100644 --- a/agents/leo/skills.md +++ b/agents/leo/skills.md @@ -43,15 +43,6 @@ Adjudicate mixed evaluation results, synthesize agent disagreements, maintain qu **Outputs:** Merge/reject decision with reasoning, identification of what type of disagreement (factual vs perspective), research assignments when more evidence is needed **References:** Governed by [[evaluate]] skill — every rejection explains which criteria failed, every mixed vote gets Leo synthesis -**Rejection criteria** (reject only when one of these holds): -1. Fails the claim test — not specific enough to disagree with -2. Evidence doesn't support the claim — confidence miscalibrated or cited evidence doesn't back the argument -3. Semantic duplicate — the insight already exists in the knowledge base -4. No value add — true but trivial, doesn't generate insight -5. Unfixable contradiction — contradicts existing claim without acknowledging or arguing against it - -**Self-monitoring:** If rejection rate exceeds ~20% over a rolling window of 10+ PRs, investigate calibration or proposer guidance. - ## 6. Conflict Resolution Between Agents When agents disagree on shared claims or cross-domain positions, synthesize the disagreement into useful information. diff --git a/agents/rio/skills.md b/agents/rio/skills.md index 432ebe9..09482c9 100644 --- a/agents/rio/skills.md +++ b/agents/rio/skills.md @@ -58,13 +58,25 @@ Analyze competitive positioning within a market segment — launchpad tier, AMM **Outputs:** Tier stratification, mechanism comparison matrix, moat analysis per player, attractor state trajectory assessment **References:** [[Solana launchpad ecosystem has stratified into three tiers with speculation infrastructure dominating volume while MetaDAOs governance-first model offers the only bundled legal entity plus futarchy plus treasury protection]] -## 8. On-Chain Market Research & Discovery +## 8. Source Ingestion & Claim Extraction -Search X, Futard.io, on-chain data, and expert accounts for new claims in internet finance. +Process research materials (articles, tweets, PDFs, threads, reports) into knowledge base artifacts. The full pipeline: fetch source content, analyze against existing claims and beliefs in memory, archive the source, extract new claims or identify enrichments to existing claims, check for duplicates and contradictions, and propose via PR for Leo's review. -**Inputs:** Keywords, expert accounts, time window, on-chain events to monitor -**Outputs:** Candidate claims with source attribution, relevance assessment, duplicate check against existing knowledge base -**References:** [[Internet finance is an industry transition from traditional finance where the attractor state replaces intermediaries with programmable coordination and market-tested governance]] +**Inputs:** Source URL(s), PDF, or pasted text — articles, tweets, research reports, macro analysis, on-chain data, expert commentary. Can handle contested sources by archiving as linked sets with diverging perspectives. +**Outputs:** +- Archive markdown in `inbox/archive/` with YAML frontmatter (type, source, url, date, tags including `rio`, linked_set if applicable) +- New claim files in `domains/internet-finance/` with proper schema (prose-as-title, description, confidence, source, depends_on, challenged_by) +- Enrichments to existing claims (new evidence, updated challenged_by, cross-references) +- Belief challenge flags when new evidence contradicts active beliefs +- PR with reasoning for Leo's review, message to Leo via Pentagon +**Process:** +1. Fetch and read source completely before extracting +2. Check against existing KB: duplicates, contradictions, extensions, belief implications +3. Archive source to `inbox/archive/` (naming: `YYYY-MM-DD-author-slug.md`) +4. Extract claims — each specific enough to disagree with, evidence inline, confidence calibrated +5. For contested topics, structure claims as mechanism disagreements with multi-sided challenged_by sections +6. Create branch (BEFORE writing files), commit, push, open PR, message Leo +**References:** [[evaluate]] skill, [[extract]] skill, [[epistemology]] four-layer framework ## 9. Knowledge Proposal diff --git a/ops/sessions/20260305-193015.json b/ops/sessions/20260305-193015.json new file mode 100644 index 0000000..1820b0b --- /dev/null +++ b/ops/sessions/20260305-193015.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:30:15Z", "status": "completed"} diff --git a/ops/sessions/20260305-193022.json b/ops/sessions/20260305-193022.json new file mode 100644 index 0000000..987ccbf --- /dev/null +++ b/ops/sessions/20260305-193022.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:30:22Z", "status": "completed"} diff --git a/ops/sessions/20260305-193031.json b/ops/sessions/20260305-193031.json new file mode 100644 index 0000000..b737b83 --- /dev/null +++ b/ops/sessions/20260305-193031.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:30:31Z", "status": "completed"} diff --git a/ops/sessions/20260305-193037.json b/ops/sessions/20260305-193037.json new file mode 100644 index 0000000..807f42d --- /dev/null +++ b/ops/sessions/20260305-193037.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:30:37Z", "status": "completed"} diff --git a/ops/sessions/20260305-193046.json b/ops/sessions/20260305-193046.json new file mode 100644 index 0000000..3117813 --- /dev/null +++ b/ops/sessions/20260305-193046.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:30:46Z", "status": "completed"} diff --git a/ops/sessions/20260305-193454.json b/ops/sessions/20260305-193454.json new file mode 100644 index 0000000..f83696c --- /dev/null +++ b/ops/sessions/20260305-193454.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:34:54Z", "status": "completed"} diff --git a/ops/sessions/20260305-193516.json b/ops/sessions/20260305-193516.json new file mode 100644 index 0000000..352b97f --- /dev/null +++ b/ops/sessions/20260305-193516.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:35:16Z", "status": "completed"} diff --git a/ops/sessions/20260305-193650.json b/ops/sessions/20260305-193650.json new file mode 100644 index 0000000..0288f20 --- /dev/null +++ b/ops/sessions/20260305-193650.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:36:50Z", "status": "completed"} diff --git a/ops/sessions/20260305-193941.json b/ops/sessions/20260305-193941.json new file mode 100644 index 0000000..a20ca0e --- /dev/null +++ b/ops/sessions/20260305-193941.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:39:41Z", "status": "completed"} diff --git a/ops/sessions/20260305-194624.json b/ops/sessions/20260305-194624.json new file mode 100644 index 0000000..7a2e34d --- /dev/null +++ b/ops/sessions/20260305-194624.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:46:24Z", "status": "completed"} diff --git a/ops/sessions/20260305-194634.json b/ops/sessions/20260305-194634.json new file mode 100644 index 0000000..f9afb81 --- /dev/null +++ b/ops/sessions/20260305-194634.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:46:34Z", "status": "completed"} diff --git a/ops/sessions/20260305-195024.json b/ops/sessions/20260305-195024.json new file mode 100644 index 0000000..cba7e7f --- /dev/null +++ b/ops/sessions/20260305-195024.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:50:24Z", "status": "completed"} diff --git a/ops/sessions/20260305-195108.json b/ops/sessions/20260305-195108.json new file mode 100644 index 0000000..78b9f8f --- /dev/null +++ b/ops/sessions/20260305-195108.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:51:08Z", "status": "completed"} diff --git a/ops/sessions/20260305-195439.json b/ops/sessions/20260305-195439.json new file mode 100644 index 0000000..ceef789 --- /dev/null +++ b/ops/sessions/20260305-195439.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:54:39Z", "status": "completed"} diff --git a/ops/sessions/20260305-195640.json b/ops/sessions/20260305-195640.json new file mode 100644 index 0000000..b20e2ee --- /dev/null +++ b/ops/sessions/20260305-195640.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T19:56:40Z", "status": "completed"} diff --git a/ops/sessions/20260305-200729.json b/ops/sessions/20260305-200729.json new file mode 100644 index 0000000..e01d61b --- /dev/null +++ b/ops/sessions/20260305-200729.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T20:07:29Z", "status": "completed"} diff --git a/ops/sessions/20260305-200840.json b/ops/sessions/20260305-200840.json new file mode 100644 index 0000000..c83a360 --- /dev/null +++ b/ops/sessions/20260305-200840.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T20:08:40Z", "status": "completed"} diff --git a/ops/sessions/20260305-200904.json b/ops/sessions/20260305-200904.json new file mode 100644 index 0000000..363c479 --- /dev/null +++ b/ops/sessions/20260305-200904.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T20:09:04Z", "status": "completed"} diff --git a/ops/sessions/20260305-201457.json b/ops/sessions/20260305-201457.json new file mode 100644 index 0000000..d45cba2 --- /dev/null +++ b/ops/sessions/20260305-201457.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T20:14:57Z", "status": "completed"} diff --git a/ops/sessions/20260305-202238.json b/ops/sessions/20260305-202238.json new file mode 100644 index 0000000..113faa3 --- /dev/null +++ b/ops/sessions/20260305-202238.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T20:22:38Z", "status": "completed"} diff --git a/ops/sessions/20260305-202415.json b/ops/sessions/20260305-202415.json new file mode 100644 index 0000000..7c244ef --- /dev/null +++ b/ops/sessions/20260305-202415.json @@ -0,0 +1 @@ +{"id": "4ee6c75b-1263-4859-acb5-4babbe8079d8", "ended": "2026-03-05T20:24:15Z", "status": "completed"} diff --git a/ops/sessions/20260305-204800.json b/ops/sessions/20260305-204800.json new file mode 100644 index 0000000..410869b --- /dev/null +++ b/ops/sessions/20260305-204800.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T20:48:00Z", "status": "completed"} diff --git a/ops/sessions/20260305-205248.json b/ops/sessions/20260305-205248.json new file mode 100644 index 0000000..ff08bb3 --- /dev/null +++ b/ops/sessions/20260305-205248.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T20:52:48Z", "status": "completed"} diff --git a/ops/sessions/20260305-210244.json b/ops/sessions/20260305-210244.json new file mode 100644 index 0000000..eb650ea --- /dev/null +++ b/ops/sessions/20260305-210244.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T21:02:44Z", "status": "completed"} diff --git a/ops/sessions/20260305-210334.json b/ops/sessions/20260305-210334.json new file mode 100644 index 0000000..05f44a9 --- /dev/null +++ b/ops/sessions/20260305-210334.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T21:03:34Z", "status": "completed"} diff --git a/ops/sessions/20260305-210343.json b/ops/sessions/20260305-210343.json new file mode 100644 index 0000000..d26b33b --- /dev/null +++ b/ops/sessions/20260305-210343.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T21:03:43Z", "status": "completed"} diff --git a/ops/sessions/20260305-210450.json b/ops/sessions/20260305-210450.json new file mode 100644 index 0000000..ab66d3b --- /dev/null +++ b/ops/sessions/20260305-210450.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T21:04:50Z", "status": "completed"} diff --git a/ops/sessions/20260305-211014.json b/ops/sessions/20260305-211014.json new file mode 100644 index 0000000..7e9bb50 --- /dev/null +++ b/ops/sessions/20260305-211014.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T21:10:14Z", "status": "completed"} diff --git a/ops/sessions/20260305-211018.json b/ops/sessions/20260305-211018.json new file mode 100644 index 0000000..0e1a6d5 --- /dev/null +++ b/ops/sessions/20260305-211018.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T21:10:18Z", "status": "completed"} diff --git a/ops/sessions/20260305-211824.json b/ops/sessions/20260305-211824.json new file mode 100644 index 0000000..ef9fdb2 --- /dev/null +++ b/ops/sessions/20260305-211824.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T21:18:24Z", "status": "completed"} diff --git a/ops/sessions/20260305-212341.json b/ops/sessions/20260305-212341.json new file mode 100644 index 0000000..947fc8d --- /dev/null +++ b/ops/sessions/20260305-212341.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T21:23:41Z", "status": "completed"} diff --git a/ops/sessions/20260305-212854.json b/ops/sessions/20260305-212854.json new file mode 100644 index 0000000..b8eff69 --- /dev/null +++ b/ops/sessions/20260305-212854.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T21:28:54Z", "status": "completed"} diff --git a/ops/sessions/20260305-213258.json b/ops/sessions/20260305-213258.json new file mode 100644 index 0000000..31705a8 --- /dev/null +++ b/ops/sessions/20260305-213258.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T21:32:58Z", "status": "completed"} diff --git a/ops/sessions/20260305-213339.json b/ops/sessions/20260305-213339.json new file mode 100644 index 0000000..b1ff70c --- /dev/null +++ b/ops/sessions/20260305-213339.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T21:33:39Z", "status": "completed"} diff --git a/ops/sessions/20260305-213442.json b/ops/sessions/20260305-213442.json new file mode 100644 index 0000000..c47859a --- /dev/null +++ b/ops/sessions/20260305-213442.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T21:34:42Z", "status": "completed"} diff --git a/ops/sessions/20260305-213748.json b/ops/sessions/20260305-213748.json new file mode 100644 index 0000000..9a4282a --- /dev/null +++ b/ops/sessions/20260305-213748.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T21:37:48Z", "status": "completed"} diff --git a/ops/sessions/20260305-232155.json b/ops/sessions/20260305-232155.json new file mode 100644 index 0000000..991585d --- /dev/null +++ b/ops/sessions/20260305-232155.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T23:21:55Z", "status": "completed"} diff --git a/ops/sessions/20260305-232328.json b/ops/sessions/20260305-232328.json new file mode 100644 index 0000000..ddad9b2 --- /dev/null +++ b/ops/sessions/20260305-232328.json @@ -0,0 +1 @@ +{"id": "2ea8dbcb-a29b-43e8-b726-45e571a1f3c8", "ended": "2026-03-05T23:23:28Z", "status": "completed"}