ultimate-pi 0.1.7 → 0.2.2

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 (524) hide show
  1. package/.agents/skills/graphify/.graphify_version +1 -0
  2. package/.agents/skills/graphify/SKILL.md +1204 -0
  3. package/.agents/skills/wiki-autoresearch/SKILL.md +225 -97
  4. package/.agents/skills/wiki-autoresearch/references/program.md +28 -62
  5. package/.agents/skills/wiki-autoresearch/references/quality-sites.md +32 -0
  6. package/.env.example +5 -1
  7. package/.gitattributes +1 -0
  8. package/.github/workflows/publish-github-packages.yml +1 -1
  9. package/.pi/SYSTEM.md +72 -18
  10. package/.pi/agents/harness/adversary.md +32 -0
  11. package/.pi/agents/harness/evaluator.md +32 -0
  12. package/.pi/agents/harness/executor.md +34 -0
  13. package/.pi/agents/harness/meta-optimizer.md +33 -0
  14. package/.pi/agents/harness/planner.md +33 -0
  15. package/.pi/agents/harness/tie-breaker.md +35 -0
  16. package/.pi/agents/harness/trace-librarian.md +32 -0
  17. package/.pi/extensions/banner.png +0 -0
  18. package/.pi/extensions/budget-guard.ts +265 -0
  19. package/.pi/extensions/custom-footer.ts +194 -22
  20. package/.pi/extensions/custom-header.ts +47 -9
  21. package/.pi/extensions/debate-orchestrator.ts +479 -0
  22. package/.pi/extensions/harness-live-widget.ts +438 -0
  23. package/.pi/extensions/policy-gate.ts +349 -0
  24. package/.pi/extensions/review-integrity.ts +198 -0
  25. package/.pi/extensions/test-diff-integrity.ts +240 -0
  26. package/.pi/extensions/trace-recorder.ts +315 -0
  27. package/.pi/harness/README.md +23 -0
  28. package/.pi/harness/router/README.md +35 -0
  29. package/.pi/harness/router/apply-router-proposal.mjs +153 -0
  30. package/.pi/harness/router/propose-router-tuning.mjs +149 -0
  31. package/.pi/harness/specs/README.md +37 -0
  32. package/.pi/harness/specs/adversary-report.schema.json +53 -0
  33. package/.pi/harness/specs/budget-exhausted-event.schema.json +93 -0
  34. package/.pi/harness/specs/consensus-packet.schema.json +175 -0
  35. package/.pi/harness/specs/eval-verdict.schema.json +59 -0
  36. package/.pi/harness/specs/incident-record.schema.json +84 -0
  37. package/.pi/harness/specs/plan-packet.schema.json +90 -0
  38. package/.pi/harness/specs/round-result.schema.json +126 -0
  39. package/.pi/harness/specs/router-tuning-proposal.schema.json +114 -0
  40. package/.pi/harness/specs/run-trace.schema.json +107 -0
  41. package/.pi/lib/harness-ui-state.ts +311 -0
  42. package/.pi/mcp.json +4 -0
  43. package/.pi/model-router.json +93 -93
  44. package/.pi/prompts/graphify.md +23 -0
  45. package/.pi/prompts/harness-abort.md +41 -0
  46. package/.pi/prompts/harness-auto.md +83 -0
  47. package/.pi/prompts/harness-critic.md +52 -0
  48. package/.pi/prompts/harness-eval.md +51 -0
  49. package/.pi/prompts/harness-incident.md +51 -0
  50. package/.pi/prompts/harness-plan.md +64 -0
  51. package/.pi/prompts/harness-review.md +52 -0
  52. package/.pi/prompts/harness-router-tune.md +74 -0
  53. package/.pi/prompts/harness-run.md +59 -0
  54. package/.pi/prompts/harness-setup.md +316 -216
  55. package/.pi/prompts/harness-trace.md +51 -0
  56. package/.pi/prompts/wiki-autoresearch.md +9 -7
  57. package/.pi/prompts/wiki-save.md +20 -0
  58. package/.pi/skills/agent-router/SKILL.md +2 -4
  59. package/.pi/skills/ast-grep/SKILL.md +354 -0
  60. package/.pi/sounds/project-sounds.json +18 -24
  61. package/AGENTS.md +30 -0
  62. package/CHANGELOG.md +89 -0
  63. package/CONTRIBUTING.md +51 -1
  64. package/README.md +264 -20
  65. package/biome.json +8 -2
  66. package/lefthook.yml +3 -2
  67. package/node_modules/@sting8k/pi-vcc/README.md +200 -0
  68. package/node_modules/@sting8k/pi-vcc/index.ts +14 -0
  69. package/node_modules/@sting8k/pi-vcc/package.json +26 -0
  70. package/node_modules/@sting8k/pi-vcc/scripts/audit-sessions.ts +88 -0
  71. package/node_modules/@sting8k/pi-vcc/scripts/benchmark-real-sessions.ts +25 -0
  72. package/node_modules/@sting8k/pi-vcc/scripts/compare-before-after.ts +36 -0
  73. package/node_modules/@sting8k/pi-vcc/scripts/dump-branch-output.ts +20 -0
  74. package/node_modules/@sting8k/pi-vcc/src/commands/pi-vcc.ts +36 -0
  75. package/node_modules/@sting8k/pi-vcc/src/commands/vcc-recall.ts +65 -0
  76. package/node_modules/@sting8k/pi-vcc/src/core/brief.ts +381 -0
  77. package/node_modules/@sting8k/pi-vcc/src/core/build-sections.ts +79 -0
  78. package/node_modules/@sting8k/pi-vcc/src/core/content.ts +60 -0
  79. package/node_modules/@sting8k/pi-vcc/src/core/filter-noise.ts +42 -0
  80. package/node_modules/@sting8k/pi-vcc/src/core/format-recall.ts +27 -0
  81. package/node_modules/@sting8k/pi-vcc/src/core/format.ts +49 -0
  82. package/node_modules/@sting8k/pi-vcc/src/core/lineage.ts +26 -0
  83. package/node_modules/@sting8k/pi-vcc/src/core/load-messages.ts +41 -0
  84. package/node_modules/@sting8k/pi-vcc/src/core/normalize.ts +66 -0
  85. package/node_modules/@sting8k/pi-vcc/src/core/recall-scope.ts +14 -0
  86. package/node_modules/@sting8k/pi-vcc/src/core/render-entries.ts +55 -0
  87. package/node_modules/@sting8k/pi-vcc/src/core/report.ts +237 -0
  88. package/node_modules/@sting8k/pi-vcc/src/core/sanitize.ts +5 -0
  89. package/node_modules/@sting8k/pi-vcc/src/core/search-entries.ts +221 -0
  90. package/node_modules/@sting8k/pi-vcc/src/core/settings.ts +77 -0
  91. package/node_modules/@sting8k/pi-vcc/src/core/skill-collapse.ts +35 -0
  92. package/node_modules/@sting8k/pi-vcc/src/core/summarize.ts +157 -0
  93. package/node_modules/@sting8k/pi-vcc/src/core/tool-args.ts +14 -0
  94. package/node_modules/@sting8k/pi-vcc/src/details.ts +7 -0
  95. package/node_modules/@sting8k/pi-vcc/src/extract/commits.ts +69 -0
  96. package/node_modules/@sting8k/pi-vcc/src/extract/files.ts +80 -0
  97. package/node_modules/@sting8k/pi-vcc/src/extract/goals.ts +79 -0
  98. package/node_modules/@sting8k/pi-vcc/src/extract/preferences.ts +55 -0
  99. package/node_modules/@sting8k/pi-vcc/src/hooks/before-compact.ts +322 -0
  100. package/node_modules/@sting8k/pi-vcc/src/sections.ts +12 -0
  101. package/node_modules/@sting8k/pi-vcc/src/tools/recall.ts +109 -0
  102. package/node_modules/@sting8k/pi-vcc/src/types.ts +14 -0
  103. package/node_modules/@sting8k/pi-vcc/tests/before-compact-hook.test.ts +181 -0
  104. package/node_modules/@sting8k/pi-vcc/tests/before-compact.test.ts +140 -0
  105. package/node_modules/@sting8k/pi-vcc/tests/brief.test.ts +206 -0
  106. package/node_modules/@sting8k/pi-vcc/tests/build-sections.test.ts +59 -0
  107. package/node_modules/@sting8k/pi-vcc/tests/compile.test.ts +80 -0
  108. package/node_modules/@sting8k/pi-vcc/tests/content.test.ts +31 -0
  109. package/node_modules/@sting8k/pi-vcc/tests/extract-goals.test.ts +86 -0
  110. package/node_modules/@sting8k/pi-vcc/tests/extract-preferences.test.ts +30 -0
  111. package/node_modules/@sting8k/pi-vcc/tests/filter-noise.test.ts +61 -0
  112. package/node_modules/@sting8k/pi-vcc/tests/fixtures.ts +61 -0
  113. package/node_modules/@sting8k/pi-vcc/tests/format-recall.test.ts +30 -0
  114. package/node_modules/@sting8k/pi-vcc/tests/format.test.ts +62 -0
  115. package/node_modules/@sting8k/pi-vcc/tests/lineage.test.ts +33 -0
  116. package/node_modules/@sting8k/pi-vcc/tests/load-messages.test.ts +51 -0
  117. package/node_modules/@sting8k/pi-vcc/tests/normalize.test.ts +97 -0
  118. package/node_modules/@sting8k/pi-vcc/tests/real-sessions.test.ts +38 -0
  119. package/node_modules/@sting8k/pi-vcc/tests/recall-expand.test.ts +15 -0
  120. package/node_modules/@sting8k/pi-vcc/tests/recall-scope.test.ts +32 -0
  121. package/node_modules/@sting8k/pi-vcc/tests/recall-tool-scope.test.ts +67 -0
  122. package/node_modules/@sting8k/pi-vcc/tests/render-entries.test.ts +62 -0
  123. package/node_modules/@sting8k/pi-vcc/tests/report.test.ts +44 -0
  124. package/node_modules/@sting8k/pi-vcc/tests/sanitize.test.ts +24 -0
  125. package/node_modules/@sting8k/pi-vcc/tests/search-entries.test.ts +144 -0
  126. package/node_modules/@sting8k/pi-vcc/tests/support/load-session.ts +23 -0
  127. package/node_modules/@sting8k/pi-vcc/tests/support/real-sessions.ts +51 -0
  128. package/package.json +15 -4
  129. package/scripts/__pycache__/merge_graphify_corpora.cpython-314.pyc +0 -0
  130. package/scripts/index_youtube_urls.py +376 -0
  131. package/scripts/merge_graphify_corpora.py +398 -0
  132. package/scripts/regen_graphify_html.py +46 -0
  133. package/.agents/skills/defuddle/SKILL.md +0 -90
  134. package/.agents/skills/wiki/SKILL.md +0 -215
  135. package/.agents/skills/wiki/references/css-snippets.md +0 -122
  136. package/.agents/skills/wiki/references/frontmatter.md +0 -107
  137. package/.agents/skills/wiki/references/git-setup.md +0 -58
  138. package/.agents/skills/wiki/references/mcp-setup.md +0 -149
  139. package/.agents/skills/wiki/references/modes.md +0 -259
  140. package/.agents/skills/wiki/references/plugins.md +0 -96
  141. package/.agents/skills/wiki/references/rest-api.md +0 -124
  142. package/.agents/skills/wiki-fold/SKILL.md +0 -204
  143. package/.agents/skills/wiki-fold/references/fold-template.md +0 -133
  144. package/.agents/skills/wiki-ingest/SKILL.md +0 -288
  145. package/.agents/skills/wiki-lint/SKILL.md +0 -183
  146. package/.agents/skills/wiki-query/SKILL.md +0 -176
  147. package/.pi/agents/rethink.md +0 -140
  148. package/.pi/agents/wiki-ingest.md +0 -67
  149. package/.pi/agents/wiki-lint.md +0 -75
  150. package/.pi/internal/cursor-sdk-transcript-parser.ts +0 -59
  151. package/.pi/prompts/save.md +0 -16
  152. package/.pi/prompts/wiki.md +0 -23
  153. package/.pi/providers/cursor-sdk-provider.test.mjs +0 -476
  154. package/.pi/providers/cursor-sdk-provider.ts +0 -1085
  155. package/vault/AGENTS.md +0 -37
  156. package/vault/wiki/_templates/comparison.md +0 -39
  157. package/vault/wiki/_templates/concept.md +0 -40
  158. package/vault/wiki/_templates/decision.md +0 -21
  159. package/vault/wiki/_templates/entity.md +0 -32
  160. package/vault/wiki/_templates/flow.md +0 -14
  161. package/vault/wiki/_templates/module.md +0 -18
  162. package/vault/wiki/_templates/question.md +0 -31
  163. package/vault/wiki/_templates/source.md +0 -39
  164. package/vault/wiki/concepts/AST-Aware Code Chunking.md +0 -44
  165. package/vault/wiki/concepts/Build-Time Prompt Compilation.md +0 -107
  166. package/vault/wiki/concepts/Context Engine (AI Coding).md +0 -47
  167. package/vault/wiki/concepts/Context-Aware System Reminders.md +0 -61
  168. package/vault/wiki/concepts/Contextualized Text Embedding.md +0 -42
  169. package/vault/wiki/concepts/Contractor vs Employee AI Model.md +0 -55
  170. package/vault/wiki/concepts/Dual-Model Agent Architecture.md +0 -65
  171. package/vault/wiki/concepts/Late Chunking vs Early Chunking.md +0 -43
  172. package/vault/wiki/concepts/Majority Vote Ensembling.md +0 -68
  173. package/vault/wiki/concepts/Meta-Harness.md +0 -16
  174. package/vault/wiki/concepts/Multi-Agent AI Coding Architecture.md +0 -75
  175. package/vault/wiki/concepts/Prompt Enhancement.md +0 -90
  176. package/vault/wiki/concepts/Prompt Renderer.md +0 -89
  177. package/vault/wiki/concepts/Semantic Codebase Indexing.md +0 -67
  178. package/vault/wiki/concepts/additive-config-hierarchy.md +0 -16
  179. package/vault/wiki/concepts/agent-artifacts-verifiable-deliverables.md +0 -71
  180. package/vault/wiki/concepts/agent-browser-browser-automation.md +0 -99
  181. package/vault/wiki/concepts/agent-codebase-interface.md +0 -43
  182. package/vault/wiki/concepts/agent-harness-architecture.md +0 -67
  183. package/vault/wiki/concepts/agent-loop-detection-patterns.md +0 -133
  184. package/vault/wiki/concepts/agent-search-enforcement.md +0 -126
  185. package/vault/wiki/concepts/agent-skills-ecosystem.md +0 -74
  186. package/vault/wiki/concepts/agent-skills-pattern.md +0 -68
  187. package/vault/wiki/concepts/agentic-harness-context-enforcement.md +0 -91
  188. package/vault/wiki/concepts/agentic-harness.md +0 -34
  189. package/vault/wiki/concepts/agentic-orchestration-pipeline.md +0 -56
  190. package/vault/wiki/concepts/agentic-search-no-embeddings.md +0 -18
  191. package/vault/wiki/concepts/anthropic-context-engineering.md +0 -13
  192. package/vault/wiki/concepts/antigravity-agent-first-architecture.md +0 -61
  193. package/vault/wiki/concepts/ast-compression.md +0 -19
  194. package/vault/wiki/concepts/ast-truncation.md +0 -66
  195. package/vault/wiki/concepts/barrel-files.md +0 -37
  196. package/vault/wiki/concepts/browser-harness-agent.md +0 -41
  197. package/vault/wiki/concepts/browser-subagent-visual-verification.md +0 -82
  198. package/vault/wiki/concepts/codebase-intelligence-ecosystem-comparison.md +0 -192
  199. package/vault/wiki/concepts/codebase-intelligence-harness-integration.md +0 -161
  200. package/vault/wiki/concepts/codebase-to-context-ingestion.md +0 -46
  201. package/vault/wiki/concepts/codex-harness-innovations.md +0 -147
  202. package/vault/wiki/concepts/consensus-debate-flow.md +0 -17
  203. package/vault/wiki/concepts/consensus-debate.md +0 -206
  204. package/vault/wiki/concepts/content-addressed-spec-identity.md +0 -166
  205. package/vault/wiki/concepts/context-anxiety.md +0 -57
  206. package/vault/wiki/concepts/context-compression-techniques.md +0 -19
  207. package/vault/wiki/concepts/context-continuity.md +0 -22
  208. package/vault/wiki/concepts/context-drift-in-agents.md +0 -106
  209. package/vault/wiki/concepts/context-engineering.md +0 -62
  210. package/vault/wiki/concepts/context-folding.md +0 -67
  211. package/vault/wiki/concepts/context-mode.md +0 -38
  212. package/vault/wiki/concepts/cursor-harness-innovations.md +0 -107
  213. package/vault/wiki/concepts/deterministic-session-compaction.md +0 -79
  214. package/vault/wiki/concepts/drift-detection-unified.md +0 -296
  215. package/vault/wiki/concepts/execution-feedback-loop.md +0 -46
  216. package/vault/wiki/concepts/feedforward-feedback-harness.md +0 -60
  217. package/vault/wiki/concepts/five-root-cause-metrics-sentrux.md +0 -40
  218. package/vault/wiki/concepts/fork-safe-spec-storage.md +0 -89
  219. package/vault/wiki/concepts/fts5-sandbox.md +0 -19
  220. package/vault/wiki/concepts/fuzzy-edit-matching.md +0 -71
  221. package/vault/wiki/concepts/gemini-cli-architecture.md +0 -104
  222. package/vault/wiki/concepts/generator-evaluator-architecture.md +0 -64
  223. package/vault/wiki/concepts/guardian-agent-pattern.md +0 -67
  224. package/vault/wiki/concepts/harness-configuration-layers.md +0 -89
  225. package/vault/wiki/concepts/harness-control-frameworks.md +0 -155
  226. package/vault/wiki/concepts/harness-engineering-first-principles.md +0 -90
  227. package/vault/wiki/concepts/harness-h-formalism.md +0 -53
  228. package/vault/wiki/concepts/hybrid-code-search.md +0 -61
  229. package/vault/wiki/concepts/inline-post-edit-validation.md +0 -112
  230. package/vault/wiki/concepts/legendary-engineering-patterns-harness.md +0 -110
  231. package/vault/wiki/concepts/lifecycle-hooks.md +0 -94
  232. package/vault/wiki/concepts/mcp-tool-routing.md +0 -102
  233. package/vault/wiki/concepts/memory-system-of-record-vs-ephemeral-cache.md +0 -47
  234. package/vault/wiki/concepts/meta-agent-context-pruning.md +0 -151
  235. package/vault/wiki/concepts/model-adaptive-harness.md +0 -122
  236. package/vault/wiki/concepts/model-routing-agents.md +0 -101
  237. package/vault/wiki/concepts/monorepo-architecture.md +0 -45
  238. package/vault/wiki/concepts/multi-agent-specialization.md +0 -61
  239. package/vault/wiki/concepts/permission-subsystem.md +0 -16
  240. package/vault/wiki/concepts/pi-messenger-analysis.md +0 -243
  241. package/vault/wiki/concepts/pi-vscode-extension-landscape.md +0 -37
  242. package/vault/wiki/concepts/policy-engine-pattern.md +0 -78
  243. package/vault/wiki/concepts/progressive-disclosure-agents.md +0 -53
  244. package/vault/wiki/concepts/progressive-skill-disclosure.md +0 -17
  245. package/vault/wiki/concepts/provider-native-prompting.md +0 -203
  246. package/vault/wiki/concepts/quality-signal-sentrux.md +0 -37
  247. package/vault/wiki/concepts/repo-map-ranking.md +0 -42
  248. package/vault/wiki/concepts/result-monad-error-handling.md +0 -47
  249. package/vault/wiki/concepts/safety-defense-in-depth.md +0 -83
  250. package/vault/wiki/concepts/sandbox-os-enforcement.md +0 -18
  251. package/vault/wiki/concepts/selective-debate-routing.md +0 -70
  252. package/vault/wiki/concepts/self-evolving-harness.md +0 -60
  253. package/vault/wiki/concepts/sentrux-mcp-integration.md +0 -36
  254. package/vault/wiki/concepts/sentrux-rules-engine.md +0 -49
  255. package/vault/wiki/concepts/shell-pattern-compression.md +0 -24
  256. package/vault/wiki/concepts/skill-first-architecture.md +0 -166
  257. package/vault/wiki/concepts/structured-compaction.md +0 -78
  258. package/vault/wiki/concepts/subagent-orchestration.md +0 -17
  259. package/vault/wiki/concepts/subagent-worktree-isolation.md +0 -68
  260. package/vault/wiki/concepts/superpowers-methodology.md +0 -78
  261. package/vault/wiki/concepts/think-in-code.md +0 -73
  262. package/vault/wiki/concepts/ts-execution-layer.md +0 -100
  263. package/vault/wiki/concepts/typescript-strict-mode.md +0 -37
  264. package/vault/wiki/concepts/vcc-conversation-compaction-for-pi.md +0 -53
  265. package/vault/wiki/concepts/verification-drift-detection.md +0 -19
  266. package/vault/wiki/consensus/consensus-records.md +0 -58
  267. package/vault/wiki/decisions/2026-04-30-pi-lean-ctx-native.md +0 -122
  268. package/vault/wiki/decisions/2026-05-07-replace-lean-ctx-with-context-mode.md +0 -59
  269. package/vault/wiki/decisions/adr-008.md +0 -40
  270. package/vault/wiki/decisions/adr-009.md +0 -46
  271. package/vault/wiki/decisions/adr-010.md +0 -55
  272. package/vault/wiki/decisions/adr-011.md +0 -165
  273. package/vault/wiki/decisions/adr-012.md +0 -102
  274. package/vault/wiki/decisions/adr-013.md +0 -59
  275. package/vault/wiki/decisions/adr-014.md +0 -73
  276. package/vault/wiki/decisions/adr-015.md +0 -81
  277. package/vault/wiki/decisions/adr-016.md +0 -91
  278. package/vault/wiki/decisions/adr-017.md +0 -79
  279. package/vault/wiki/decisions/adr-018.md +0 -100
  280. package/vault/wiki/decisions/adr-019.md +0 -75
  281. package/vault/wiki/decisions/adr-020.md +0 -106
  282. package/vault/wiki/decisions/adr-021.md +0 -86
  283. package/vault/wiki/decisions/adr-022.md +0 -113
  284. package/vault/wiki/decisions/adr-023.md +0 -113
  285. package/vault/wiki/decisions/adr-024.md +0 -73
  286. package/vault/wiki/decisions/adr-025.md +0 -130
  287. package/vault/wiki/decisions/adr-026.md +0 -56
  288. package/vault/wiki/decisions/adr-027.md +0 -94
  289. package/vault/wiki/decisions/colocate-wiki.md +0 -34
  290. package/vault/wiki/entities/Anders Hejlsberg.md +0 -29
  291. package/vault/wiki/entities/Anthropic.md +0 -17
  292. package/vault/wiki/entities/Augment Code.md +0 -49
  293. package/vault/wiki/entities/Bjarne Stroustrup.md +0 -26
  294. package/vault/wiki/entities/Bolt.new (StackBlitz).md +0 -39
  295. package/vault/wiki/entities/Boris Cherny.md +0 -11
  296. package/vault/wiki/entities/Claude Code.md +0 -19
  297. package/vault/wiki/entities/Dennis Ritchie.md +0 -26
  298. package/vault/wiki/entities/Emergent Labs.md +0 -32
  299. package/vault/wiki/entities/Google Cloud.md +0 -16
  300. package/vault/wiki/entities/Guido van Rossum.md +0 -28
  301. package/vault/wiki/entities/Ken Thompson.md +0 -28
  302. package/vault/wiki/entities/Lee et al.md +0 -16
  303. package/vault/wiki/entities/Linus Torvalds.md +0 -28
  304. package/vault/wiki/entities/Lovable (company).md +0 -40
  305. package/vault/wiki/entities/Martin Fowler.md +0 -16
  306. package/vault/wiki/entities/Meng et al.md +0 -16
  307. package/vault/wiki/entities/OpenAI.md +0 -16
  308. package/vault/wiki/entities/Rocket.new.md +0 -38
  309. package/vault/wiki/entities/VILA-Lab.md +0 -15
  310. package/vault/wiki/entities/autodev-codebase.md +0 -18
  311. package/vault/wiki/entities/ck-tool.md +0 -59
  312. package/vault/wiki/entities/codesearch.md +0 -18
  313. package/vault/wiki/entities/disler-indydevdan.md +0 -33
  314. package/vault/wiki/entities/gsd-get-shit-done.md +0 -56
  315. package/vault/wiki/entities/javascript-runtimes.md +0 -48
  316. package/vault/wiki/entities/jesse-vincent.md +0 -38
  317. package/vault/wiki/entities/lean-ctx.md +0 -32
  318. package/vault/wiki/entities/opendev.md +0 -41
  319. package/vault/wiki/entities/ops-codegraph-tool.md +0 -18
  320. package/vault/wiki/entities/pi-coding-agent.md +0 -53
  321. package/vault/wiki/entities/sentrux.md +0 -54
  322. package/vault/wiki/entities/vgrep-tool.md +0 -57
  323. package/vault/wiki/entities/vitest.md +0 -41
  324. package/vault/wiki/flows/harness-wiki-pipeline.md +0 -204
  325. package/vault/wiki/hot.md +0 -932
  326. package/vault/wiki/index.md +0 -437
  327. package/vault/wiki/log.md +0 -422
  328. package/vault/wiki/meta/dashboard.md +0 -30
  329. package/vault/wiki/meta/lint-report-2026-04-30.md +0 -86
  330. package/vault/wiki/meta/lint-report-2026-05-02.md +0 -251
  331. package/vault/wiki/meta/overview.canvas +0 -43
  332. package/vault/wiki/modules/adversarial-verification.md +0 -57
  333. package/vault/wiki/modules/automated-observability.md +0 -54
  334. package/vault/wiki/modules/bench.md +0 -20
  335. package/vault/wiki/modules/extensions.md +0 -23
  336. package/vault/wiki/modules/grounding-checkpoints.md +0 -62
  337. package/vault/wiki/modules/harness-implementation-plan.md +0 -345
  338. package/vault/wiki/modules/harness-wiki-skill-mapping.md +0 -135
  339. package/vault/wiki/modules/harness.md +0 -86
  340. package/vault/wiki/modules/persistent-memory.md +0 -85
  341. package/vault/wiki/modules/schema-orchestration.md +0 -68
  342. package/vault/wiki/modules/skills.md +0 -27
  343. package/vault/wiki/modules/spec-hardening.md +0 -58
  344. package/vault/wiki/modules/structured-planning.md +0 -53
  345. package/vault/wiki/modules/think-in-code-enforcement.md +0 -153
  346. package/vault/wiki/modules/wiki-query-interface.md +0 -64
  347. package/vault/wiki/overview.md +0 -51
  348. package/vault/wiki/questions/Research-pi-vs-claude-code-agentic-orchestration-pipeline.md +0 -87
  349. package/vault/wiki/questions/Research-sentrux-dev.md +0 -123
  350. package/vault/wiki/questions/Research-superpowers-skill-for-agentic-coding-agents.md +0 -164
  351. package/vault/wiki/questions/Research: Augment Code Context Engine.md +0 -244
  352. package/vault/wiki/questions/Research: Automating Software Engineering - Lovable, Bolt, Emergent, Rocket.md +0 -112
  353. package/vault/wiki/questions/Research: Claude Code State-of-the-Art Harness Improvements.md +0 -209
  354. package/vault/wiki/questions/Research: Codex State-of-the-Art Harness Improvements.md +0 -99
  355. package/vault/wiki/questions/Research: Engineering Workflows of Legendary Programmers and AI Harness Mapping.md +0 -107
  356. package/vault/wiki/questions/Research: Fallow Codebase Intelligence Harness Integration.md +0 -72
  357. package/vault/wiki/questions/Research: Gemini CLI SOTA Harness Integration.md +0 -166
  358. package/vault/wiki/questions/Research: GitHub Issues as Harness Spec Storage.md +0 -188
  359. package/vault/wiki/questions/Research: Google Antigravity Harness Integration.md +0 -120
  360. package/vault/wiki/questions/Research: Meta-Agent Context Drift Detection.md +0 -236
  361. package/vault/wiki/questions/Research: Model-Adaptive Agent Harness Design.md +0 -95
  362. package/vault/wiki/questions/Research: Model-Specific Prompting Guides.md +0 -165
  363. package/vault/wiki/questions/Research: Prompt Renderer for Multi-Model Agent Harness.md +0 -216
  364. package/vault/wiki/questions/Research: Skill-First Harness Architecture.md +0 -91
  365. package/vault/wiki/questions/Research: TypeScript Best Practices and Codebase Structure.md +0 -88
  366. package/vault/wiki/questions/Research: TypeScript Execution Layer for Agent Tool Calling.md +0 -81
  367. package/vault/wiki/questions/Research: claude-mem over Obsidian for Harness Layer.md +0 -71
  368. package/vault/wiki/questions/Research: claude-mem over obsidian wiki as the knowledge base for our agentic harness pipeline. think from first principles. does this replace or complement our current setup? no hard feelings about previous decisions. gimme accurate points.md +0 -80
  369. package/vault/wiki/questions/Research: context-mode vs lean-ctx.md +0 -72
  370. package/vault/wiki/questions/Research: cursor.sh Harness Innovations.md +0 -92
  371. package/vault/wiki/questions/Research: executor.sh Harness Integration.md +0 -170
  372. package/vault/wiki/questions/Research: how GSD fits into our coding harness setup.md +0 -97
  373. package/vault/wiki/questions/Research: how claude-mem fits into our workflow. and whether it should replace obsidian in the codebase. no hard feelings about previous actions, rethink from first principles always.md +0 -80
  374. package/vault/wiki/questions/Research: pi-vcc.md +0 -113
  375. package/vault/wiki/questions/Research: semantic code search tools.md +0 -69
  376. package/vault/wiki/questions/Research: vcc extension for pi coding agent.md +0 -73
  377. package/vault/wiki/questions/how-to-enable-semantic-code-search-now.md +0 -111
  378. package/vault/wiki/questions/mvp-implementation-blueprint.md +0 -552
  379. package/vault/wiki/questions/research-agent-first-codebase-exploration.md +0 -199
  380. package/vault/wiki/questions/research-agentic-coding-harness-latest-papers.md +0 -142
  381. package/vault/wiki/questions/research-gitingest-gitreverse-integration.md +0 -100
  382. package/vault/wiki/questions/research-wozcode-token-reduction.md +0 -67
  383. package/vault/wiki/questions/resolved-context-pruning-inplace-vs-restart.md +0 -95
  384. package/vault/wiki/questions/resolved-context-window-economics.md +0 -167
  385. package/vault/wiki/questions/resolved-imad-debate-gating-transfer.md +0 -126
  386. package/vault/wiki/questions/resolved-mcp-tool-preference.md +0 -112
  387. package/vault/wiki/questions/resolved-small-model-meta-agents.md +0 -107
  388. package/vault/wiki/questions/resolved-treesitter-dynamic-languages.md +0 -95
  389. package/vault/wiki/sources/Auggie Context MCP Server.md +0 -63
  390. package/vault/wiki/sources/Augment Code Codacy AI Giants.md +0 -61
  391. package/vault/wiki/sources/Augment Code MCP SiliconAngle.md +0 -49
  392. package/vault/wiki/sources/Augment Code WorkOS ERC 2025.md +0 -55
  393. package/vault/wiki/sources/Augment Context Engine Official.md +0 -71
  394. package/vault/wiki/sources/Augment SWE-bench Agent GitHub.md +0 -74
  395. package/vault/wiki/sources/Augment SWE-bench Pro Blog.md +0 -58
  396. package/vault/wiki/sources/Source: AgentBus Jinja2 Prompt Pipelines.md +0 -75
  397. package/vault/wiki/sources/Source: Arxiv /342/200/224 Don't Break the Cache.md" +0 -85
  398. package/vault/wiki/sources/Source: Augment - Harness Engineering for AI Coding Agents.md +0 -58
  399. package/vault/wiki/sources/Source: Blake Crosley Agent Architecture Guide.md +0 -100
  400. package/vault/wiki/sources/Source: Bolt.new Architecture & Case Study.md +0 -75
  401. package/vault/wiki/sources/Source: Build-Time Prompt Compilation Architecture.md +0 -107
  402. package/vault/wiki/sources/Source: Claude API Agent Skills Overview.md +0 -70
  403. package/vault/wiki/sources/Source: Gemini CLI Changelogs.md +0 -88
  404. package/vault/wiki/sources/Source: Google Blog - Gemini CLI Announcement.md +0 -57
  405. package/vault/wiki/sources/Source: Google Gemini CLI Architecture Docs.md +0 -53
  406. package/vault/wiki/sources/Source: LangChain - Anatomy of Agent Harness.md +0 -65
  407. package/vault/wiki/sources/Source: Lovable Architecture & Clone Analysis.md +0 -83
  408. package/vault/wiki/sources/Source: Martin Fowler - Harness Engineering.md +0 -70
  409. package/vault/wiki/sources/Source: OpenAI Harness Engineering Five Principles.md +0 -58
  410. package/vault/wiki/sources/Source: OpenAI Harness Engineering /342/200/224 0 Lines of Human Code.md" +0 -101
  411. package/vault/wiki/sources/Source: OpenDev /342/200/224 Building AI Coding Agents for the Terminal.md" +0 -100
  412. package/vault/wiki/sources/Source: Render AI Coding Agents Benchmark 2025.md +0 -53
  413. package/vault/wiki/sources/Source: Rocket.new /342/200/224 Vibe Solutioning Platform.md" +0 -70
  414. package/vault/wiki/sources/Source: SwirlAI Agent Skills Progressive Disclosure.md +0 -71
  415. package/vault/wiki/sources/Source: TianPan Prompt Caching Architecture.md +0 -89
  416. package/vault/wiki/sources/Source: Vercel Labs agent-browser.md +0 -155
  417. package/vault/wiki/sources/Source: browser-harness CDP Harness.md +0 -126
  418. package/vault/wiki/sources/agent-drift-academic-paper.md +0 -79
  419. package/vault/wiki/sources/aider-repomap-tree-sitter.md +0 -42
  420. package/vault/wiki/sources/anthropic-compaction-api.md +0 -58
  421. package/vault/wiki/sources/anthropic-effective-harnesses.md +0 -42
  422. package/vault/wiki/sources/anthropic-prompt-best-practices.md +0 -100
  423. package/vault/wiki/sources/anthropic2026-harness-design.md +0 -63
  424. package/vault/wiki/sources/barrel-files-tkdodo.md +0 -38
  425. package/vault/wiki/sources/birth-of-unix-kernighan-interview.md +0 -57
  426. package/vault/wiki/sources/bockeler2026-harness-engineering.md +0 -69
  427. package/vault/wiki/sources/cast-code-chunking-paper.md +0 -50
  428. package/vault/wiki/sources/ck-semantic-search.md +0 -78
  429. package/vault/wiki/sources/claude-code-architecture-karaxai-2026.md +0 -71
  430. package/vault/wiki/sources/claude-code-architecture-qubytes-2026.md +0 -50
  431. package/vault/wiki/sources/claude-code-architecture-vila-lab-2026.md +0 -64
  432. package/vault/wiki/sources/claude-code-security-architecture-penligent-2026.md +0 -70
  433. package/vault/wiki/sources/claude-context-editing-docs.md +0 -13
  434. package/vault/wiki/sources/cloudflare-codemode.md +0 -63
  435. package/vault/wiki/sources/code-chunk-library-supermemory.md +0 -63
  436. package/vault/wiki/sources/codeact-apple-2024.md +0 -62
  437. package/vault/wiki/sources/codex-dsc-rfc-8573.md +0 -41
  438. package/vault/wiki/sources/codex-open-source-agent-2026.md +0 -110
  439. package/vault/wiki/sources/coir-code-retrieval-benchmark.md +0 -51
  440. package/vault/wiki/sources/colinmcnamara-context-optimization-codemode.md +0 -48
  441. package/vault/wiki/sources/context-folding-paper.md +0 -61
  442. package/vault/wiki/sources/context-mode-website.md +0 -63
  443. package/vault/wiki/sources/cursor-agent-best-practices-2026.md +0 -62
  444. package/vault/wiki/sources/cursor-fork-29b-2025.md +0 -50
  445. package/vault/wiki/sources/cursor-harness-april-2026.md +0 -76
  446. package/vault/wiki/sources/cursor-instant-apply-2024.md +0 -45
  447. package/vault/wiki/sources/cursor-shadow-workspace-2024.md +0 -52
  448. package/vault/wiki/sources/cursor-shipped-coding-agent-2026.md +0 -53
  449. package/vault/wiki/sources/cursor-vs-antigravity-2026.md +0 -51
  450. package/vault/wiki/sources/disler-pi-vs-claude-code.md +0 -69
  451. package/vault/wiki/sources/distill-deterministic-context-compression.md +0 -53
  452. package/vault/wiki/sources/embedding-models-benchmark-supermemory-2025.md +0 -48
  453. package/vault/wiki/sources/executor-rhyssullivan.md +0 -122
  454. package/vault/wiki/sources/fallow-rs-codebase-intelligence.md +0 -125
  455. package/vault/wiki/sources/fan2025-imad.md +0 -60
  456. package/vault/wiki/sources/forgecode-gpt5-agent-improvements.md +0 -63
  457. package/vault/wiki/sources/gemini-3-prompting-guide.md +0 -78
  458. package/vault/wiki/sources/gh-cli-sub-issue-rfc.md +0 -50
  459. package/vault/wiki/sources/gh-sub-issue-extension.md +0 -72
  460. package/vault/wiki/sources/github-fork-issues-discussion.md +0 -44
  461. package/vault/wiki/sources/github-issue-dependencies-docs.md +0 -49
  462. package/vault/wiki/sources/github-sub-issues-docs.md +0 -51
  463. package/vault/wiki/sources/gitingest.md +0 -91
  464. package/vault/wiki/sources/gitreverse.md +0 -63
  465. package/vault/wiki/sources/google-antigravity-official-blog.md +0 -47
  466. package/vault/wiki/sources/google-antigravity-wikipedia.md +0 -53
  467. package/vault/wiki/sources/gsd-codecentric-deep-dive.md +0 -57
  468. package/vault/wiki/sources/gsd-github-repo.md +0 -51
  469. package/vault/wiki/sources/gsd-hn-discussion.md +0 -59
  470. package/vault/wiki/sources/guido-python-design-philosophy.md +0 -56
  471. package/vault/wiki/sources/hejlsberg-7-learnings.md +0 -48
  472. package/vault/wiki/sources/ironclaw-drift-monitor.md +0 -80
  473. package/vault/wiki/sources/langsight-loop-detection.md +0 -80
  474. package/vault/wiki/sources/leanctx-website.md +0 -69
  475. package/vault/wiki/sources/lee2026-meta-harness.md +0 -59
  476. package/vault/wiki/sources/linux-kernel-coding-workflow.md +0 -50
  477. package/vault/wiki/sources/lou2026-autoharness.md +0 -53
  478. package/vault/wiki/sources/martin-fowler-harness-engineering.md +0 -73
  479. package/vault/wiki/sources/mcp-architecture-docs.md +0 -13
  480. package/vault/wiki/sources/meng2026-agent-harness-survey.md +0 -79
  481. package/vault/wiki/sources/mindstudio-four-agent-types.md +0 -68
  482. package/vault/wiki/sources/ms-chat-history-management.md +0 -13
  483. package/vault/wiki/sources/openai-prompt-guidance.md +0 -104
  484. package/vault/wiki/sources/openclaw-session-pruning.md +0 -13
  485. package/vault/wiki/sources/opencode-dcp.md +0 -13
  486. package/vault/wiki/sources/opendev-arxiv-2603.05344v1.md +0 -79
  487. package/vault/wiki/sources/openhands-platform.md +0 -39
  488. package/vault/wiki/sources/oss-guide-codebase-exploration.md +0 -53
  489. package/vault/wiki/sources/pi-compaction-extensions-ecosystem.md +0 -102
  490. package/vault/wiki/sources/pi-context-prune-github-repo.md +0 -38
  491. package/vault/wiki/sources/pi-mono-compaction-docs.md +0 -38
  492. package/vault/wiki/sources/pi-omni-compact-github-repo.md +0 -50
  493. package/vault/wiki/sources/pi-rtk-optimizer-github-repo.md +0 -45
  494. package/vault/wiki/sources/pi-vcc-github-repo.md +0 -69
  495. package/vault/wiki/sources/pi-vscode-marketplace.md +0 -41
  496. package/vault/wiki/sources/pi-vscode-model-provider-marketplace.md +0 -39
  497. package/vault/wiki/sources/py-tree-sitter.md +0 -13
  498. package/vault/wiki/sources/sentrux-dev-landing.md +0 -40
  499. package/vault/wiki/sources/sentrux-docs-pro-architecture.md +0 -75
  500. package/vault/wiki/sources/sentrux-docs-quality-signal.md +0 -46
  501. package/vault/wiki/sources/sentrux-docs-root-cause-metrics.md +0 -57
  502. package/vault/wiki/sources/sentrux-docs-rules-engine.md +0 -58
  503. package/vault/wiki/sources/sentrux-github-repo.md +0 -56
  504. package/vault/wiki/sources/superpowers-github-repo.md +0 -56
  505. package/vault/wiki/sources/superpowers-release-blog.md +0 -54
  506. package/vault/wiki/sources/superpowers-termdock-analysis.md +0 -45
  507. package/vault/wiki/sources/swe-agent-aci.md +0 -42
  508. package/vault/wiki/sources/swe-bench.md +0 -45
  509. package/vault/wiki/sources/swe-pruner-context-pruning.md +0 -13
  510. package/vault/wiki/sources/think-in-code-blog.md +0 -48
  511. package/vault/wiki/sources/tree-sitter-docs.md +0 -13
  512. package/vault/wiki/sources/ts-best-practices-2025-devto.md +0 -42
  513. package/vault/wiki/sources/ts-folder-structure-mingyang.md +0 -58
  514. package/vault/wiki/sources/ts-monorepo-koerselman.md +0 -44
  515. package/vault/wiki/sources/ts-result-error-handling-kkalamarski.md +0 -52
  516. package/vault/wiki/sources/ts-runtimes-comparison-betterstack.md +0 -42
  517. package/vault/wiki/sources/ts-strict-mode-rishikc.md +0 -43
  518. package/vault/wiki/sources/unix-philosophy.md +0 -48
  519. package/vault/wiki/sources/vectara-chunking-vs-embedding-naacl2025.md +0 -39
  520. package/vault/wiki/sources/vectara-guardian-agents.md +0 -79
  521. package/vault/wiki/sources/vgrep-semantic-search.md +0 -76
  522. package/vault/wiki/sources/vitest-official.md +0 -41
  523. package/vault/wiki/sources/vscode-pi-community-extension.md +0 -40
  524. package/vault/wiki/sources/wozcode.md +0 -79
