ultimate-pi 0.1.2 → 0.1.4

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 (516) 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/workflows/lint.yml +33 -0
  45. package/.github/workflows/publish-github-packages.yml +35 -0
  46. package/.github/workflows/publish-npm.yml +1 -1
  47. package/.pi/SYSTEM.md +107 -40
  48. package/.pi/agents/pi-pi/agent-expert.md +205 -0
  49. package/.pi/agents/pi-pi/cli-expert.md +47 -0
  50. package/.pi/agents/pi-pi/config-expert.md +67 -0
  51. package/.pi/agents/pi-pi/ext-expert.md +53 -0
  52. package/.pi/agents/pi-pi/keybinding-expert.md +123 -0
  53. package/.pi/agents/pi-pi/pi-orchestrator.md +103 -0
  54. package/.pi/agents/pi-pi/prompt-expert.md +83 -0
  55. package/.pi/agents/pi-pi/skill-expert.md +52 -0
  56. package/.pi/agents/pi-pi/theme-expert.md +46 -0
  57. package/.pi/agents/pi-pi/tui-expert.md +100 -0
  58. package/.pi/agents/rethink.md +140 -0
  59. package/.pi/agents/wiki-ingest.md +67 -0
  60. package/.pi/agents/wiki-lint.md +75 -0
  61. package/.pi/auto-commit.json +20 -0
  62. package/.pi/extensions/banner.png +0 -0
  63. package/.pi/extensions/ck-enforce.ts +216 -0
  64. package/.pi/extensions/custom-footer.ts +308 -0
  65. package/.pi/extensions/custom-header.ts +116 -0
  66. package/.pi/extensions/dotenv-loader.ts +170 -0
  67. package/.pi/internal/cursor-sdk-transcript-parser.ts +59 -0
  68. package/.pi/model-router.json +95 -0
  69. package/.pi/npm/.gitignore +2 -0
  70. package/.pi/prompts/git-sync.md +124 -0
  71. package/.pi/prompts/harness-setup.md +509 -0
  72. package/.pi/prompts/save.md +16 -0
  73. package/.pi/prompts/wiki-autoresearch.md +19 -0
  74. package/.pi/prompts/wiki.md +23 -0
  75. package/.pi/providers/cursor-sdk-provider.test.mjs +476 -0
  76. package/.pi/providers/cursor-sdk-provider.ts +1085 -0
  77. package/.pi/settings.json +14 -4
  78. package/.pi/skills/agent-router/SKILL.md +174 -0
  79. package/.pi/sounds/alert/1-kaching-track.mp3 +0 -0
  80. package/.pi/sounds/error/1-ksi-wth-track.mp3 +0 -0
  81. package/.pi/sounds/error/2-smash-track.mp3 +0 -0
  82. package/.pi/sounds/error/3-buzzer-track.mp3 +0 -0
  83. package/.pi/sounds/notification/1-soft-notification-track.mp3 +0 -0
  84. package/.pi/sounds/project-sounds.json +25 -0
  85. package/.pi/sounds/reminder/1-soft-notification-track.mp3 +0 -0
  86. package/.pi/sounds/success/1-tada-track.mp3 +0 -0
  87. package/.pi/sounds/success/2-jobs-done-track.mp3 +0 -0
  88. package/.pi/sounds/success/3-yay-track.mp3 +0 -0
  89. package/CONTRIBUTING.md +116 -0
  90. package/README.md +32 -39
  91. package/biome.json +34 -0
  92. package/firecrawl/.env.template +58 -0
  93. package/firecrawl/README.md +49 -0
  94. package/firecrawl/docker-compose.yaml +201 -0
  95. package/firecrawl/searxng/searxng.env +3 -0
  96. package/firecrawl/searxng/settings.yml +85 -0
  97. package/lefthook.yml +8 -0
  98. package/package.json +55 -24
  99. package/vault/AGENTS.md +37 -0
  100. package/vault/wiki/_templates/comparison.md +39 -0
  101. package/vault/wiki/_templates/concept.md +40 -0
  102. package/vault/wiki/_templates/decision.md +21 -0
  103. package/vault/wiki/_templates/entity.md +32 -0
  104. package/vault/wiki/_templates/flow.md +14 -0
  105. package/vault/wiki/_templates/module.md +18 -0
  106. package/vault/wiki/_templates/question.md +31 -0
  107. package/vault/wiki/_templates/source.md +39 -0
  108. package/vault/wiki/concepts/AST-Aware Code Chunking.md +44 -0
  109. package/vault/wiki/concepts/Build-Time Prompt Compilation.md +107 -0
  110. package/vault/wiki/concepts/Context Engine (AI Coding).md +47 -0
  111. package/vault/wiki/concepts/Context-Aware System Reminders.md +61 -0
  112. package/vault/wiki/concepts/Contextualized Text Embedding.md +42 -0
  113. package/vault/wiki/concepts/Contractor vs Employee AI Model.md +55 -0
  114. package/vault/wiki/concepts/Dual-Model Agent Architecture.md +65 -0
  115. package/vault/wiki/concepts/Late Chunking vs Early Chunking.md +43 -0
  116. package/vault/wiki/concepts/Majority Vote Ensembling.md +68 -0
  117. package/vault/wiki/concepts/Meta-Harness.md +16 -0
  118. package/vault/wiki/concepts/Multi-Agent AI Coding Architecture.md +75 -0
  119. package/vault/wiki/concepts/Prompt Enhancement.md +90 -0
  120. package/vault/wiki/concepts/Prompt Renderer.md +89 -0
  121. package/vault/wiki/concepts/Semantic Codebase Indexing.md +67 -0
  122. package/vault/wiki/concepts/additive-config-hierarchy.md +16 -0
  123. package/vault/wiki/concepts/agent-artifacts-verifiable-deliverables.md +71 -0
  124. package/vault/wiki/concepts/agent-browser-browser-automation.md +99 -0
  125. package/vault/wiki/concepts/agent-codebase-interface.md +43 -0
  126. package/vault/wiki/concepts/agent-harness-architecture.md +67 -0
  127. package/vault/wiki/concepts/agent-loop-detection-patterns.md +133 -0
  128. package/vault/wiki/concepts/agent-search-enforcement.md +126 -0
  129. package/vault/wiki/concepts/agent-skills-ecosystem.md +74 -0
  130. package/vault/wiki/concepts/agent-skills-pattern.md +68 -0
  131. package/vault/wiki/concepts/agentic-harness-context-enforcement.md +91 -0
  132. package/vault/wiki/concepts/agentic-harness.md +34 -0
  133. package/vault/wiki/concepts/agentic-orchestration-pipeline.md +56 -0
  134. package/vault/wiki/concepts/agentic-search-no-embeddings.md +18 -0
  135. package/vault/wiki/concepts/anthropic-context-engineering.md +13 -0
  136. package/vault/wiki/concepts/antigravity-agent-first-architecture.md +61 -0
  137. package/vault/wiki/concepts/ast-compression.md +19 -0
  138. package/vault/wiki/concepts/ast-truncation.md +66 -0
  139. package/vault/wiki/concepts/barrel-files.md +37 -0
  140. package/vault/wiki/concepts/browser-harness-agent.md +41 -0
  141. package/vault/wiki/concepts/browser-subagent-visual-verification.md +82 -0
  142. package/vault/wiki/concepts/codebase-intelligence-ecosystem-comparison.md +192 -0
  143. package/vault/wiki/concepts/codebase-intelligence-harness-integration.md +161 -0
  144. package/vault/wiki/concepts/codebase-to-context-ingestion.md +46 -0
  145. package/vault/wiki/concepts/codex-harness-innovations.md +147 -0
  146. package/vault/wiki/concepts/consensus-debate-flow.md +17 -0
  147. package/vault/wiki/concepts/consensus-debate.md +206 -0
  148. package/vault/wiki/concepts/content-addressed-spec-identity.md +166 -0
  149. package/vault/wiki/concepts/context-anxiety.md +57 -0
  150. package/vault/wiki/concepts/context-compression-techniques.md +19 -0
  151. package/vault/wiki/concepts/context-continuity.md +22 -0
  152. package/vault/wiki/concepts/context-drift-in-agents.md +106 -0
  153. package/vault/wiki/concepts/context-engineering.md +62 -0
  154. package/vault/wiki/concepts/context-folding.md +67 -0
  155. package/vault/wiki/concepts/context-mode.md +38 -0
  156. package/vault/wiki/concepts/cursor-harness-innovations.md +107 -0
  157. package/vault/wiki/concepts/deterministic-session-compaction.md +79 -0
  158. package/vault/wiki/concepts/drift-detection-unified.md +296 -0
  159. package/vault/wiki/concepts/execution-feedback-loop.md +46 -0
  160. package/vault/wiki/concepts/feedforward-feedback-harness.md +60 -0
  161. package/vault/wiki/concepts/five-root-cause-metrics-sentrux.md +40 -0
  162. package/vault/wiki/concepts/fork-safe-spec-storage.md +89 -0
  163. package/vault/wiki/concepts/fts5-sandbox.md +19 -0
  164. package/vault/wiki/concepts/fuzzy-edit-matching.md +71 -0
  165. package/vault/wiki/concepts/gemini-cli-architecture.md +104 -0
  166. package/vault/wiki/concepts/generator-evaluator-architecture.md +64 -0
  167. package/vault/wiki/concepts/guardian-agent-pattern.md +67 -0
  168. package/vault/wiki/concepts/harness-configuration-layers.md +89 -0
  169. package/vault/wiki/concepts/harness-control-frameworks.md +155 -0
  170. package/vault/wiki/concepts/harness-engineering-first-principles.md +90 -0
  171. package/vault/wiki/concepts/harness-h-formalism.md +53 -0
  172. package/vault/wiki/concepts/hybrid-code-search.md +61 -0
  173. package/vault/wiki/concepts/inline-post-edit-validation.md +112 -0
  174. package/vault/wiki/concepts/legendary-engineering-patterns-harness.md +110 -0
  175. package/vault/wiki/concepts/lifecycle-hooks.md +94 -0
  176. package/vault/wiki/concepts/mcp-tool-routing.md +102 -0
  177. package/vault/wiki/concepts/memory-system-of-record-vs-ephemeral-cache.md +47 -0
  178. package/vault/wiki/concepts/meta-agent-context-pruning.md +151 -0
  179. package/vault/wiki/concepts/model-adaptive-harness.md +122 -0
  180. package/vault/wiki/concepts/model-routing-agents.md +101 -0
  181. package/vault/wiki/concepts/monorepo-architecture.md +45 -0
  182. package/vault/wiki/concepts/multi-agent-specialization.md +61 -0
  183. package/vault/wiki/concepts/permission-subsystem.md +16 -0
  184. package/vault/wiki/concepts/pi-messenger-analysis.md +243 -0
  185. package/vault/wiki/concepts/pi-vscode-extension-landscape.md +37 -0
  186. package/vault/wiki/concepts/policy-engine-pattern.md +78 -0
  187. package/vault/wiki/concepts/progressive-disclosure-agents.md +53 -0
  188. package/vault/wiki/concepts/progressive-skill-disclosure.md +17 -0
  189. package/vault/wiki/concepts/provider-native-prompting.md +203 -0
  190. package/vault/wiki/concepts/quality-signal-sentrux.md +37 -0
  191. package/vault/wiki/concepts/repo-map-ranking.md +42 -0
  192. package/vault/wiki/concepts/result-monad-error-handling.md +47 -0
  193. package/vault/wiki/concepts/safety-defense-in-depth.md +83 -0
  194. package/vault/wiki/concepts/sandbox-os-enforcement.md +18 -0
  195. package/vault/wiki/concepts/selective-debate-routing.md +70 -0
  196. package/vault/wiki/concepts/self-evolving-harness.md +60 -0
  197. package/vault/wiki/concepts/sentrux-mcp-integration.md +36 -0
  198. package/vault/wiki/concepts/sentrux-rules-engine.md +49 -0
  199. package/vault/wiki/concepts/shell-pattern-compression.md +24 -0
  200. package/vault/wiki/concepts/skill-first-architecture.md +166 -0
  201. package/vault/wiki/concepts/structured-compaction.md +78 -0
  202. package/vault/wiki/concepts/subagent-orchestration.md +17 -0
  203. package/vault/wiki/concepts/subagent-worktree-isolation.md +68 -0
  204. package/vault/wiki/concepts/superpowers-methodology.md +78 -0
  205. package/vault/wiki/concepts/think-in-code.md +73 -0
  206. package/vault/wiki/concepts/ts-execution-layer.md +100 -0
  207. package/vault/wiki/concepts/typescript-strict-mode.md +37 -0
  208. package/vault/wiki/concepts/vcc-conversation-compaction-for-pi.md +51 -0
  209. package/vault/wiki/concepts/verification-drift-detection.md +19 -0
  210. package/vault/wiki/consensus/consensus-records.md +58 -0
  211. package/vault/wiki/decisions/2026-04-30-pi-lean-ctx-native.md +122 -0
  212. package/vault/wiki/decisions/adr-008.md +40 -0
  213. package/vault/wiki/decisions/adr-009.md +46 -0
  214. package/vault/wiki/decisions/adr-010.md +55 -0
  215. package/vault/wiki/decisions/adr-011.md +165 -0
  216. package/vault/wiki/decisions/adr-012.md +102 -0
  217. package/vault/wiki/decisions/adr-013.md +59 -0
  218. package/vault/wiki/decisions/adr-014.md +73 -0
  219. package/vault/wiki/decisions/adr-015.md +81 -0
  220. package/vault/wiki/decisions/adr-016.md +91 -0
  221. package/vault/wiki/decisions/adr-017.md +79 -0
  222. package/vault/wiki/decisions/adr-018.md +100 -0
  223. package/vault/wiki/decisions/adr-019.md +75 -0
  224. package/vault/wiki/decisions/adr-020.md +106 -0
  225. package/vault/wiki/decisions/adr-021.md +86 -0
  226. package/vault/wiki/decisions/adr-022.md +113 -0
  227. package/vault/wiki/decisions/adr-023.md +113 -0
  228. package/vault/wiki/decisions/adr-024.md +73 -0
  229. package/vault/wiki/decisions/adr-025.md +130 -0
  230. package/vault/wiki/decisions/adr-026.md +56 -0
  231. package/vault/wiki/decisions/colocate-wiki.md +34 -0
  232. package/vault/wiki/entities/Anders Hejlsberg.md +29 -0
  233. package/vault/wiki/entities/Anthropic.md +17 -0
  234. package/vault/wiki/entities/Augment Code.md +49 -0
  235. package/vault/wiki/entities/Bjarne Stroustrup.md +26 -0
  236. package/vault/wiki/entities/Bolt.new (StackBlitz).md +39 -0
  237. package/vault/wiki/entities/Boris Cherny.md +11 -0
  238. package/vault/wiki/entities/Claude Code.md +19 -0
  239. package/vault/wiki/entities/Dennis Ritchie.md +26 -0
  240. package/vault/wiki/entities/Emergent Labs.md +32 -0
  241. package/vault/wiki/entities/Google Cloud.md +16 -0
  242. package/vault/wiki/entities/Guido van Rossum.md +28 -0
  243. package/vault/wiki/entities/Ken Thompson.md +28 -0
  244. package/vault/wiki/entities/Lee et al.md +16 -0
  245. package/vault/wiki/entities/Linus Torvalds.md +28 -0
  246. package/vault/wiki/entities/Lovable (company).md +40 -0
  247. package/vault/wiki/entities/Martin Fowler.md +16 -0
  248. package/vault/wiki/entities/Meng et al.md +16 -0
  249. package/vault/wiki/entities/OpenAI.md +16 -0
  250. package/vault/wiki/entities/Rocket.new.md +38 -0
  251. package/vault/wiki/entities/VILA-Lab.md +15 -0
  252. package/vault/wiki/entities/autodev-codebase.md +18 -0
  253. package/vault/wiki/entities/ck-tool.md +59 -0
  254. package/vault/wiki/entities/codesearch.md +18 -0
  255. package/vault/wiki/entities/disler-indydevdan.md +33 -0
  256. package/vault/wiki/entities/gsd-get-shit-done.md +56 -0
  257. package/vault/wiki/entities/javascript-runtimes.md +48 -0
  258. package/vault/wiki/entities/jesse-vincent.md +38 -0
  259. package/vault/wiki/entities/lean-ctx.md +32 -0
  260. package/vault/wiki/entities/opendev.md +41 -0
  261. package/vault/wiki/entities/ops-codegraph-tool.md +18 -0
  262. package/vault/wiki/entities/pi-coding-agent.md +53 -0
  263. package/vault/wiki/entities/sentrux.md +54 -0
  264. package/vault/wiki/entities/vgrep-tool.md +57 -0
  265. package/vault/wiki/entities/vitest.md +41 -0
  266. package/vault/wiki/flows/harness-wiki-pipeline.md +204 -0
  267. package/vault/wiki/hot.md +932 -0
  268. package/vault/wiki/index.md +437 -0
  269. package/vault/wiki/log.md +418 -0
  270. package/vault/wiki/meta/dashboard.md +30 -0
  271. package/vault/wiki/meta/lint-report-2026-04-30.md +86 -0
  272. package/vault/wiki/meta/lint-report-2026-05-02.md +251 -0
  273. package/vault/wiki/meta/overview.canvas +43 -0
  274. package/vault/wiki/modules/adversarial-verification.md +57 -0
  275. package/vault/wiki/modules/automated-observability.md +54 -0
  276. package/vault/wiki/modules/bench.md +20 -0
  277. package/vault/wiki/modules/extensions.md +23 -0
  278. package/vault/wiki/modules/grounding-checkpoints.md +62 -0
  279. package/vault/wiki/modules/harness-implementation-plan.md +345 -0
  280. package/vault/wiki/modules/harness-wiki-skill-mapping.md +135 -0
  281. package/vault/wiki/modules/harness.md +86 -0
  282. package/vault/wiki/modules/persistent-memory.md +85 -0
  283. package/vault/wiki/modules/schema-orchestration.md +68 -0
  284. package/vault/wiki/modules/skills.md +27 -0
  285. package/vault/wiki/modules/spec-hardening.md +58 -0
  286. package/vault/wiki/modules/structured-planning.md +53 -0
  287. package/vault/wiki/modules/think-in-code-enforcement.md +153 -0
  288. package/vault/wiki/modules/wiki-query-interface.md +64 -0
  289. package/vault/wiki/overview.md +51 -0
  290. package/vault/wiki/questions/Research-pi-vs-claude-code-agentic-orchestration-pipeline.md +87 -0
  291. package/vault/wiki/questions/Research-sentrux-dev.md +123 -0
  292. package/vault/wiki/questions/Research-superpowers-skill-for-agentic-coding-agents.md +164 -0
  293. package/vault/wiki/questions/Research: Augment Code Context Engine.md +244 -0
  294. package/vault/wiki/questions/Research: Automating Software Engineering - Lovable, Bolt, Emergent, Rocket.md +112 -0
  295. package/vault/wiki/questions/Research: Claude Code State-of-the-Art Harness Improvements.md +209 -0
  296. package/vault/wiki/questions/Research: Codex State-of-the-Art Harness Improvements.md +99 -0
  297. package/vault/wiki/questions/Research: Engineering Workflows of Legendary Programmers and AI Harness Mapping.md +107 -0
  298. package/vault/wiki/questions/Research: Fallow Codebase Intelligence Harness Integration.md +72 -0
  299. package/vault/wiki/questions/Research: Gemini CLI SOTA Harness Integration.md +166 -0
  300. package/vault/wiki/questions/Research: GitHub Issues as Harness Spec Storage.md +188 -0
  301. package/vault/wiki/questions/Research: Google Antigravity Harness Integration.md +120 -0
  302. package/vault/wiki/questions/Research: Meta-Agent Context Drift Detection.md +236 -0
  303. package/vault/wiki/questions/Research: Model-Adaptive Agent Harness Design.md +95 -0
  304. package/vault/wiki/questions/Research: Model-Specific Prompting Guides.md +165 -0
  305. package/vault/wiki/questions/Research: Prompt Renderer for Multi-Model Agent Harness.md +216 -0
  306. package/vault/wiki/questions/Research: Skill-First Harness Architecture.md +91 -0
  307. package/vault/wiki/questions/Research: TypeScript Best Practices and Codebase Structure.md +88 -0
  308. package/vault/wiki/questions/Research: TypeScript Execution Layer for Agent Tool Calling.md +81 -0
  309. package/vault/wiki/questions/Research: claude-mem over Obsidian for Harness Layer.md +71 -0
  310. 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
  311. package/vault/wiki/questions/Research: context-mode vs lean-ctx.md +72 -0
  312. package/vault/wiki/questions/Research: cursor.sh Harness Innovations.md +92 -0
  313. package/vault/wiki/questions/Research: executor.sh Harness Integration.md +170 -0
  314. package/vault/wiki/questions/Research: how GSD fits into our coding harness setup.md +97 -0
  315. 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
  316. package/vault/wiki/questions/Research: pi-vcc.md +113 -0
  317. package/vault/wiki/questions/Research: semantic code search tools.md +69 -0
  318. package/vault/wiki/questions/Research: vcc extension for pi coding agent.md +73 -0
  319. package/vault/wiki/questions/how-to-enable-semantic-code-search-now.md +111 -0
  320. package/vault/wiki/questions/mvp-implementation-blueprint.md +552 -0
  321. package/vault/wiki/questions/research-agent-first-codebase-exploration.md +199 -0
  322. package/vault/wiki/questions/research-agentic-coding-harness-latest-papers.md +142 -0
  323. package/vault/wiki/questions/research-gitingest-gitreverse-integration.md +100 -0
  324. package/vault/wiki/questions/research-wozcode-token-reduction.md +67 -0
  325. package/vault/wiki/questions/resolved-context-pruning-inplace-vs-restart.md +95 -0
  326. package/vault/wiki/questions/resolved-context-window-economics.md +167 -0
  327. package/vault/wiki/questions/resolved-imad-debate-gating-transfer.md +126 -0
  328. package/vault/wiki/questions/resolved-mcp-tool-preference.md +112 -0
  329. package/vault/wiki/questions/resolved-small-model-meta-agents.md +107 -0
  330. package/vault/wiki/questions/resolved-treesitter-dynamic-languages.md +95 -0
  331. package/vault/wiki/sources/Auggie Context MCP Server.md +63 -0
  332. package/vault/wiki/sources/Augment Code Codacy AI Giants.md +61 -0
  333. package/vault/wiki/sources/Augment Code MCP SiliconAngle.md +49 -0
  334. package/vault/wiki/sources/Augment Code WorkOS ERC 2025.md +55 -0
  335. package/vault/wiki/sources/Augment Context Engine Official.md +71 -0
  336. package/vault/wiki/sources/Augment SWE-bench Agent GitHub.md +74 -0
  337. package/vault/wiki/sources/Augment SWE-bench Pro Blog.md +58 -0
  338. package/vault/wiki/sources/Source: AgentBus Jinja2 Prompt Pipelines.md +75 -0
  339. package/vault/wiki/sources/Source: Arxiv /342/200/224 Don't Break the Cache.md" +85 -0
  340. package/vault/wiki/sources/Source: Augment - Harness Engineering for AI Coding Agents.md +58 -0
  341. package/vault/wiki/sources/Source: Blake Crosley Agent Architecture Guide.md +100 -0
  342. package/vault/wiki/sources/Source: Bolt.new Architecture & Case Study.md +75 -0
  343. package/vault/wiki/sources/Source: Build-Time Prompt Compilation Architecture.md +107 -0
  344. package/vault/wiki/sources/Source: Claude API Agent Skills Overview.md +70 -0
  345. package/vault/wiki/sources/Source: Gemini CLI Changelogs.md +88 -0
  346. package/vault/wiki/sources/Source: Google Blog - Gemini CLI Announcement.md +57 -0
  347. package/vault/wiki/sources/Source: Google Gemini CLI Architecture Docs.md +53 -0
  348. package/vault/wiki/sources/Source: LangChain - Anatomy of Agent Harness.md +65 -0
  349. package/vault/wiki/sources/Source: Lovable Architecture & Clone Analysis.md +83 -0
  350. package/vault/wiki/sources/Source: Martin Fowler - Harness Engineering.md +70 -0
  351. package/vault/wiki/sources/Source: OpenAI Harness Engineering Five Principles.md +58 -0
  352. package/vault/wiki/sources/Source: OpenAI Harness Engineering /342/200/224 0 Lines of Human Code.md" +101 -0
  353. package/vault/wiki/sources/Source: OpenDev /342/200/224 Building AI Coding Agents for the Terminal.md" +100 -0
  354. package/vault/wiki/sources/Source: Render AI Coding Agents Benchmark 2025.md +53 -0
  355. package/vault/wiki/sources/Source: Rocket.new /342/200/224 Vibe Solutioning Platform.md" +70 -0
  356. package/vault/wiki/sources/Source: SwirlAI Agent Skills Progressive Disclosure.md +71 -0
  357. package/vault/wiki/sources/Source: TianPan Prompt Caching Architecture.md +89 -0
  358. package/vault/wiki/sources/Source: Vercel Labs agent-browser.md +155 -0
  359. package/vault/wiki/sources/Source: browser-harness CDP Harness.md +126 -0
  360. package/vault/wiki/sources/agent-drift-academic-paper.md +79 -0
  361. package/vault/wiki/sources/aider-repomap-tree-sitter.md +42 -0
  362. package/vault/wiki/sources/anthropic-compaction-api.md +58 -0
  363. package/vault/wiki/sources/anthropic-effective-harnesses.md +42 -0
  364. package/vault/wiki/sources/anthropic-prompt-best-practices.md +100 -0
  365. package/vault/wiki/sources/anthropic2026-harness-design.md +63 -0
  366. package/vault/wiki/sources/barrel-files-tkdodo.md +38 -0
  367. package/vault/wiki/sources/birth-of-unix-kernighan-interview.md +57 -0
  368. package/vault/wiki/sources/bockeler2026-harness-engineering.md +69 -0
  369. package/vault/wiki/sources/cast-code-chunking-paper.md +50 -0
  370. package/vault/wiki/sources/ck-semantic-search.md +78 -0
  371. package/vault/wiki/sources/claude-code-architecture-karaxai-2026.md +71 -0
  372. package/vault/wiki/sources/claude-code-architecture-qubytes-2026.md +50 -0
  373. package/vault/wiki/sources/claude-code-architecture-vila-lab-2026.md +64 -0
  374. package/vault/wiki/sources/claude-code-security-architecture-penligent-2026.md +70 -0
  375. package/vault/wiki/sources/claude-context-editing-docs.md +13 -0
  376. package/vault/wiki/sources/cloudflare-codemode.md +63 -0
  377. package/vault/wiki/sources/code-chunk-library-supermemory.md +63 -0
  378. package/vault/wiki/sources/codeact-apple-2024.md +62 -0
  379. package/vault/wiki/sources/codex-dsc-rfc-8573.md +41 -0
  380. package/vault/wiki/sources/codex-open-source-agent-2026.md +110 -0
  381. package/vault/wiki/sources/coir-code-retrieval-benchmark.md +51 -0
  382. package/vault/wiki/sources/colinmcnamara-context-optimization-codemode.md +48 -0
  383. package/vault/wiki/sources/context-folding-paper.md +61 -0
  384. package/vault/wiki/sources/context-mode-website.md +63 -0
  385. package/vault/wiki/sources/cursor-agent-best-practices-2026.md +62 -0
  386. package/vault/wiki/sources/cursor-fork-29b-2025.md +50 -0
  387. package/vault/wiki/sources/cursor-harness-april-2026.md +76 -0
  388. package/vault/wiki/sources/cursor-instant-apply-2024.md +45 -0
  389. package/vault/wiki/sources/cursor-shadow-workspace-2024.md +52 -0
  390. package/vault/wiki/sources/cursor-shipped-coding-agent-2026.md +53 -0
  391. package/vault/wiki/sources/cursor-vs-antigravity-2026.md +51 -0
  392. package/vault/wiki/sources/disler-pi-vs-claude-code.md +69 -0
  393. package/vault/wiki/sources/distill-deterministic-context-compression.md +53 -0
  394. package/vault/wiki/sources/embedding-models-benchmark-supermemory-2025.md +48 -0
  395. package/vault/wiki/sources/executor-rhyssullivan.md +122 -0
  396. package/vault/wiki/sources/fallow-rs-codebase-intelligence.md +125 -0
  397. package/vault/wiki/sources/fan2025-imad.md +60 -0
  398. package/vault/wiki/sources/forgecode-gpt5-agent-improvements.md +63 -0
  399. package/vault/wiki/sources/gemini-3-prompting-guide.md +78 -0
  400. package/vault/wiki/sources/gh-cli-sub-issue-rfc.md +50 -0
  401. package/vault/wiki/sources/gh-sub-issue-extension.md +72 -0
  402. package/vault/wiki/sources/github-fork-issues-discussion.md +44 -0
  403. package/vault/wiki/sources/github-issue-dependencies-docs.md +49 -0
  404. package/vault/wiki/sources/github-sub-issues-docs.md +51 -0
  405. package/vault/wiki/sources/gitingest.md +91 -0
  406. package/vault/wiki/sources/gitreverse.md +63 -0
  407. package/vault/wiki/sources/google-antigravity-official-blog.md +47 -0
  408. package/vault/wiki/sources/google-antigravity-wikipedia.md +53 -0
  409. package/vault/wiki/sources/gsd-codecentric-deep-dive.md +57 -0
  410. package/vault/wiki/sources/gsd-github-repo.md +51 -0
  411. package/vault/wiki/sources/gsd-hn-discussion.md +59 -0
  412. package/vault/wiki/sources/guido-python-design-philosophy.md +56 -0
  413. package/vault/wiki/sources/hejlsberg-7-learnings.md +48 -0
  414. package/vault/wiki/sources/ironclaw-drift-monitor.md +80 -0
  415. package/vault/wiki/sources/langsight-loop-detection.md +80 -0
  416. package/vault/wiki/sources/leanctx-website.md +69 -0
  417. package/vault/wiki/sources/lee2026-meta-harness.md +59 -0
  418. package/vault/wiki/sources/linux-kernel-coding-workflow.md +50 -0
  419. package/vault/wiki/sources/lou2026-autoharness.md +53 -0
  420. package/vault/wiki/sources/martin-fowler-harness-engineering.md +73 -0
  421. package/vault/wiki/sources/mcp-architecture-docs.md +13 -0
  422. package/vault/wiki/sources/meng2026-agent-harness-survey.md +79 -0
  423. package/vault/wiki/sources/mindstudio-four-agent-types.md +68 -0
  424. package/vault/wiki/sources/ms-chat-history-management.md +13 -0
  425. package/vault/wiki/sources/openai-prompt-guidance.md +104 -0
  426. package/vault/wiki/sources/openclaw-session-pruning.md +13 -0
  427. package/vault/wiki/sources/opencode-dcp.md +13 -0
  428. package/vault/wiki/sources/opendev-arxiv-2603.05344v1.md +79 -0
  429. package/vault/wiki/sources/openhands-platform.md +39 -0
  430. package/vault/wiki/sources/oss-guide-codebase-exploration.md +53 -0
  431. package/vault/wiki/sources/pi-compaction-extensions-ecosystem.md +102 -0
  432. package/vault/wiki/sources/pi-context-prune-github-repo.md +38 -0
  433. package/vault/wiki/sources/pi-mono-compaction-docs.md +38 -0
  434. package/vault/wiki/sources/pi-omni-compact-github-repo.md +50 -0
  435. package/vault/wiki/sources/pi-rtk-optimizer-github-repo.md +45 -0
  436. package/vault/wiki/sources/pi-vcc-github-repo.md +69 -0
  437. package/vault/wiki/sources/pi-vscode-marketplace.md +41 -0
  438. package/vault/wiki/sources/pi-vscode-model-provider-marketplace.md +39 -0
  439. package/vault/wiki/sources/py-tree-sitter.md +13 -0
  440. package/vault/wiki/sources/sentrux-dev-landing.md +40 -0
  441. package/vault/wiki/sources/sentrux-docs-pro-architecture.md +75 -0
  442. package/vault/wiki/sources/sentrux-docs-quality-signal.md +46 -0
  443. package/vault/wiki/sources/sentrux-docs-root-cause-metrics.md +57 -0
  444. package/vault/wiki/sources/sentrux-docs-rules-engine.md +58 -0
  445. package/vault/wiki/sources/sentrux-github-repo.md +56 -0
  446. package/vault/wiki/sources/superpowers-github-repo.md +56 -0
  447. package/vault/wiki/sources/superpowers-release-blog.md +54 -0
  448. package/vault/wiki/sources/superpowers-termdock-analysis.md +45 -0
  449. package/vault/wiki/sources/swe-agent-aci.md +42 -0
  450. package/vault/wiki/sources/swe-bench.md +45 -0
  451. package/vault/wiki/sources/swe-pruner-context-pruning.md +13 -0
  452. package/vault/wiki/sources/think-in-code-blog.md +48 -0
  453. package/vault/wiki/sources/tree-sitter-docs.md +13 -0
  454. package/vault/wiki/sources/ts-best-practices-2025-devto.md +42 -0
  455. package/vault/wiki/sources/ts-folder-structure-mingyang.md +58 -0
  456. package/vault/wiki/sources/ts-monorepo-koerselman.md +44 -0
  457. package/vault/wiki/sources/ts-result-error-handling-kkalamarski.md +52 -0
  458. package/vault/wiki/sources/ts-runtimes-comparison-betterstack.md +42 -0
  459. package/vault/wiki/sources/ts-strict-mode-rishikc.md +43 -0
  460. package/vault/wiki/sources/unix-philosophy.md +48 -0
  461. package/vault/wiki/sources/vectara-chunking-vs-embedding-naacl2025.md +39 -0
  462. package/vault/wiki/sources/vectara-guardian-agents.md +79 -0
  463. package/vault/wiki/sources/vgrep-semantic-search.md +76 -0
  464. package/vault/wiki/sources/vitest-official.md +41 -0
  465. package/vault/wiki/sources/vscode-pi-community-extension.md +40 -0
  466. package/vault/wiki/sources/wozcode.md +79 -0
  467. package/.agents/skills/compress/SKILL.md +0 -111
  468. package/.agents/skills/compress/scripts/__init__.py +0 -9
  469. package/.agents/skills/compress/scripts/__main__.py +0 -3
  470. package/.agents/skills/compress/scripts/benchmark.py +0 -78
  471. package/.agents/skills/compress/scripts/cli.py +0 -73
  472. package/.agents/skills/compress/scripts/compress.py +0 -227
  473. package/.agents/skills/compress/scripts/detect.py +0 -121
  474. package/.agents/skills/compress/scripts/validate.py +0 -189
  475. package/.agents/skills/emil-design-eng/SKILL.md +0 -679
  476. package/.agents/skills/lean-ctx/SKILL.md +0 -149
  477. package/.agents/skills/lean-ctx/scripts/install.sh +0 -95
  478. package/.agents/skills/scrapling-official/LICENSE.txt +0 -28
  479. package/.agents/skills/scrapling-official/SKILL.md +0 -390
  480. package/.agents/skills/scrapling-official/examples/01_fetcher_session.py +0 -26
  481. package/.agents/skills/scrapling-official/examples/02_dynamic_session.py +0 -26
  482. package/.agents/skills/scrapling-official/examples/03_stealthy_session.py +0 -26
  483. package/.agents/skills/scrapling-official/examples/04_spider.py +0 -58
  484. package/.agents/skills/scrapling-official/examples/README.md +0 -45
  485. package/.agents/skills/scrapling-official/references/fetching/choosing.md +0 -78
  486. package/.agents/skills/scrapling-official/references/fetching/dynamic.md +0 -352
  487. package/.agents/skills/scrapling-official/references/fetching/static.md +0 -432
  488. package/.agents/skills/scrapling-official/references/fetching/stealthy.md +0 -255
  489. package/.agents/skills/scrapling-official/references/mcp-server.md +0 -214
  490. package/.agents/skills/scrapling-official/references/migrating_from_beautifulsoup.md +0 -86
  491. package/.agents/skills/scrapling-official/references/parsing/adaptive.md +0 -212
  492. package/.agents/skills/scrapling-official/references/parsing/main_classes.md +0 -586
  493. package/.agents/skills/scrapling-official/references/parsing/selection.md +0 -494
  494. package/.agents/skills/scrapling-official/references/spiders/advanced.md +0 -344
  495. package/.agents/skills/scrapling-official/references/spiders/architecture.md +0 -94
  496. package/.agents/skills/scrapling-official/references/spiders/getting-started.md +0 -164
  497. package/.agents/skills/scrapling-official/references/spiders/proxy-blocking.md +0 -235
  498. package/.agents/skills/scrapling-official/references/spiders/requests-responses.md +0 -196
  499. package/.agents/skills/scrapling-official/references/spiders/sessions.md +0 -205
  500. package/PLAN.md +0 -11
  501. package/extensions/lean-ctx-enforce.ts +0 -166
  502. package/skills-lock.json +0 -35
  503. package/wiki/README.md +0 -19
  504. package/wiki/decisions/0001-establish-project-wiki-and-decision-record-format.md +0 -25
  505. package/wiki/decisions/0002-add-project-banner-to-readme.md +0 -26
  506. package/wiki/decisions/0003-remove-redundant-readme-title-heading.md +0 -26
  507. package/wiki/decisions/0004-publish-package-to-npm-as-ultimate-pi.md +0 -26
  508. package/wiki/decisions/0005-automate-npm-publish-with-github-actions.md +0 -27
  509. package/wiki/decisions/0006-switch-to-npm-trusted-publishing.md +0 -26
  510. package/wiki/decisions/0007-use-absolute-banner-url-for-npm-readme-rendering.md +0 -26
  511. package/wiki/decisions/0008-rename-banner-asset-for-cache-busting.md +0 -26
  512. package/wiki/decisions/0009-force-oidc-path-by-clearing-node-auth-token-in-publish-step.md +0 -25
  513. package/wiki/decisions/0010-simplify-setup-node-for-npm-trusted-publishing.md +0 -26
  514. package/wiki/decisions/0011-add-noop-workflow-change-to-force-fresh-publish-run.md +0 -25
  515. package/wiki/decisions/0012-align-workflow-runtime-with-npm-trusted-publishing-requirements.md +0 -26
  516. package/wiki/decisions/0013-add-package-repository-url-for-provenance-validation.md +0 -25
