ultimate-pi 0.1.0 → 0.1.3

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 (509) hide show
  1. package/.agents/skills/ck-search/SKILL.md +99 -0
  2. package/.agents/skills/defuddle/SKILL.md +90 -0
  3. package/.agents/skills/find-skills/SKILL.md +142 -0
  4. package/.agents/skills/firecrawl/SKILL.md +150 -0
  5. package/.agents/skills/firecrawl/rules/install.md +82 -0
  6. package/.agents/skills/firecrawl/rules/security.md +26 -0
  7. package/.agents/skills/firecrawl-agent/SKILL.md +57 -0
  8. package/.agents/skills/firecrawl-build-interact/SKILL.md +67 -0
  9. package/.agents/skills/firecrawl-build-onboarding/SKILL.md +102 -0
  10. package/.agents/skills/firecrawl-build-onboarding/references/auth-flow.md +39 -0
  11. package/.agents/skills/firecrawl-build-onboarding/references/project-setup.md +20 -0
  12. package/.agents/skills/firecrawl-build-onboarding/references/sdk-installation.md +17 -0
  13. package/.agents/skills/firecrawl-build-scrape/SKILL.md +68 -0
  14. package/.agents/skills/firecrawl-build-search/SKILL.md +68 -0
  15. package/.agents/skills/firecrawl-crawl/SKILL.md +58 -0
  16. package/.agents/skills/firecrawl-download/SKILL.md +69 -0
  17. package/.agents/skills/firecrawl-interact/SKILL.md +83 -0
  18. package/.agents/skills/firecrawl-map/SKILL.md +50 -0
  19. package/.agents/skills/firecrawl-parse/SKILL.md +61 -0
  20. package/.agents/skills/firecrawl-scrape/SKILL.md +68 -0
  21. package/.agents/skills/firecrawl-search/SKILL.md +59 -0
  22. package/.agents/skills/obsidian-bases/SKILL.md +299 -0
  23. package/.agents/skills/obsidian-markdown/SKILL.md +237 -0
  24. package/.agents/skills/posthog-analyst/SKILL.md +306 -0
  25. package/.agents/skills/posthog-analyst/evals/evals.json +23 -0
  26. package/.agents/skills/wiki/SKILL.md +215 -0
  27. package/.agents/skills/wiki/references/css-snippets.md +122 -0
  28. package/.agents/skills/wiki/references/frontmatter.md +107 -0
  29. package/.agents/skills/wiki/references/git-setup.md +58 -0
  30. package/.agents/skills/wiki/references/mcp-setup.md +149 -0
  31. package/.agents/skills/wiki/references/modes.md +259 -0
  32. package/.agents/skills/wiki/references/plugins.md +96 -0
  33. package/.agents/skills/wiki/references/rest-api.md +124 -0
  34. package/.agents/skills/wiki-autoresearch/SKILL.md +211 -0
  35. package/.agents/skills/wiki-autoresearch/references/program.md +75 -0
  36. package/.agents/skills/wiki-fold/SKILL.md +204 -0
  37. package/.agents/skills/wiki-fold/references/fold-template.md +133 -0
  38. package/.agents/skills/wiki-ingest/SKILL.md +288 -0
  39. package/.agents/skills/wiki-lint/SKILL.md +183 -0
  40. package/.agents/skills/wiki-query/SKILL.md +176 -0
  41. package/.agents/skills/wiki-save/SKILL.md +128 -0
  42. package/.ckignore +41 -0
  43. package/.env.example +9 -0
  44. package/.github/banner-v2.png +0 -0
  45. package/.github/workflows/lint.yml +33 -0
  46. package/.github/workflows/publish-github-packages.yml +35 -0
  47. package/.github/workflows/publish-npm.yml +32 -0
  48. package/.pi/SYSTEM.md +107 -40
  49. package/.pi/agents/pi-pi/agent-expert.md +205 -0
  50. package/.pi/agents/pi-pi/cli-expert.md +47 -0
  51. package/.pi/agents/pi-pi/config-expert.md +67 -0
  52. package/.pi/agents/pi-pi/ext-expert.md +53 -0
  53. package/.pi/agents/pi-pi/keybinding-expert.md +123 -0
  54. package/.pi/agents/pi-pi/pi-orchestrator.md +103 -0
  55. package/.pi/agents/pi-pi/prompt-expert.md +83 -0
  56. package/.pi/agents/pi-pi/skill-expert.md +52 -0
  57. package/.pi/agents/pi-pi/theme-expert.md +46 -0
  58. package/.pi/agents/pi-pi/tui-expert.md +100 -0
  59. package/.pi/agents/rethink.md +140 -0
  60. package/.pi/agents/wiki-ingest.md +67 -0
  61. package/.pi/agents/wiki-lint.md +75 -0
  62. package/.pi/auto-commit.json +20 -0
  63. package/.pi/extensions/banner.png +0 -0
  64. package/.pi/extensions/ck-enforce.ts +216 -0
  65. package/.pi/extensions/custom-footer.ts +308 -0
  66. package/.pi/extensions/custom-header.ts +116 -0
  67. package/.pi/extensions/dotenv-loader.ts +170 -0
  68. package/.pi/internal/cursor-sdk-transcript-parser.ts +59 -0
  69. package/.pi/model-router.json +95 -0
  70. package/.pi/npm/.gitignore +2 -0
  71. package/.pi/prompts/git-sync.md +124 -0
  72. package/.pi/prompts/harness-setup.md +509 -0
  73. package/.pi/prompts/save.md +16 -0
  74. package/.pi/prompts/wiki-autoresearch.md +19 -0
  75. package/.pi/prompts/wiki.md +23 -0
  76. package/.pi/providers/cursor-sdk-provider.test.mjs +476 -0
  77. package/.pi/providers/cursor-sdk-provider.ts +1085 -0
  78. package/.pi/settings.json +14 -4
  79. package/.pi/skills/agent-router/SKILL.md +174 -0
  80. package/.pi/sounds/alert/1-kaching-track.mp3 +0 -0
  81. package/.pi/sounds/error/1-ksi-wth-track.mp3 +0 -0
  82. package/.pi/sounds/error/2-smash-track.mp3 +0 -0
  83. package/.pi/sounds/error/3-buzzer-track.mp3 +0 -0
  84. package/.pi/sounds/notification/1-soft-notification-track.mp3 +0 -0
  85. package/.pi/sounds/project-sounds.json +25 -0
  86. package/.pi/sounds/reminder/1-soft-notification-track.mp3 +0 -0
  87. package/.pi/sounds/success/1-tada-track.mp3 +0 -0
  88. package/.pi/sounds/success/2-jobs-done-track.mp3 +0 -0
  89. package/.pi/sounds/success/3-yay-track.mp3 +0 -0
  90. package/CONTRIBUTING.md +116 -0
  91. package/README.md +33 -40
  92. package/biome.json +34 -0
  93. package/firecrawl/.env.template +58 -0
  94. package/firecrawl/README.md +49 -0
  95. package/firecrawl/docker-compose.yaml +201 -0
  96. package/firecrawl/searxng/searxng.env +3 -0
  97. package/firecrawl/searxng/settings.yml +85 -0
  98. package/lefthook.yml +8 -0
  99. package/package.json +55 -16
  100. package/vault/AGENTS.md +37 -0
  101. package/vault/wiki/_templates/comparison.md +39 -0
  102. package/vault/wiki/_templates/concept.md +40 -0
  103. package/vault/wiki/_templates/decision.md +21 -0
  104. package/vault/wiki/_templates/entity.md +32 -0
  105. package/vault/wiki/_templates/flow.md +14 -0
  106. package/vault/wiki/_templates/module.md +18 -0
  107. package/vault/wiki/_templates/question.md +31 -0
  108. package/vault/wiki/_templates/source.md +39 -0
  109. package/vault/wiki/concepts/AST-Aware Code Chunking.md +44 -0
  110. package/vault/wiki/concepts/Build-Time Prompt Compilation.md +107 -0
  111. package/vault/wiki/concepts/Context Engine (AI Coding).md +47 -0
  112. package/vault/wiki/concepts/Context-Aware System Reminders.md +61 -0
  113. package/vault/wiki/concepts/Contextualized Text Embedding.md +42 -0
  114. package/vault/wiki/concepts/Contractor vs Employee AI Model.md +55 -0
  115. package/vault/wiki/concepts/Dual-Model Agent Architecture.md +65 -0
  116. package/vault/wiki/concepts/Late Chunking vs Early Chunking.md +43 -0
  117. package/vault/wiki/concepts/Majority Vote Ensembling.md +68 -0
  118. package/vault/wiki/concepts/Meta-Harness.md +16 -0
  119. package/vault/wiki/concepts/Multi-Agent AI Coding Architecture.md +75 -0
  120. package/vault/wiki/concepts/Prompt Enhancement.md +90 -0
  121. package/vault/wiki/concepts/Prompt Renderer.md +89 -0
  122. package/vault/wiki/concepts/Semantic Codebase Indexing.md +67 -0
  123. package/vault/wiki/concepts/additive-config-hierarchy.md +16 -0
  124. package/vault/wiki/concepts/agent-artifacts-verifiable-deliverables.md +71 -0
  125. package/vault/wiki/concepts/agent-browser-browser-automation.md +99 -0
  126. package/vault/wiki/concepts/agent-codebase-interface.md +43 -0
  127. package/vault/wiki/concepts/agent-harness-architecture.md +67 -0
  128. package/vault/wiki/concepts/agent-loop-detection-patterns.md +133 -0
  129. package/vault/wiki/concepts/agent-search-enforcement.md +126 -0
  130. package/vault/wiki/concepts/agent-skills-ecosystem.md +74 -0
  131. package/vault/wiki/concepts/agent-skills-pattern.md +68 -0
  132. package/vault/wiki/concepts/agentic-harness-context-enforcement.md +91 -0
  133. package/vault/wiki/concepts/agentic-harness.md +34 -0
  134. package/vault/wiki/concepts/agentic-orchestration-pipeline.md +56 -0
  135. package/vault/wiki/concepts/agentic-search-no-embeddings.md +18 -0
  136. package/vault/wiki/concepts/anthropic-context-engineering.md +13 -0
  137. package/vault/wiki/concepts/antigravity-agent-first-architecture.md +61 -0
  138. package/vault/wiki/concepts/ast-compression.md +19 -0
  139. package/vault/wiki/concepts/ast-truncation.md +66 -0
  140. package/vault/wiki/concepts/barrel-files.md +37 -0
  141. package/vault/wiki/concepts/browser-harness-agent.md +41 -0
  142. package/vault/wiki/concepts/browser-subagent-visual-verification.md +82 -0
  143. package/vault/wiki/concepts/codebase-intelligence-ecosystem-comparison.md +192 -0
  144. package/vault/wiki/concepts/codebase-intelligence-harness-integration.md +161 -0
  145. package/vault/wiki/concepts/codebase-to-context-ingestion.md +46 -0
  146. package/vault/wiki/concepts/codex-harness-innovations.md +147 -0
  147. package/vault/wiki/concepts/consensus-debate-flow.md +17 -0
  148. package/vault/wiki/concepts/consensus-debate.md +206 -0
  149. package/vault/wiki/concepts/content-addressed-spec-identity.md +166 -0
  150. package/vault/wiki/concepts/context-anxiety.md +57 -0
  151. package/vault/wiki/concepts/context-compression-techniques.md +19 -0
  152. package/vault/wiki/concepts/context-continuity.md +22 -0
  153. package/vault/wiki/concepts/context-drift-in-agents.md +106 -0
  154. package/vault/wiki/concepts/context-engineering.md +62 -0
  155. package/vault/wiki/concepts/context-folding.md +67 -0
  156. package/vault/wiki/concepts/context-mode.md +38 -0
  157. package/vault/wiki/concepts/cursor-harness-innovations.md +107 -0
  158. package/vault/wiki/concepts/deterministic-session-compaction.md +79 -0
  159. package/vault/wiki/concepts/drift-detection-unified.md +296 -0
  160. package/vault/wiki/concepts/execution-feedback-loop.md +46 -0
  161. package/vault/wiki/concepts/feedforward-feedback-harness.md +60 -0
  162. package/vault/wiki/concepts/five-root-cause-metrics-sentrux.md +40 -0
  163. package/vault/wiki/concepts/fork-safe-spec-storage.md +89 -0
  164. package/vault/wiki/concepts/fts5-sandbox.md +19 -0
  165. package/vault/wiki/concepts/fuzzy-edit-matching.md +71 -0
  166. package/vault/wiki/concepts/gemini-cli-architecture.md +104 -0
  167. package/vault/wiki/concepts/generator-evaluator-architecture.md +64 -0
  168. package/vault/wiki/concepts/guardian-agent-pattern.md +67 -0
  169. package/vault/wiki/concepts/harness-configuration-layers.md +89 -0
  170. package/vault/wiki/concepts/harness-control-frameworks.md +155 -0
  171. package/vault/wiki/concepts/harness-engineering-first-principles.md +90 -0
  172. package/vault/wiki/concepts/harness-h-formalism.md +53 -0
  173. package/vault/wiki/concepts/hybrid-code-search.md +61 -0
  174. package/vault/wiki/concepts/inline-post-edit-validation.md +112 -0
  175. package/vault/wiki/concepts/legendary-engineering-patterns-harness.md +110 -0
  176. package/vault/wiki/concepts/lifecycle-hooks.md +94 -0
  177. package/vault/wiki/concepts/mcp-tool-routing.md +102 -0
  178. package/vault/wiki/concepts/memory-system-of-record-vs-ephemeral-cache.md +47 -0
  179. package/vault/wiki/concepts/meta-agent-context-pruning.md +151 -0
  180. package/vault/wiki/concepts/model-adaptive-harness.md +122 -0
  181. package/vault/wiki/concepts/model-routing-agents.md +101 -0
  182. package/vault/wiki/concepts/monorepo-architecture.md +45 -0
  183. package/vault/wiki/concepts/multi-agent-specialization.md +61 -0
  184. package/vault/wiki/concepts/permission-subsystem.md +16 -0
  185. package/vault/wiki/concepts/pi-messenger-analysis.md +243 -0
  186. package/vault/wiki/concepts/pi-vscode-extension-landscape.md +37 -0
  187. package/vault/wiki/concepts/policy-engine-pattern.md +78 -0
  188. package/vault/wiki/concepts/progressive-disclosure-agents.md +53 -0
  189. package/vault/wiki/concepts/progressive-skill-disclosure.md +17 -0
  190. package/vault/wiki/concepts/provider-native-prompting.md +203 -0
  191. package/vault/wiki/concepts/quality-signal-sentrux.md +37 -0
  192. package/vault/wiki/concepts/repo-map-ranking.md +42 -0
  193. package/vault/wiki/concepts/result-monad-error-handling.md +47 -0
  194. package/vault/wiki/concepts/safety-defense-in-depth.md +83 -0
  195. package/vault/wiki/concepts/sandbox-os-enforcement.md +18 -0
  196. package/vault/wiki/concepts/selective-debate-routing.md +70 -0
  197. package/vault/wiki/concepts/self-evolving-harness.md +60 -0
  198. package/vault/wiki/concepts/sentrux-mcp-integration.md +36 -0
  199. package/vault/wiki/concepts/sentrux-rules-engine.md +49 -0
  200. package/vault/wiki/concepts/shell-pattern-compression.md +24 -0
  201. package/vault/wiki/concepts/skill-first-architecture.md +166 -0
  202. package/vault/wiki/concepts/structured-compaction.md +78 -0
  203. package/vault/wiki/concepts/subagent-orchestration.md +17 -0
  204. package/vault/wiki/concepts/subagent-worktree-isolation.md +68 -0
  205. package/vault/wiki/concepts/superpowers-methodology.md +78 -0
  206. package/vault/wiki/concepts/think-in-code.md +73 -0
  207. package/vault/wiki/concepts/ts-execution-layer.md +100 -0
  208. package/vault/wiki/concepts/typescript-strict-mode.md +37 -0
  209. package/vault/wiki/concepts/vcc-conversation-compaction-for-pi.md +51 -0
  210. package/vault/wiki/concepts/verification-drift-detection.md +19 -0
  211. package/vault/wiki/consensus/consensus-records.md +58 -0
  212. package/vault/wiki/decisions/2026-04-30-pi-lean-ctx-native.md +122 -0
  213. package/vault/wiki/decisions/adr-008.md +40 -0
  214. package/vault/wiki/decisions/adr-009.md +46 -0
  215. package/vault/wiki/decisions/adr-010.md +55 -0
  216. package/vault/wiki/decisions/adr-011.md +165 -0
  217. package/vault/wiki/decisions/adr-012.md +102 -0
  218. package/vault/wiki/decisions/adr-013.md +59 -0
  219. package/vault/wiki/decisions/adr-014.md +73 -0
  220. package/vault/wiki/decisions/adr-015.md +81 -0
  221. package/vault/wiki/decisions/adr-016.md +91 -0
  222. package/vault/wiki/decisions/adr-017.md +79 -0
  223. package/vault/wiki/decisions/adr-018.md +100 -0
  224. package/vault/wiki/decisions/adr-019.md +75 -0
  225. package/vault/wiki/decisions/adr-020.md +106 -0
  226. package/vault/wiki/decisions/adr-021.md +86 -0
  227. package/vault/wiki/decisions/adr-022.md +113 -0
  228. package/vault/wiki/decisions/adr-023.md +113 -0
  229. package/vault/wiki/decisions/adr-024.md +73 -0
  230. package/vault/wiki/decisions/adr-025.md +130 -0
  231. package/vault/wiki/decisions/adr-026.md +56 -0
  232. package/vault/wiki/decisions/colocate-wiki.md +34 -0
  233. package/vault/wiki/entities/Anders Hejlsberg.md +29 -0
  234. package/vault/wiki/entities/Anthropic.md +17 -0
  235. package/vault/wiki/entities/Augment Code.md +49 -0
  236. package/vault/wiki/entities/Bjarne Stroustrup.md +26 -0
  237. package/vault/wiki/entities/Bolt.new (StackBlitz).md +39 -0
  238. package/vault/wiki/entities/Boris Cherny.md +11 -0
  239. package/vault/wiki/entities/Claude Code.md +19 -0
  240. package/vault/wiki/entities/Dennis Ritchie.md +26 -0
  241. package/vault/wiki/entities/Emergent Labs.md +32 -0
  242. package/vault/wiki/entities/Google Cloud.md +16 -0
  243. package/vault/wiki/entities/Guido van Rossum.md +28 -0
  244. package/vault/wiki/entities/Ken Thompson.md +28 -0
  245. package/vault/wiki/entities/Lee et al.md +16 -0
  246. package/vault/wiki/entities/Linus Torvalds.md +28 -0
  247. package/vault/wiki/entities/Lovable (company).md +40 -0
  248. package/vault/wiki/entities/Martin Fowler.md +16 -0
  249. package/vault/wiki/entities/Meng et al.md +16 -0
  250. package/vault/wiki/entities/OpenAI.md +16 -0
  251. package/vault/wiki/entities/Rocket.new.md +38 -0
  252. package/vault/wiki/entities/VILA-Lab.md +15 -0
  253. package/vault/wiki/entities/autodev-codebase.md +18 -0
  254. package/vault/wiki/entities/ck-tool.md +59 -0
  255. package/vault/wiki/entities/codesearch.md +18 -0
  256. package/vault/wiki/entities/disler-indydevdan.md +33 -0
  257. package/vault/wiki/entities/gsd-get-shit-done.md +56 -0
  258. package/vault/wiki/entities/javascript-runtimes.md +48 -0
  259. package/vault/wiki/entities/jesse-vincent.md +38 -0
  260. package/vault/wiki/entities/lean-ctx.md +32 -0
  261. package/vault/wiki/entities/opendev.md +41 -0
  262. package/vault/wiki/entities/ops-codegraph-tool.md +18 -0
  263. package/vault/wiki/entities/pi-coding-agent.md +53 -0
  264. package/vault/wiki/entities/sentrux.md +54 -0
  265. package/vault/wiki/entities/vgrep-tool.md +57 -0
  266. package/vault/wiki/entities/vitest.md +41 -0
  267. package/vault/wiki/flows/harness-wiki-pipeline.md +204 -0
  268. package/vault/wiki/hot.md +932 -0
  269. package/vault/wiki/index.md +437 -0
  270. package/vault/wiki/log.md +418 -0
  271. package/vault/wiki/meta/dashboard.md +30 -0
  272. package/vault/wiki/meta/lint-report-2026-04-30.md +86 -0
  273. package/vault/wiki/meta/lint-report-2026-05-02.md +251 -0
  274. package/vault/wiki/meta/overview.canvas +43 -0
  275. package/vault/wiki/modules/adversarial-verification.md +57 -0
  276. package/vault/wiki/modules/automated-observability.md +54 -0
  277. package/vault/wiki/modules/bench.md +20 -0
  278. package/vault/wiki/modules/extensions.md +23 -0
  279. package/vault/wiki/modules/grounding-checkpoints.md +62 -0
  280. package/vault/wiki/modules/harness-implementation-plan.md +345 -0
  281. package/vault/wiki/modules/harness-wiki-skill-mapping.md +135 -0
  282. package/vault/wiki/modules/harness.md +86 -0
  283. package/vault/wiki/modules/persistent-memory.md +85 -0
  284. package/vault/wiki/modules/schema-orchestration.md +68 -0
  285. package/vault/wiki/modules/skills.md +27 -0
  286. package/vault/wiki/modules/spec-hardening.md +58 -0
  287. package/vault/wiki/modules/structured-planning.md +53 -0
  288. package/vault/wiki/modules/think-in-code-enforcement.md +153 -0
  289. package/vault/wiki/modules/wiki-query-interface.md +64 -0
  290. package/vault/wiki/overview.md +51 -0
  291. package/vault/wiki/questions/Research-pi-vs-claude-code-agentic-orchestration-pipeline.md +87 -0
  292. package/vault/wiki/questions/Research-sentrux-dev.md +123 -0
  293. package/vault/wiki/questions/Research-superpowers-skill-for-agentic-coding-agents.md +164 -0
  294. package/vault/wiki/questions/Research: Augment Code Context Engine.md +244 -0
  295. package/vault/wiki/questions/Research: Automating Software Engineering - Lovable, Bolt, Emergent, Rocket.md +112 -0
  296. package/vault/wiki/questions/Research: Claude Code State-of-the-Art Harness Improvements.md +209 -0
  297. package/vault/wiki/questions/Research: Codex State-of-the-Art Harness Improvements.md +99 -0
  298. package/vault/wiki/questions/Research: Engineering Workflows of Legendary Programmers and AI Harness Mapping.md +107 -0
  299. package/vault/wiki/questions/Research: Fallow Codebase Intelligence Harness Integration.md +72 -0
  300. package/vault/wiki/questions/Research: Gemini CLI SOTA Harness Integration.md +166 -0
  301. package/vault/wiki/questions/Research: GitHub Issues as Harness Spec Storage.md +188 -0
  302. package/vault/wiki/questions/Research: Google Antigravity Harness Integration.md +120 -0
  303. package/vault/wiki/questions/Research: Meta-Agent Context Drift Detection.md +236 -0
  304. package/vault/wiki/questions/Research: Model-Adaptive Agent Harness Design.md +95 -0
  305. package/vault/wiki/questions/Research: Model-Specific Prompting Guides.md +165 -0
  306. package/vault/wiki/questions/Research: Prompt Renderer for Multi-Model Agent Harness.md +216 -0
  307. package/vault/wiki/questions/Research: Skill-First Harness Architecture.md +91 -0
  308. package/vault/wiki/questions/Research: TypeScript Best Practices and Codebase Structure.md +88 -0
  309. package/vault/wiki/questions/Research: TypeScript Execution Layer for Agent Tool Calling.md +81 -0
  310. package/vault/wiki/questions/Research: claude-mem over Obsidian for Harness Layer.md +71 -0
  311. 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 +80 -0
  312. package/vault/wiki/questions/Research: context-mode vs lean-ctx.md +72 -0
  313. package/vault/wiki/questions/Research: cursor.sh Harness Innovations.md +92 -0
  314. package/vault/wiki/questions/Research: executor.sh Harness Integration.md +170 -0
  315. package/vault/wiki/questions/Research: how GSD fits into our coding harness setup.md +97 -0
  316. 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 +80 -0
  317. package/vault/wiki/questions/Research: pi-vcc.md +113 -0
  318. package/vault/wiki/questions/Research: semantic code search tools.md +69 -0
  319. package/vault/wiki/questions/Research: vcc extension for pi coding agent.md +73 -0
  320. package/vault/wiki/questions/how-to-enable-semantic-code-search-now.md +111 -0
  321. package/vault/wiki/questions/mvp-implementation-blueprint.md +552 -0
  322. package/vault/wiki/questions/research-agent-first-codebase-exploration.md +199 -0
  323. package/vault/wiki/questions/research-agentic-coding-harness-latest-papers.md +142 -0
  324. package/vault/wiki/questions/research-gitingest-gitreverse-integration.md +100 -0
  325. package/vault/wiki/questions/research-wozcode-token-reduction.md +67 -0
  326. package/vault/wiki/questions/resolved-context-pruning-inplace-vs-restart.md +95 -0
  327. package/vault/wiki/questions/resolved-context-window-economics.md +167 -0
  328. package/vault/wiki/questions/resolved-imad-debate-gating-transfer.md +126 -0
  329. package/vault/wiki/questions/resolved-mcp-tool-preference.md +112 -0
  330. package/vault/wiki/questions/resolved-small-model-meta-agents.md +107 -0
  331. package/vault/wiki/questions/resolved-treesitter-dynamic-languages.md +95 -0
  332. package/vault/wiki/sources/Auggie Context MCP Server.md +63 -0
  333. package/vault/wiki/sources/Augment Code Codacy AI Giants.md +61 -0
  334. package/vault/wiki/sources/Augment Code MCP SiliconAngle.md +49 -0
  335. package/vault/wiki/sources/Augment Code WorkOS ERC 2025.md +55 -0
  336. package/vault/wiki/sources/Augment Context Engine Official.md +71 -0
  337. package/vault/wiki/sources/Augment SWE-bench Agent GitHub.md +74 -0
  338. package/vault/wiki/sources/Augment SWE-bench Pro Blog.md +58 -0
  339. package/vault/wiki/sources/Source: AgentBus Jinja2 Prompt Pipelines.md +75 -0
  340. package/vault/wiki/sources/Source: Arxiv /342/200/224 Don't Break the Cache.md" +85 -0
  341. package/vault/wiki/sources/Source: Augment - Harness Engineering for AI Coding Agents.md +58 -0
  342. package/vault/wiki/sources/Source: Blake Crosley Agent Architecture Guide.md +100 -0
  343. package/vault/wiki/sources/Source: Bolt.new Architecture & Case Study.md +75 -0
  344. package/vault/wiki/sources/Source: Build-Time Prompt Compilation Architecture.md +107 -0
  345. package/vault/wiki/sources/Source: Claude API Agent Skills Overview.md +70 -0
  346. package/vault/wiki/sources/Source: Gemini CLI Changelogs.md +88 -0
  347. package/vault/wiki/sources/Source: Google Blog - Gemini CLI Announcement.md +57 -0
  348. package/vault/wiki/sources/Source: Google Gemini CLI Architecture Docs.md +53 -0
  349. package/vault/wiki/sources/Source: LangChain - Anatomy of Agent Harness.md +65 -0
  350. package/vault/wiki/sources/Source: Lovable Architecture & Clone Analysis.md +83 -0
  351. package/vault/wiki/sources/Source: Martin Fowler - Harness Engineering.md +70 -0
  352. package/vault/wiki/sources/Source: OpenAI Harness Engineering Five Principles.md +58 -0
  353. package/vault/wiki/sources/Source: OpenAI Harness Engineering /342/200/224 0 Lines of Human Code.md" +101 -0
  354. package/vault/wiki/sources/Source: OpenDev /342/200/224 Building AI Coding Agents for the Terminal.md" +100 -0
  355. package/vault/wiki/sources/Source: Render AI Coding Agents Benchmark 2025.md +53 -0
  356. package/vault/wiki/sources/Source: Rocket.new /342/200/224 Vibe Solutioning Platform.md" +70 -0
  357. package/vault/wiki/sources/Source: SwirlAI Agent Skills Progressive Disclosure.md +71 -0
  358. package/vault/wiki/sources/Source: TianPan Prompt Caching Architecture.md +89 -0
  359. package/vault/wiki/sources/Source: Vercel Labs agent-browser.md +155 -0
  360. package/vault/wiki/sources/Source: browser-harness CDP Harness.md +126 -0
  361. package/vault/wiki/sources/agent-drift-academic-paper.md +79 -0
  362. package/vault/wiki/sources/aider-repomap-tree-sitter.md +42 -0
  363. package/vault/wiki/sources/anthropic-compaction-api.md +58 -0
  364. package/vault/wiki/sources/anthropic-effective-harnesses.md +42 -0
  365. package/vault/wiki/sources/anthropic-prompt-best-practices.md +100 -0
  366. package/vault/wiki/sources/anthropic2026-harness-design.md +63 -0
  367. package/vault/wiki/sources/barrel-files-tkdodo.md +38 -0
  368. package/vault/wiki/sources/birth-of-unix-kernighan-interview.md +57 -0
  369. package/vault/wiki/sources/bockeler2026-harness-engineering.md +69 -0
  370. package/vault/wiki/sources/cast-code-chunking-paper.md +50 -0
  371. package/vault/wiki/sources/ck-semantic-search.md +78 -0
  372. package/vault/wiki/sources/claude-code-architecture-karaxai-2026.md +71 -0
  373. package/vault/wiki/sources/claude-code-architecture-qubytes-2026.md +50 -0
  374. package/vault/wiki/sources/claude-code-architecture-vila-lab-2026.md +64 -0
  375. package/vault/wiki/sources/claude-code-security-architecture-penligent-2026.md +70 -0
  376. package/vault/wiki/sources/claude-context-editing-docs.md +13 -0
  377. package/vault/wiki/sources/cloudflare-codemode.md +63 -0
  378. package/vault/wiki/sources/code-chunk-library-supermemory.md +63 -0
  379. package/vault/wiki/sources/codeact-apple-2024.md +62 -0
  380. package/vault/wiki/sources/codex-dsc-rfc-8573.md +41 -0
  381. package/vault/wiki/sources/codex-open-source-agent-2026.md +110 -0
  382. package/vault/wiki/sources/coir-code-retrieval-benchmark.md +51 -0
  383. package/vault/wiki/sources/colinmcnamara-context-optimization-codemode.md +48 -0
  384. package/vault/wiki/sources/context-folding-paper.md +61 -0
  385. package/vault/wiki/sources/context-mode-website.md +63 -0
  386. package/vault/wiki/sources/cursor-agent-best-practices-2026.md +62 -0
  387. package/vault/wiki/sources/cursor-fork-29b-2025.md +50 -0
  388. package/vault/wiki/sources/cursor-harness-april-2026.md +76 -0
  389. package/vault/wiki/sources/cursor-instant-apply-2024.md +45 -0
  390. package/vault/wiki/sources/cursor-shadow-workspace-2024.md +52 -0
  391. package/vault/wiki/sources/cursor-shipped-coding-agent-2026.md +53 -0
  392. package/vault/wiki/sources/cursor-vs-antigravity-2026.md +51 -0
  393. package/vault/wiki/sources/disler-pi-vs-claude-code.md +69 -0
  394. package/vault/wiki/sources/distill-deterministic-context-compression.md +53 -0
  395. package/vault/wiki/sources/embedding-models-benchmark-supermemory-2025.md +48 -0
  396. package/vault/wiki/sources/executor-rhyssullivan.md +122 -0
  397. package/vault/wiki/sources/fallow-rs-codebase-intelligence.md +125 -0
  398. package/vault/wiki/sources/fan2025-imad.md +60 -0
  399. package/vault/wiki/sources/forgecode-gpt5-agent-improvements.md +63 -0
  400. package/vault/wiki/sources/gemini-3-prompting-guide.md +78 -0
  401. package/vault/wiki/sources/gh-cli-sub-issue-rfc.md +50 -0
  402. package/vault/wiki/sources/gh-sub-issue-extension.md +72 -0
  403. package/vault/wiki/sources/github-fork-issues-discussion.md +44 -0
  404. package/vault/wiki/sources/github-issue-dependencies-docs.md +49 -0
  405. package/vault/wiki/sources/github-sub-issues-docs.md +51 -0
  406. package/vault/wiki/sources/gitingest.md +91 -0
  407. package/vault/wiki/sources/gitreverse.md +63 -0
  408. package/vault/wiki/sources/google-antigravity-official-blog.md +47 -0
  409. package/vault/wiki/sources/google-antigravity-wikipedia.md +53 -0
  410. package/vault/wiki/sources/gsd-codecentric-deep-dive.md +57 -0
  411. package/vault/wiki/sources/gsd-github-repo.md +51 -0
  412. package/vault/wiki/sources/gsd-hn-discussion.md +59 -0
  413. package/vault/wiki/sources/guido-python-design-philosophy.md +56 -0
  414. package/vault/wiki/sources/hejlsberg-7-learnings.md +48 -0
  415. package/vault/wiki/sources/ironclaw-drift-monitor.md +80 -0
  416. package/vault/wiki/sources/langsight-loop-detection.md +80 -0
  417. package/vault/wiki/sources/leanctx-website.md +69 -0
  418. package/vault/wiki/sources/lee2026-meta-harness.md +59 -0
  419. package/vault/wiki/sources/linux-kernel-coding-workflow.md +50 -0
  420. package/vault/wiki/sources/lou2026-autoharness.md +53 -0
  421. package/vault/wiki/sources/martin-fowler-harness-engineering.md +73 -0
  422. package/vault/wiki/sources/mcp-architecture-docs.md +13 -0
  423. package/vault/wiki/sources/meng2026-agent-harness-survey.md +79 -0
  424. package/vault/wiki/sources/mindstudio-four-agent-types.md +68 -0
  425. package/vault/wiki/sources/ms-chat-history-management.md +13 -0
  426. package/vault/wiki/sources/openai-prompt-guidance.md +104 -0
  427. package/vault/wiki/sources/openclaw-session-pruning.md +13 -0
  428. package/vault/wiki/sources/opencode-dcp.md +13 -0
  429. package/vault/wiki/sources/opendev-arxiv-2603.05344v1.md +79 -0
  430. package/vault/wiki/sources/openhands-platform.md +39 -0
  431. package/vault/wiki/sources/oss-guide-codebase-exploration.md +53 -0
  432. package/vault/wiki/sources/pi-compaction-extensions-ecosystem.md +102 -0
  433. package/vault/wiki/sources/pi-context-prune-github-repo.md +38 -0
  434. package/vault/wiki/sources/pi-mono-compaction-docs.md +38 -0
  435. package/vault/wiki/sources/pi-omni-compact-github-repo.md +50 -0
  436. package/vault/wiki/sources/pi-rtk-optimizer-github-repo.md +45 -0
  437. package/vault/wiki/sources/pi-vcc-github-repo.md +69 -0
  438. package/vault/wiki/sources/pi-vscode-marketplace.md +41 -0
  439. package/vault/wiki/sources/pi-vscode-model-provider-marketplace.md +39 -0
  440. package/vault/wiki/sources/py-tree-sitter.md +13 -0
  441. package/vault/wiki/sources/sentrux-dev-landing.md +40 -0
  442. package/vault/wiki/sources/sentrux-docs-pro-architecture.md +75 -0
  443. package/vault/wiki/sources/sentrux-docs-quality-signal.md +46 -0
  444. package/vault/wiki/sources/sentrux-docs-root-cause-metrics.md +57 -0
  445. package/vault/wiki/sources/sentrux-docs-rules-engine.md +58 -0
  446. package/vault/wiki/sources/sentrux-github-repo.md +56 -0
  447. package/vault/wiki/sources/superpowers-github-repo.md +56 -0
  448. package/vault/wiki/sources/superpowers-release-blog.md +54 -0
  449. package/vault/wiki/sources/superpowers-termdock-analysis.md +45 -0
  450. package/vault/wiki/sources/swe-agent-aci.md +42 -0
  451. package/vault/wiki/sources/swe-bench.md +45 -0
  452. package/vault/wiki/sources/swe-pruner-context-pruning.md +13 -0
  453. package/vault/wiki/sources/think-in-code-blog.md +48 -0
  454. package/vault/wiki/sources/tree-sitter-docs.md +13 -0
  455. package/vault/wiki/sources/ts-best-practices-2025-devto.md +42 -0
  456. package/vault/wiki/sources/ts-folder-structure-mingyang.md +58 -0
  457. package/vault/wiki/sources/ts-monorepo-koerselman.md +44 -0
  458. package/vault/wiki/sources/ts-result-error-handling-kkalamarski.md +52 -0
  459. package/vault/wiki/sources/ts-runtimes-comparison-betterstack.md +42 -0
  460. package/vault/wiki/sources/ts-strict-mode-rishikc.md +43 -0
  461. package/vault/wiki/sources/unix-philosophy.md +48 -0
  462. package/vault/wiki/sources/vectara-chunking-vs-embedding-naacl2025.md +39 -0
  463. package/vault/wiki/sources/vectara-guardian-agents.md +79 -0
  464. package/vault/wiki/sources/vgrep-semantic-search.md +76 -0
  465. package/vault/wiki/sources/vitest-official.md +41 -0
  466. package/vault/wiki/sources/vscode-pi-community-extension.md +40 -0
  467. package/vault/wiki/sources/wozcode.md +79 -0
  468. package/.agents/skills/compress/SKILL.md +0 -111
  469. package/.agents/skills/compress/scripts/__init__.py +0 -9
  470. package/.agents/skills/compress/scripts/__main__.py +0 -3
  471. package/.agents/skills/compress/scripts/benchmark.py +0 -78
  472. package/.agents/skills/compress/scripts/cli.py +0 -73
  473. package/.agents/skills/compress/scripts/compress.py +0 -227
  474. package/.agents/skills/compress/scripts/detect.py +0 -121
  475. package/.agents/skills/compress/scripts/validate.py +0 -189
  476. package/.agents/skills/emil-design-eng/SKILL.md +0 -679
  477. package/.agents/skills/lean-ctx/SKILL.md +0 -149
  478. package/.agents/skills/lean-ctx/scripts/install.sh +0 -95
  479. package/.agents/skills/scrapling-official/LICENSE.txt +0 -28
  480. package/.agents/skills/scrapling-official/SKILL.md +0 -390
  481. package/.agents/skills/scrapling-official/examples/01_fetcher_session.py +0 -26
  482. package/.agents/skills/scrapling-official/examples/02_dynamic_session.py +0 -26
  483. package/.agents/skills/scrapling-official/examples/03_stealthy_session.py +0 -26
  484. package/.agents/skills/scrapling-official/examples/04_spider.py +0 -58
  485. package/.agents/skills/scrapling-official/examples/README.md +0 -45
  486. package/.agents/skills/scrapling-official/references/fetching/choosing.md +0 -78
  487. package/.agents/skills/scrapling-official/references/fetching/dynamic.md +0 -352
  488. package/.agents/skills/scrapling-official/references/fetching/static.md +0 -432
  489. package/.agents/skills/scrapling-official/references/fetching/stealthy.md +0 -255
  490. package/.agents/skills/scrapling-official/references/mcp-server.md +0 -214
  491. package/.agents/skills/scrapling-official/references/migrating_from_beautifulsoup.md +0 -86
  492. package/.agents/skills/scrapling-official/references/parsing/adaptive.md +0 -212
  493. package/.agents/skills/scrapling-official/references/parsing/main_classes.md +0 -586
  494. package/.agents/skills/scrapling-official/references/parsing/selection.md +0 -494
  495. package/.agents/skills/scrapling-official/references/spiders/advanced.md +0 -344
  496. package/.agents/skills/scrapling-official/references/spiders/architecture.md +0 -94
  497. package/.agents/skills/scrapling-official/references/spiders/getting-started.md +0 -164
  498. package/.agents/skills/scrapling-official/references/spiders/proxy-blocking.md +0 -235
  499. package/.agents/skills/scrapling-official/references/spiders/requests-responses.md +0 -196
  500. package/.agents/skills/scrapling-official/references/spiders/sessions.md +0 -205
  501. package/.github/banner.png +0 -0
  502. package/PLAN.md +0 -11
  503. package/extensions/lean-ctx-enforce.ts +0 -166
  504. package/skills-lock.json +0 -35
  505. package/wiki/README.md +0 -10
  506. package/wiki/decisions/0001-establish-project-wiki-and-decision-record-format.md +0 -25
  507. package/wiki/decisions/0002-add-project-banner-to-readme.md +0 -26
  508. package/wiki/decisions/0003-remove-redundant-readme-title-heading.md +0 -26
  509. package/wiki/decisions/0004-publish-package-to-npm-as-ultimate-pi.md +0 -26