@@ -2,38 +2,94 @@
2
2
  name: wiki-autoresearch
3
3
  description: >
4
4
  Autonomous iterative research loop. Takes a topic, runs web searches, fetches sources,
5
- synthesizes findings, and files everything into the wiki as structured pages.
6
- Based on Karpathy's autoresearch pattern: program.md configures objectives and constraints,
7
- the loop runs until depth is reached, output goes directly into the knowledge base.
5
+ synthesizes findings, and builds a queryable knowledge graph via Graphify.
6
+ Based on Karpathy's autoresearch pattern: program.md configures objectives and
7
+ constraints, the loop runs until depth is reached, output goes into the graph.
8
8
  Triggers on: "/wiki-autoresearch", "/autoresearch", "wiki-autoresearch", "autoresearch",
9
9
  "research [topic]", "deep dive into [topic]", "investigate [topic]",
10
10
  "find everything about [topic]", "research and file", "go research", "build a wiki on".
11
- allowed-tools: Read Write Edit Glob Grep WebFetch WebSearch
11
+ allowed-tools: Read Write Edit Glob Grep WebFetch WebSearch Bash
12
12
  ---
13
13
 
14
- # wiki-autoresearch: Autonomous Research Loop
14
+ # wiki-autoresearch: Autonomous Research Loop with Graphify
15
15
 
