@zerwiz/ymir 0.1.16 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/.agents/config/app-repos.yaml +38 -0
  2. package/.claude/settings.json +31 -0
  3. package/.codex/hooks.json +43 -0
  4. package/.cursor/hooks.json +33 -0
  5. package/.pi/extensions/README.md +39 -0
  6. package/.pi/extensions/gna-pi-watch.ts +15 -0
  7. package/.pi/extensions/lib/ro-assistant-layout.ts +96 -0
  8. package/.pi/extensions/lib/ro-operational-user-layout.ts +145 -0
  9. package/.pi/extensions/lib/ro-visibility.ts +99 -0
  10. package/.pi/extensions/lib/ro-working-ship.ts +243 -0
  11. package/.pi/extensions/lib/rodd-operational-input.ts +62 -0
  12. package/.pi/extensions/lib/skuld-branch-dispatch.ts +252 -0
  13. package/.pi/extensions/lib/skuld-branch-model-picker.ts +77 -0
  14. package/.pi/extensions/lib/vordr-sessionstart-supervisor.mjs +48 -0
  15. package/.pi/extensions/ro.ts +11 -0
  16. package/.pi/extensions/skuld-branch-supervision.ts +11 -0
  17. package/.pi/extensions/syn-turnend-guard.ts +11 -0
  18. package/.pi/mcp.json +16 -0
  19. package/.pi/mcp.json.example +11 -0
  20. package/.pi/npm/.gitignore +2 -0
  21. package/.pi/settings.json +8 -0
  22. package/.pi/shared/extensions/gna-pi-watch.ts +750 -0
  23. package/.pi/shared/extensions/herdr-agent-state.ts +257 -0
  24. package/.pi/shared/extensions/open-editor.ts +509 -0
  25. package/.pi/shared/extensions/ro.ts +504 -0
  26. package/.pi/shared/extensions/skuld-branch-supervision.ts +1535 -0
  27. package/.pi/shared/extensions/syn-turnend-guard.ts +683 -0
  28. package/.pi/shared/extensions/todo.ts +133 -0
  29. package/.pi/shared/extensions/ymir-subagents.ts +287 -0
  30. package/.pi/shared/extensions/ymir-well.ts +130 -0
  31. package/CHANGELOG.md +23 -0
  32. package/assets/Ymir.md +4654 -0
  33. package/assets/healer.html +717 -0
  34. package/assets/icon-family/family-sheet.png +0 -0
  35. package/assets/icon-family/hlidskjalf.svg +1 -0
  36. package/assets/icon-family/sessrumnir.svg +1 -0
  37. package/assets/icon-family/smidja.svg +1 -0
  38. package/assets/icon-family/ymir.svg +1 -0
  39. package/assets/mimirswell.html +880 -0
  40. package/assets/mock/README.md +16 -0
  41. package/assets/mock/feeds.ts +175 -0
  42. package/assets/mock/mock.ts +408 -0
  43. package/assets/reference/docs/agent-control.md +122 -0
  44. package/assets/reference/docs/apodex/Appdex_as_Orchestrator_Planner_Reviewer_Assessment.md +176 -0
  45. package/assets/reference/docs/apodex/Final Report(1).md +198 -0
  46. package/assets/reference/docs/apodex/Final Report(2).md +54 -0
  47. package/assets/reference/docs/apodex/Final Report(3).md +40 -0
  48. package/assets/reference/docs/apodex/Final Report(4).md +234 -0
  49. package/assets/reference/docs/apodex/Final Report(5).md +13 -0
  50. package/assets/reference/docs/apodex/Final Report.md +82 -0
  51. package/assets/reference/docs/architecture.md +392 -0
  52. package/assets/reference/docs/arm-pretool-check.md +247 -0
  53. package/assets/reference/docs/calm-mode-feasibility.md +541 -0
  54. package/assets/reference/docs/calm.md +59 -0
  55. package/assets/reference/docs/captain-hold-lifecycle.md +96 -0
  56. package/assets/reference/docs/cd-guard.md +165 -0
  57. package/assets/reference/docs/cmux-backend.md +133 -0
  58. package/assets/reference/docs/codex-app-backend.md +57 -0
  59. package/assets/reference/docs/configuration.md +924 -0
  60. package/assets/reference/docs/documentation-audiences.json +468 -0
  61. package/assets/reference/docs/documentation-audiences.md +28 -0
  62. package/assets/reference/docs/examples/crew-dispatch.json +26 -0
  63. package/assets/reference/docs/examples/process-event-extension/file-signal.mjs +96 -0
  64. package/assets/reference/docs/examples/process-event-extension/firstmate-extension.json +15 -0
  65. package/assets/reference/docs/examples/watched-tools.json +24 -0
  66. package/assets/reference/docs/examples/wedge-alarm +22 -0
  67. package/assets/reference/docs/extension-bindings.md +237 -0
  68. package/assets/reference/docs/fm-test-isolation-proof.json +37 -0
  69. package/assets/reference/docs/fm-test-isolation-proof.md +149 -0
  70. package/assets/reference/docs/fm-test-portable-shards.md +118 -0
  71. package/assets/reference/docs/gitlab-merge-watch.md +275 -0
  72. package/assets/reference/docs/herdr-backend.md +346 -0
  73. package/assets/reference/docs/orca-backend.md +84 -0
  74. package/assets/reference/docs/pi-supervision-branch-poster.svg +125 -0
  75. package/assets/reference/docs/pi-supervision-branch.md +96 -0
  76. package/assets/reference/docs/plans/agentic-engineering-workflow.md +395 -0
  77. package/assets/reference/docs/plans/agentic-factory-implementation-plan.md +615 -0
  78. package/assets/reference/docs/plans/command-factory-enhancement-plan.md +420 -0
  79. package/assets/reference/docs/plans/phase-1-layer3-program-design.md +134 -0
  80. package/assets/reference/docs/plans/phase-2-vertical-slices.md +100 -0
  81. package/assets/reference/docs/plans/phase-3-measurable-goals.md +106 -0
  82. package/assets/reference/docs/plans/phase-4-context-budget.md +106 -0
  83. package/assets/reference/docs/plans/phase-5-pre-mortem-confidence.md +100 -0
  84. package/assets/reference/docs/plans/phase-6-incident-to-agent.md +109 -0
  85. package/assets/reference/docs/remote-secondmates.md +268 -0
  86. package/assets/reference/docs/scripts.md +146 -0
  87. package/assets/reference/docs/sessionstart-nudge.md +115 -0
  88. package/assets/reference/docs/subagent-guard.md +383 -0
  89. package/assets/reference/docs/supervision-protocols/claude.md +27 -0
  90. package/assets/reference/docs/supervision-protocols/codex.md +16 -0
  91. package/assets/reference/docs/supervision-protocols/cursor.md +31 -0
  92. package/assets/reference/docs/supervision-protocols/grok.md +39 -0
  93. package/assets/reference/docs/supervision-protocols/opencode.md +17 -0
  94. package/assets/reference/docs/supervision-protocols/pi.md +33 -0
  95. package/assets/reference/docs/supervision-protocols/unknown.md +13 -0
  96. package/assets/reference/docs/tmux-backend.md +115 -0
  97. package/assets/reference/docs/trace-context.md +117 -0
  98. package/assets/reference/docs/turnend-guard.md +170 -0
  99. package/assets/reference/docs/verification/dispatch-auth.md +204 -0
  100. package/assets/reference/docs/verification/muse.md +221 -0
  101. package/assets/reference/docs/verification/process-event-sources.md +208 -0
  102. package/assets/reference/docs/verification/public-followup.md +119 -0
  103. package/assets/reference/docs/verification/runtime-backends.md +1022 -0
  104. package/assets/reference/docs/verification/stow-memory.md +53 -0
  105. package/assets/reference/docs/verification/supervision.md +534 -0
  106. package/assets/reference/docs/verification/trace-context.md +31 -0
  107. package/assets/reference/docs/voice-relay.md +295 -0
  108. package/assets/reference/docs/watcher-continuity.md +119 -0
  109. package/assets/reference/docs/wedge-alarm.md +39 -0
  110. package/assets/reference/docs/zellij-backend.md +114 -0
  111. package/assets/reference/index.html +1172 -0
  112. package/assets/reference/skills/afk/SKILL.md +241 -0
  113. package/assets/reference/skills/ahoy/SKILL.md +56 -0
  114. package/assets/reference/skills/ask-user-authority/SKILL.md +56 -0
  115. package/assets/reference/skills/bearings/SKILL.md +161 -0
  116. package/assets/reference/skills/bearings/assets/board-template.html +731 -0
  117. package/assets/reference/skills/bootstrap-diagnostics/SKILL.md +68 -0
  118. package/assets/reference/skills/captain-hold-lifecycle/SKILL.md +54 -0
  119. package/assets/reference/skills/decision-hold-lifecycle/SKILL.md +15 -0
  120. package/assets/reference/skills/diagnostic-reasoning/SKILL.md +53 -0
  121. package/assets/reference/skills/firstmate-codexapp/SKILL.md +110 -0
  122. package/assets/reference/skills/firstmate-codexapp/agents/openai.yaml +4 -0
  123. package/assets/reference/skills/firstmate-coding-guidelines/SKILL.md +127 -0
  124. package/assets/reference/skills/firstmate-orca/SKILL.md +92 -0
  125. package/assets/reference/skills/fmx-respond/SKILL.md +283 -0
  126. package/assets/reference/skills/harness-adapters/SKILL.md +95 -0
  127. package/assets/reference/skills/harness-adapters/references/common/control-and-recovery.md +37 -0
  128. package/assets/reference/skills/harness-adapters/references/common/dispatch.md +32 -0
  129. package/assets/reference/skills/harness-adapters/references/common/model-and-effort.md +42 -0
  130. package/assets/reference/skills/harness-adapters/references/common/primary-hooks.md +40 -0
  131. package/assets/reference/skills/harness-adapters/references/harness/claude.md +55 -0
  132. package/assets/reference/skills/harness-adapters/references/harness/codex.md +43 -0
  133. package/assets/reference/skills/harness-adapters/references/harness/cursor.md +75 -0
  134. package/assets/reference/skills/harness-adapters/references/harness/grok.md +69 -0
  135. package/assets/reference/skills/harness-adapters/references/harness/kimi.md +51 -0
  136. package/assets/reference/skills/harness-adapters/references/harness/muse.md +70 -0
  137. package/assets/reference/skills/harness-adapters/references/harness/opencode.md +42 -0
  138. package/assets/reference/skills/harness-adapters/references/harness/pi.md +56 -0
  139. package/assets/reference/skills/process-event-sources/SKILL.md +137 -0
  140. package/assets/reference/skills/project-management/SKILL.md +92 -0
  141. package/assets/reference/skills/quota-array-dispatch/SKILL.md +131 -0
  142. package/assets/reference/skills/secondmate-provisioning/SKILL.md +254 -0
  143. package/assets/reference/skills/stow/SKILL.md +309 -0
  144. package/assets/reference/skills/stuck-crewmate-recovery/SKILL.md +54 -0
  145. package/assets/reference/skills/updatefirstmate/SKILL.md +64 -0
  146. package/assets/skills/README.md +5 -0
  147. package/assets/yggdrasil.html +649 -0
  148. package/assets/ymir-banner-01.png +0 -0
  149. package/assets/ymir-banner-02.png +0 -0
  150. package/assets/ymir-banner-03.png +0 -0
  151. package/assets/ymir-banner-04.png +0 -0
  152. package/assets/ymir-banner-05.png +0 -0
  153. package/assets/ymir-banner-06.png +0 -0
  154. package/assets/ymir-emblem-darksteel.svg +63 -0
  155. package/assets/ymir-emblem-forged.svg +55 -0
  156. package/assets/ymir-emblem-slate.svg +55 -0
  157. package/assets/ymir-mark-algiz-anvil.svg +9 -0
  158. package/assets/ymir-stave.svg +53 -0
  159. package/assets/ymir.html +563 -0
  160. package/bin/ymir-install.sh +6 -1
  161. package/data/learnings.md +33 -0
  162. package/data/local-models.md +34 -0
  163. package/data/operator.md +15 -0
  164. package/data/projects.md +28 -0
  165. package/data/realm.md +1 -0
  166. package/deploy/Containerfile +27 -0
  167. package/deploy/README.md +104 -0
  168. package/deploy/compose/compose.yaml +45 -0
  169. package/deploy/env.example +30 -0
  170. package/deploy/quadlet/ymir.container +57 -0
  171. package/package.json +10 -8