@@ -0,0 +1,86 @@
1
+ ---
2
+ type: decision
3
+ title: "ADR-021: Explicit Command for Harness Activation"
4
+ status: accepted
5
+ priority: 1
6
+ date: "2026-05-02"
7
+ tags: [adr, harness, activation, command, explicit]
8
+ sources:
9
+ - "[[HARNESS-PRD]]"
10
+ related:
11
+ - "[[adr-012]]"
12
+ - "[[adr-017]]"
13
+ supersedes:
14
+ created: 2026-05-02
15
+ updated: 2026-05-02
16
+ ---
17
+
18
+ # ADR-021: Explicit Command for Harness Activation
19
+
20
+ ## Context
21
+
22
+ The harness pipeline must not run on every user message. Simple queries ("what does git status do?") should bypass the pipeline. Three approaches were considered: explicit command, automatic task detection, and sub-agent routing.
23
+
24
+ ## Decision
25
+
26
+ **Use an explicit command. Harness activates only via `/harness "task description"`.**
27
+
28
+ ### Command Registration
29
+
30
+ The harness extension registers a `/harness` command via `pi.registerCommand()`:
31
+
32
+ ```
33
+ /harness "fix the authentication bug in auth.ts"
34
+ /harness "add rate limiting to the API endpoints"
35
+ /harness "refactor the user model to use Zod validation"
36
+ /harness --no-verify "quick fix" (bypass L4 adversarial, P16 still runs)
37
+ /harness --plan-only "implement caching" (stop after L2, output plan)
38
+ ```
39
+
40
+ ### Flags
41
+
42
+ | Flag | Effect |
43
+ |------|--------|
44
+ | (none) | Full pipeline: L1 → L2 → L2.5 → L3 → L4 → P16 |
45
+ | `--no-verify` | Skip L4 adversarial verification. P16 still runs. |
46
+ | `--plan-only` | Stop after L2 planning. Output plan, don't execute. |
47
+ | `--skip-lint` | Skip P16 lint/format gate. |
48
+ | `--model <model>` | Override model for this harness run. |
49
+
50
+ ### Lifecycle
51
+
52
+ 1. User types `/harness "task"` in pi
53
+ 2. Harness extension intercepts, blocks normal agent flow
54
+ 3. Runs L1 spec hardening (may call `harness_ask` for clarifications)
55
+ 4. Runs L2 planning (generates plan YAML, may trigger plan debate)
56
+ 5. Injects hardened spec + plan into agent's system prompt via `before_agent_start`
57
+ 6. L2.5 drift monitor activates for this session
58
+ 7. Agent executes L3 with grounding checkpoints
59
+ 8. L4 critic spawns via pi-subagents RPC
60
+ 9. P16 runs deterministic gates
61
+ 10. Results returned to user
62
+
63
+ Normal `/harness`-less chat bypasses all pipeline layers entirely.
64
+
65
+ ## Rationale
66
+
67
+ - **Explicit user intent**: User knowingly opts into harness overhead. No surprise token costs.
68
+ - **Clean separation**: Normal chat = fast, lean. Harness = formal, verified.
69
+ - **Flag-based flexibility**: `--plan-only` enables plan-then-execute workflow. `--no-verify` for quick fixes.
70
+ - **Matches pi philosophy**: pi has no built-in pipeline. `/harness` command follows pi's extension command pattern.
71
+
72
+ ## Consequences
73
+
74
+ ### Positive
75
+ - No false positives from automatic detection.
76
+ - User controls pipeline depth per task.
77
+ - Simple mental model: type `/harness` when you want formal verification.
78
+
79
+ ### Negative
80
+ - User must remember to use `/harness`. Easy to accidentally bypass.
81
+ - Adds friction for frequent harness users. Mitigated by shell aliases or pi prompt templates.
82
+
83
+ ### Mitigations
84
+ - Pi prompt templates: `/harness` can be aliased to `/h`.
85
+ - `AGENTS.md` can recommend harness for code changes.
86
+ - Future: optional automatic detection via config (`harness.autoDetect: true`).
@@ -0,0 +1,113 @@
1
+ ---
2
+ type: decision
3
+ title: "ADR-022: Drift Monitor Pattern Definitions and Turn-Dependent Thresholds"
4
+ status: accepted
5
+ priority: 1
6
+ date: "2026-05-02"
7
+ tags: [adr, harness, l2.5, drift-monitor, thresholds, ck-search]
8
+ sources:
9
+ - "[[HARNESS-PRD]]"
10
+ - "[[adr-018]]"
11
+ - "[[adr-020]]"
12
+ related:
13
+ - "[[adr-018]]"
14
+ supersedes:
15
+ created: 2026-05-02
16
+ updated: 2026-05-02
17
+ ---
18
+
19
+ # ADR-022: Drift Monitor Pattern Definitions and Thresholds
20
+
21
+ ## Context
22
+
23
+ L2.5 runtime drift monitor detects agent stuckness via 7 rule-based patterns (6 original + 1 added). Detection runs on every `tool_result` event via a sliding window of the last 20 tool calls. Thresholds are configurable in `.pi/harness/config.json`.
24
+
25
+ ## Decision
26
+
27
+ ### Pattern Definitions
28
+
29
+ #### 1. Repetition Loops
30
+ - **Detection**: Same tool name + same arguments ≥ N times in a row
31
+ - **Threshold**: 3
32
+ - **Nudge**: "You appear to be repeating the same action. Consider a different approach."
33
+ - **Reset on**: Tool call with different args
34
+
35
+ #### 2. Failure Spirals
36
+ - **Detection**: Consecutive tool calls returning error/non-zero exit
37
+ - **Threshold**: 3
38
+ - **Nudge**: "Multiple tool calls are failing. Stop and reassess your approach."
39
+ - **Reset on**: Successful tool call
40
+
41
+ #### 3. Tool Cycling
42
+ - **Detection**: Alternating between 2-3 tools without any write/edit in K turns
43
+ - **Threshold**: 5 turns
44
+ - **Nudge**: "You're cycling between tools without making changes. Act on findings."
45
+ - **Reset on**: Write or edit call
46
+
47
+ #### 4. Silence/Batching (Turn-Dependent)
48
+ - **Detection**: Agent reads/greps/finds many files without write/edit/bash (modifying)
49
+ - **Thresholds**:
50
+ | Turn Range | Threshold | Rationale |
51
+ |------------|-----------|-----------|
52
+ | Turns 1-8 | No limit | Exploration phase. Read freely. |
53
+ | Turns 9-15 | 12 reads without action | Should transition from exploring to doing. |
54
+ | Turns 16+ | 6 reads without action | Analysis paralysis. Agent has enough context. |
55
+ - **Nudge style by severity**:
56
+ - Turns 9-15: "You've read 12 files without making changes. If you're still mapping the codebase, ignore. If ready, act."
57
+ - Turns 16+: "You're deep in exploration. Summarize findings and act."
58
+ - **Reset on**: Write, edit, or modifying bash call
59
+ - **"Action" definition**: write, edit, or bash that modifies filesystem (not `ls`/`cat`/`echo`)
60
+
61
+ #### 5. Rework
62
+ - **Detection**: Editing the same file or overlapping region ≥ N times
63
+ - **Threshold**: 2 edits on same file region
64
+ - **Nudge**: "You've edited this region multiple times. Reassess approach."
65
+ - **Reset on**: Edit on different file or region
66
+
67
+ #### 6. Excessive Search
68
+ - **Detection**: ≥ N consecutive grep/find calls without narrowing queries or finding results
69
+ - **Threshold**: 8 searches
70
+ - **Nudge**: "Consider narrowing your search or using a different approach."
71
+ - **Reset on**: Read or edit after a grep/find that found results
72
+
73
+ #### 7. Obsolete Search (ck routing)
74
+ - **Detection**: ≥ 3 grep/find calls in a row where query is a natural-language phrase (≥ 3 words)
75
+ - **Nudge**: "For semantic searches like 'find authentication logic', try ck_search instead of grep."
76
+ - **Reset on**: Successful ck call or narrowing to single-word grep
77
+
78
+ ### Escalation Ladder
79
+
80
+ | Level | Trigger | Action |
81
+ |-------|---------|--------|
82
+ | Soft nudge | First detection | Inject correction prompt into next `before_agent_start` |
83
+ | Strong nudge | Same pattern re-detected after nudge | Stronger language. "STOP. You are stuck. Reassess." |
84
+ | Forced restart | Pattern persists after strong nudge | Inject "RESTART: Clear your mental model. Re-read spec. Start fresh." + reset pattern counters |
85
+
86
+ Escalation thresholds configurable. Default: soft at 1 detection, strong at 2 consecutive, restart at 3.
87
+
88
+ ### Config
89
+
90
+ All thresholds configurable in `.pi/harness/config.json` → `driftMonitor.patterns` and `driftMonitor.escalation`.
91
+
92
+ ## Rationale
93
+
94
+ - **Turn-dependent batching**: First 8 turns are exploration — penalizing reads here would break legitimate codebase mapping. After turn 16, continued reading signals paralysis.
95
+ - **ck routing**: Grep for semantic queries is an anti-pattern. Nudging toward ck_search saves tokens and improves code discovery.
96
+ - **Sliding window**: Last 20 tool calls is ~4-8 turns of context. Enough to detect patterns, small enough to be responsive.
97
+ - **Configurable**: Every project has different exploration needs. Per-project thresholds prevent false positives.
98
+
99
+ ## Consequences
100
+
101
+ ### Positive
102
+ - Catches 7 distinct stuckness patterns.
103
+ - Escalation prevents infinite loops.
104
+ - Turn-dependent thresholds balance exploration vs paralysis detection.
105
+ - ck routing improves code discovery.
106
+
107
+ ### Negative
108
+ - 20-call sliding window adds memory overhead (minimal — ~2KB state).
109
+ - Turn counting assumes pi doesn't reset turn counter mid-session (verified: pi maintains monotonic turn count).
110
+
111
+ ### Mitigations
112
+ - User can disable drift monitor entirely via config or `/harness --no-drift-monitor`.
113
+ - Pattern counters reset on successful write/edit — productive work clears drift state.
@@ -0,0 +1,113 @@
1
+ ---
2
+ type: decision
3
+ title: "ADR-023: Hybrid Spec Format — Structured + Freeform Acceptance Criteria"
4
+ status: accepted
5
+ priority: 1
6
+ date: "2026-05-02"
7
+ tags: [adr, harness, l1, spec, yaml, acceptance-criteria]
8
+ sources:
9
+ - "[[HARNESS-PRD]]"
10
+ - "[[adr-020]]"
11
+ related:
12
+ - "[[adr-020]]"
13
+ - "[[adr-021]]"
14
+ supersedes:
15
+ created: 2026-05-02
16
+ updated: 2026-05-02
17
+ ---
18
+
19
+ # ADR-023: Hybrid Spec Format — Structured + Freeform Acceptance Criteria
20
+
21
+ ## Context
22
+
23
+ L1 spec hardening must produce a content-addressed specification that L2 (planning), L3 (execution), and L4 (adversarial verification) can all consume. The spec must support both deterministic auto-verifiable criteria (tests pass, lint passes) and freeform criteria (security properties, behavioral guarantees) that require LLM judgment.
24
+
25
+ ## Decision
26
+
27
+ **Use a hybrid YAML format with structured deterministic criteria and freeform acceptance criteria.**
28
+
29
+ ### Schema
30
+
31
+ `.pi/harness/specs/<sha256-hash>.yaml`:
32
+
33
+ ```yaml
34
+ request: "Fix the authentication timeout bug in auth.ts"
35
+ ambiguities:
36
+ - question: "Which auth library is used?"
37
+ answer: "JWT in src/auth.ts — existing."
38
+ resolved_by: "user"
39
+ - question: "Must the fix be backward compatible?"
40
+ answer: "Yes. Cannot change token format."
41
+ resolved_by: "user"
42
+ intent: "JWT tokens expire prematurely because the TTL calculation uses seconds instead of milliseconds"
43
+ scope:
44
+ include: ["src/auth.ts", "src/middleware/auth.ts"]
45
+ exclude: ["src/auth/__tests__/*"]
46
+ constraints:
47
+ - "Must be backward compatible with existing tokens"
48
+ - "Must not change the API surface of verifyToken()"
49
+ - "Must handle edge case: tokens issued before the fix"
50
+ acceptance_criteria:
51
+ deterministic:
52
+ - type: tests_pass
53
+ pattern: "auth/**"
54
+ - type: lint_passes
55
+ - type: typescript_compiles
56
+ - type: no_regression
57
+ baseline: "main"
58
+ freeform:
59
+ - "Tokens issued with the old TTL (seconds) must still validate"
60
+ - "New tokens must use the correct TTL (milliseconds)"
61
+ - "No new security vulnerabilities introduced"
62
+ - "The fix must be contained to auth.ts — no changes to unrelated files"
63
+ model: anthropic/claude-sonnet-4-6
64
+ hardened_at: "2026-05-02T14:30:00Z"
65
+ clarification_rounds: 1
66
+ ```
67
+
68
+ ### Field Definitions
69
+
70
+ | Field | Required | Description |
71
+ |-------|----------|-------------|
72
+ | `request` | Yes | Original user request (verbatim) |
73
+ | `ambiguities` | No | Resolved ambiguities with source (user/auto) |
74
+ | `intent` | Yes | One-sentence distilled intent after hardening |
75
+ | `scope` | No | Files/directories in and out of scope |
76
+ | `constraints` | No | Non-negotiable constraints |
77
+ | `acceptance_criteria.deterministic` | No | Auto-verifiable criteria (L3, P16) |
78
+ | `acceptance_criteria.freeform` | Yes | LLM-judged criteria (L4 critic) |
79
+ | `model` | Yes | Model that generated the spec |
80
+ | `hardened_at` | Yes | Timestamp |
81
+ | `clarification_rounds` | Yes | How many Q&A rounds were needed |
82
+
83
+ ### Spec Hash
84
+
85
+ `SHA256` of the canonical YAML serialization (sorted keys, consistent indentation). Immutable after `hardened_at` timestamp. Any spec change = new hash = new file.
86
+
87
+ ### Enforcement
88
+
89
+ - L3: checks deterministic criteria at each grounding checkpoint. Auto-verifies via `vitest`, `biome check`, `tsc --noEmit`.
90
+ - L4: critic reads freeform criteria as its attack surface. Critic's pass/fail judgment is based on freeform criteria compliance.
91
+ - P16: runs deterministic gates regardless of L4 outcome.
92
+
93
+ ## Rationale
94
+
95
+ - **Hybrid = complete**: Deterministic criteria catch syntax/type/test failures without LLM cost. Freeform criteria catch semantic issues that only an LLM can judge.
96
+ - **Both required**: If only deterministic criteria, security and behavioral bugs slip through. If only freeform, every verification burns LLM tokens.
97
+ - **Content-addressed**: Spec is immutable after hardening. No scope creep. L4 critic verifies against the same spec that L1 produced.
98
+ - **Resolved ambiguities recorded**: Trail of Q&A decisions prevents re-litigation.
99
+
100
+ ## Consequences
101
+
102
+ ### Positive
103
+ - Single ground truth for L2, L3, L4.
104
+ - Immutable spec prevents scope creep.
105
+ - Q&A trail provides audit log of clarifications.
106
+
107
+ ### Negative
108
+ - Freeform criteria depend on L4 critic availability. During Groups 1-2 (before L4), freeform criteria are unchecked.
109
+ - Spec YAML can become large for complex tasks.
110
+
111
+ ### Mitigations
112
+ - During Groups 1-2, only deterministic criteria enforced. Freeform criteria stored but skipped.
113
+ - Spec files are gitignored (`.pi/harness/specs/`). Not committed. Re-built per harness run.
@@ -0,0 +1,73 @@
1
+ ---
2
+ type: decision
3
+ title: "ADR-024: Compact Plan Summary in System Prompt"
4
+ status: accepted
5
+ priority: 1
6
+ date: "2026-05-02"
7
+ tags: [adr, harness, l2, plan, system-prompt, context]
8
+ sources:
9
+ - "[[HARNESS-PRD]]"
10
+ - "[[adr-020]]"
11
+ - "[[adr-023]]"
12
+ related:
13
+ - "[[adr-020]]"
14
+ - "[[adr-023]]"
15
+ supersedes:
16
+ created: 2026-05-02
17
+ updated: 2026-05-02
18
+ ---
19
+
20
+ # ADR-024: Compact Plan Summary in System Prompt
21
+
22
+ ## Context
23
+
24
+ L2 generates a detailed YAML plan (ADR-020). The agent must follow it during L3 execution. Injecting the full plan into the system prompt burns context tokens on every turn. Storing it only on disk risks the agent losing track of the plan.
25
+
26
+ ## Decision
27
+
28
+ **Inject a compact summary into the system prompt. Full plan YAML on disk. Agent instructed to re-read at checkpoints.**
29
+
30
+ ### Summary Format (in system prompt)
31
+
32
+ ```
33
+ TASK PLAN → .pi/harness/plans/<hash>.yaml
34
+ 1. add-user-model [CHECKPOINT] ← no deps
35
+ 2. add-auth-middleware ← after add-user-model
36
+ 3. add-rate-limiting ← after add-auth-middleware [CHECKPOINT]
37
+
38
+ CONTRACT: Complete tasks in order. Do not skip checkpoints.
39
+ At each [CHECKPOINT], re-read plan YAML and verify doneCriteria
40
+ before proceeding to next task.
41
+ ```
42
+
43
+ ### Agent Instructions
44
+
45
+ Appended to system prompt:
46
+ - Read plan YAML before starting work
47
+ - Execute tasks in dependency order
48
+ - At each checkpoint: re-read plan YAML, verify all `doneCriteria` for completed tasks
49
+ - If stuck or uncertain about next step: re-read plan YAML
50
+ - Do not work on future tasks before current task's `doneCriteria` are met
51
+
52
+ ### L2.5 Drift Integration
53
+
54
+ Drift monitor (ADR-022) adds pattern #8: **plan deviation**. Detected when agent edits files outside current task scope or works on tasks out of dependency order. Nudge: "You're working outside the current plan task. Re-read plan and refocus."
55
+
56
+ ## Rationale
57
+
58
+ - **Minimal context burn**: 3-5 lines per plan in system prompt vs potentially hundreds of lines of full YAML.
59
+ - **Agent autonomy**: Agent decides when to re-read the plan. Not forced to hold it in context at all times.
60
+ - **Checkpoint enforcement**: Re-reading at checkpoints ensures the agent re-grounds before proceeding.
61
+ - **Drift integration**: Plan deviation detection catches scope creep early.
62
+
63
+ ## Consequences
64
+
65
+ ### Positive
66
+ - Context-efficient. Plan details don't consume tokens on every turn.
67
+ - Agent has access to full plan details when needed.
68
+ - Drift monitor catches plan deviation.
69
+
70
+ ### Negative
71
+ - Agent must be trusted to re-read the plan. Lazy agents may skip re-reading.
72
+ - Plan YAML file path is in system prompt — agent could accidentally edit it. Mitigated by file permissions or drift detection.
73
+ - Summary format is lossy — task descriptions and criteria details only in YAML file.
@@ -0,0 +1,130 @@
1
+ ---
2
+ type: decision
3
+ title: "ADR-025: GitHub Issues as Sole Spec Storage + harness-setup Bootstrap"
4
+ status: accepted
5
+ priority: 1
6
+ date: "2026-05-02"
7
+ tags: [adr, harness, specs, github-issues, storage, setup]
8
+ sources:
9
+ - "[[HARNESS-PRD]]"
10
+ - "[[adr-023]]"
11
+ - "[[adr-021]]"
12
+ related:
13
+ - "[[adr-023]]"
14
+ - "[[adr-021]]"
15
+ supersedes: "PRD P1.4 (dual-tier local + GitHub Issues)"
16
+ created: 2026-05-02
17
+ updated: 2026-05-02
18
+ ---
19
+
20
+ # ADR-025: GitHub Issues as Sole Spec Storage + harness-setup
21
+
22
+ ## Context
23
+
24
+ PRD P1.4 specified dual-tier spec storage: local `.pi/harness/specs/<hash>.json` cache + GitHub Issue for cross-session ledger. Local cache adds complexity and two sources of truth. GitHub Issues alone provides a single source of truth with built-in cross-session durability, issue numbers as IDs, and no local file management.
25
+
26
+ P2b (iMAD pre-debate gating classifier) was considered for Group 1 but is deferred until L4 debate infrastructure exists (Group 3).
27
+
28
+ ## Decision
29
+
30
+ **Use GitHub Issues as the sole spec storage. No local cache. If GitHub is unreachable, harness fails with clear error.**
31
+
32
+ ### Issue Format
33
+
34
+ Each harness spec is a GitHub Issue in the project's repository, using a custom issue template.
35
+
36
+ Issue body contains the spec YAML (ADR-023) in a markdown code block:
37
+
38
+ ```markdown
39
+ ## Spec
40
+
41
+ \`\`\`yaml
42
+ request: "Fix the authentication timeout bug in auth.ts"
43
+ intent: "JWT tokens expire prematurely..."
44
+ acceptance_criteria:
45
+ deterministic:
46
+ - type: tests_pass
47
+ pattern: "auth/**"
48
+ freeform:
49
+ - "Tokens issued with old TTL must still validate"
50
+ ...
51
+ \`\`\`
52
+ ```
53
+
54
+ ### Issue Template
55
+
56
+ `.github/ISSUE_TEMPLATE/harness-spec.yml`:
57
+
58
+ ```yaml
59
+ name: Harness Spec
60
+ description: Auto-generated hardened spec from pi harness
61
+ title: "harness: [spec title]"
62
+ labels: ["harness", "spec"]
63
+ body:
64
+ - type: textarea
65
+ attributes:
66
+ label: Spec
67
+ description: Hardened specification (auto-generated)
68
+ render: yaml
69
+ validations:
70
+ required: true
71
+ ```
72
+
73
+ ### Storage Model
74
+
75
+ - **Spec ID**: GitHub issue number (replaces SHA256 hash as stable ID)
76
+ - **Issue title**: `harness: <intent truncated to 80 chars>`
77
+ - **Issue labels**: `harness`, `spec`, plus status labels (`in-progress`, `verified`, `failed`)
78
+ - **Issue close**: Closed when task completes (L4 verdict + P16 pass). Comment with verdict summary.
79
+ - **Issue reopen**: If L4 fails and agent retries, same issue gets reopened.
80
+
81
+ ### Failure Mode
82
+
83
+ If GitHub API is unreachable (no network, rate limited, token expired):
84
+ - Harness fails immediately with: "GitHub API unreachable. Spec storage requires GitHub connectivity."
85
+ - User sees clear error, not a crash.
86
+ - No offline mode. No local fallback.
87
+
88
+ ### harness-setup Command
89
+
90
+ One-time bootstrap registered as a pi command:
91
+
92
+ ```
93
+ /harness-setup
94
+ ```
95
+
96
+ Runs the following checklist interactively:
97
+
98
+ | Step | Action | Confirm? |
99
+ |------|--------|----------|
100
+ | 1. Install sub-agents | `pi install npm:@tintinweb/pi-subagents` | Auto |
101
+ | 2. Create wiki vault | Invoke `/wiki` prompt template (ensures `wiki/`, `vault/` exist) | Auto |
102
+ | 3. Create issue template | Write `.github/ISSUE_TEMPLATE/harness-spec.yml` | User confirm |
103
+ | 4. Create harness config | Generate `.pi/harness/config.json` from defaults | Auto |
104
+ | 5. Create critic agent | Write `.pi/agents/critic.md` with L4 critic definition | Auto |
105
+ | 6. Verify firecrawl | Check CLI, prompt install if missing | Auto |
106
+ | 7. Verify defuddle | Check CLI, prompt install if missing | Auto |
107
+ | 8. Verify GitHub | `gh auth status`, prompt login if missing | Auto |
108
+ | 9. Create consensus dir | `mkdir -p wiki/consensus/` | Auto |
109
+
110
+ ## Rationale
111
+
112
+ - **Single source of truth**: No sync between local cache and remote. GitHub IS the store.
113
+ - **Cross-session durable**: Issues survive between sessions, machines, forks.
114
+ - **Built-in IDs**: Issue numbers are stable, sequential, human-friendly identifiers.
115
+ - **Labels as state**: Issue labels track spec lifecycle without custom database.
116
+ - **Fail-fast**: No offline fallback. Forces clean failure instead of silent divergence.
117
+
118
+ ## Consequences
119
+
120
+ ### Positive
121
+ - Zero local storage management.
122
+ - Specs visible in GitHub UI for human review.
123
+ - Issue labels enable filtering: "show all verified harness specs."
124
+ - Cross-session without any persistence layer.
125
+
126
+ ### Negative
127
+ - **Network dependency**: No offline work. Harness won't function without GitHub.
128
+ - **Rate limits**: GitHub API has rate limits (5,000/hr authenticated). Harness spec operations are low-volume (1-2 per session), well within limits.
129
+ - **No local caching**: Even a transient network blip blocks harness. Mitigated by clear error message.
130
+ - **Issue noise**: Harness specs will appear in the project's GitHub Issues alongside bugs and features. Mitigated by `harness` label for filtering.
@@ -0,0 +1,56 @@
1
+ ---
2
+ type: decision
3
+ title: "ADR-026: Replace CLI Cursor Provider with Native Cursor SDK Provider"
4
+ status: accepted
5
+ priority: 1
6
+ date: "2026-05-04"
7
+ tags: [adr, provider, cursor, sdk, pi]
8
+ sources:
9
+ - "https://pi.dev/docs/latest/custom-provider"
10
+ - "https://cursor.com/docs/api/sdk/typescript"
11
+ related:
12
+ - "[[adr-012]]"
13
+ created: 2026-05-04
14
+ updated: 2026-05-04
15
+ ---
16
+
17
+ # ADR-026: Replace CLI Cursor Provider with Native Cursor SDK Provider
18
+
19
+ ## Context
20
+
21
+ Current setup used `npm:@netandreus/pi-cursor-provider`, which wrapped Cursor CLI calls.
22
+ That path was brittle and not purely programmatic.
23
+
24
+ Project needs clean provider integration through Pi `registerProvider(..., streamSimple)` and Cursor TypeScript SDK.
25
+
26
+ ## Decision
27
+
28
+ Use repo-local extension `.pi/extensions/cursor-sdk-provider.ts`.
29
+
30
+ - Register provider name: `cursor-sdk`
31
+ - Implement `streamSimple` using `@cursor/sdk` (`Agent.create`, `agent.send`, `run.stream`, `run.wait`)
32
+ - Remove `npm:@netandreus/pi-cursor-provider` from `.pi/settings.json`
33
+ - Keep auth via `CURSOR_API_KEY`
34
+
35
+ ## Alternatives considered
36
+
37
+ 1. Keep external CLI package
38
+ - Rejected: CLI indirection, less control, hacky behavior.
39
+ 2. Keep external package but fork it
40
+ - Rejected: extra maintenance for little gain.
41
+
42
+ ## Rationale
43
+
44
+ Cursor SDK gives stable programmatic API, event stream access, and direct TypeScript types.
45
+ Pi custom-provider API supports this natively through `streamSimple`.
46
+
47
+ ## Consequences
48
+
49
+ ### Positive
50
+ - Cleaner architecture
51
+ - No CLI shell glue
52
+ - Local code ownership of provider behavior
53
+
54
+ ### Negative
55
+ - Must maintain local provider extension on future SDK changes
56
+ - Initial model defaults may need tuning per team account/model availability
@@ -0,0 +1,34 @@
1
+ ---
2
+ type: decision
3
+ status: active
4
+ priority: 2
5
+ date: "2026-04-28"
6
+ owner: "aryaniyaps"
7
+ due_date: ""
8
+ context: "Should the architecture wiki be co-located in the same repository as the application source code?"
9
+ tags: [decision, architecture, documentation]
10
+ created: "2026-04-28"
11
+ updated: "2026-04-28"
12
+ title: "Co-locating Wiki with Codebase"
13
+ ---
14
+ # Co-locating Wiki with Codebase
15
+
16
+ ## Context
17
+ Deciding whether to store the codebase map and architecture wiki inside the source repository or in a separate documentation vault.
18
+
19
+ ## Options Considered
20
+ 1. **Co-location (Monorepo approach)**: Wiki lives in `wiki/` and `CLAUDE.md` in the root.
21
+ 2. **Separate Vault**: Codebase is purely code; wiki is an isolated Obsidian vault elsewhere.
22
+
23
+ ## Decision
24
+ **Option 1: Co-location.**
25
+
26
+ ## Rationale
27
+ - **Proximity**: Developers can update code and architecture documentation in the same commit, preventing the wiki from becoming stale (the "doc rot" problem).
28
+ - **Tooling Integration**: Agent skills (`wiki`, `wiki-ingest`) can seamlessly traverse the codebase and cross-reference real files because they share the same filesystem context.
29
+ - **Git as Single Source of Truth**: Branching, PR reviews, and versioning apply to code and its architectural reasoning simultaneously.
30
+
31
+ ## Consequences
32
+ - The repository clone size slightly increases (markdown is negligible, but attachments/images could add up).
33
+ - Non-code contributors (if any) need git access to update documentation.
34
+ - We must enforce policies (e.g., `.gitignore` rules or pre-commit hooks) so that generated wiki artifacts don't interfere with the build process.
@@ -0,0 +1,29 @@
1
+ ---
2
+ type: entity
3
+ entity_type: person
4
+ title: "Anders Hejlsberg"
5
+ role: "Creator of Turbo Pascal, Delphi, C#, TypeScript"
6
+ active: true
7
+ tags: [person, language-design, typescript, csharp, microsoft]
8
+ related:
9
+ - "[[hejlsberg-7-learnings]]"
10
+ - "[[fast-feedback-loops]]"
11
+ - "[[behavioral-compatibility-over-purity]]"
12
+ ---
13
+
14
+ # Anders Hejlsberg
15
+
16
+ Creator of Turbo Pascal (Borland, 1983), Delphi (1995), lead architect of C# (Microsoft, 2000), and designer of TypeScript (2012). Self-taught compiler writer. Still writes code daily — "my calling is writing code."
17
+
18
+ ## Engineering Practices
19
+
20
+ - **Fast feedback as first principle**: Turbo Pascal's impact came from shortening edit-compile-run to instants. TypeScript's value equally from tooling responsiveness as from the type system.
21
+ - **Stay hands-on**: Discovered hash tables from a book while writing Turbo Pascal 2.0 — doubled compiler speed. Wrote the TypeScript type checker core himself. "I treated work as the place where I wouldn't work and then I go home and work."
22
+ - **Compromise over purity**: TypeScript extended JavaScript instead of replacing it. C# merged VB6 ease with C++ power. "Languages do not succeed because they are perfectly designed. They succeed because they accommodate the way teams actually work."
23
+ - **Behavioral compatibility**: When porting TypeScript compiler to Go, the goal was semantic fidelity — "the new compiler needed to behave exactly like the old one, including quirks and edge cases."
24
+ - **Open development**: 2014 move to GitHub was TypeScript's turning point. "Our entire workflow is in the open... no secrets on this project."
25
+ - **On AI coding**: Grounding/constraint matters more than generation. Type systems and refactoring tools become essential guardrails. "The most valuable tools in an AI-assisted workflow aren't the ones that generate the most code, but the ones that constrain it correctly."
26
+
27
+ ## Relevance to AI Coding Harness
28
+
29
+ Hejlsberg's career is the strongest bridge between legendary programming and AI-assisted development. His 7 learnings (2026 GitHub blog) directly address AI coding workflow: fast feedback matters most, behavioral compatibility over purity, visibility builds trust, and deterministic constraints (type checkers, linters) as guardrails around AI output. The idea that "grounding matters more than generation" is a direct harness design principle.
@@ -0,0 +1,17 @@
1
+ ---
2
+ type: entity
3
+ status: stub
4
+ created: 2026-05-02
5
+ updated: 2026-05-02
6
+ tags: [entity, ai-lab]
7
+ ---
8
+
9
+ # Anthropic
10
+
11
+ AI research company. Creator of Claude (Opus, Sonnet, Haiku models) and the Claude Code agentic coding tool.
12
+
13
+ ## Relevance to Harness
14
+
15
+ - [[anthropic-prompt-best-practices]] — official prompting guidance
16
+ - [[anthropic2026-harness-design]] — GAN-inspired generator-evaluator architecture
17
+ - [[claude-code-architecture-vila-lab-2026]] — Claude Code architecture analysis