16
- You are a research agent. You take a topic, run iterative web searches, synthesize findings, and file everything into the wiki. The user gets wiki pages, not a chat response.
16
+ You are a research agent. You take a topic, run iterative web searches, synthesize
17
+ findings, and build a queryable knowledge graph via Graphify. The user gets a
18
+ graph — not a wall of text.
17
19
 
18
- This is based on Karpathy's autoresearch pattern: a configurable program defines your objectives. You run the loop until depth is reached. Output goes into the knowledge base.
20
+ This is based on Karpathy's autoresearch pattern. You run the loop until depth
21
+ is reached. Output goes into the knowledge graph only — no separate report file.
19
22
 
20
23
  ---
21
24
 
22
- ## Wiki Path Resolution
25
+ ## Raw Source Directory
23
26
 
24
- All `wiki/` paths in this skill are relative to the wiki directory inside the Obsidian vault. Resolve before any file operation:
27
+ All fetched sources are saved to `./raw/` for Graphify ingestion:
25
28
 
26
29
  ```bash
27
- WIKI_PATH="${WIKI_VAULT_PATH:-${VAULT_WIKI_PATH:-vault/wiki}}"
30
+ RAW_PATH="./raw"
31
+ mkdir -p "$RAW_PATH"
28
32
  ```
