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
@@ -1,166 +0,0 @@
1
- import type { ExtensionAPI, ExtensionContext } from "@mariozechner/pi-coding-agent";
2
- import { readFile, stat } from "node:fs/promises";
3
- import { resolve } from "node:path";
4
-
5
- const GUARDED_TOOLS = new Set(["read", "write", "edit", "grep", "find", "ls", "bash"]);
6
- const CACHE_TTL_MS = 10_000;
7
-
8
- type LeanCtxState = {
9
- checkedAt: number;
10
- available: boolean;
11
- bin?: string;
12
- };
13
-
14
- type SystemPromptCache = {
15
- path: string;
16
- mtimeMs: number;
17
- text: string;
18
- };
19
-
20
- let cachedLeanCtx: LeanCtxState = {
21
- checkedAt: 0,
22
- available: false,
23
- };
24
-
25
- let cachedSystemPrompt: SystemPromptCache | undefined;
26
-
27
- async function detectLeanCtx(pi: ExtensionAPI): Promise<LeanCtxState> {
28
- const now = Date.now();
29
- if (now - cachedLeanCtx.checkedAt < CACHE_TTL_MS) return cachedLeanCtx;
30
-
31
- try {
32
- const result = await pi.exec(
33
- "bash",
34
- [
35
- "-lc",
36
- 'if command -v lean-ctx >/dev/null 2>&1; then command -v lean-ctx; elif [ -x "$HOME/.local/bin/lean-ctx" ]; then echo "$HOME/.local/bin/lean-ctx"; else exit 1; fi',
37
- ],
38
- { timeout: 2000 },
39
- );
40
-
41
- cachedLeanCtx = {
42
- checkedAt: now,
43
- available: result.code === 0,
44
- bin: result.code === 0 ? result.stdout.trim().split("\n")[0] : undefined,
45
- };
46
- } catch {
47
- cachedLeanCtx = { checkedAt: now, available: false };
48
- }
49
-
50
- return cachedLeanCtx;
51
- }
52
-
53
- function bashUsesLeanCtx(command: string): boolean {
54
- const trimmed = command.trim();
55
- if (!trimmed) return false;
56
- return /(^|\s|&&|\|\|)lean-ctx(\s|$)/.test(trimmed);
57
- }
58
-
59
- async function loadProjectSystemPrompt(cwd: string): Promise<string | undefined> {
60
- const path = resolve(cwd, ".pi", "SYSTEM.md");
61
-
62
- try {
63
- const info = await stat(path);
64
- if (cachedSystemPrompt && cachedSystemPrompt.path === path && cachedSystemPrompt.mtimeMs === info.mtimeMs) {
65
- return cachedSystemPrompt.text;
66
- }
67
-
68
- const text = await readFile(path, "utf8");
69
- const trimmed = text.trim();
70
- if (!trimmed) return undefined;
71
-
72
- cachedSystemPrompt = {
73
- path,
74
- mtimeMs: info.mtimeMs,
75
- text: trimmed,
76
- };
77
- return trimmed;
78
- } catch {
79
- return undefined;
80
- }
81
- }
82
-
83
- function pickVerificationMarker(promptText: string): string | undefined {
84
- for (const line of promptText.split("\n")) {
85
- const trimmed = line.trim();
86
- if (!trimmed) continue;
87
- if (trimmed.startsWith("#")) continue;
88
- if (trimmed.startsWith("- ")) continue;
89
- if (trimmed.length < 12) continue;
90
- return trimmed.slice(0, 120);
91
- }
92
- return undefined;
93
- }
94
-
95
- async function reportSystemPromptStatus(ctx: ExtensionContext): Promise<"missing" | "verified" | "uncertain"> {
96
- const projectPrompt = await loadProjectSystemPrompt(ctx.cwd);
97
- if (!projectPrompt) {
98
- ctx.ui.notify(".pi/SYSTEM.md not found. Pi default system prompt active.", "warning");
99
- return "missing";
100
- }
101
-
102
- const effectivePrompt = ctx.getSystemPrompt();
103
- const marker = pickVerificationMarker(projectPrompt);
104
- if (marker && effectivePrompt.includes(marker)) {
105
- ctx.ui.notify(".pi/SYSTEM.md detected and present in effective system prompt.", "success");
106
- return "verified";
107
- }
108
-
109
- ctx.ui.notify(".pi/SYSTEM.md found. Verification uncertain; reload and re-check.", "info");
110
- return "uncertain";
111
- }
112
-
113
- export default function (pi: ExtensionAPI) {
114
- pi.on("session_start", async (_event, ctx) => {
115
- const state = await detectLeanCtx(pi);
116
- if (state.available) {
117
- ctx.ui.notify(`lean-ctx enforcement active (${state.bin ?? "lean-ctx"})`, "info");
118
- } else {
119
- ctx.ui.notify("lean-ctx not found. Built-in tools allowed until installed.", "warning");
120
- }
121
-
122
- await reportSystemPromptStatus(ctx);
123
- });
124
-
125
- pi.registerCommand("lean-ctx-status", {
126
- description: "Show lean-ctx enforcement status",
127
- handler: async (_args, ctx) => {
128
- cachedLeanCtx.checkedAt = 0;
129
- const state = await detectLeanCtx(pi);
130
- if (state.available) {
131
- ctx.ui.notify(`lean-ctx available: ${state.bin ?? "lean-ctx"}. Built-ins blocked.`, "success");
132
- } else {
133
- ctx.ui.notify("lean-ctx unavailable. Built-ins currently allowed.", "warning");
134
- }
135
- },
136
- });
137
-
138
- pi.registerCommand("system-prompt-status", {
139
- description: "Check .pi/SYSTEM.md replacement status",
140
- handler: async (_args, ctx) => {
141
- await reportSystemPromptStatus(ctx);
142
- },
143
- });
144
-
145
- pi.on("tool_call", async (event) => {
146
- if (!GUARDED_TOOLS.has(event.toolName)) return;
147
-
148
- const state = await detectLeanCtx(pi);
149
- if (!state.available) return;
150
-
151
- if (event.toolName === "bash") {
152
- const command = String((event.input as { command?: unknown })?.command ?? "");
153
- if (bashUsesLeanCtx(command)) return;
154
-
155
- return {
156
- block: true,
157
- reason: "Blocked by lean-ctx enforcement. Use `lean-ctx -c <command>` for shell commands.",
158
- };
159
- }
160
-
161
- return {
162
- block: true,
163
- reason: `Blocked by lean-ctx enforcement. Use lean-ctx tools/flows instead of built-in \`${event.toolName}\`.`,
164
- };
165
- });
166
- }
package/skills-lock.json DELETED
@@ -1,35 +0,0 @@
1
- {
2
- "version": 1,
3
- "skills": {
4
- "caveman": {
5
- "source": "juliusbrussee/caveman",
6
- "sourceType": "github",
7
- "computedHash": "a818cdc41dcfaa50dd891c5cb5e5705968338de02e7e37949ca56e8c30ad4176"
8
- },
9
- "compress": {
10
- "source": "juliusbrussee/caveman",
11
- "sourceType": "github",
12
- "computedHash": "05c97bc3120108acd0b80bdef7fb4fa7c224ba83c8d384ccbc97f92e8a065918"
13
- },
14
- "context7-cli": {
15
- "source": "upstash/context7",
16
- "sourceType": "github",
17
- "computedHash": "525bfb31161c3f8866920a28fb2d9a3003a23b449aa8619b1b1add0da2cc3300"
18
- },
19
- "emil-design-eng": {
20
- "source": "emilkowalski/skill",
21
- "sourceType": "github",
22
- "computedHash": "8bdf9e4e6de7a4969147bf4828a4ad2c5aacd9fba4b690b250a85e0467ca387d"
23
- },
24
- "lean-ctx": {
25
- "source": "yvgude/lean-ctx",
26
- "sourceType": "github",
27
- "computedHash": "3d29c02c1c3928c838228cf11635c8041e52acc2e804ba2dd19450530a34c53e"
28
- },
29
- "scrapling-official": {
30
- "source": "D4Vinci/Scrapling",
31
- "sourceType": "github",
32
- "computedHash": "af9bee8b531aa5b4d499eeebca66edb0224b1ed9b61540588765140628bd7ff2"
33
- }
34
- }
35
- }
package/wiki/README.md DELETED
@@ -1,19 +0,0 @@
1
- # Project Wiki
2
-
3
- ## Purpose
4
- Track architecture and implementation decisions for this repo.
5
-
6
- ## Decision log
7
- - [0001 - Establish project wiki and decision record format](decisions/0001-establish-project-wiki-and-decision-record-format.md)
8
- - [0002 - Add project banner to README](decisions/0002-add-project-banner-to-readme.md)
9
- - [0003 - Remove redundant README title heading when banner already contains title](decisions/0003-remove-redundant-readme-title-heading.md)
10
- - [0004 - Publish package to npm as ultimate-pi](decisions/0004-publish-package-to-npm-as-ultimate-pi.md)
11
- - [0005 - Automate npm publish with GitHub Actions](decisions/0005-automate-npm-publish-with-github-actions.md)
12
- - [0006 - Switch npm automation to Trusted Publishing (OIDC)](decisions/0006-switch-to-npm-trusted-publishing.md)
13
- - [0007 - Use absolute banner URL for npm README rendering](decisions/0007-use-absolute-banner-url-for-npm-readme-rendering.md)
14
- - [0008 - Rename banner asset for cache-busting on npm README](decisions/0008-rename-banner-asset-for-cache-busting.md)
15
- - [0009 - Force OIDC path by clearing NODE_AUTH_TOKEN in publish step](decisions/0009-force-oidc-path-by-clearing-node-auth-token-in-publish-step.md)
16
- - [0010 - Simplify setup-node for npm Trusted Publishing](decisions/0010-simplify-setup-node-for-npm-trusted-publishing.md)
17
- - [0011 - Add noop workflow change to force fresh publish run](decisions/0011-add-noop-workflow-change-to-force-fresh-publish-run.md)
18
- - [0012 - Align workflow runtime with npm Trusted Publishing requirements](decisions/0012-align-workflow-runtime-with-npm-trusted-publishing-requirements.md)
19
- - [0013 - Add package repository URL for provenance validation](decisions/0013-add-package-repository-url-for-provenance-validation.md)
@@ -1,25 +0,0 @@
1
- # 0001 - Establish project wiki and decision record format
2
-
3
- - Date: 2026-04-25
4
- - Status: Accepted
5
-
6
- ## Context
7
- Execution model requires project wiki and documented design decisions.
8
- No wiki existed in repository.
9
-
10
- ## Alternatives
11
- 1. Keep decisions in ad-hoc commit messages.
12
- 2. Store decisions in a single PLAN.md section.
13
- 3. Create dedicated wiki/ with ADR-style files.
14
-
15
- ## Chosen option
16
- Create wiki/ with numbered decision files in wiki/decisions/.
17
-
18
- ## Rationale
19
- - Gives stable place for all implementation decisions.
20
- - Scales better than one growing plan file.
21
- - Easy to reference before each code change.
22
-
23
- ## Consequences
24
- - Every implementation change must cite relevant decision docs.
25
- - Small overhead: keep decision log updated.
@@ -1,26 +0,0 @@
1
- # 0002 - Add project banner to README
2
-
3
- - Date: 2026-04-25
4
- - Status: Accepted
5
-
6
- ## Context
7
- User requested adding .github/banner.png to README.md as project banner.
8
- README currently has no image banner.
9
-
10
- ## Alternatives
11
- 1. Keep no banner.
12
- 2. Use HTML img tag for size/alignment control.
13
- 3. Use standard Markdown image link.
14
-
15
- ## Chosen option
16
- Use standard Markdown image syntax near top of README:
17
- ![Ultimate PI banner](.github/banner.png)
18
-
19
- ## Rationale
20
- - Minimal diff.
21
- - Renders on GitHub without extra HTML.
22
- - Keeps README portable and simple.
23
-
24
- ## Consequences
25
- - Large image may dominate first screen on some displays.
26
- - Future size control would require switching to HTML tag.
@@ -1,26 +0,0 @@
1
- # 0003 - Remove redundant README title heading when banner already contains title
2
-
3
- - Date: 2026-04-25
4
- - Status: Accepted
5
-
6
- ## Context
7
- README shows an H1 title and a banner image.
8
- Banner already contains the same project title text (Ultimate Pi).
9
- User requested removing redundant headings.
10
-
11
- ## Alternatives
12
- 1. Keep H1 and keep banner unchanged.
13
- 2. Keep H1 and replace banner with non-title artwork.
14
- 3. Remove H1 and keep banner as top title element.
15
-
16
- ## Chosen option
17
- Remove top-level H1 from README and keep banner at top.
18
-
19
- ## Rationale
20
- - Directly satisfies user request with minimal diff.
21
- - Avoids duplicate title presentation.
22
- - Preserves remaining README structure.
23
-
24
- ## Consequences
25
- - README no longer has explicit Markdown H1.
26
- - Banner becomes primary title element.
@@ -1,26 +0,0 @@
1
- # 0004 - Publish package to npm as ultimate-pi
2
-
3
- - Date: 2026-04-25
4
- - Status: Accepted
5
-
6
- ## Context
7
- User requested npm publication under package name ultimate-pi.
8
- Current package metadata blocks publish (private true) and uses different name (ultimate-pi-package).
9
-
10
- ## Alternatives
11
- 1. Keep current package name and publish under existing metadata.
12
- 2. Publish under scoped name (for example @owner/ultimate-pi).
13
- 3. Rename package to ultimate-pi and remove publish block.
14
-
15
- ## Chosen option
16
- Rename package.json name to ultimate-pi and remove private field so npm publish can succeed.
17
-
18
- ## Rationale
19
- - Matches explicit user requirement.
20
- - Keeps package unscoped and discoverable.
21
- - Smallest metadata diff needed for publish.
22
-
23
- ## Consequences
24
- - Package name must stay unique in npm registry.
25
- - Future publishes require version bumps.
26
- - Publish operation depends on local npm authentication.
@@ -1,27 +0,0 @@
1
- # 0005 - Automate npm publish with GitHub Actions
2
-
3
- - Date: 2026-04-25
4
- - Status: Accepted
5
-
6
- ## Context
7
- User requested automated package publishing through GitHub Actions.
8
- Repository currently has no workflow files.
9
- Package already prepared for npm publish as ultimate-pi.
10
-
11
- ## Alternatives
12
- 1. Keep manual local npm publish only.
13
- 2. Publish on every push to main.
14
- 3. Publish on version tags with optional manual trigger.
15
-
16
- ## Chosen option
17
- Create a GitHub Actions workflow that publishes to npm on tags matching v* and supports manual dispatch.
18
-
19
- ## Rationale
20
- - Safe release gate with explicit version tags.
21
- - Standard npm automation pattern.
22
- - Keeps accidental publishes low risk.
23
-
24
- ## Consequences
25
- - Maintainer must create npm token and store as NPM_TOKEN secret.
26
- - Release process must include tag creation.
27
- - Version in package.json must be bumped before tagging.
@@ -1,26 +0,0 @@
1
- # 0006 - Switch npm automation to Trusted Publishing (OIDC)
2
-
3
- - Date: 2026-04-25
4
- - Status: Accepted
5
-
6
- ## Context
7
- User flagged npm warning: token-based automation has security risks.
8
- Current workflow uses NPM_TOKEN secret for publish.
9
-
10
- ## Alternatives
11
- 1. Keep automation token secret (NPM_TOKEN).
12
- 2. Publish manually from local machine only.
13
- 3. Use npm Trusted Publishing with GitHub OIDC.
14
-
15
- ## Chosen option
16
- Use npm Trusted Publishing. Remove token auth from workflow. Grant id-token permission and publish with provenance.
17
-
18
- ## Rationale
19
- - Eliminates long-lived npm secret in GitHub.
20
- - Aligns with npm security guidance for CI/CD.
21
- - Produces provenance attestations for supply-chain trust.
22
-
23
- ## Consequences
24
- - Must configure Trusted Publisher in npm package settings.
25
- - Publish only works from linked repo/workflow context.
26
- - Workflow must run on supported GitHub-hosted runner.
@@ -1,26 +0,0 @@
1
- # 0007 - Use absolute banner URL for npm README rendering
2
-
3
- - Date: 2026-04-25
4
- - Status: Accepted
5
-
6
- ## Context
7
- README banner currently uses repository-relative path .github/banner.png.
8
- GitHub renders relative image paths in repository context.
9
- npm README rendering does not reliably resolve repository-relative image paths.
10
-
11
- ## Alternatives
12
- 1. Keep relative image path.
13
- 2. Remove banner image from README.
14
- 3. Use absolute raw GitHub URL to banner asset.
15
-
16
- ## Chosen option
17
- Replace README banner image path with absolute raw.githubusercontent.com URL.
18
-
19
- ## Rationale
20
- - Works in npm package page rendering.
21
- - Still works in GitHub README rendering.
22
- - Minimal one-line README diff.
23
-
24
- ## Consequences
25
- - URL tied to repository path/branch (main).
26
- - Banner breaks if file path or default branch changes.
@@ -1,26 +0,0 @@
1
- # 0008 - Rename banner asset for cache-busting on npm README
2
-
3
- - Date: 2026-04-25
4
- - Status: Accepted
5
-
6
- ## Context
7
- Banner image update is not reflected on npm package page.
8
- README already uses absolute raw.githubusercontent URL.
9
- Likely cause is CDN/browser cache on unchanged asset path.
10
-
11
- ## Alternatives
12
- 1. Keep same filename and wait for cache expiry.
13
- 2. Add query parameter to image URL.
14
- 3. Rename banner file and update README URL.
15
-
16
- ## Chosen option
17
- Rename banner file path from .github/banner.png to .github/banner-v2.png and update README reference.
18
-
19
- ## Rationale
20
- - New path forces cache miss immediately.
21
- - Minimal, safe change.
22
- - Works in GitHub and npm renderers.
23
-
24
- ## Consequences
25
- - Any external links to old filename break.
26
- - Future banner refreshes should use versioned filenames.
@@ -1,25 +0,0 @@
1
- # 0009 - Force OIDC path by clearing NODE_AUTH_TOKEN in publish step
2
-
3
- - Date: 2026-04-25
4
- - Status: Accepted
5
-
6
- ## Context
7
- GitHub Actions publish job failed with npm E404 on PUT for ultimate-pi@0.1.2.
8
- Job log shows NODE_AUTH_TOKEN present during publish step, which can force token auth path instead of Trusted Publishing OIDC.
9
-
10
- ## Alternatives
11
- 1. Keep workflow unchanged and only reconfigure npm settings.
12
- 2. Revert fully to long-lived NPM_TOKEN secret.
13
- 3. Keep Trusted Publishing and explicitly clear NODE_AUTH_TOKEN in publish step.
14
-
15
- ## Chosen option
16
- Use Trusted Publishing and set NODE_AUTH_TOKEN to empty string for publish step.
17
-
18
- ## Rationale
19
- - Prevents accidental fallback to stale/unauthorized token auth.
20
- - Preserves secure OIDC-based publish flow.
21
- - Minimal surgical workflow diff.
22
-
23
- ## Consequences
24
- - Requires npm Trusted Publisher to be correctly configured.
25
- - Any desired token-based publish would need explicit workflow change.
@@ -1,26 +0,0 @@
1
- # 0010 - Simplify setup-node for npm Trusted Publishing
2
-
3
- - Date: 2026-04-25
4
- - Status: Accepted
5
-
6
- ## Context
7
- Publish run still fails with ENEEDAUTH after Trusted Publisher setup.
8
- Current workflow sets npm registry-url and explicitly sets NODE_AUTH_TOKEN empty.
9
- This may keep npm on token-based auth path and bypass OIDC exchange.
10
-
11
- ## Alternatives
12
- 1. Keep current workflow and retry only.
13
- 2. Re-introduce npm token secret.
14
- 3. Remove registry auth shaping and let npm Trusted Publishing OIDC path run naturally.
15
-
16
- ## Chosen option
17
- Use setup-node with node-version only. Remove registry-url and NODE_AUTH_TOKEN override.
18
-
19
- ## Rationale
20
- - Avoids writing auth-specific npmrc configuration for token path.
21
- - Aligns with minimal OIDC trusted publishing examples.
22
- - Smallest workflow diff.
23
-
24
- ## Consequences
25
- - Requires npm Trusted Publisher config to be correct.
26
- - If Trusted Publishing unavailable, publish will fail until fallback token flow is re-added.
@@ -1,25 +0,0 @@
1
- # 0011 - Add noop workflow change to force fresh publish run
2
-
3
- - Date: 2026-04-25
4
- - Status: Accepted
5
-
6
- ## Context
7
- User requested a fresh commit and publish attempt because rerun signal looked stale.
8
- Current publish workflow logic already targeted for Trusted Publishing.
9
-
10
- ## Alternatives
11
- 1. Keep rerunning same workflow execution.
12
- 2. Make a functional workflow change.
13
- 3. Make a minimal non-functional workflow change and trigger new run from new commit.
14
-
15
- ## Chosen option
16
- Add a non-functional workflow metadata field (run-name) and push a new commit.
17
-
18
- ## Rationale
19
- - Produces clean new run context tied to fresh commit SHA.
20
- - Avoids unnecessary behavior changes.
21
- - Smallest viable diff.
22
-
23
- ## Consequences
24
- - No runtime behavior change expected.
25
- - Still depends on npm auth configuration correctness.
@@ -1,26 +0,0 @@
1
- # 0012 - Align workflow runtime with npm Trusted Publishing requirements
2
-
3
- - Date: 2026-04-25
4
- - Status: Accepted
5
-
6
- ## Context
7
- Publish workflow still fails authentication.
8
- Trusted publisher mapping is already verified by user.
9
- Remaining common causes include runtime mismatch: npm 11.5.1+ and Node 22.14+.
10
-
11
- ## Alternatives
12
- 1. Keep current Node 20 workflow.
13
- 2. Switch to token-based publish only.
14
- 3. Upgrade workflow runtime to Node 22.14+, ensure npm 11.5.1+, keep OIDC permissions.
15
-
16
- ## Chosen option
17
- Upgrade workflow to Node 22.14.0 and add npm upgrade/verification step before publish.
18
-
19
- ## Rationale
20
- - Directly addresses documented Trusted Publishing runtime requirements.
21
- - Keeps secure OIDC model intact.
22
- - Minimal focused diff in workflow only.
23
-
24
- ## Consequences
25
- - Slightly longer workflow run due npm update step.
26
- - Future runtime bumps may be needed when npm guidance changes.
@@ -1,25 +0,0 @@
1
- # 0013 - Add package repository URL for provenance validation
2
-
3
- - Date: 2026-04-25
4
- - Status: Accepted
5
-
6
- ## Context
7
- Trusted publishing auth now passes, but publish fails with npm E422 provenance validation.
8
- Error states package.json repository.url is empty and must match https://github.com/aryaniyaps/ultimate-pi.
9
-
10
- ## Alternatives
11
- 1. Disable provenance flag in publish command.
12
- 2. Keep failing publish and document manual workaround.
13
- 3. Add exact repository URL metadata in package.json to satisfy provenance validation.
14
-
15
- ## Chosen option
16
- Add package.json repository metadata with URL https://github.com/aryaniyaps/ultimate-pi.
17
-
18
- ## Rationale
19
- - Fixes current hard failure from npm provenance verifier.
20
- - Keeps secure --provenance publish mode.
21
- - Minimal metadata-only package diff.
22
-
23
- ## Consequences
24
- - Repository URL must stay accurate.
25
- - If repo moves, metadata must be updated before next publish.