@@ -0,0 +1,17 @@
1
+ ---
2
+ type: concept
3
+ status: stub
4
+ created: 2026-05-02
5
+ updated: 2026-05-02
6
+ tags: [concept, consensus, flow]
7
+ ---
8
+
9
+ # Consensus Debate Flow
10
+
11
+ The flow diagram / process for multi-agent consensus debates in the harness pipeline. Defines when debate is triggered (selective routing via iMAD), how rounds proceed, and how verdicts are filed.
12
+
13
+ ## References
14
+
15
+ - [[consensus-debate]]
16
+ - [[selective-debate-routing]]
17
+ - [[adr-011]]
@@ -0,0 +1,206 @@
1
+ ---
2
+ type: concept
3
+ title: "Consensus Debate"
4
+ created: 2026-04-30
5
+ updated: 2026-04-30
6
+ status: active
7
+ tags: [harness, consensus, debate, multi-agent, dialectic, protocol]
8
+ related:
9
+ - "[[adr-011]]"
10
+ - "[[agentic-harness]]"
11
+ - "[[adversarial-verification]]"
12
+ - "[[pi-messenger-analysis]]"
13
+ ---
14
+
15
+ # Consensus Debate
16
+
17
+ A structured multi-agent debate protocol for the harness pipeline. Replaces single-pass review with genuine back-and-forth argument — the kind that produces the best human software decisions.
18
+
19
+ ## First Principles
20
+
21
+ ### Why arguing works for humans
22
+
23
+ The dialectical process (thesis → antithesis → synthesis) is the engine of reasoning:
24
+
25
+ 1. **Position**: Alice proposes X
26
+ 2. **Counter**: Bob identifies flaw in X
27
+ 3. **Rebuttal**: Alice refines X → X'
28
+ 4. **Counter**: Bob finds deeper flaw in X'
29
+ 5. **Rebuttal**: Alice refines X' → X''
30
+ 6. **Convergence**: Bob cannot find further flaws. Consensus.
31
+
32
+ Each round forces deeper reasoning. The first counter is often shallow — it's the REBUTTAL that reveals the real insight, because defending a position requires understanding it more deeply than attacking it.
33
+
34
+ ### Why this applies even more to agents
35
+
36
+ Agents lack intuition. They cannot "sense" something is wrong. They cannot have a "gut feeling" that a design is fragile.
37
+
38
+ Multi-round argument is a **substitute for intuition**:
39
+ - Round 1: Surface-level objections (syntax, naming, obvious gaps)
40
+ - Round 2: Structural objections (dependency cycles, coupling, missing edge cases)
41
+ - Round 3: Philosophical objections (wrong abstraction, incorrect model of the problem)
42
+
43
+ Without rounds 2-3, agents miss everything below the surface.
44
+
45
+ ### Why single-pass review is insufficient
46
+
47
+ L4 (Adversarial Verification) currently does ONE attack pass. The critic finds what it can in one shot, and that's it. But the critic's first pass is limited by its own blind spots — it can only attack what it sees immediately. A defender's rebuttal ("no, because X") often REVEALS a deeper flaw the critic didn't consider ("wait, if X is your assumption, then what about Y?"). This dynamic cannot happen in a single pass.
48
+
49
+ ## Protocol Design
50
+
51
+ ### DebateSession
52
+
53
+ ```
54
+ DebateSession {
55
+ topic: string // What is being debated
56
+ scope: LayerScope // Which harness layer invoked this
57
+ participants: Agent[] // 2+ agents with defined roles
58
+ budget: ConsensusBudget // Termination conditions
59
+ rounds: Round[] // Accumulated argument rounds
60
+ verdict: Verdict | null // Final outcome
61
+ }
62
+ ```
63
+
64
+ ### ConsensusBudget
65
+
66
+ ```
67
+ ConsensusBudget {
68
+ maxRounds: number // Hard cap (default: 3-4 depending on layer)
69
+ maxTokensPerRound: number // Per-agent token limit per round
70
+ maxWallClockMs: number // Timeout (default: 120s)
71
+ convergenceRounds: number // Rounds without position change to declare convergence (default: 1)
72
+ }
73
+ ```
74
+
75
+ ### Round Structure
76
+
77
+ Each round has two phases:
78
+
79
+ ```
80
+ Round {
81
+ number: number
82
+ attacker: Turn // Critic's argument
83
+ defender: Turn // Proposer's rebuttal
84
+ }
85
+
86
+ Turn {
87
+ agent: string // Agent name
88
+ role: "attacker" | "defender"
89
+ position: string // Succinct: what this agent asserts
90
+ counter_to: string // Which specific claim is being countered
91
+ evidence_refs: string[] // References to spec, code, wiki pages
92
+ confidence_change: number // Did this turn shift confidence? (-1, 0, +1)
93
+ }
94
+ ```
95
+
96
+ ### Verdict Semantics
97
+
98
+ | Verdict | Meaning | Harness action |
99
+ |---------|---------|---------------|
100
+ | `CONSENSUS_REACHED` | Both sides agree on final position | File winning consensus to wiki as permanent alignment record, then proceed to next layer |
101
+ | `DEADLOCK` | Positions unchanged after `convergenceRounds` rounds | File both positions + deadlock analysis to wiki. Escalate to human. |
102
+ | `BUDGET_EXHAUSTED` | Max rounds or tokens hit without convergence | File last positions + exhaustion analysis to wiki. Use last agreed position if any; otherwise escalate |
103
+ | `TIMEOUT` | Wall-clock time exceeded | File partial transcript to wiki. Escalate |
104
+
105
+ ### Convergence Detection
106
+
107
+ Positions are hashed (deterministic). If the defender's position hash is identical for `convergenceRounds` consecutive rounds, and the attacker has presented new counters each time, but the position survived, we have convergence.
108
+
109
+ Alternatively: if the attacker explicitly signals "no further objections" by setting `confidence_change: 0` and an empty `counter_to`, that's consensus.
110
+
111
+ ## Integration Points
112
+
113
+ ### L1: Spec Debate
114
+
115
+ **Purpose**: Argue about whether a spec is sufficiently hardened.
116
+
117
+ **Participants**: Spec proposer (defender) + Spec critic (attacker)
118
+
119
+ **Example debate**:
120
+
121
+ | Round | Attacker (Critic) | Defender (Proposer) |
122
+ |-------|-------------------|---------------------|
123
+ | 1 | "You didn't specify error behavior for network timeout" | "Added: timeout → retry 3x with exponential backoff, then fail with TIMEOUT_ERROR" |
124
+ | 2 | "What about partial writes during retry? Is the operation idempotent?" | "Spec now requires idempotency key. Each retry reuses the same key. Server deduplicates." |
125
+ | 3 | "No further objections. Spec is complete." | — |
126
+
127
+ **Verdict**: CONSENSUS_REACHED. Winning consensus filed to `wiki/consensus/spec-[slug].md`. Spec proceeds to L2.
128
+
129
+ **Budget**: 3 rounds, ~2K tokens/round.
130
+
131
+ ### L2: Plan Debate
132
+
133
+ **Purpose**: Argue about plan structure, dependencies, and feasibility.
134
+
135
+ **Participants**: Planner (defender) + Plan critic (attacker)
136
+
137
+ **Example debate**:
138
+
139
+ | Round | Attacker | Defender |
140
+ |-------|----------|----------|
141
+ | 1 | "Task 3 depends on Task 1 and Task 2 — but Task 2 also reads the output of Task 3. Circular dependency." | "Task 2 only reads Task 3's OUTPUT SCHEMA, not its data. Dependency is on the interface, not the implementation. Restructured: Task 2 depends on the schema definition step, not Task 3." |
142
+ | 2 | "Task 4 (DB migration) has no rollback plan. If migration fails after Task 5 (data transform) runs, we're in an inconsistent state." | "Added Task 4b: migration verification + rollback trigger. Task 4 and 4b form an atomic pair. Task 5 only runs after 4b passes." |
143
+ | 3 | "No further objections. Plan is executable." | — |
144
+
145
+ **Verdict**: CONSENSUS_REACHED. Winning consensus filed to `wiki/consensus/plan-[slug].md`. Plan proceeds to L3.
146
+
147
+ **Budget**: 3 rounds, ~3K tokens/round.
148
+
149
+ ### L4: Multi-Round Adversarial Attack
150
+
151
+ **Purpose**: Genuine debate about implementation correctness and spec compliance.
152
+
153
+ **Participants**: Implementer (defender) + Critic (attacker)
154
+
155
+ This replaces the current single-pass L4 critic. Instead of one attack, the critic gets multiple rounds to find increasingly subtle flaws.
156
+
157
+ **Budget**: 4 rounds, ~2K tokens/round. Winning consensus filed to `wiki/consensus/verify-[slug].md`.
158
+
159
+ ## Token Budget Impact
160
+
161
+ | Activity | Current | With Consensus | Delta |
162
+ |----------|---------|---------------|-------|
163
+ | L1 Spec Hardening | ~2,000 | ~6,000 (3 rounds) | +4,000 |
164
+ | L2 Planning + review | ~5,000 | ~10,000 (3 rounds) | +5,000 |
165
+ | L4 Adversarial | ~4,000 | ~8,000 (4 rounds) | +4,000 |
166
+ | **Total added per subtask** | — | **~13,000** | — |
167
+
168
+ New total per subtask: **~30,500-33,500 tokens** (up from ~17,500).
169
+
170
+ **Is this worth it?** Catching a spec flaw at L1 saves ~17,500 tokens of L2-L8 work. Catching a plan flaw at L2 saves ~15,500 tokens of L3-L8 work. The debate cost pays for itself on the first flaw caught.
171
+
172
+ ## Transport Layer: pi-messenger File-Based Messaging
173
+
174
+ See [[pi-messenger-analysis]] for full analysis. Summary:
175
+
176
+ - **Adopted**: Agent registry, per-agent inboxes, `fs.watch` delivery, JSON message format, atomic file writes, stale cleanup
177
+ - **Stripped**: Chat UI, status bar, activity feed, emoji, crew orchestration, swarm claims
178
+ - **Added**: Consensus protocol layer (DebateSession, ConsensusBudget, convergence detection, verdict generation)
179
+
180
+ ## Files
181
+
182
+ - `lib/harness-messenger.ts` — pi-messenger transport integration (registry, inbox, watcher)
183
+ - `lib/harness-debate.ts` — Consensus protocol (DebateSession, ConsensusBudget, convergence, verdict)
184
+ - `lib/harness-schemas.ts` — Extended with debate message schemas
185
+ - `extensions/harness-debate.ts` — Extension hooks: debate → wiki transcript
186
+ - `extensions/harness-spec.ts` — Updated: L1 spec debate integration
187
+ - `extensions/harness-planner.ts` — Updated: L2 plan debate integration
188
+ - `extensions/harness-critics.ts` — Updated: L4 multi-round debate integration
189
+
190
+ ## Wiki Filing Rule (Mandatory)
191
+
192
+ **Winning consensus from any agent debate MUST be filed in the project wiki.** This is not optional. The purpose is permanent agent alignment: future agents query the wiki before making decisions and find the resolved consensus, preventing re-litigation of settled debates.
193
+
194
+ - **CONSENSUS_REACHED** → File final position + key rounds + evidence references to `wiki/consensus/`
195
+ - **DEADLOCK** → File both positions + deadlock analysis (what blocked convergence)
196
+ - **BUDGET_EXHAUSTED / TIMEOUT** → File partial transcript + exhaustion analysis
197
+
198
+ Filing is enforced by L7 schema orchestration: no layer transition after a debate until the wiki write is confirmed. [[adr-010]] already mandates write-after for every state transition — consensus verdicts are state transitions and fall under this contract.
199
+
200
+ ## Open Questions
201
+
202
+ - Should debates use the same model for both sides, or different models for genuine adversarial diversity?
203
+ - What is the right default `convergenceRounds`? (1 may be too aggressive, 2 may waste tokens)
204
+ - Should L3 (Grounding Checkpoints) also have a debate mode? (Current thinking: no — L3 is about execution fidelity, not design decisions)
205
+ - Can we reuse a single critic agent across multiple debates, or should each debate spawn fresh critics?
206
+ - What is the optimal wiki page structure for consensus records? (candidate: `wiki/consensus/[topic-slug].md` with frontmatter linking to the debate layer, participants, and verdict)
@@ -0,0 +1,166 @@
1
+ ---
2
+ type: concept
3
+ title: "Content-Addressed Spec Identity"
4
+ status: developing
5
+ created: 2026-04-30
6
+ updated: 2026-04-30
7
+ tags:
8
+ - harness
9
+ - spec-storage
10
+ - content-addressing
11
+ - fingerprinting
12
+ - fork-safety
13
+ - reconciliation
14
+ related:
15
+ - "[[Research: GitHub Issues as Harness Spec Storage]]"
16
+ - "[[fork-safe-spec-storage]]"
17
+ - "[[spec-hardening]]"
18
+ sources:
19
+ - "[[Research: GitHub Issues as Harness Spec Storage]]"
20
+
21
+ ---# Content-Addressed Spec Identity
22
+
23
+ How ultimate-pi harnesses resolve specs by content fingerprint, not issue number. Solves the fork-merge divergence problem: fork's issue #5 and upstream's issue #5 are different specs found by different hashes.
24
+
25
+ ## The Problem
26
+
27
+ GitHub Issues are identified by repo-scoped integers. When specs live in issues:
28
+
29
+ | Scenario | Fork Issue | Upstream Issue | Conflict? |
30
+ |----------|-----------|----------------|-----------|
31
+ | Normal | `forker/proj#1` = "Add OAuth" | `owner/proj#1` = "Initial setup" | No — different repos |
32
+ | After fork merge | `forker/proj#1` = "Add OAuth" transferred to upstream | `owner/proj#2` = "Fix rate limiter" | No — transfer assigns new number |
33
+ | Stale cache | Local cache still says `forker/proj#1` | Issue doesn't exist in fork anymore, wrong number in upstream | **YES** — harness looks up wrong repo/number |
34
+
35
+ Issue numbers are repo-scoped, time-ordered identifiers. They are NOT stable identities across repo boundaries.
36
+
37
+ ## The Solution: Content-Hash Identity
38
+
39
+ Every HardenedSpec carries a deterministic content fingerprint that survives repo migration.
40
+
41
+ ### Fingerprint Generation
42
+
43
+ ```
44
+ spec_fingerprint = SHA256(
45
+ normalize(intent_summary) +
46
+ normalize(json.dumps(success_criteria, sort_keys=True)) +
47
+ normalize(definition_of_done)
48
+ )
49
+ ```
50
+
51
+ `normalize()` strips whitespace, lowercases, removes punctuation. This makes the fingerprint tolerant of formatting changes while sensitive to semantic changes.
52
+
53
+ ### Embedding Points
54
+
55
+ | Location | Format | Purpose |
56
+ |----------|--------|---------|
57
+ | Issue body (HTML comment) | `<!-- spec-fp: a1b2c3d4e5f6... -->` | Primary: searchable across repos |
58
+ | Issue title prefix | `[spec:a1b2c3d4] Implement OAuth2 login` | Visible: human-readable first-8 prefix |
59
+ | Local cache JSON | `"spec_fingerprint": "a1b2c3d4e5f6..."` | Fast: no API call needed for lookup |
60
+ | Wiki page (ADR, spec page) | `spec_fingerprint: a1b2c3d4e5f6` | Cross-reference: wiki-to-issue linkage |
61
+
62
+ ### Resolution Algorithm
63
+
64
+ When the harness needs spec `X`:
65
+
66
+ ```
67
+ 1. Check local cache: .pi/harness/specs/<id>.json — read spec_fingerprint
68
+ 2. Check cached issue URL: if github_issue_url exists and is reachable → use it
69
+ 3. If cached URL is stale (404, wrong repo, wrong content):
70
+ a. Search by fingerprint: gh search issues "spec-fp:a1b2c3d4" --label harness-spec
71
+ b. If found in current repo: update cache, use it
72
+ c. If found in different repo: warn, offer to transfer
73
+ d. If not found anywhere: spec is orphaned — recreate from local cache body
74
+ 4. Always verify: read issue body, extract fingerprint, compare with expected
75
+ ```
76
+
77
+ ### Why This Works
78
+
79
+ - **Content-addressed, not location-addressed**: Like Git's object model. The spec's identity is its content, not where it lives.
80
+ - **Repo-agnostic**: The same spec hash resolves to the correct issue in any repo.
81
+ - **Transfer-safe**: When an issue is transferred via `gh issue transfer`, only its number changes. The body (and fingerprint within it) stays the same.
82
+ - **Deduplication**: Two issues with the same fingerprint ARE the same spec. Harness can detect and merge duplicates.
83
+ - **Searchable**: `gh search issues "spec-fp:abc123"` works across all repos the user has access to.
84
+
85
+ ## The Transfer-on-Merge Pattern
86
+
87
+ When code merges from fork to upstream, specs can follow via GitHub's native issue transfer API.
88
+
89
+ ### `ultimate-pi harness migrate` Command
90
+
91
+ ```
92
+ ultimate-pi harness migrate [--dry-run]
93
+ ├─ Detect repo change: current repo ≠ .pi/harness/config.json cached repo
94
+ ├─ List fork specs: gh issue list --repo <old-repo> --label harness-spec --json number,title,body
95
+ ├─ For each spec:
96
+ │ ├─ Search upstream: gh search issues "spec-fp:<hash>" --repo <new-repo>
97
+ │ ├─ If found in upstream → skip (already migrated)
98
+ │ ├─ If not found:
99
+ │ │ ├─ Transfer: gh issue transfer <issue> <new-repo>
100
+ │ │ ├─ Relabel: gh issue edit <new-number> --add-label harness-spec,layer-N,status:*
101
+ │ │ └─ Note: labels don't survive transfer — must reapply
102
+ │ └─ Update local cache: rewrite github_issue_url → new repo
103
+ ├─ Update config: .pi/harness/config.json → new repo
104
+ └─ Report: N transferred, M already-present, K orphaned
105
+ ```
106
+
107
+ ### Transfer API Constraints
108
+
109
+ | Constraint | Impact |
110
+ |------------|--------|
111
+ | Requires write access to BOTH repos | Fork must have push access to upstream (true after PR merged) |
112
+ | Labels are NOT transferred | Harness must reapply labels post-transfer |
113
+ | Assignees, milestones ARE transferred | Good |
114
+ | Comments ARE transferred | Execution audit trail preserved |
115
+ | Sub-issues are NOT transferred | Must transfer children individually or recreate hierarchy |
116
+ | Issue number changes | Upstream assigns next available number |
117
+
118
+ ### Idempotency Guarantee
119
+
120
+ `harness migrate` is idempotent because it searches by fingerprint before transferring. If a spec already exists in upstream (from a previous migration run), it's skipped. Running migrate twice produces the same result.
121
+
122
+ ## Edge Cases
123
+
124
+ ### Orphaned Specs (No Fingerprint Match)
125
+
126
+ If a spec exists in the fork but no matching fingerprint is found anywhere:
127
+ - **Cause**: Issue body was edited and fingerprint comment removed, or spec was deleted
128
+ - **Resolution**: Harness recreates the spec in upstream from the local cache JSON body
129
+ - **Warning**: Comment history is lost (original was in fork issue, now inaccessible)
130
+
131
+ ### Duplicate Specs (Same Fingerprint, Different Issues)
132
+
133
+ If two issues in the same repo have the same fingerprint:
134
+ - **Detection**: `gh search issues "spec-fp:<hash>" --repo <repo>` returns multiple results
135
+ - **Resolution**: Harness keeps the newer one (most recently updated), closes the older as duplicate with comment "Merged into #<newer> — same spec fingerprint"
136
+ - **Rationale**: The newer issue likely has richer comment history
137
+
138
+ ### Cross-Fork Specs (Multiple Forks, Same Spec)
139
+
140
+ If Forker-A and Forker-B both create "Add OAuth2" with different approaches:
141
+ - **Their fingerprints WILL differ** — the `success_criteria` and `definition_of_done` are different
142
+ - **No false collision**: fingerprint includes the full spec semantics, not just the title
143
+ - **Correct behavior**: they remain separate specs in separate forks, as they should
144
+
145
+ ## Implementation Complexity
146
+
147
+ | Component | Effort | Risk |
148
+ |-----------|--------|------|
149
+ | Fingerprint generation in SpecHardener | Low — add SHA256 call before saving | None |
150
+ | Fingerprint embedding in issue body | Low — prepend HTML comment | None |
151
+ | `gh search issues` integration | Low — single CLI call | None |
152
+ | `harness migrate` command | Medium — transfer + relabel + cache update loop | Medium — transfer API edge cases |
153
+ | Cache staleness detection | Low — compare cached URL to current repo | None |
154
+ | Orphan recreation | Low — `gh issue create` from cached body | Low |
155
+ | Duplicate detection | Low — count search results | None |
156
+
157
+ Total: ~2-3 days of implementation. All operations use existing `gh` CLI commands or REST API.
158
+
159
+ ## Prior Art
160
+
161
+ - **Git's content-addressed object model**: SHA1 hashes identify objects by content, not by location. This is the same principle applied to specs.
162
+ - **IPFS / libp2p**: Content-addressed distributed storage. Specs are "CID-addressable" in concept.
163
+ - **Nix / Guix**: Package builds are identified by content hashes of their inputs. Same deterministic identity pattern.
164
+ - **Docker image digests**: `image@sha256:abc...` identifies an image by its content manifest, not by its tag. Tags move; digests don't.
165
+
166
+ None of these are "harness spec storage" prior art — this is a novel application of content addressing to agent task management.
@@ -0,0 +1,57 @@
1
+ ---
2
+ type: concept
3
+ title: "Context Anxiety"
4
+ created: 2026-04-30
5
+ updated: 2026-04-30
6
+ status: seed
7
+ tags:
8
+ - context
9
+ - harness
10
+ - failure-mode
11
+ related:
12
+ - "[[agentic-harness]]"
13
+ - "[[harness-implementation-plan]]"
14
+ sources:
15
+ - "[[anthropic2026-harness-design]]"
16
+
17
+ ---# Context Anxiety
18
+
19
+ A failure mode where LLM agents begin wrapping up work prematurely as they approach what they believe is their context limit. Identified and named by Anthropic Engineering (Rajasekaran, 2026).
20
+
21
+ ## Behavior
22
+
23
+ - Agent rushes to finish, skipping verification steps
24
+ - Outputs become shorter, less thorough
25
+ - Agent makes premature declarations of completion
26
+ - Quality drops sharply in later parts of long tasks
27
+
28
+ ## Which Models Exhibit It
29
+
30
+ - **Sonnet 4.5**: Strong context anxiety. Compaction alone insufficient — required context resets with structured handoffs
31
+ - **Opus 4.5+**: Largely eliminated. One continuous session sufficient with automatic compaction
32
+
33
+ ## Mitigations
34
+
35
+ ### Context Reset (for anxious models)
36
+ - Clear context window entirely
37
+ - Start fresh agent session
38
+ - Provide structured handoff artifact carrying previous agent's state + next steps
39
+ - Cost: orchestration complexity, token overhead, latency
40
+
41
+ ### Compaction (for non-anxious models)
42
+ - Summarize earlier parts of conversation in-place
43
+ - Same agent continues with shortened history
44
+ - Preserves continuity but doesn't give clean slate
45
+ - Insufficient alone for models with strong anxiety
46
+
47
+ ## Relevance to Our Harness
48
+
49
+ Our long-running research sessions (3-round autoresearch, multi-phase builds) are vulnerable to context anxiety. Our current mitigation is compaction (summarizing earlier rounds). For GPT/strict models, this may be insufficient — context resets may be required between rounds.
50
+
51
+ ## Detection
52
+
53
+ Watch for:
54
+ - Sudden acceleration in output pace toward end of long sessions
55
+ - Skipping of verification gates that were passed earlier
56
+ - "I'll complete this quickly" language
57
+ - Dropping of structured output formats
@@ -0,0 +1,19 @@
1
+ ---
2
+ type: concept
3
+ status: stub
4
+ created: 2026-05-02
5
+ updated: 2026-05-02
6
+ tags: [concept, context-management]
7
+ ---
8
+
9
+ # Context Compression Techniques
10
+
11
+ Methods for reducing LLM context window usage while preserving task-relevant information. Includes structured compaction, AST truncation, shell pattern compression, and context pruning.
12
+
13
+ ## References
14
+
15
+ - [[structured-compaction]]
16
+ - [[ast-compression]]
17
+ - [[shell-pattern-compression]]
18
+ - [[meta-agent-context-pruning]]
19
+ - [[context-anxiety]]
@@ -0,0 +1,22 @@
1
+ ---
2
+ type: concept
3
+ title: "context-continuity"
4
+ created: 2026-04-30
5
+ updated: 2026-04-30
6
+ status: seed
7
+ tags: [#concept, #context-optimization, #session-management]
8
+ related:
9
+ - "[[context-mode]]"
10
+ - "[[lean-ctx]]"
11
+ ---
12
+
13
+ # Context Continuity
14
+
15
+ > [!stub] This is a stub page.
16
+
17
+ The ability for AI coding agents to preserve session state across context compaction events. Both context-mode and lean-ctx implement this, but differently:
18
+
19
+ - **context-mode**: Captures 26 event types to SessionDB for cross-compaction continuity
20
+ - **lean-ctx**: Uses CCP (Cross-session Continuity Protocol) with scratchpad messaging for multi-agent session sharing
21
+
22
+ Without context continuity, each context window compaction resets the agent's working memory, losing accumulated understanding of the codebase.
@@ -0,0 +1,106 @@
1
+ ---
2
+ aliases: ["agent drift", "behavioral drift", "context drift in agents"]
3
+ type: concept
4
+ title: "Context Drift in AI Agents"
5
+ created: 2026-04-30
6
+ status: developing
7
+ tags:
8
+ - concept
9
+ - drift
10
+ - agent-reliability
11
+ - context-engineering
12
+ related:
13
+ - "[[Research: Meta-Agent Context Drift Detection]]"
14
+ - "[[meta-agent-context-pruning]]"
15
+ - "[[agent-loop-detection-patterns]]"
16
+ - "[[guardian-agent-pattern]]"
17
+ - "[[agent-drift-academic-paper]]"
18
+ - "[[ironclaw-drift-monitor]]"
19
+ - "[[model-adaptive-harness]]"
20
+ updated: 2026-05-02
21
+
22
+ ---# Context Drift in AI Agents
23
+
24
+ The progressive degradation of agent behavior, decision quality, and task coherence over extended interactions. Not a model failure — a context management failure.
25
+
26
+ ## Two Definitions
27
+
28
+ The term "context drift" is used in two distinct ways in the literature:
29
+
30
+ ### 1. Stale Environment Context (Infrastructure Drift)
31
+
32
+ The agent's view of the world diverges from reality because data sources haven't caught up. The agent reads stale state, makes decisions based on it, detects mismatch, re-plans, and loops. (Source: [[vectara-guardian-agents|Tacnode]])
33
+
34
+ **Cause**: Slow data pipelines, batch ETL, separate OLTP/OLAP stores. The stack was built for human consumers (dashboards, periodic queries), not sub-second agent freshness.
35
+
36
+ **Fix**: Unified context lake with instant freshness guarantees. Reduce hops between event and agent visibility.
37
+
38
+ ### 2. Context Window Pollution (Interaction Drift)
39
+
40
+ The agent's context window fills with irrelevant information from failed attempts, verbose outputs, and dead-end explorations. Signal-to-noise collapses. The agent's decisions degrade because it's reasoning over noise. (Source: [[agent-drift-academic-paper]])
41
+
42
+ **Cause**: Multi-turn agent loops where every tool call and response accumulates in context. Failed attempts add noise. Successful attempts may be too verbose. No mechanism prunes irrelevant history.
43
+
44
+ **Fix**: Context compaction (summarize + restart), context pruning (remove dead-ends), external memory (structured notes outside context window).
45
+
46
+ ## The Meta-Agent Problem Space
47
+
48
+ This concept page addresses the **second** definition — interaction drift from context window pollution. The meta-agent concept targets exactly this: detecting when context pollution has reached a critical point and pruning the context to restore signal quality.
49
+
50
+ ## Drift Taxonomy
51
+
52
+ From the academic literature (Source: [[agent-drift-academic-paper]]):
53
+
54
+ | Type | Definition | Example |
55
+ |------|-----------|---------|
56
+ | **Semantic drift** | Outputs deviate from original intent while staying syntactically valid | Financial analysis agent shifts from risk-focused to opportunity-emphasizing language |
57
+ | **Coordination drift** | Multi-agent consensus breaks down | Router develops bias toward certain sub-agents, creating bottlenecks |
58
+ | **Behavioral drift** | Novel strategies emerge not present in initial interactions | Agent caches data in chat history instead of using designated memory tools |
59
+
60
+ ## Stuck-Pattern Signatures
61
+
62
+ Operational patterns that indicate context drift (Source: [[ironclaw-drift-monitor]]):
63
+
64
+ | Pattern | Signature | Threshold |
65
+ |---------|-----------|-----------|
66
+ | Repetition loops | Same tool + same args called repeatedly | 3+ in 10 calls |
67
+ | Failure spirals | Consecutive tool failures | 4+ |
68
+ | Tool cycling | A-B-A-B-A-B alternation | 6 calls |
69
+ | Silence drift | No text response | 15+ iterations |
70
+ | Rework churn | Same file written repeatedly | 3+ writes |
71
+ | Excessive searching | ls/find/grep without code edits | 5+ searches |
72
+
73
+ ## Quantified Impact
74
+
75
+ From 847 simulated workflows (Source: [[agent-drift-academic-paper]]):
76
+
77
+ - Task success rate: -42% (87.3% → 50.6%)
78
+ - Human interventions: +216% (0.31/task → 0.98/task)
79
+ - Token usage: +52.4% (12,400 → 18,900)
80
+ - Inter-agent conflicts: +487.5%
81
+ - Drift emerges after median 73 interactions — far earlier than expected
82
+
83
+ ## Three Causal Mechanisms
84
+
85
+ 1. **Context window pollution**: Irrelevant history dilutes signal. Episodic Memory Consolidation directly addresses this.
86
+ 2. **Distributional shift**: Narrow domain language diverges from broad training distribution over time.
87
+ 3. **Autoregressive reinforcement**: Small errors compound through feedback loops — an unnecessarily verbose response sets precedent for future verbosity.
88
+
89
+ ## Mitigation Approaches
90
+
91
+ | Approach | Mechanism | Drift Reduction | Overhead |
92
+ |----------|-----------|----------------|----------|
93
+ | Episodic Memory Consolidation | Summarize + compress history | 51.9% | Moderate (summarization cost) |
94
+ | Drift-Aware Routing | Stability scores in delegation | 63.0% | Low (metric computation) |
95
+ | Adaptive Behavioral Anchoring | Few-shot exemplars from baseline | 70.4% | Low (prompt augmentation) |
96
+ | Context Pruning (proposed) | Remove dead-end entries | Unknown | Low (metadata operation) |
97
+ | Combined (all three above) | Multi-layer defense | 81.5% | +23% compute |
98
+
99
+ The proposed meta-agent context pruning would add a fourth approach to this arsenal — one that operates at the conversation-history level rather than the prompt or routing level.
100
+
101
+ ## See Also
102
+
103
+ - [[meta-agent-context-pruning]] — The proposed system combining detection + pruning + restart
104
+ - [[agent-loop-detection-patterns]] — Production-grade loop detection code
105
+ - [[guardian-agent-pattern]] — Pre-execution safety validation
106
+ - [[agentic-harness-context-enforcement]] — Enforcing context-efficient behavior
@@ -0,0 +1,62 @@
1
+ ---
2
+ type: concept
3
+ tags:
4
+ - context-engineering
5
+ - token-management
6
+ - compaction
7
+ - memory
8
+ related:
9
+ - "[[Agent Harness Architecture]]"
10
+ - "[[sources/opendev-arxiv-2603.05344v1]]"
11
+ - "[[sources/martin-fowler-harness-engineering]]"
12
+ ---
13
+
14
+ # Context Engineering
15
+
16
+ The practice of managing an LLM's context window as a first-class engineering concern. Context is a finite, expensive resource consumed by system prompts, tool schemas, conversation history, and tool outputs. Effective context engineering determines how long an agent can operate before context overflow degrades performance.
17
+
18
+ ## Core Principles
19
+
20
+ 1. **Entropy reduction**: Each context element should reduce uncertainty about the desired output
21
+ 2. **Minimal sufficiency**: Include only what is necessary to avoid attention dilution
22
+ 3. **Semantic continuity**: Context should evolve coherently across turns, not be reconstructed from scratch
23
+
24
+ ## Key Techniques
25
+
26
+ ### Adaptive Context Compaction (ACC)
27
+ Five graduated stages instead of a single emergency threshold:
28
+ - **70%**: Warning — log pressure, track trends
29
+ - **80%**: Observation Masking — replace old tool results with reference pointers (~15 tokens each)
30
+ - **85%**: Fast Pruning — walk backward, replace oldest results with `[pruned]` markers
31
+ - **90%**: Aggressive Masking — shrink preservation window to most recent outputs only
32
+ - **99%**: Full Compaction — LLM-based summarization of middle portion, keep recent verbatim
33
+
34
+ ACC reduces peak context consumption by ~54%, often eliminating the need for emergency compaction.
35
+
36
+ ### Dual-Memory Architecture
37
+ - **Episodic memory**: LLM summary of full history (strategic context). Regenerated from full history every 5 messages to prevent summary drift.
38
+ - **Working memory**: Last 6 exchanges verbatim (operational detail).
39
+
40
+ ### Event-Driven System Reminders
41
+ Short, targeted messages injected at decision points (not upfront in system prompt). Use `role: user` for maximum recency. Governed by counter budgets to prevent noise.
42
+
43
+ ### Lazy Tool Discovery
44
+ Only discovered/explicitly invoked MCP tool schemas consume context. Baseline overhead: <5% instead of 40%.
45
+
46
+ ### Tool Result Optimization
47
+ Per-tool-type summarization (file reads → metadata, search → match counts, directory listings → item counts). Large outputs (>8,000 chars) offloaded to scratch files with previews.
48
+
49
+ ### Prompt Caching
50
+ Split system prompt into stable (cacheable) and dynamic parts. Stable portion (~80-90%) receives `cache_control` header, yielding ~88% input cost reduction on cached tokens.
51
+
52
+ ## Calibration
53
+
54
+ Always use the API's reported `prompt_tokens` as calibration anchor, not local estimates. Providers inject invisible content (safety preambles, tool serialization) that local counting misses.
55
+
56
+ ## Relevance to Our Harness
57
+
58
+ - No staged compaction — we rely on session restarts when context fills
59
+ - No event-driven reminders — our system prompt decays over long sessions
60
+ - No dual-memory — thinking contexts share full history
61
+ - Partial tool result optimization — `lean-ctx` compresses bash output
62
+ - Lazy discovery pattern exists — `ctx_discover_tools` for lean-ctx