29
33
 
30
- Use `$WIKI_PATH/` as the prefix for all `wiki/...` file paths. Example: `wiki/sources/` → `$WIKI_PATH/sources/` (default: `vault/wiki/sources/`).
34
+ This folder is the single source of truth for research materials. Graphify reads
35
+ from here to build the knowledge graph.
31
36
 
32
37
  ---
33
38
 
34
39
  ## Before Starting
35
40
 
36
- Read `references/program.md` to load the research objectives and constraints. This file is user-configurable. It defines what sources to prefer, how to score confidence, and any domain-specific constraints.
41
+ Read `references/program.md` to load the research objectives and constraints.
42
+ This file defines max rounds, source preferences, confidence thresholds, and
43
+ domain-specific constraints.
44
+
45
+ ### Pre-Flight: Graphify Readiness Check (MANDATORY)
46
+
47
+ **Do NOT start research until these pass.** A graph that can't be built is wasted work.
48
+
49
+ ```bash
50
+ # 1. Verify graphify CLI is installed
51
+ which graphify || { echo "FATAL: graphify not found. Install: npm install -g graphifyy"; exit 1; }
52
+
53
+ # 2. Check that graphify's Python has the openai package (required for semantic extraction)
54
+ GRAPHIFY_PYTHON=$(head -1 $(which graphify) | sed 's/^#!//')
55
+ "$GRAPHIFY_PYTHON" -c "import openai; print('openai OK')" 2>/dev/null || {
56
+ echo "FATAL: openai package missing from graphify's Python ($GRAPHIFY_PYTHON)"
57
+ echo "Fix: uv pip install openai --python $GRAPHIFY_PYTHON"
58
+ exit 1
59
+ }
60
+
61
+ # 3. Verify a valid LLM API key is set (any backend)
62
+ for KEY in OPENAI_API_KEY ANTHROPIC_API_KEY GEMINI_API_KEY; do
63
+ if [ -n "${!KEY}" ]; then
64
+ echo "Found: $KEY"
65
+ break
66
+ fi
67
+ done
68
+ if [ -z "$OPENAI_API_KEY" ] && [ -z "$ANTHROPIC_API_KEY" ] && [ -z "$GEMINI_API_KEY" ]; then
69
+ echo "FATAL: No LLM API key set. graphify extract needs one for semantic extraction."
70
+ echo "Set one of: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY"
71
+ echo "Or install Ollama locally and use: graphify extract ./raw --out . --backend ollama"
72
+ exit 1
73
+ fi
74
+
75
+ # 4. Optionally validate the API key with a quick test call
76
+ # Skip this if you trust the key — adds ~2s latency.
77
+
78
+ # 5. Record baseline graph state for post-extraction verification
79
+ BASELINE_NODES=$(python3 -c "
80
+ import json, os
81
+ graph_path = 'graphify-out/graph.json'
82
+ if os.path.exists(graph_path):
83
+ with open(graph_path) as f:
84
+ g = json.load(f)
85
+ print(len(g.get('nodes',[])))
86
+ else:
87
+ print(0)
88
+ " 2>/dev/null || echo 0)
89
+ echo "Baseline graph nodes: $BASELINE_NODES"
90
+ ```
91
+
92
+ **If any check fails, report the exact error and fix command to the user. Do NOT proceed.**
37
93
 