@@ -0,0 +1,234 @@
1
+ The `ApodexAI/AgentHarness` repo is the **official open‑source evaluation harness for Apodex‑1.0 models in a ReAct agent setup**. It is not a TUI, not a general agent platform like Ymir, and not a replacement for pi.dev — it’s the reference pipeline you use to **serve an Apodex model and run deep‑research benchmarks end‑to‑end.**
2
+
3
+ Below is what it does and how you can meaningfully use it, given your interest in pi.dev and Ymir.
4
+
5
+ ---
6
+
7
+ ## 1. What AgentHarness actually is
8
+
9
+ From the README:
10
+
11
+ - Purpose:
12
+ > “Evaluation harness for Apodex‑1.0 on public deep‑research benchmarks. … used to reproduce the public benchmark results for Apodex‑1.0 in a standard ReAct setup.” [1]
13
+
14
+ - Benchmarked Apodex‑1.0 variants (open‑source weights) [1]:
15
+ - `Apodex‑1.0‑mini`
16
+ - `Apodex‑1.0‑4B‑SFT`
17
+ - `Apodex‑1.0‑2B‑SFT`
18
+ - `Apodex‑1.0‑0.8B‑SFT`
19
+
20
+ - Example performance table across four benchmarks (BrowseComp, BrowseComp‑ZH, HLE‑Text, DeepSearchQA) [1]:
21
+
22
+ | Model | BrowseComp | BrowseComp‑ZH | HLE‑Text | DeepSearchQA |
23
+ |-------------------|-----------:|--------------:|---------:|-------------:|
24
+ | Apodex‑1.0‑mini | 71.5 | 80.6 | 46.8 | 82.2 |
25
+ | Apodex‑1.0‑4B‑SFT | 48.8 | 63.5 | 32.9 | 69.9 |
26
+ | Apodex‑1.0‑2B‑SFT | 27.9 | 35.0 | 18.2 | 49.9 |
27
+ | Apodex‑1.0‑0.8B‑SFT | 13.9 | 10.7 | 11.2 | 25.8 |
28
+
29
+ - Supported benchmarks include (among others) [1]:
30
+ - BrowseComp, BrowseComp‑ZH
31
+ - xbench‑DeepResearch
32
+ - Humanity’s Last Exam (text‑only)
33
+ - SuperChem
34
+ - FrontierScience‑Research, FrontierScience‑Olympiad
35
+ - DeepSearchQA
36
+ - WideSearch
37
+
38
+ - License: **Apache 2.0** (permissive; you can copy, modify, and integrate it in commercial or internal systems) [1].
39
+
40
+ So: AgentHarness is a **reproducible evaluation runner** for a ReAct‑style Apodex agent, plus glue to datasets, search, fetch, and a code sandbox.
41
+
42
+ ---
43
+
44
+ ## 2. What it actually runs (high level)
45
+
46
+ The README outlines a standard workflow [1]:
47
+
48
+ 1. **Install dependencies**
49
+
50
+ Uses `uv` with Python 3.12:
51
+
52
+ ```bash
53
+ uv sync --python 3.12
54
+ ```
55
+
56
+ 2. **Serve the model (SGLang)**
57
+
58
+ Example command for the 35B Apodex‑1.0 model:
59
+
60
+ ```bash
61
+ python3 -m sglang.launch_server \
62
+ --model-path apodex/Apodex-1.0-35B-A3B \
63
+ --tp 8 \
64
+ --host 0.0.0.0 \
65
+ --port 1234 \
66
+ --context-length 262144 \
67
+ --tool-call-parser qwen3_coder \
68
+ --reasoning-parser qwen3
69
+ ```
70
+
71
+ This gives you a local, OpenAI‑compatible endpoint for the Apodex model.
72
+
73
+ 3. **Configure environment**
74
+
75
+ ```bash
76
+ cp .env.example .env
77
+ ```
78
+
79
+ You then set (per README) [1]:
80
+
81
+ - `OPENAI_BASE_URL`, `OPENAI_API_KEY`, `OPENAI_MODEL` → point at your served Apodex or any OpenAI‑compatible agent model.
82
+ - `SERPER_API_KEY` → web search.
83
+ - `JINA_API_KEY` → web fetch.
84
+ - `E2B_API_KEY` → code sandbox.
85
+
86
+ 4. **Download benchmark datasets** [1]:
87
+
88
+ ```bash
89
+ wget https://huggingface.co/datasets/apodex/Deep-Research-Benchmarks/resolve/main/deep_research_benchmarks_260607.zip
90
+ unzip -P 'apodex*()_2026' deep_research_benchmarks_260607.zip
91
+ rm deep_research_benchmarks_260607.zip
92
+ ```
93
+
94
+ Note: HLE answers are *not* redistributed; to run HLE‑Text you must accept the license for `cais/hle` and place the standardized JSONL at:
95
+ `benchmarks/datasets/HLE-text/standardized_data.jsonl` [1].
96
+
97
+ 5. **Run a smoke test** [1]:
98
+
99
+ ```bash
100
+ uv run python -m benchmarks.runner.run_subprocess \
101
+ --benchmark browsecomp \
102
+ --pipeline react_base \
103
+ --profile default \
104
+ --limit 1 \
105
+ --concurrency 1 \
106
+ --out ./tmp/smoke
107
+ ```
108
+
109
+ 6. **Run a full benchmark** [1]:
110
+
111
+ ```bash
112
+ uv run python -m benchmarks.runner.run_subprocess \
113
+ --benchmark browsecomp \
114
+ --pipeline react_base \
115
+ --profile default \
116
+ --runs 5 \
117
+ --concurrency 30 \
118
+ --out ./bc-runs
119
+ ```
120
+
121
+ 7. **Check progress and aggregate accuracy** [1]:
122
+
123
+ ```bash
124
+ uv run python -m benchmarks.runner.check_progress ./bc-runs
125
+ ```
126
+
127
+ Each question runs in its own subprocess for isolation and debuggability (per README discussion) [1].
128
+
129
+ ---
130
+
131
+ ## 3. How this helps you, concretely
132
+
133
+ ### 3.1 With pi.dev
134
+
135
+ Your situation:
136
+
137
+ - You already use **pi.dev**, which is a terminal‑first coding harness that can talk to many providers (including local/OpenAI‑compatible endpoints).
138
+
139
+ How AgentHarness fits:
140
+
141
+ 1. **Validating a local Apodex endpoint before wiring into pi.dev**
142
+
143
+ - Use AgentHarness to **serve** Apodex‑1.0 locally via SGLang and run at least:
144
+ - a smoke test on `browsecomp` and
145
+ - a small subset of one other benchmark.
146
+ - If results are in the expected range from the README’s performance table, you know:
147
+ - your model weights,
148
+ - serving stack, and
149
+ - tool integrations (search, fetch, sandbox)
150
+ are configured correctly.
151
+
152
+ Once it’s validated, you can point pi.dev’s “OpenAI‑compatible” provider configuration at the same `OPENAI_BASE_URL`/`OPENAI_MODEL` you used in AgentHarness.
153
+
154
+ 2. **Understanding what “Apodex as a model” actually does**
155
+
156
+ - AgentHarness makes it explicit that the Apodex model is being used in a **ReAct agent loop** (tool calls + reasoning) with:
157
+ - web search,
158
+ - web fetch,
159
+ - code execution.
160
+ - That’s very close to how you’d want pi.dev to treat Apodex: not as a dumb completion model, but as a tool‑calling agent. The harness gives you a working example of how that’s wired.
161
+
162
+ ### 3.2 With Ymir
163
+
164
+ Your earlier questions were about running Apodex (or even its TUI) *inside* Ymir, e.g. as Brokk or Kaia.
165
+
166
+ AgentHarness’s role relative to Ymir:
167
+
168
+ 1. **Reference “sub‑agent” behavior**
169
+
170
+ - The harness shows you a clean, **ReAct‑style agent** around Apodex:
171
+ - structured tool calls to search/fetch/code,
172
+ - bounded concurrent jobs,
173
+ - per‑question subprocesses.
174
+ - In Ymir language, this is close to how an **Eindri** worker in an Utgard sandbox would behave: take a job, call tools, produce a verdict.
175
+
176
+ 2. **Input to designing a Ymir‑compliant worker**
177
+
178
+ If you later:
179
+ - keep Ymir as the outer orchestrator (Kaia + Brokk + Mimirsbrunn), and
180
+ - want Apodex as an inner researcher,
181
+
182
+ then AgentHarness is essentially a **template** for that inner researcher loop. You would:
183
+
184
+ - Preserve Ymir’s laws (Glitnir review, Skuld, append‑only ledger).
185
+ - Adapt the AgentHarness runner’s idea of:
186
+ - “one question = one isolated execution,”
187
+ - reliability under failures/hangs.
188
+
189
+ The harness itself does **not** implement Ymir’s ledger, Houses, A2A, or review gates; it’s just a clean, reproducible research runner you can embed under those rules.
190
+
191
+ ---
192
+
193
+ ## 4. What AgentHarness is *not*
194
+
195
+ To avoid confusion with your previous questions:
196
+
197
+ - It is **not**:
198
+ - a TUI or chat client.
199
+ - an agent platform with governance (like Ymir).
200
+ - a replacement for pi.dev.
201
+
202
+ - It **is**:
203
+ - a tested, Apache‑2.0‑licensed **benchmark/evaluation harness** for deep‑research agents built on Apodex‑1.0.
204
+ - a practical way to:
205
+ - serve Apodex locally,
206
+ - confirm it works as intended,
207
+ - and then reuse that same endpoint from tools like pi.dev or Ymir.
208
+
209
+ ---
210
+
211
+ ## 5. Recommended way to use it in your stack
212
+
213
+ Given everything we’ve discussed:
214
+
215
+ 1. **If your goal is: _“Use Apodex as a strong research agent behind my existing tools”_**
216
+
217
+ - Use AgentHarness to:
218
+ - spin up a local Apodex‑1.0 model with SGLang,
219
+ - run the provided smoke test on `browsecomp`,
220
+ - confirm it behaves well on a few benchmark questions.
221
+ - Then:
222
+ - point **pi.dev** at that endpoint for day‑to‑day terminal use,
223
+ - later, if/when you have Ymir access and want to plug Apodex in, reuse the same endpoint and ideas from the harness runner for your Eindri‑style workers.
224
+
225
+ 2. **If your goal is strictly benchmarking**
226
+
227
+ - Just run the harness as‑is with your chosen Apodex variant and compare your numbers against the README’s performance table. That tells you whether your hardware/serving stack is behaving as expected.
228
+
229
+ If you tell me your hardware constraints (e.g., “single 24 GB GPU” vs “multi‑GPU server”) and whether you care more about **reproducible benchmarks** or **integrating as a provider**, I can advise which Apodex‑1.0 variant in the harness is realistic for you and what minimum pieces (search/fetch/sandbox) you should actually turn on.
230
+
231
+ ---
232
+
233
+ References
234
+ [1] ApodexAI/AgentHarness: Evaluation harness for Apodex‑1.0 on public deep‑research benchmarks. https://github.com/ApodexAI/AgentHarness
@@ -0,0 +1,13 @@
1
+ **Short answer: yes — but with two clarifications and a reframing.** The product is spelled **Apodex** (not "Appdex"), and the URL you gave (`ymir.zerwiz.org`) is actually the **Ymir** platform — an alpha/invite-only self-hosted agent framework, not an Appdex page. So your question blends two things; this report answers both: using Apodex in your own workflow, and plugging it into Ymir. I've written the full assessment to `/outputs/Appdex_as_Orchestrator_Planner_Reviewer_Assessment.md`.
2
+
3
+ **Verdict by role (all three attached reports + corroborated external checks):**
4
+
5
+ | Role | Fit | Why |
6
+ |---|---|---|
7
+ | **Planner** | ✅ Strong | Heavy-duty mode decomposes complex goals across sub-agent teams with draft/revise loops and an evidence graph that maps every claim to a source — great for traceable plans. |
8
+ | **Orchestrator** | ⚠️ Medium/conditional | It orchestrates its *own* research sub-agent teams internally (via the `/v1/responses` API + background polling), but isn't documented as a general meta-orchestrator for arbitrary external fleets. Best wired in as one node or as isolated Eindri-style workers. |
9
+ | **Reviewer** | ⚠️ Low–medium | It has a global verifier/evidence-auditor component, useful as automated evidence checking — but no public governance gate. Human sign-off (Glitnir in Ymir, human-supervised heavy-duty mode) must stay final. |
10
+
11
+ **Recommended approach:** Treat Apodex as a **strong reasoning + planning backend**, not a ready-made suite. Either (A) route planning-heavy multi-step work through its hosted API or a locally served Apache-2.0 weight (validate first via the `AgentHarness` smoke test), adding your own review gate on top; or (B) plug it into Ymir as Brokk/Kaia's brain and/or run its orchestration burst as Eindri workers — keeping Ymir's ledger, review, and access rules intact. Note Ymir is alpha/invite-only and some A2A/MCP specs are partly private, so path B needs an invite or your own fork.
12
+
13
+ Limitations worth flagging: the 150+ sub-agent / 15k-step scale figure and platform billing details weren't independently verifiable here, and the verifier output should be treated as evidence for a human gate rather than a verdict.
@@ -0,0 +1,82 @@
1
+ Apodex would not be a straight “upgrade” over Pi.dev; they solve different problems. For most people in your position, the right move is:
2
+
3
+ - **Keep using Pi.dev for what it’s good at.**
4
+ - **Use Apodex alongside it** when you need things Pi isn’t designed for.
5
+
6
+ Here’s the actionable breakdown.
7
+
8
+ ---
9
+
10
+ ## What Pi.dev is giving you now
11
+
12
+ From the information gathered, Pi.dev (“Pi”) is:
13
+
14
+ - A **minimal, open-source terminal coding agent/harness** (MIT-licensed).
15
+ - Runs **entirely on your machine**, no SaaS backend or cloud workspace.
16
+ - Talks to **15+ model providers** and can route to **self-hosted endpoints** (e.g., Ollama, your own inference stack).
17
+ - Highly **extensible in TypeScript** via extensions, skills, prompt templates, themes.
18
+ - Stores **tree-structured session history locally**, with commands to navigate, branch, and export.
19
+
20
+ In practice, Pi.dev is excellent when:
21
+
22
+ - You live in the **terminal** and want an AI that edits code, runs tools, and works over your repo.
23
+ - You care about **data locality** and **self-hosted models**.
24
+ - You like a **minimal harness you can tinker with**, not a big, opinionated product.
25
+ - You’re comfortable managing providers, keys, and extensions yourself.
26
+
27
+ ---
28
+
29
+ ## What Apodex does differently
30
+
31
+ Apodex (me) is:
32
+
33
+ - A **general-purpose assistant/solver** aimed at **multi-step, mission-critical tasks**, not a terminal harness.
34
+ - Able to:
35
+ - Perform **web research**.
36
+ - **Fetch, download, and read** external documents (PDFs, docs, spreadsheets, etc.).
37
+ - **Run code and scripts in a sandbox** and work with files as part of the conversation.
38
+ - **Decompose and track tasks** explicitly so long, complex jobs don’t get lost.
39
+ - Oriented around producing **finished artifacts** (reports, charts, code files, structured plans), not around being your terminal UI.
40
+
41
+ In other words, Apodex is closer to a **research + tooling copilot**, whereas Pi.dev is a **local coding harness**.
42
+
43
+ ---
44
+
45
+ ## So, would Apodex be “better” for you?
46
+
47
+ It depends what you’re actually doing day to day.
48
+
49
+ ### Stick with Pi.dev as your main tool if:
50
+
51
+ - Your primary need is **coding inside your repos** via the terminal.
52
+ - **Local-first and data control** are non-negotiable (self-hosted models, no extra SaaS).
53
+ - You’re satisfied with:
54
+ - Pi’s TUI,
55
+ - its extensibility model (TypeScript extensions, skills),
56
+ - and manually wiring it into your workflows.
57
+
58
+ In that case, there is no clear “better” — Pi is already very well-suited to that job.
59
+
60
+ ### Add Apodex (don’t replace Pi) if:
61
+
62
+ You often need to do things like:
63
+
64
+ - **Research**: Compare libraries, read specs, dig through multiple web sources and synthesize them.
65
+ - **Document work**: Pull down a PDF or doc, extract key points, cross-reference with other materials.
66
+ - **Multi-step pipelines**:
67
+ - “Download this dataset, transform it, run this analysis, then write up a short report.”
68
+ - “Generate a design doc, then refine it based on constraints, then output a final structured version.”
69
+ - **Project-sized tasks**: Where keeping track of sub-tasks, assumptions, and decisions in one place is valuable.
70
+
71
+ Here, Apodex will feel “better” because it is built to string these steps together and keep state across them, not just respond in a single CLI session.
72
+
73
+ ---
74
+
75
+ ## Practical recommendation
76
+
77
+ - **Don’t abandon Pi.dev** if you’re happy with it as a coding harness.
78
+ - **Use Apodex side by side with Pi.dev**:
79
+ - Pi.dev for **local coding sessions** in your terminal and tight integration with your repos/models.
80
+ - Apodex for **research, planning, document-heavy tasks, and multi-step workflows** that go beyond “edit these files.”
81
+
82
+ If you tell me one or two concrete workflows you currently run in Pi.dev (e.g., “I mainly use it to refactor code in a monorepo” or “I use it to scaffold new services”), I can give a yes/no for each: “Pi-only is fine here” vs. “Apodex would actually handle this better.”