38
94
  ---
39
95
 
@@ -43,7 +99,8 @@ Two paths to a topic. Follow the first one that applies.
43
99
 
44
100
  ### A. Explicit topic (always respected)
45
101
 
46
- The topic is whatever the user said after the trigger phrase. Extract it by removing the trigger from the user's message.
102
+ The topic is whatever the user said after the trigger phrase. Extract it by
103
+ removing the trigger from the user's message.
47
104
 
48
105
  **How to extract:**
49
106
  - User: `/autoresearch kubernetes operators` → topic: `kubernetes operators`
@@ -54,12 +111,14 @@ The topic is whatever the user said after the trigger phrase. Extract it by remo
54
111
  - User: `find everything about eBPF` → topic: `eBPF`
55
112
  - User: `build a wiki on Zig allocators` → topic: `Zig allocators`
56
113
 
57
- **Rule**: strip the trigger phrase (`/autoresearch`, `/wiki-autoresearch`, `research`, `deep dive into`, `investigate`, `find everything about`, `go research`, `research and file`, `build a wiki on`), trim whitespace, and treat everything remaining as the topic. Use it verbatim.
114
+ **Rule**: strip the trigger phrase, trim whitespace, treat everything remaining
115
+ as the topic. Use it verbatim.
58
116
 
59
117
  If the topic is present, skip to the Research Loop. Do NOT ask "what topic."
60
118
 
61
119
  ### B. No topic given (fallback)
62
- When the user invokes `/autoresearch`, `/wiki-autoresearch`, `go research`, or `research and file` with NO topic after the trigger, ask: "What topic should I research?"
120
+ When the user invokes the trigger with NO topic after it, ask:
121
+ "What topic should I research?"
63
122
 
64
123
  ---
65
124
 
@@ -72,130 +131,184 @@ Round 1. Broad search
72
131
  1. Decompose topic into 3-5 distinct search angles
73
132
  2. For each angle: run 2-3 WebSearch queries
74
133
  3. For top 2-3 results per angle: WebFetch the page
75
- 4. Extract from each: key claims, entities, concepts, open questions
134
+ 4. Save each fetched page to ./raw/ as a markdown file
135
+ 5. Extract from each: key claims, entities, concepts, open questions
76
136
 
77
137
  Round 2. Gap fill
78
- 5. Identify what's missing or contradicted from Round 1
79
- 6. Run targeted searches for each gap (max 5 queries)
80
- 7. Fetch top results for each gap
138
+ 6. Identify what's missing or contradicted from Round 1
139
+ 7. Run targeted searches for each gap (max 5 queries)
140
+ 8. Fetch top results for each gap, save to ./raw/
141
+ 9. Run `graphify extract ./raw --out .` to incorporate new sources
142
+ (NOTE: `graphify update` only works for code files. Research sources are docs
143
+ and need `graphify extract` for semantic extraction.)
81
144
 
82
145
  Round 3. Synthesis check (optional, if gaps remain)
83
- 8. If major contradictions or missing pieces still exist: one more targeted pass
84
- 9. Otherwise: proceed to filing
146
+ 10. If major contradictions or missing pieces still exist: one more targeted pass
147
+ 11. Otherwise: proceed to graph building and synthesis
85
148
 
86
149
  Max rounds: 3 (as set in program.md). Stop when depth is reached or max rounds hit.
87
150
  ```
88
151
 
89
152
  ---
90
153
 
91
- ## Filing Results
92
-
93
- After research is complete, create these pages:
154
+ ## Building the Knowledge Graph
94
155
 
95
- **wiki/sources/**. One page per major reference found
96
- - Use source frontmatter (type, source_type, author, date_published, url, confidence, key_claims)
97
- - Body: summary of the source, what it contributes to the topic
156
+ After all sources are saved to `./raw/`:
98
157
 
99
- **wiki/concepts/**. One page per significant concept extracted
100
- - Only create a page if the concept is substantive enough to stand alone
101
- - Check the index first: update existing concept pages rather than creating duplicates
158
+ ```bash
159
+ # Build the knowledge graph from all research sources
160
+ # --out . writes graphify-out/ in current dir (same as main project graph)
161
+ # --backend auto-detects from available API keys; use --backend ollama if no cloud key
162
+ graphify extract ./raw --out .
163
+ ```
102
164
 
103
- **wiki/entities/**. One page per significant person, org, or product identified
104
- - Check the index first: update existing entity pages
165
+ ### Post-Extraction Verification (MANDATORY)
105
166
 
106
- **wiki/questions/**. One synthesis page titled "Research: [Topic]"
107
- - This is the master synthesis. Everything comes together here.
108
- - Sections: Overview, Key Findings, Entities, Concepts, Contradictions, Open Questions, Sources
109
- - Full frontmatter with related links to all pages created in this session
167
+ **Do NOT skip this. Do NOT delete ./raw/ until this passes.**
110
168
 
111
- ---
169
+ ```bash
170
+ # 1. Verify graph.json exists and contains research-topic nodes
171
+ python3 << 'VERIFY'
172
+ import json, os
173
+
174
+ GRAPH_PATH = 'graphify-out/graph.json'
175
+ if not os.path.exists(GRAPH_PATH):
176
+ print("FATAL: graph.json not created. graphify extract failed.")
177
+ exit(1)
178
+
179
+ with open(GRAPH_PATH) as f:
180
+ g = json.load(f)
181
+
182
+ nodes = g.get('nodes', [])
183
+ # graphify uses 'links' key, not 'edges' — check both
184
+ links = g.get('links', g.get('edges', []))
185
+
186
+ print(f"Graph: {len(nodes)} nodes, {len(links)} links, {len(g.get('communities',[]))} communities")
187
+
188
+ # 2. Check that new sources were actually ingested
189
+ # Count nodes whose source_file is in ./raw/
190
+ raw_sources = set()
191
+ for n in nodes:
192
+ src = n.get('source_file', '')
193
+ if src.startswith('raw/'):
194
+ raw_sources.add(src)
195
+
196
+ print(f"Nodes from ./raw/ sources: {len(raw_sources)} (from {len(raw_sources)} unique files)")
197
+
198
+ # 3. FATAL if no new nodes were added
199
+ if len(raw_sources) == 0:
200
+ print("FATAL: Zero nodes from ./raw/ sources. graphify did not ingest research content.")
201
+ print("Check: LLM API key valid? openai package installed? Files in ./raw/ have content?")
202
+ print("DO NOT delete ./raw/ — the extraction failed.")
203
+ exit(1)
204
+
205
+ # 4. Compare against baseline (BASELINE_NODES env var from pre-flight)
206
+ baseline = int(os.environ.get('BASELINE_NODES', '0'))
207
+ if len(nodes) <= baseline and baseline > 0:
208
+ print(f"WARNING: Node count ({len(nodes)}) <= baseline ({baseline}). Graph may not have grown.")
209
+ print("Check: Did graphify run incrementally? Did the old graph merge properly?")
210
+ else:
211
+ print(f"Node delta: +{len(nodes) - baseline} (baseline was {baseline})")
212
+
213
+ print("VERIFICATION PASSED — safe to clean up ./raw/")
214
+ VERIFY
215
+ ```
112
216
 
113
- ## Synthesis Page Structure
217
+ **If verification fails:** Report the exact error. Do NOT delete ./raw/. The user needs
218
+ to fix the graphify environment (API key, openai package, Ollama install) before retrying.
114
219
 
115
- ```markdown
116
- ---
117
- type: synthesis
118
- title: "Research: [Topic]"
119
- created: YYYY-MM-DD
120
- updated: YYYY-MM-DD
121
- tags:
122
- - research
123
- - [topic-tag]
124
- status: developing
125
- related:
126
- - "[[Every page created in this session]]"
127
- sources:
128
- - "[[wiki/sources/Source 1]]"
129
- - "[[wiki/sources/Source 2]]"
130
220
  ---
131
221
 
132
- # Research: [Topic]
222
+ ## Cleanup
133
223
 
134
- ## Overview
135
- [2-3 sentence summary of what was found]
224
+ **GUARDED: Only run after Post-Extraction Verification passes.**
136
225
 
137
- ## Key Findings
138
- - Finding 1 (Source: [[Source Page]])
139
- - Finding 2 (Source: [[Source Page]])
140
- - ...
226
+ After the graph is built AND verified to contain new research nodes, remove the
227
+ raw source directory. Graphify has already copied everything it needs into
228
+ `graphify-out/`. The `./raw/` folder is transient.
141
229
 
142
- ## Key Entities
143
- - [[Entity Name]]: role/significance
230
+ ```bash
231
+ # Guard: only delete if graph was verified
232
+ if python3 -c "
233
+ import json, os
234
+ with open('graphify-out/graph.json') as f:
235
+ g = json.load(f)
236
+ raw_count = sum(1 for n in g.get('nodes',[]) if n.get('source_file','').startswith('raw/'))
237
+ assert raw_count > 0, 'No raw/ nodes in graph — do not delete'
238
+ print(f'{raw_count} raw-sourced nodes confirmed')
239
+ "; then
240
+ rm -rf ./raw
241
+ echo "Cleanup: ./raw/ removed (graph has ingested all data)"
242
+ else
243
+ echo "SKIPPED cleanup: graph verification failed. ./raw/ preserved for debugging."
244
+ fi
245
+ ```
144
246
 
145
- ## Key Concepts
146
- - [[Concept Name]]: one-line definition
247
+ Do this before reporting to the user.
248
+
249
+ ---
147
250
 
148
- ## Contradictions
149
- - [[Source A]] says X. [[Source B]] says Y. [Brief note on which is more credible and why]
251
+ ## Synthesis via Graph
150
252
 
151
- ## Open Questions
152
- - [Question that research didn't fully answer]
153
- - [Gap that needs more sources]
253
+ After the graph is built, query it directly for insights:
154
254
 
155
- ## Sources
156
- - [[Source 1]]: author, date
157
- - [[Source 2]]: author, date
255
+ ```bash
256
+ # Find the god nodes (core concepts)
257
+ graphify explain "$(python3 -c "
258
+ import json
259
+ with open('graphify-out/graph.json') as f:
260
+ g = json.load(f)
261
+ nodes = sorted(g['nodes'], key=lambda n: n.get('degree', 0), reverse=True)
262
+ print(nodes[0]['label'] if nodes else 'root')
263
+ ")"
264
+
265
+ # Find surprising connections
266
+ graphify query "what are the most surprising cross-domain connections?"
267
+
268
+ # Check specific relationships
269
+ graphify path "ConceptA" "ConceptB"
158
270
  ```
159
271
 
272
+ No separate report file is created. The graph IS the research output.
273
+
160
274
  ---
161
275
 
162
- ## After Filing
276
+ ## After Building
277
+
278
+ No wiki index, log, hot cache, or report file to update. The graph IS the index.
279
+ The GRAPH_REPORT.md IS the hot cache. Everything is queryable.
163
280
 
164
- 1. Update `wiki/index.md`. Add all new pages to the right sections
165
- 2. Append to `wiki/log.md` (at the TOP):
166
- ```
167
- ## [YYYY-MM-DD] wiki-autoresearch | [Topic]
168
- - Rounds: N
169
- - Sources found: N
170
- - Pages created: [[Page 1]], [[Page 2]], ...
171
- - Synthesis: [[Research: Topic]]
172
- - Key finding: [one sentence]
173
- ```
174
- 3. Update `wiki/hot.md` with the research summary
281
+ The user can:
282
+ - Open `graphify-out/graph.html` for interactive exploration
283
+ - Run `graphify query "question"` for natural language answers
284
+ - Run `graphify path "A" "B"` to trace connections
285
+ - Browse `graphify-out/GRAPH_REPORT.md` for structured analysis
175
286
 
176
287
  ---
177
288
 
178
289
  ## Report to User
179
290
 
180
- After filing everything:
291
+ After everything is complete:
181
292
 
182
293
  ```
183
294
  wiki-autoresearch complete: [Topic]
184
295
 
185
- Rounds: N | Searches: N | Pages created: N
296
+ Rounds: N | Sources: N | Graph: N nodes, N links
186
297
 
187
- Created:
188
- wiki/questions/Research: [Topic].md (synthesis)
189
- wiki/sources/[Source 1].md
190
- wiki/concepts/[Concept 1].md
191
- wiki/entities/[Entity 1].md
298
+ Output:
299
+ graphify-out/graph.html (interactive graph)
300
+ graphify-out/GRAPH_REPORT.md (auto-generated analysis)
192
301
 
193
- Key findings:
194
- - [Finding 1]
195
- - [Finding 2]
196
- - [Finding 3]
302
+ God nodes: [top 3-5 concepts]
303
+ Surprising connections: [1-2 highlights]
197
304
 
198
- Open questions filed: N
305
+ Try: graphify query "your question about [topic]"
306
+ ```
307
+
308
+ **IMPORTANT:** graphify uses `links` key (not `edges`) in graph.json. When
309
+ reporting graph size, use the correct key:
310
+ ```bash
311
+ python3 -c "import json; g=json.load(open('graphify-out/graph.json')); print(f'{len(g[\"nodes\"])} nodes, {len(g[\"links\"])} links')"
199
312
  ```
200
313
 
201
314
  ---
@@ -204,8 +317,23 @@ Open questions filed: N
204
317
 
205
318
  Follow the limits in `references/program.md`:
206
319
  - Max rounds (default: 3)
320
+ - Max sources per round (default: 8)
207
321
  - Max pages per session (default: 15)
208
322
  - Confidence scoring rules
209
323
  - Source preference rules
210
324
 
211
- If a constraint conflicts with completeness, respect the constraint and note what was left out in the Open Questions section.
325
+ If a constraint conflicts with completeness, respect the constraint and note
326
+ what was left out so the user can query the graph about gaps.
327
+
328
+ ## Failure Modes (Anti-Patterns)
329
+
330
+ Common failures and how to prevent them:
331
+
332
+ | Failure | Cause | Prevention |
333
+ |---------|-------|------------|
334
+ | Graph has 0 nodes after extraction | openai package not installed in graphify's Python | Pre-flight check #2 catches this |
335
+ | Graph has old nodes only (no new content) | Invalid LLM API key → semantic extraction failed, but code nodes remained | Pre-flight check #3 catches this |
336
+ | `./raw/` deleted before graph verified | Cleanup ran without post-extraction verification | Guarded cleanup with assertion prevents this |
337
+ | Graph reported as "N edges" but `links` key is correct | graph.json uses `links` not `edges` | Report section uses `links` key explicitly |
338
+ | Incremental extraction misses new files | graphify tracks file paths; deleting and recreating ./raw/ confuses it | Pre-flight records baseline; post-extraction checks node delta |
339
+ | Research content read but not in graph | Semantic extraction failed silently | Post-extraction verification counts raw/-sourced nodes |
@@ -1,75 +1,41 @@
1
- # Research Program
2
-
3
- This file configures the wiki-autoresearch loop. Edit it to match your domain and research style. The wiki-autoresearch skill reads it before every run.
4
-
5
- ---
6
-
7
- ## Search Objectives
8
-
9
- Default objectives for every research session:
10
-
11
- - Find authoritative sources (prefer: .edu, peer-reviewed papers, official documentation, primary sources, established publications)
12
- - Extract key entities (people, organizations, products, tools)
13
- - Extract key concepts and frameworks
14
- - Note contradictions between sources
15
- - Identify open questions and research gaps
16
- - Prefer sources from the last 2 years unless the topic is foundational
17
-
18
- ---
19
-
20
- ## Confidence Scoring
21
-
22
- Label every claim with confidence when filing:
23
-
24
- - **high**: multiple independent authoritative sources agree
25
- - **medium**: single good source, or sources partially agree
26
- - **low**: speculation, opinion pieces, single informal source, or claim not verified
27
-
28
- Always note the source date for factual claims. Mark claims from sources older than 3 years as potentially stale.
29
-
30
1
  ---
31
-
32
- ## Loop Constraints
33
-
34
- - Max search rounds per topic: **3**
35
- - Max wiki pages created per session: **15**
36
- - Max sources fetched per round: **5**
37
- - If max pages is reached before the loop completes: file what you have, note what was skipped in Open Questions
38
-
2
+ type: config
3
+ title: "Autoresearch Program Configuration"
4
+ updated: 2026-05-07
39
5
  ---
40
6
 
41
- ## Output Style
7
+ # Research Program Configuration
42
8
 
43
- - Declarative, present tense
44
- - Cite every non-obvious claim: `(Source: [[Page]])`
45
- - Short pages: under 200 lines. Split if longer.
46
- - No hedging language ("it seems", "perhaps", "might be")
47
- - Flag uncertainty explicitly: `> [!gap] This claim needs verification.`
9
+ Edit this file to configure the autoresearch loop's behavior.
48
10
 
49
- ---
11
+ ## Objectives
50
12
 
51
- ## Domain Notes
13
+ - Max research rounds: 3
14
+ - Max sources per round: 8
15
+ - Max pages per session: 15
16
+ - Confidence threshold for filing: 0.6
52
17
 
53
- [Add domain-specific instructions here. Examples:]
18
+ ## Source Preferences
54
19
 
55
- For AI/tech research:
56
- - Prefer: arXiv, official GitHub repos, official product documentation, Hacker News discussions with high karma
57
- - Note: LLM benchmarks are often gamed: treat leaderboard claims as low confidence unless independently verified
20
+ Prefer (in order):
21
+ 1. Official documentation & primary sources
22
+ 2. Peer-reviewed papers (arxiv, ACM, etc.)
23
+ 3. Engineering blogs from recognized teams
24
+ 4. GitHub repositories with >100 stars
25
+ 5. StackOverflow answers with >10 upvotes
58
26
 
59
- For business/market research:
60
- - Prefer: company filings, Crunchbase, Bloomberg, verified industry reports
61
- - Flag: press releases as low confidence without independent verification
27
+ Avoid:
28
+ - AI-generated content farms
29
+ - Medium articles without author credentials
30
+ - Repackaged/aggregator sites
31
+ - Outdated mirrors
62
32
 
63
- For medical/health research:
64
- - Prefer: PubMed, Cochrane reviews, peer-reviewed clinical trials
65
- - Always note: sample size, study type (RCT vs observational), and recency
33
+ ## Domain Constraints
66
34
 
67
- ---
35
+ None configured. Add domain-specific constraints below.
68
36
 
69
- ## Exclusions
37
+ ## Output Format
70
38
 
71
- Do not cite as high-confidence sources:
72
- - Reddit posts or forums (use as pointers to primary sources only)
73
- - Social media posts
74
- - Undated web pages
75
- - Sources that don't cite their own claims
39
+ Results are filed into `graphify-out/` via the knowledge graph.
40
+ No separate synthesis report the graph IS the research output.
41
+ Raw sources are stored in `./raw/` for graphify ingestion.
@@ -0,0 +1,32 @@
1
+ ---
2
+ type: reference
3
+ title: "Quality Sites Reference"
4
+ updated: 2026-05-07
5
+ ---
6
+
7
+ # Quality Sites for Web Research
8
+
9
+ ## Tier 1 — Always Trust (Prefer These)
10
+ - StackOverflow (answers with >10 upvotes)
11
+ - GitHub issues/discussions (from official repos)
12
+ - Engineering blogs (Google, Meta, Netflix, Stripe, etc.)
13
+ - Arxiv papers (cs.* categories)
14
+ - Official documentation sites
15
+
16
+ ## Tier 2 — Use With Caution
17
+ - Dev.to articles (check author credibility)
18
+ - Medium (only authors with verified credentials)
19
+ - Reddit r/programming, r/MachineLearning (highly-voted posts)
20
+ - YouTube talks from recognized conferences
21
+
22
+ ## Tier 3 — Avoid
23
+ - AI-generated content farms
24
+ - "Tutorial" sites that repackage docs
25
+ - Outdated mirrors (>2 years without updates)
26
+ - Sites behind paywalls (can't verify claims)
27
+ - Personal blogs without author background
28
+
29
+ ## Domain-Specific Quality Sites
30
+
31
+ Add domain-specific trusted sources below:
32
+ - [None configured yet]
package/.env.example CHANGED
@@ -8,4 +8,8 @@ FIRECRAWL_API_URL="http://localhost:3002"
8
8
  VAULT_WIKI_PATH="vault/wiki"
9
9
  CURSOR_API_KEY=""
10
10
  PI_VCC_CONFIG_PATH=".pi/pi-vcc-config.json"
11
- # VCC config: points to project-level pi-vcc config (overrideDefaultCompaction, debug)
11
+ # VCC config: points to project-level pi-vcc config (overrideDefaultCompaction, debug)
12
+
13
+ # graphify headless extract
14
+ OPENAI_API_KEY="sk-your_openai_api_key"
15
+ OPENAI_API_BASE="https://opencode.ai/zen/go/v1"
package/.gitattributes ADDED
@@ -0,0 +1 @@
1
+ data/books/**/*.pdf filter=lfs diff=lfs merge=lfs -text
@@ -30,6 +30,6 @@ jobs:
30
30
  npm pkg set publishConfig.registry='https://npm.pkg.github.com'
31
31
 
32
32
  - name: Publish package to GitHub Packages
33
- run: npm publish
33
+ run: npm publish --ignore-scripts
34
34
  env:
35
35
  NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}