ultimate-pi 0.1.7 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/graphify/.graphify_version +1 -0
- package/.agents/skills/graphify/SKILL.md +1204 -0
- package/.agents/skills/wiki-autoresearch/SKILL.md +225 -97
- package/.agents/skills/wiki-autoresearch/references/program.md +28 -62
- package/.agents/skills/wiki-autoresearch/references/quality-sites.md +32 -0
- package/.env.example +5 -1
- package/.gitattributes +1 -0
- package/.github/workflows/publish-github-packages.yml +1 -1
- package/.pi/SYSTEM.md +72 -18
- package/.pi/agents/harness/adversary.md +32 -0
- package/.pi/agents/harness/evaluator.md +32 -0
- package/.pi/agents/harness/executor.md +34 -0
- package/.pi/agents/harness/meta-optimizer.md +33 -0
- package/.pi/agents/harness/planner.md +33 -0
- package/.pi/agents/harness/tie-breaker.md +35 -0
- package/.pi/agents/harness/trace-librarian.md +32 -0
- package/.pi/extensions/banner.png +0 -0
- package/.pi/extensions/budget-guard.ts +265 -0
- package/.pi/extensions/custom-footer.ts +194 -22
- package/.pi/extensions/custom-header.ts +47 -9
- package/.pi/extensions/debate-orchestrator.ts +479 -0
- package/.pi/extensions/harness-live-widget.ts +438 -0
- package/.pi/extensions/policy-gate.ts +349 -0
- package/.pi/extensions/review-integrity.ts +198 -0
- package/.pi/extensions/test-diff-integrity.ts +240 -0
- package/.pi/extensions/trace-recorder.ts +315 -0
- package/.pi/harness/README.md +23 -0
- package/.pi/harness/router/README.md +35 -0
- package/.pi/harness/router/apply-router-proposal.mjs +153 -0
- package/.pi/harness/router/propose-router-tuning.mjs +149 -0
- package/.pi/harness/specs/README.md +37 -0
- package/.pi/harness/specs/adversary-report.schema.json +53 -0
- package/.pi/harness/specs/budget-exhausted-event.schema.json +93 -0
- package/.pi/harness/specs/consensus-packet.schema.json +175 -0
- package/.pi/harness/specs/eval-verdict.schema.json +59 -0
- package/.pi/harness/specs/incident-record.schema.json +84 -0
- package/.pi/harness/specs/plan-packet.schema.json +90 -0
- package/.pi/harness/specs/round-result.schema.json +126 -0
- package/.pi/harness/specs/router-tuning-proposal.schema.json +114 -0
- package/.pi/harness/specs/run-trace.schema.json +107 -0
- package/.pi/lib/harness-ui-state.ts +311 -0
- package/.pi/mcp.json +4 -0
- package/.pi/model-router.json +93 -93
- package/.pi/prompts/graphify.md +23 -0
- package/.pi/prompts/harness-abort.md +41 -0
- package/.pi/prompts/harness-auto.md +83 -0
- package/.pi/prompts/harness-critic.md +52 -0
- package/.pi/prompts/harness-eval.md +51 -0
- package/.pi/prompts/harness-incident.md +51 -0
- package/.pi/prompts/harness-plan.md +64 -0
- package/.pi/prompts/harness-review.md +52 -0
- package/.pi/prompts/harness-router-tune.md +74 -0
- package/.pi/prompts/harness-run.md +59 -0
- package/.pi/prompts/harness-setup.md +316 -216
- package/.pi/prompts/harness-trace.md +51 -0
- package/.pi/prompts/wiki-autoresearch.md +9 -7
- package/.pi/prompts/wiki-save.md +20 -0
- package/.pi/skills/agent-router/SKILL.md +2 -4
- package/.pi/skills/ast-grep/SKILL.md +354 -0
- package/.pi/sounds/project-sounds.json +18 -24
- package/AGENTS.md +30 -0
- package/CHANGELOG.md +89 -0
- package/CONTRIBUTING.md +51 -1
- package/README.md +264 -20
- package/biome.json +8 -2
- package/lefthook.yml +3 -2
- package/node_modules/@sting8k/pi-vcc/README.md +200 -0
- package/node_modules/@sting8k/pi-vcc/index.ts +14 -0
- package/node_modules/@sting8k/pi-vcc/package.json +26 -0
- package/node_modules/@sting8k/pi-vcc/scripts/audit-sessions.ts +88 -0
- package/node_modules/@sting8k/pi-vcc/scripts/benchmark-real-sessions.ts +25 -0
- package/node_modules/@sting8k/pi-vcc/scripts/compare-before-after.ts +36 -0
- package/node_modules/@sting8k/pi-vcc/scripts/dump-branch-output.ts +20 -0
- package/node_modules/@sting8k/pi-vcc/src/commands/pi-vcc.ts +36 -0
- package/node_modules/@sting8k/pi-vcc/src/commands/vcc-recall.ts +65 -0
- package/node_modules/@sting8k/pi-vcc/src/core/brief.ts +381 -0
- package/node_modules/@sting8k/pi-vcc/src/core/build-sections.ts +79 -0
- package/node_modules/@sting8k/pi-vcc/src/core/content.ts +60 -0
- package/node_modules/@sting8k/pi-vcc/src/core/filter-noise.ts +42 -0
- package/node_modules/@sting8k/pi-vcc/src/core/format-recall.ts +27 -0
- package/node_modules/@sting8k/pi-vcc/src/core/format.ts +49 -0
- package/node_modules/@sting8k/pi-vcc/src/core/lineage.ts +26 -0
- package/node_modules/@sting8k/pi-vcc/src/core/load-messages.ts +41 -0
- package/node_modules/@sting8k/pi-vcc/src/core/normalize.ts +66 -0
- package/node_modules/@sting8k/pi-vcc/src/core/recall-scope.ts +14 -0
- package/node_modules/@sting8k/pi-vcc/src/core/render-entries.ts +55 -0
- package/node_modules/@sting8k/pi-vcc/src/core/report.ts +237 -0
- package/node_modules/@sting8k/pi-vcc/src/core/sanitize.ts +5 -0
- package/node_modules/@sting8k/pi-vcc/src/core/search-entries.ts +221 -0
- package/node_modules/@sting8k/pi-vcc/src/core/settings.ts +77 -0
- package/node_modules/@sting8k/pi-vcc/src/core/skill-collapse.ts +35 -0
- package/node_modules/@sting8k/pi-vcc/src/core/summarize.ts +157 -0
- package/node_modules/@sting8k/pi-vcc/src/core/tool-args.ts +14 -0
- package/node_modules/@sting8k/pi-vcc/src/details.ts +7 -0
- package/node_modules/@sting8k/pi-vcc/src/extract/commits.ts +69 -0
- package/node_modules/@sting8k/pi-vcc/src/extract/files.ts +80 -0
- package/node_modules/@sting8k/pi-vcc/src/extract/goals.ts +79 -0
- package/node_modules/@sting8k/pi-vcc/src/extract/preferences.ts +55 -0
- package/node_modules/@sting8k/pi-vcc/src/hooks/before-compact.ts +322 -0
- package/node_modules/@sting8k/pi-vcc/src/sections.ts +12 -0
- package/node_modules/@sting8k/pi-vcc/src/tools/recall.ts +109 -0
- package/node_modules/@sting8k/pi-vcc/src/types.ts +14 -0
- package/node_modules/@sting8k/pi-vcc/tests/before-compact-hook.test.ts +181 -0
- package/node_modules/@sting8k/pi-vcc/tests/before-compact.test.ts +140 -0
- package/node_modules/@sting8k/pi-vcc/tests/brief.test.ts +206 -0
- package/node_modules/@sting8k/pi-vcc/tests/build-sections.test.ts +59 -0
- package/node_modules/@sting8k/pi-vcc/tests/compile.test.ts +80 -0
- package/node_modules/@sting8k/pi-vcc/tests/content.test.ts +31 -0
- package/node_modules/@sting8k/pi-vcc/tests/extract-goals.test.ts +86 -0
- package/node_modules/@sting8k/pi-vcc/tests/extract-preferences.test.ts +30 -0
- package/node_modules/@sting8k/pi-vcc/tests/filter-noise.test.ts +61 -0
- package/node_modules/@sting8k/pi-vcc/tests/fixtures.ts +61 -0
- package/node_modules/@sting8k/pi-vcc/tests/format-recall.test.ts +30 -0
- package/node_modules/@sting8k/pi-vcc/tests/format.test.ts +62 -0
- package/node_modules/@sting8k/pi-vcc/tests/lineage.test.ts +33 -0
- package/node_modules/@sting8k/pi-vcc/tests/load-messages.test.ts +51 -0
- package/node_modules/@sting8k/pi-vcc/tests/normalize.test.ts +97 -0
- package/node_modules/@sting8k/pi-vcc/tests/real-sessions.test.ts +38 -0
- package/node_modules/@sting8k/pi-vcc/tests/recall-expand.test.ts +15 -0
- package/node_modules/@sting8k/pi-vcc/tests/recall-scope.test.ts +32 -0
- package/node_modules/@sting8k/pi-vcc/tests/recall-tool-scope.test.ts +67 -0
- package/node_modules/@sting8k/pi-vcc/tests/render-entries.test.ts +62 -0
- package/node_modules/@sting8k/pi-vcc/tests/report.test.ts +44 -0
- package/node_modules/@sting8k/pi-vcc/tests/sanitize.test.ts +24 -0
- package/node_modules/@sting8k/pi-vcc/tests/search-entries.test.ts +144 -0
- package/node_modules/@sting8k/pi-vcc/tests/support/load-session.ts +23 -0
- package/node_modules/@sting8k/pi-vcc/tests/support/real-sessions.ts +51 -0
- package/package.json +15 -4
- package/scripts/__pycache__/merge_graphify_corpora.cpython-314.pyc +0 -0
- package/scripts/index_youtube_urls.py +376 -0
- package/scripts/merge_graphify_corpora.py +398 -0
- package/scripts/regen_graphify_html.py +46 -0
- package/.agents/skills/defuddle/SKILL.md +0 -90
- package/.agents/skills/wiki/SKILL.md +0 -215
- package/.agents/skills/wiki/references/css-snippets.md +0 -122
- package/.agents/skills/wiki/references/frontmatter.md +0 -107
- package/.agents/skills/wiki/references/git-setup.md +0 -58
- package/.agents/skills/wiki/references/mcp-setup.md +0 -149
- package/.agents/skills/wiki/references/modes.md +0 -259
- package/.agents/skills/wiki/references/plugins.md +0 -96
- package/.agents/skills/wiki/references/rest-api.md +0 -124
- package/.agents/skills/wiki-fold/SKILL.md +0 -204
- package/.agents/skills/wiki-fold/references/fold-template.md +0 -133
- package/.agents/skills/wiki-ingest/SKILL.md +0 -288
- package/.agents/skills/wiki-lint/SKILL.md +0 -183
- package/.agents/skills/wiki-query/SKILL.md +0 -176
- package/.pi/agents/rethink.md +0 -140
- package/.pi/agents/wiki-ingest.md +0 -67
- package/.pi/agents/wiki-lint.md +0 -75
- package/.pi/internal/cursor-sdk-transcript-parser.ts +0 -59
- package/.pi/prompts/save.md +0 -16
- package/.pi/prompts/wiki.md +0 -23
- package/.pi/providers/cursor-sdk-provider.test.mjs +0 -476
- package/.pi/providers/cursor-sdk-provider.ts +0 -1085
- package/vault/AGENTS.md +0 -37
- package/vault/wiki/_templates/comparison.md +0 -39
- package/vault/wiki/_templates/concept.md +0 -40
- package/vault/wiki/_templates/decision.md +0 -21
- package/vault/wiki/_templates/entity.md +0 -32
- package/vault/wiki/_templates/flow.md +0 -14
- package/vault/wiki/_templates/module.md +0 -18
- package/vault/wiki/_templates/question.md +0 -31
- package/vault/wiki/_templates/source.md +0 -39
- package/vault/wiki/concepts/AST-Aware Code Chunking.md +0 -44
- package/vault/wiki/concepts/Build-Time Prompt Compilation.md +0 -107
- package/vault/wiki/concepts/Context Engine (AI Coding).md +0 -47
- package/vault/wiki/concepts/Context-Aware System Reminders.md +0 -61
- package/vault/wiki/concepts/Contextualized Text Embedding.md +0 -42
- package/vault/wiki/concepts/Contractor vs Employee AI Model.md +0 -55
- package/vault/wiki/concepts/Dual-Model Agent Architecture.md +0 -65
- package/vault/wiki/concepts/Late Chunking vs Early Chunking.md +0 -43
- package/vault/wiki/concepts/Majority Vote Ensembling.md +0 -68
- package/vault/wiki/concepts/Meta-Harness.md +0 -16
- package/vault/wiki/concepts/Multi-Agent AI Coding Architecture.md +0 -75
- package/vault/wiki/concepts/Prompt Enhancement.md +0 -90
- package/vault/wiki/concepts/Prompt Renderer.md +0 -89
- package/vault/wiki/concepts/Semantic Codebase Indexing.md +0 -67
- package/vault/wiki/concepts/additive-config-hierarchy.md +0 -16
- package/vault/wiki/concepts/agent-artifacts-verifiable-deliverables.md +0 -71
- package/vault/wiki/concepts/agent-browser-browser-automation.md +0 -99
- package/vault/wiki/concepts/agent-codebase-interface.md +0 -43
- package/vault/wiki/concepts/agent-harness-architecture.md +0 -67
- package/vault/wiki/concepts/agent-loop-detection-patterns.md +0 -133
- package/vault/wiki/concepts/agent-search-enforcement.md +0 -126
- package/vault/wiki/concepts/agent-skills-ecosystem.md +0 -74
- package/vault/wiki/concepts/agent-skills-pattern.md +0 -68
- package/vault/wiki/concepts/agentic-harness-context-enforcement.md +0 -91
- package/vault/wiki/concepts/agentic-harness.md +0 -34
- package/vault/wiki/concepts/agentic-orchestration-pipeline.md +0 -56
- package/vault/wiki/concepts/agentic-search-no-embeddings.md +0 -18
- package/vault/wiki/concepts/anthropic-context-engineering.md +0 -13
- package/vault/wiki/concepts/antigravity-agent-first-architecture.md +0 -61
- package/vault/wiki/concepts/ast-compression.md +0 -19
- package/vault/wiki/concepts/ast-truncation.md +0 -66
- package/vault/wiki/concepts/barrel-files.md +0 -37
- package/vault/wiki/concepts/browser-harness-agent.md +0 -41
- package/vault/wiki/concepts/browser-subagent-visual-verification.md +0 -82
- package/vault/wiki/concepts/codebase-intelligence-ecosystem-comparison.md +0 -192
- package/vault/wiki/concepts/codebase-intelligence-harness-integration.md +0 -161
- package/vault/wiki/concepts/codebase-to-context-ingestion.md +0 -46
- package/vault/wiki/concepts/codex-harness-innovations.md +0 -147
- package/vault/wiki/concepts/consensus-debate-flow.md +0 -17
- package/vault/wiki/concepts/consensus-debate.md +0 -206
- package/vault/wiki/concepts/content-addressed-spec-identity.md +0 -166
- package/vault/wiki/concepts/context-anxiety.md +0 -57
- package/vault/wiki/concepts/context-compression-techniques.md +0 -19
- package/vault/wiki/concepts/context-continuity.md +0 -22
- package/vault/wiki/concepts/context-drift-in-agents.md +0 -106
- package/vault/wiki/concepts/context-engineering.md +0 -62
- package/vault/wiki/concepts/context-folding.md +0 -67
- package/vault/wiki/concepts/context-mode.md +0 -38
- package/vault/wiki/concepts/cursor-harness-innovations.md +0 -107
- package/vault/wiki/concepts/deterministic-session-compaction.md +0 -79
- package/vault/wiki/concepts/drift-detection-unified.md +0 -296
- package/vault/wiki/concepts/execution-feedback-loop.md +0 -46
- package/vault/wiki/concepts/feedforward-feedback-harness.md +0 -60
- package/vault/wiki/concepts/five-root-cause-metrics-sentrux.md +0 -40
- package/vault/wiki/concepts/fork-safe-spec-storage.md +0 -89
- package/vault/wiki/concepts/fts5-sandbox.md +0 -19
- package/vault/wiki/concepts/fuzzy-edit-matching.md +0 -71
- package/vault/wiki/concepts/gemini-cli-architecture.md +0 -104
- package/vault/wiki/concepts/generator-evaluator-architecture.md +0 -64
- package/vault/wiki/concepts/guardian-agent-pattern.md +0 -67
- package/vault/wiki/concepts/harness-configuration-layers.md +0 -89
- package/vault/wiki/concepts/harness-control-frameworks.md +0 -155
- package/vault/wiki/concepts/harness-engineering-first-principles.md +0 -90
- package/vault/wiki/concepts/harness-h-formalism.md +0 -53
- package/vault/wiki/concepts/hybrid-code-search.md +0 -61
- package/vault/wiki/concepts/inline-post-edit-validation.md +0 -112
- package/vault/wiki/concepts/legendary-engineering-patterns-harness.md +0 -110
- package/vault/wiki/concepts/lifecycle-hooks.md +0 -94
- package/vault/wiki/concepts/mcp-tool-routing.md +0 -102
- package/vault/wiki/concepts/memory-system-of-record-vs-ephemeral-cache.md +0 -47
- package/vault/wiki/concepts/meta-agent-context-pruning.md +0 -151
- package/vault/wiki/concepts/model-adaptive-harness.md +0 -122
- package/vault/wiki/concepts/model-routing-agents.md +0 -101
- package/vault/wiki/concepts/monorepo-architecture.md +0 -45
- package/vault/wiki/concepts/multi-agent-specialization.md +0 -61
- package/vault/wiki/concepts/permission-subsystem.md +0 -16
- package/vault/wiki/concepts/pi-messenger-analysis.md +0 -243
- package/vault/wiki/concepts/pi-vscode-extension-landscape.md +0 -37
- package/vault/wiki/concepts/policy-engine-pattern.md +0 -78
- package/vault/wiki/concepts/progressive-disclosure-agents.md +0 -53
- package/vault/wiki/concepts/progressive-skill-disclosure.md +0 -17
- package/vault/wiki/concepts/provider-native-prompting.md +0 -203
- package/vault/wiki/concepts/quality-signal-sentrux.md +0 -37
- package/vault/wiki/concepts/repo-map-ranking.md +0 -42
- package/vault/wiki/concepts/result-monad-error-handling.md +0 -47
- package/vault/wiki/concepts/safety-defense-in-depth.md +0 -83
- package/vault/wiki/concepts/sandbox-os-enforcement.md +0 -18
- package/vault/wiki/concepts/selective-debate-routing.md +0 -70
- package/vault/wiki/concepts/self-evolving-harness.md +0 -60
- package/vault/wiki/concepts/sentrux-mcp-integration.md +0 -36
- package/vault/wiki/concepts/sentrux-rules-engine.md +0 -49
- package/vault/wiki/concepts/shell-pattern-compression.md +0 -24
- package/vault/wiki/concepts/skill-first-architecture.md +0 -166
- package/vault/wiki/concepts/structured-compaction.md +0 -78
- package/vault/wiki/concepts/subagent-orchestration.md +0 -17
- package/vault/wiki/concepts/subagent-worktree-isolation.md +0 -68
- package/vault/wiki/concepts/superpowers-methodology.md +0 -78
- package/vault/wiki/concepts/think-in-code.md +0 -73
- package/vault/wiki/concepts/ts-execution-layer.md +0 -100
- package/vault/wiki/concepts/typescript-strict-mode.md +0 -37
- package/vault/wiki/concepts/vcc-conversation-compaction-for-pi.md +0 -53
- package/vault/wiki/concepts/verification-drift-detection.md +0 -19
- package/vault/wiki/consensus/consensus-records.md +0 -58
- package/vault/wiki/decisions/2026-04-30-pi-lean-ctx-native.md +0 -122
- package/vault/wiki/decisions/2026-05-07-replace-lean-ctx-with-context-mode.md +0 -59
- package/vault/wiki/decisions/adr-008.md +0 -40
- package/vault/wiki/decisions/adr-009.md +0 -46
- package/vault/wiki/decisions/adr-010.md +0 -55
- package/vault/wiki/decisions/adr-011.md +0 -165
- package/vault/wiki/decisions/adr-012.md +0 -102
- package/vault/wiki/decisions/adr-013.md +0 -59
- package/vault/wiki/decisions/adr-014.md +0 -73
- package/vault/wiki/decisions/adr-015.md +0 -81
- package/vault/wiki/decisions/adr-016.md +0 -91
- package/vault/wiki/decisions/adr-017.md +0 -79
- package/vault/wiki/decisions/adr-018.md +0 -100
- package/vault/wiki/decisions/adr-019.md +0 -75
- package/vault/wiki/decisions/adr-020.md +0 -106
- package/vault/wiki/decisions/adr-021.md +0 -86
- package/vault/wiki/decisions/adr-022.md +0 -113
- package/vault/wiki/decisions/adr-023.md +0 -113
- package/vault/wiki/decisions/adr-024.md +0 -73
- package/vault/wiki/decisions/adr-025.md +0 -130
- package/vault/wiki/decisions/adr-026.md +0 -56
- package/vault/wiki/decisions/adr-027.md +0 -94
- package/vault/wiki/decisions/colocate-wiki.md +0 -34
- package/vault/wiki/entities/Anders Hejlsberg.md +0 -29
- package/vault/wiki/entities/Anthropic.md +0 -17
- package/vault/wiki/entities/Augment Code.md +0 -49
- package/vault/wiki/entities/Bjarne Stroustrup.md +0 -26
- package/vault/wiki/entities/Bolt.new (StackBlitz).md +0 -39
- package/vault/wiki/entities/Boris Cherny.md +0 -11
- package/vault/wiki/entities/Claude Code.md +0 -19
- package/vault/wiki/entities/Dennis Ritchie.md +0 -26
- package/vault/wiki/entities/Emergent Labs.md +0 -32
- package/vault/wiki/entities/Google Cloud.md +0 -16
- package/vault/wiki/entities/Guido van Rossum.md +0 -28
- package/vault/wiki/entities/Ken Thompson.md +0 -28
- package/vault/wiki/entities/Lee et al.md +0 -16
- package/vault/wiki/entities/Linus Torvalds.md +0 -28
- package/vault/wiki/entities/Lovable (company).md +0 -40
- package/vault/wiki/entities/Martin Fowler.md +0 -16
- package/vault/wiki/entities/Meng et al.md +0 -16
- package/vault/wiki/entities/OpenAI.md +0 -16
- package/vault/wiki/entities/Rocket.new.md +0 -38
- package/vault/wiki/entities/VILA-Lab.md +0 -15
- package/vault/wiki/entities/autodev-codebase.md +0 -18
- package/vault/wiki/entities/ck-tool.md +0 -59
- package/vault/wiki/entities/codesearch.md +0 -18
- package/vault/wiki/entities/disler-indydevdan.md +0 -33
- package/vault/wiki/entities/gsd-get-shit-done.md +0 -56
- package/vault/wiki/entities/javascript-runtimes.md +0 -48
- package/vault/wiki/entities/jesse-vincent.md +0 -38
- package/vault/wiki/entities/lean-ctx.md +0 -32
- package/vault/wiki/entities/opendev.md +0 -41
- package/vault/wiki/entities/ops-codegraph-tool.md +0 -18
- package/vault/wiki/entities/pi-coding-agent.md +0 -53
- package/vault/wiki/entities/sentrux.md +0 -54
- package/vault/wiki/entities/vgrep-tool.md +0 -57
- package/vault/wiki/entities/vitest.md +0 -41
- package/vault/wiki/flows/harness-wiki-pipeline.md +0 -204
- package/vault/wiki/hot.md +0 -932
- package/vault/wiki/index.md +0 -437
- package/vault/wiki/log.md +0 -422
- package/vault/wiki/meta/dashboard.md +0 -30
- package/vault/wiki/meta/lint-report-2026-04-30.md +0 -86
- package/vault/wiki/meta/lint-report-2026-05-02.md +0 -251
- package/vault/wiki/meta/overview.canvas +0 -43
- package/vault/wiki/modules/adversarial-verification.md +0 -57
- package/vault/wiki/modules/automated-observability.md +0 -54
- package/vault/wiki/modules/bench.md +0 -20
- package/vault/wiki/modules/extensions.md +0 -23
- package/vault/wiki/modules/grounding-checkpoints.md +0 -62
- package/vault/wiki/modules/harness-implementation-plan.md +0 -345
- package/vault/wiki/modules/harness-wiki-skill-mapping.md +0 -135
- package/vault/wiki/modules/harness.md +0 -86
- package/vault/wiki/modules/persistent-memory.md +0 -85
- package/vault/wiki/modules/schema-orchestration.md +0 -68
- package/vault/wiki/modules/skills.md +0 -27
- package/vault/wiki/modules/spec-hardening.md +0 -58
- package/vault/wiki/modules/structured-planning.md +0 -53
- package/vault/wiki/modules/think-in-code-enforcement.md +0 -153
- package/vault/wiki/modules/wiki-query-interface.md +0 -64
- package/vault/wiki/overview.md +0 -51
- package/vault/wiki/questions/Research-pi-vs-claude-code-agentic-orchestration-pipeline.md +0 -87
- package/vault/wiki/questions/Research-sentrux-dev.md +0 -123
- package/vault/wiki/questions/Research-superpowers-skill-for-agentic-coding-agents.md +0 -164
- package/vault/wiki/questions/Research: Augment Code Context Engine.md +0 -244
- package/vault/wiki/questions/Research: Automating Software Engineering - Lovable, Bolt, Emergent, Rocket.md +0 -112
- package/vault/wiki/questions/Research: Claude Code State-of-the-Art Harness Improvements.md +0 -209
- package/vault/wiki/questions/Research: Codex State-of-the-Art Harness Improvements.md +0 -99
- package/vault/wiki/questions/Research: Engineering Workflows of Legendary Programmers and AI Harness Mapping.md +0 -107
- package/vault/wiki/questions/Research: Fallow Codebase Intelligence Harness Integration.md +0 -72
- package/vault/wiki/questions/Research: Gemini CLI SOTA Harness Integration.md +0 -166
- package/vault/wiki/questions/Research: GitHub Issues as Harness Spec Storage.md +0 -188
- package/vault/wiki/questions/Research: Google Antigravity Harness Integration.md +0 -120
- package/vault/wiki/questions/Research: Meta-Agent Context Drift Detection.md +0 -236
- package/vault/wiki/questions/Research: Model-Adaptive Agent Harness Design.md +0 -95
- package/vault/wiki/questions/Research: Model-Specific Prompting Guides.md +0 -165
- package/vault/wiki/questions/Research: Prompt Renderer for Multi-Model Agent Harness.md +0 -216
- package/vault/wiki/questions/Research: Skill-First Harness Architecture.md +0 -91
- package/vault/wiki/questions/Research: TypeScript Best Practices and Codebase Structure.md +0 -88
- package/vault/wiki/questions/Research: TypeScript Execution Layer for Agent Tool Calling.md +0 -81
- package/vault/wiki/questions/Research: claude-mem over Obsidian for Harness Layer.md +0 -71
- package/vault/wiki/questions/Research: claude-mem over obsidian wiki as the knowledge base for our agentic harness pipeline. think from first principles. does this replace or complement our current setup? no hard feelings about previous decisions. gimme accurate points.md +0 -80
- package/vault/wiki/questions/Research: context-mode vs lean-ctx.md +0 -72
- package/vault/wiki/questions/Research: cursor.sh Harness Innovations.md +0 -92
- package/vault/wiki/questions/Research: executor.sh Harness Integration.md +0 -170
- package/vault/wiki/questions/Research: how GSD fits into our coding harness setup.md +0 -97
- package/vault/wiki/questions/Research: how claude-mem fits into our workflow. and whether it should replace obsidian in the codebase. no hard feelings about previous actions, rethink from first principles always.md +0 -80
- package/vault/wiki/questions/Research: pi-vcc.md +0 -113
- package/vault/wiki/questions/Research: semantic code search tools.md +0 -69
- package/vault/wiki/questions/Research: vcc extension for pi coding agent.md +0 -73
- package/vault/wiki/questions/how-to-enable-semantic-code-search-now.md +0 -111
- package/vault/wiki/questions/mvp-implementation-blueprint.md +0 -552
- package/vault/wiki/questions/research-agent-first-codebase-exploration.md +0 -199
- package/vault/wiki/questions/research-agentic-coding-harness-latest-papers.md +0 -142
- package/vault/wiki/questions/research-gitingest-gitreverse-integration.md +0 -100
- package/vault/wiki/questions/research-wozcode-token-reduction.md +0 -67
- package/vault/wiki/questions/resolved-context-pruning-inplace-vs-restart.md +0 -95
- package/vault/wiki/questions/resolved-context-window-economics.md +0 -167
- package/vault/wiki/questions/resolved-imad-debate-gating-transfer.md +0 -126
- package/vault/wiki/questions/resolved-mcp-tool-preference.md +0 -112
- package/vault/wiki/questions/resolved-small-model-meta-agents.md +0 -107
- package/vault/wiki/questions/resolved-treesitter-dynamic-languages.md +0 -95
- package/vault/wiki/sources/Auggie Context MCP Server.md +0 -63
- package/vault/wiki/sources/Augment Code Codacy AI Giants.md +0 -61
- package/vault/wiki/sources/Augment Code MCP SiliconAngle.md +0 -49
- package/vault/wiki/sources/Augment Code WorkOS ERC 2025.md +0 -55
- package/vault/wiki/sources/Augment Context Engine Official.md +0 -71
- package/vault/wiki/sources/Augment SWE-bench Agent GitHub.md +0 -74
- package/vault/wiki/sources/Augment SWE-bench Pro Blog.md +0 -58
- package/vault/wiki/sources/Source: AgentBus Jinja2 Prompt Pipelines.md +0 -75
- package/vault/wiki/sources/Source: Arxiv /342/200/224 Don't Break the Cache.md" +0 -85
- package/vault/wiki/sources/Source: Augment - Harness Engineering for AI Coding Agents.md +0 -58
- package/vault/wiki/sources/Source: Blake Crosley Agent Architecture Guide.md +0 -100
- package/vault/wiki/sources/Source: Bolt.new Architecture & Case Study.md +0 -75
- package/vault/wiki/sources/Source: Build-Time Prompt Compilation Architecture.md +0 -107
- package/vault/wiki/sources/Source: Claude API Agent Skills Overview.md +0 -70
- package/vault/wiki/sources/Source: Gemini CLI Changelogs.md +0 -88
- package/vault/wiki/sources/Source: Google Blog - Gemini CLI Announcement.md +0 -57
- package/vault/wiki/sources/Source: Google Gemini CLI Architecture Docs.md +0 -53
- package/vault/wiki/sources/Source: LangChain - Anatomy of Agent Harness.md +0 -65
- package/vault/wiki/sources/Source: Lovable Architecture & Clone Analysis.md +0 -83
- package/vault/wiki/sources/Source: Martin Fowler - Harness Engineering.md +0 -70
- package/vault/wiki/sources/Source: OpenAI Harness Engineering Five Principles.md +0 -58
- package/vault/wiki/sources/Source: OpenAI Harness Engineering /342/200/224 0 Lines of Human Code.md" +0 -101
- package/vault/wiki/sources/Source: OpenDev /342/200/224 Building AI Coding Agents for the Terminal.md" +0 -100
- package/vault/wiki/sources/Source: Render AI Coding Agents Benchmark 2025.md +0 -53
- package/vault/wiki/sources/Source: Rocket.new /342/200/224 Vibe Solutioning Platform.md" +0 -70
- package/vault/wiki/sources/Source: SwirlAI Agent Skills Progressive Disclosure.md +0 -71
- package/vault/wiki/sources/Source: TianPan Prompt Caching Architecture.md +0 -89
- package/vault/wiki/sources/Source: Vercel Labs agent-browser.md +0 -155
- package/vault/wiki/sources/Source: browser-harness CDP Harness.md +0 -126
- package/vault/wiki/sources/agent-drift-academic-paper.md +0 -79
- package/vault/wiki/sources/aider-repomap-tree-sitter.md +0 -42
- package/vault/wiki/sources/anthropic-compaction-api.md +0 -58
- package/vault/wiki/sources/anthropic-effective-harnesses.md +0 -42
- package/vault/wiki/sources/anthropic-prompt-best-practices.md +0 -100
- package/vault/wiki/sources/anthropic2026-harness-design.md +0 -63
- package/vault/wiki/sources/barrel-files-tkdodo.md +0 -38
- package/vault/wiki/sources/birth-of-unix-kernighan-interview.md +0 -57
- package/vault/wiki/sources/bockeler2026-harness-engineering.md +0 -69
- package/vault/wiki/sources/cast-code-chunking-paper.md +0 -50
- package/vault/wiki/sources/ck-semantic-search.md +0 -78
- package/vault/wiki/sources/claude-code-architecture-karaxai-2026.md +0 -71
- package/vault/wiki/sources/claude-code-architecture-qubytes-2026.md +0 -50
- package/vault/wiki/sources/claude-code-architecture-vila-lab-2026.md +0 -64
- package/vault/wiki/sources/claude-code-security-architecture-penligent-2026.md +0 -70
- package/vault/wiki/sources/claude-context-editing-docs.md +0 -13
- package/vault/wiki/sources/cloudflare-codemode.md +0 -63
- package/vault/wiki/sources/code-chunk-library-supermemory.md +0 -63
- package/vault/wiki/sources/codeact-apple-2024.md +0 -62
- package/vault/wiki/sources/codex-dsc-rfc-8573.md +0 -41
- package/vault/wiki/sources/codex-open-source-agent-2026.md +0 -110
- package/vault/wiki/sources/coir-code-retrieval-benchmark.md +0 -51
- package/vault/wiki/sources/colinmcnamara-context-optimization-codemode.md +0 -48
- package/vault/wiki/sources/context-folding-paper.md +0 -61
- package/vault/wiki/sources/context-mode-website.md +0 -63
- package/vault/wiki/sources/cursor-agent-best-practices-2026.md +0 -62
- package/vault/wiki/sources/cursor-fork-29b-2025.md +0 -50
- package/vault/wiki/sources/cursor-harness-april-2026.md +0 -76
- package/vault/wiki/sources/cursor-instant-apply-2024.md +0 -45
- package/vault/wiki/sources/cursor-shadow-workspace-2024.md +0 -52
- package/vault/wiki/sources/cursor-shipped-coding-agent-2026.md +0 -53
- package/vault/wiki/sources/cursor-vs-antigravity-2026.md +0 -51
- package/vault/wiki/sources/disler-pi-vs-claude-code.md +0 -69
- package/vault/wiki/sources/distill-deterministic-context-compression.md +0 -53
- package/vault/wiki/sources/embedding-models-benchmark-supermemory-2025.md +0 -48
- package/vault/wiki/sources/executor-rhyssullivan.md +0 -122
- package/vault/wiki/sources/fallow-rs-codebase-intelligence.md +0 -125
- package/vault/wiki/sources/fan2025-imad.md +0 -60
- package/vault/wiki/sources/forgecode-gpt5-agent-improvements.md +0 -63
- package/vault/wiki/sources/gemini-3-prompting-guide.md +0 -78
- package/vault/wiki/sources/gh-cli-sub-issue-rfc.md +0 -50
- package/vault/wiki/sources/gh-sub-issue-extension.md +0 -72
- package/vault/wiki/sources/github-fork-issues-discussion.md +0 -44
- package/vault/wiki/sources/github-issue-dependencies-docs.md +0 -49
- package/vault/wiki/sources/github-sub-issues-docs.md +0 -51
- package/vault/wiki/sources/gitingest.md +0 -91
- package/vault/wiki/sources/gitreverse.md +0 -63
- package/vault/wiki/sources/google-antigravity-official-blog.md +0 -47
- package/vault/wiki/sources/google-antigravity-wikipedia.md +0 -53
- package/vault/wiki/sources/gsd-codecentric-deep-dive.md +0 -57
- package/vault/wiki/sources/gsd-github-repo.md +0 -51
- package/vault/wiki/sources/gsd-hn-discussion.md +0 -59
- package/vault/wiki/sources/guido-python-design-philosophy.md +0 -56
- package/vault/wiki/sources/hejlsberg-7-learnings.md +0 -48
- package/vault/wiki/sources/ironclaw-drift-monitor.md +0 -80
- package/vault/wiki/sources/langsight-loop-detection.md +0 -80
- package/vault/wiki/sources/leanctx-website.md +0 -69
- package/vault/wiki/sources/lee2026-meta-harness.md +0 -59
- package/vault/wiki/sources/linux-kernel-coding-workflow.md +0 -50
- package/vault/wiki/sources/lou2026-autoharness.md +0 -53
- package/vault/wiki/sources/martin-fowler-harness-engineering.md +0 -73
- package/vault/wiki/sources/mcp-architecture-docs.md +0 -13
- package/vault/wiki/sources/meng2026-agent-harness-survey.md +0 -79
- package/vault/wiki/sources/mindstudio-four-agent-types.md +0 -68
- package/vault/wiki/sources/ms-chat-history-management.md +0 -13
- package/vault/wiki/sources/openai-prompt-guidance.md +0 -104
- package/vault/wiki/sources/openclaw-session-pruning.md +0 -13
- package/vault/wiki/sources/opencode-dcp.md +0 -13
- package/vault/wiki/sources/opendev-arxiv-2603.05344v1.md +0 -79
- package/vault/wiki/sources/openhands-platform.md +0 -39
- package/vault/wiki/sources/oss-guide-codebase-exploration.md +0 -53
- package/vault/wiki/sources/pi-compaction-extensions-ecosystem.md +0 -102
- package/vault/wiki/sources/pi-context-prune-github-repo.md +0 -38
- package/vault/wiki/sources/pi-mono-compaction-docs.md +0 -38
- package/vault/wiki/sources/pi-omni-compact-github-repo.md +0 -50
- package/vault/wiki/sources/pi-rtk-optimizer-github-repo.md +0 -45
- package/vault/wiki/sources/pi-vcc-github-repo.md +0 -69
- package/vault/wiki/sources/pi-vscode-marketplace.md +0 -41
- package/vault/wiki/sources/pi-vscode-model-provider-marketplace.md +0 -39
- package/vault/wiki/sources/py-tree-sitter.md +0 -13
- package/vault/wiki/sources/sentrux-dev-landing.md +0 -40
- package/vault/wiki/sources/sentrux-docs-pro-architecture.md +0 -75
- package/vault/wiki/sources/sentrux-docs-quality-signal.md +0 -46
- package/vault/wiki/sources/sentrux-docs-root-cause-metrics.md +0 -57
- package/vault/wiki/sources/sentrux-docs-rules-engine.md +0 -58
- package/vault/wiki/sources/sentrux-github-repo.md +0 -56
- package/vault/wiki/sources/superpowers-github-repo.md +0 -56
- package/vault/wiki/sources/superpowers-release-blog.md +0 -54
- package/vault/wiki/sources/superpowers-termdock-analysis.md +0 -45
- package/vault/wiki/sources/swe-agent-aci.md +0 -42
- package/vault/wiki/sources/swe-bench.md +0 -45
- package/vault/wiki/sources/swe-pruner-context-pruning.md +0 -13
- package/vault/wiki/sources/think-in-code-blog.md +0 -48
- package/vault/wiki/sources/tree-sitter-docs.md +0 -13
- package/vault/wiki/sources/ts-best-practices-2025-devto.md +0 -42
- package/vault/wiki/sources/ts-folder-structure-mingyang.md +0 -58
- package/vault/wiki/sources/ts-monorepo-koerselman.md +0 -44
- package/vault/wiki/sources/ts-result-error-handling-kkalamarski.md +0 -52
- package/vault/wiki/sources/ts-runtimes-comparison-betterstack.md +0 -42
- package/vault/wiki/sources/ts-strict-mode-rishikc.md +0 -43
- package/vault/wiki/sources/unix-philosophy.md +0 -48
- package/vault/wiki/sources/vectara-chunking-vs-embedding-naacl2025.md +0 -39
- package/vault/wiki/sources/vectara-guardian-agents.md +0 -79
- package/vault/wiki/sources/vgrep-semantic-search.md +0 -76
- package/vault/wiki/sources/vitest-official.md +0 -41
- package/vault/wiki/sources/vscode-pi-community-extension.md +0 -40
- package/vault/wiki/sources/wozcode.md +0 -79
package/CONTRIBUTING.md
CHANGED
|
@@ -34,6 +34,45 @@ npm run check:ts # typecheck extensions
|
|
|
34
34
|
|
|
35
35
|
Pre-commit hooks run `biome check` and `tsc` on staged files automatically.
|
|
36
36
|
|
|
37
|
+
## Sentrux (architectural quality gate)
|
|
38
|
+
|
|
39
|
+
[Sentrux](https://github.com/sentrux/sentrux) provides real-time structural quality metrics for AI-agent-written code. It acts as a feedback loop sensor — scanning codebase architecture, detecting degradation, and enforcing rules via MCP.
|
|
40
|
+
|
|
41
|
+
### Quick start
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Install (macOS / Linux / Windows)
|
|
45
|
+
curl -fsSL https://raw.githubusercontent.com/sentrux/sentrux/main/install.sh | sh
|
|
46
|
+
|
|
47
|
+
# Install all 52 language plugins
|
|
48
|
+
sentrux plugin add-standard
|
|
49
|
+
|
|
50
|
+
# Run a quality scan
|
|
51
|
+
sentrux check .
|
|
52
|
+
|
|
53
|
+
# Save baseline before agent session
|
|
54
|
+
sentrux gate --save .
|
|
55
|
+
|
|
56
|
+
# Compare after — catches degradation
|
|
57
|
+
sentrux gate .
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### MCP Integration
|
|
61
|
+
|
|
62
|
+
The sentrux MCP server is configured in `.pi/mcp.json`. Agents can use tools like `scan`, `session_start`, `session_end`, `check_rules`, `health`, and `evolution` to monitor code quality during development.
|
|
63
|
+
|
|
64
|
+
### Rules Engine
|
|
65
|
+
|
|
66
|
+
Create `.sentrux/rules.toml` to define architectural constraints:
|
|
67
|
+
|
|
68
|
+
```toml
|
|
69
|
+
[constraints]
|
|
70
|
+
max_cycles = 0
|
|
71
|
+
max_coupling = "B"
|
|
72
|
+
max_cc = 25
|
|
73
|
+
no_god_files = true
|
|
74
|
+
```
|
|
75
|
+
|
|
37
76
|
## Firecrawl (self-hosted web scraping)
|
|
38
77
|
|
|
39
78
|
The Firecrawl skill depends on a Firecrawl instance. This repo includes a self-hosted setup powered by Docker.
|
|
@@ -89,6 +128,18 @@ Configurable via env vars (set before launching pi):
|
|
|
89
128
|
- Reloads on `/reload`.
|
|
90
129
|
- Status command: `/env-loader-status`
|
|
91
130
|
|
|
131
|
+
### Harness governance extensions
|
|
132
|
+
|
|
133
|
+
These Pi extensions are loaded from `.pi/extensions/` via the root `package.json`
|
|
134
|
+
`pi.extensions` manifest (no extra registration needed):
|
|
135
|
+
|
|
136
|
+
- `.pi/extensions/policy-gate.ts` — plan-before-mutate + phase enforcement
|
|
137
|
+
- `.pi/extensions/budget-guard.ts` — budget hard-stop and `budget_exhausted` events
|
|
138
|
+
- `.pi/extensions/trace-recorder.ts` — run trace artifacts in `.pi/harness/runs/`
|
|
139
|
+
- `.pi/extensions/review-integrity.ts` — evaluator/adversary session isolation checks
|
|
140
|
+
- `.pi/extensions/test-diff-integrity.ts` — suspicious test diff detection/escalation
|
|
141
|
+
- `.pi/extensions/debate-orchestrator.ts` — headless debate bus + consensus packets
|
|
142
|
+
|
|
92
143
|
### PostHog analytics
|
|
93
144
|
|
|
94
145
|
`@posthog/pi` — wraps the upstream [posthog-pi](https://github.com/PostHog/posthog-pi) extension to capture AI generation spans, tool spans, and traces in [PostHog](https://posthog.com). Install via `pi install @posthog/pi`. See the upstream repo for configuration and env vars.
|
|
@@ -103,7 +154,6 @@ Configurable via env vars (set before launching pi):
|
|
|
103
154
|
| firecrawl (13 skills) | [firecrawl](https://firecrawl.dev) |
|
|
104
155
|
| obsidian/wiki skills (11 skills) | [AgriciDaniel/claude-obsidian](https://github.com/AgriciDaniel/claude-obsidian) |
|
|
105
156
|
| posthog-analyst | bundled (PostHog MCP integration) |
|
|
106
|
-
| defuddle | bundled (web content cleaning) |
|
|
107
157
|
|
|
108
158
|
### Firecrawl sub-skills
|
|
109
159
|
|
package/README.md
CHANGED
|
@@ -2,50 +2,294 @@
|
|
|
2
2
|
|
|
3
3
|
> The **ultimate AI coding harness** on top of [**pi.dev**](https://pi.dev).
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## What this project is
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
1. Uses compressed context before raw tool spam,
|
|
9
|
-
2. Stays concise and deterministic in output style,
|
|
10
|
-
3. Is easy to extend with skills and extensions.
|
|
7
|
+
`ultimate-pi` is a production-oriented harness for AI-assisted coding with strict safety and governance built in.
|
|
11
8
|
|
|
12
|
-
|
|
9
|
+
It gives you:
|
|
10
|
+
|
|
11
|
+
- A phase-based workflow (`plan -> execute -> evaluate -> adversary -> merge`)
|
|
12
|
+
- Enforcement that blocks unsafe behavior (for example, mutating code before planning)
|
|
13
|
+
- Structured artifacts in `.pi/harness/` for auditability and replay
|
|
14
|
+
- A practical bootstrap command that sets up tools, graph, and runtime integrations
|
|
15
|
+
|
|
16
|
+
If you are new: start with the **Quick Start** section and run one task through the full pipeline.
|
|
17
|
+
|
|
18
|
+
## 5-minute quickstart
|
|
19
|
+
|
|
20
|
+
If you just want to get started fast:
|
|
21
|
+
|
|
22
|
+
1. Install into your current project:
|
|
13
23
|
|
|
14
24
|
```bash
|
|
15
|
-
|
|
25
|
+
pi install npm:ultimate-pi
|
|
26
|
+
/reload
|
|
16
27
|
```
|
|
17
28
|
|
|
18
|
-
|
|
29
|
+
2. Bootstrap the harness:
|
|
19
30
|
|
|
20
|
-
```
|
|
21
|
-
|
|
31
|
+
```text
|
|
32
|
+
/harness-setup
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
3. Run your first task:
|
|
36
|
+
|
|
37
|
+
```text
|
|
38
|
+
/harness-auto "implement feature X safely"
|
|
22
39
|
```
|
|
23
40
|
|
|
24
|
-
|
|
41
|
+
That command runs the strict pipeline:
|
|
42
|
+
`plan -> execute -> evaluate -> adversary -> policy decision`.
|
|
43
|
+
|
|
44
|
+
If it blocks, inspect with:
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
/harness-trace-last
|
|
48
|
+
/harness-policy-status
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Table of Contents
|
|
52
|
+
|
|
53
|
+
- [5-minute quickstart](#5-minute-quickstart)
|
|
54
|
+
- [How the harness works](#how-the-harness-works)
|
|
55
|
+
- [Prerequisites](#prerequisites)
|
|
56
|
+
- [Quick Start (new users)](#quick-start-new-users)
|
|
57
|
+
- [Run your first harness task](#run-your-first-harness-task)
|
|
58
|
+
- [Command reference](#command-reference)
|
|
59
|
+
- [Harness artifacts and file layout](#harness-artifacts-and-file-layout)
|
|
60
|
+
- [Safety and governance defaults](#safety-and-governance-defaults)
|
|
61
|
+
- [Router tuning flow](#router-tuning-flow)
|
|
62
|
+
- [Troubleshooting](#troubleshooting)
|
|
63
|
+
- [Contributing](#contributing)
|
|
64
|
+
|
|
65
|
+
## How the harness works
|
|
66
|
+
|
|
67
|
+
The harness enforces a deterministic execution lifecycle:
|
|
68
|
+
|
|
69
|
+
1. **Plan**
|
|
70
|
+
Create a `PlanPacket` before any mutating work.
|
|
71
|
+
2. **Execute**
|
|
72
|
+
Implement only within the approved plan scope.
|
|
73
|
+
3. **Evaluate**
|
|
74
|
+
Run independent evaluation and produce an `EvalVerdict`.
|
|
75
|
+
4. **Adversary**
|
|
76
|
+
Run adversarial review and produce an `AdversaryReport`.
|
|
77
|
+
5. **Policy / Merge decision**
|
|
78
|
+
Debate consensus + severity policy decides `pass`, `conditional_pass`, `block`, or `human_required`.
|
|
79
|
+
|
|
80
|
+
### Why this matters
|
|
81
|
+
|
|
82
|
+
- You get fewer silent mistakes.
|
|
83
|
+
- Reviews are reproducible, not opinion-only.
|
|
84
|
+
- Incidents and overrides are recorded in structured, machine-readable artifacts.
|
|
85
|
+
|
|
86
|
+
## Prerequisites
|
|
87
|
+
|
|
88
|
+
Minimum recommended environment:
|
|
89
|
+
|
|
90
|
+
- `node >= 18`
|
|
91
|
+
- `npm >= 9`
|
|
92
|
+
- `git`
|
|
93
|
+
- `python >= 3.10` (for Graphify workflow)
|
|
94
|
+
|
|
95
|
+
Optional but commonly used:
|
|
96
|
+
|
|
97
|
+
- `gh` CLI for GitHub workflow
|
|
98
|
+
- Docker (only if you want self-hosted Firecrawl)
|
|
99
|
+
|
|
100
|
+
## Quick Start (new users)
|
|
101
|
+
|
|
102
|
+
From your project folder:
|
|
25
103
|
|
|
26
104
|
```bash
|
|
105
|
+
pi install npm:ultimate-pi
|
|
27
106
|
/reload
|
|
28
107
|
```
|
|
29
108
|
|
|
30
|
-
|
|
109
|
+
Run the full bootstrap:
|
|
31
110
|
|
|
32
|
-
```
|
|
33
|
-
|
|
111
|
+
```text
|
|
112
|
+
/harness-setup
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
`/harness-setup` is idempotent and designed as the one-command initializer for:
|
|
116
|
+
|
|
117
|
+
- Graphify knowledge graph setup
|
|
118
|
+
- CLI tool installation and checks
|
|
119
|
+
- Harness/runtime directory scaffolding
|
|
120
|
+
- Extension package verification
|
|
121
|
+
- Model-router bootstrap configuration
|
|
122
|
+
|
|
123
|
+
## Run your first harness task
|
|
124
|
+
|
|
125
|
+
### Fastest path
|
|
126
|
+
|
|
127
|
+
Use the one-command pipeline:
|
|
128
|
+
|
|
129
|
+
```text
|
|
130
|
+
/harness-auto "implement feature X safely"
|
|
34
131
|
```
|
|
35
132
|
|
|
36
|
-
|
|
133
|
+
This runs:
|
|
134
|
+
|
|
135
|
+
`plan -> execute -> evaluate -> adversary -> policy decision -> commit/PR (no auto-merge)`
|
|
37
136
|
|
|
38
|
-
|
|
137
|
+
### Manual path (recommended for learning)
|
|
39
138
|
|
|
139
|
+
1. Plan
|
|
140
|
+
|
|
141
|
+
```text
|
|
142
|
+
/harness-plan "implement feature X safely"
|
|
40
143
|
```
|
|
41
|
-
|
|
144
|
+
|
|
145
|
+
2. Execute with approved plan:
|
|
146
|
+
|
|
147
|
+
```text
|
|
148
|
+
/harness-run --plan <path-to-plan-packet.json>
|
|
42
149
|
```
|
|
43
150
|
|
|
44
|
-
|
|
151
|
+
3. Evaluate:
|
|
45
152
|
|
|
46
|
-
|
|
153
|
+
```text
|
|
154
|
+
/harness-eval --run <run-id>
|
|
155
|
+
/harness-review --run <run-id>
|
|
156
|
+
```
|
|
47
157
|
|
|
158
|
+
4. Adversarial review:
|
|
159
|
+
|
|
160
|
+
```text
|
|
161
|
+
/harness-critic --run <run-id>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
5. If blocked or ambiguous, record incident:
|
|
165
|
+
|
|
166
|
+
```text
|
|
167
|
+
/harness-incident --run <run-id> --trigger "<reason>"
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
6. Trace/debug:
|
|
171
|
+
|
|
172
|
+
```text
|
|
173
|
+
/harness-trace --run <run-id>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Command reference
|
|
177
|
+
|
|
178
|
+
### Core workflow commands
|
|
179
|
+
|
|
180
|
+
- `/harness-setup` - bootstrap complete environment and harness scaffolding
|
|
181
|
+
- `/harness-auto "<task>"` - run strict end-to-end pipeline
|
|
182
|
+
- `/harness-plan "<task>"` - generate read-only `PlanPacket`
|
|
183
|
+
- `/harness-run --plan <file>` - execute approved scope only
|
|
184
|
+
- `/harness-eval --run <run-id>` - benchmark/evaluation summary
|
|
185
|
+
- `/harness-review --run <run-id>` - independent evaluator verdict
|
|
186
|
+
- `/harness-critic --run <run-id>` - adversarial findings and merge-block signal
|
|
187
|
+
- `/harness-incident --run <run-id> --trigger "<reason>"` - incident record
|
|
188
|
+
- `/harness-trace --run <run-id>` - replay and artifact completeness
|
|
189
|
+
- `/harness-abort [reason]` - reset safely to plan phase and lock mutation until new plan
|
|
190
|
+
|
|
191
|
+
### Operational/status commands
|
|
192
|
+
|
|
193
|
+
- `/harness-policy-status`
|
|
194
|
+
- `/harness-budget-status`
|
|
195
|
+
- `/harness-review-integrity-status`
|
|
196
|
+
- `/harness-test-integrity-last`
|
|
197
|
+
- `/harness-trace-last`
|
|
198
|
+
- `/harness-debate-open`
|
|
199
|
+
- `/harness-debate-round`
|
|
200
|
+
- `/harness-debate-consensus`
|
|
201
|
+
|
|
202
|
+
## Harness artifacts and file layout
|
|
203
|
+
|
|
204
|
+
Primary harness directories:
|
|
205
|
+
|
|
206
|
+
- `.pi/harness/specs/` - JSON schemas for core contracts
|
|
207
|
+
- `.pi/harness/runs/` - per-run trace summaries + event indexes
|
|
208
|
+
- `.pi/harness/incidents/` - incident and policy override records
|
|
209
|
+
- `.pi/harness/debates/` - debate rounds, consensus packets, budget events
|
|
210
|
+
- `.pi/harness/router/` - router tuning proposals and apply flow scripts
|
|
211
|
+
|
|
212
|
+
Core contract schemas in `.pi/harness/specs/`:
|
|
213
|
+
|
|
214
|
+
- `PlanPacket`
|
|
215
|
+
- `RunTrace`
|
|
216
|
+
- `EvalVerdict`
|
|
217
|
+
- `AdversaryReport`
|
|
218
|
+
- `RoundResult`
|
|
219
|
+
- `ConsensusPacket`
|
|
220
|
+
- `BudgetExhausted`
|
|
221
|
+
- `IncidentRecord`
|
|
222
|
+
- `RouterTuningProposal`
|
|
223
|
+
|
|
224
|
+
## Safety and governance defaults
|
|
225
|
+
|
|
226
|
+
The harness intentionally locks in these behaviors:
|
|
227
|
+
|
|
228
|
+
- **Plan-before-mutate**: write/edit/mutating shell commands blocked outside execute phase
|
|
229
|
+
- **Mandatory adversarial review** in the strict pipeline
|
|
230
|
+
- **Review isolation**: evaluator/adversary cannot share executor session context
|
|
231
|
+
- **Budget hard-stops** with structured `budget_exhausted` events
|
|
232
|
+
- **Test-diff integrity checks** for suspicious test weakening patterns
|
|
233
|
+
- **Severity policy thresholds**:
|
|
234
|
+
- block if `security >= 0.70` or `correctness >= 0.70`
|
|
235
|
+
- block if `architecture >= 0.80` or `test_integrity >= 0.80`
|
|
236
|
+
- **Override policy**: single human approver with explicit justification
|
|
237
|
+
- **Never auto-merge**
|
|
238
|
+
|
|
239
|
+
## Router tuning flow
|
|
240
|
+
|
|
241
|
+
Router changes are two-step and approval-gated:
|
|
242
|
+
|
|
243
|
+
1. Propose (no live mutation):
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
node .pi/harness/router/propose-router-tuning.mjs \
|
|
247
|
+
--evidence /path/to/evidence.json \
|
|
248
|
+
--candidate /path/to/candidate-router.json \
|
|
249
|
+
--proposal-out .pi/harness/router/proposals/proposal-001.json
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
2. Apply (explicit human approval + justification + `--write`):
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
node .pi/harness/router/apply-router-proposal.mjs \
|
|
256
|
+
--proposal .pi/harness/router/proposals/proposal-001.json \
|
|
257
|
+
--approve-by "human.name" \
|
|
258
|
+
--justification "why this is safe" \
|
|
259
|
+
--write
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
Blind writes to `.pi/model-router.json` are intentionally disallowed.
|
|
263
|
+
|
|
264
|
+
## Troubleshooting
|
|
265
|
+
|
|
266
|
+
### `/harness-setup` fails early
|
|
267
|
+
|
|
268
|
+
- Check `node --version`, `npm --version`, `git --version`
|
|
269
|
+
- Ensure Node is at least 18
|
|
270
|
+
|
|
271
|
+
### Graphify not available
|
|
272
|
+
|
|
273
|
+
- Install Python 3.10+
|
|
274
|
+
- Then install Graphify and build/update graph
|
|
275
|
+
|
|
276
|
+
### Review/integrity blocks in evaluate/adversary phase
|
|
277
|
+
|
|
278
|
+
- This means review is not isolated from execute context
|
|
279
|
+
- Fork/switch session, then rerun review commands
|
|
280
|
+
|
|
281
|
+
### Budget hard-stop triggers
|
|
282
|
+
|
|
283
|
+
- Use `/harness-budget-status`
|
|
284
|
+
- Reduce scope, split task, or restart with a narrower plan
|
|
285
|
+
|
|
286
|
+
### Suspicious test diff warning
|
|
287
|
+
|
|
288
|
+
- Use `/harness-test-integrity-last`
|
|
289
|
+
- Restore or justify test changes; expect adversarial scrutiny
|
|
48
290
|
|
|
49
291
|
## Contributing
|
|
50
292
|
|
|
51
|
-
|
|
293
|
+
For local dev setup, lint/test commands, Firecrawl notes, extension details, and architectural quality gate workflow, see:
|
|
294
|
+
|
|
295
|
+
- [CONTRIBUTING.md](./CONTRIBUTING.md)
|
package/biome.json
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/2.
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.4.14/schema.json",
|
|
3
3
|
"vcs": {
|
|
4
4
|
"enabled": true,
|
|
5
5
|
"clientKind": "git",
|
|
6
6
|
"useIgnoreFile": true
|
|
7
7
|
},
|
|
8
8
|
"files": {
|
|
9
|
-
"ignoreUnknown": false
|
|
9
|
+
"ignoreUnknown": false,
|
|
10
|
+
"maxSize": 5242880,
|
|
11
|
+
"includes": [
|
|
12
|
+
"**/*.{ts,tsx,js,jsx,json,jsonc,css}",
|
|
13
|
+
"!graphify-out/**/*",
|
|
14
|
+
"!graphify-books-out/**/*"
|
|
15
|
+
]
|
|
10
16
|
},
|
|
11
17
|
"formatter": {
|
|
12
18
|
"enabled": true,
|
package/lefthook.yml
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
pre-commit:
|
|
2
2
|
commands:
|
|
3
3
|
lint:
|
|
4
|
-
glob: "*.{ts,js,json
|
|
5
|
-
|
|
4
|
+
glob: "*.{ts,js,json}"
|
|
5
|
+
exclude: "graphify-out/**/*"
|
|
6
|
+
run: npx @biomejs/biome check --no-errors-on-unmatched --write {staged_files}
|
|
6
7
|
typecheck:
|
|
7
8
|
glob: "*.ts"
|
|
8
9
|
run: npm run check:ts
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# pi-vcc
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@sting8k/pi-vcc)
|
|
4
|
+
|
|
5
|
+
Algorithmic conversation compactor for [Pi](https://github.com/badlogic/pi-mono). No LLM calls — produces a brief transcript via extraction and formatting.
|
|
6
|
+
|
|
7
|
+
Inspired by [VCC](https://github.com/lllyasviel/VCC) **(View-oriented Conversation Compiler)**.
|
|
8
|
+
|
|
9
|
+
## Why pi-vcc
|
|
10
|
+
|
|
11
|
+
| | Pi default | pi-vcc |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| **Method** | LLM-generated summary | Algorithmic extraction, no LLM |
|
|
14
|
+
| **Determinism** | Non-deterministic, can hallucinate | Same input = same output, always |
|
|
15
|
+
| **Token reduction** | Varies | 35-99% on real sessions (higher on longer sessions) |
|
|
16
|
+
| **Compaction latency** | Waits for LLM call | 30-470ms, no API calls |
|
|
17
|
+
| **History after compaction** | Gone — agent only sees summary | Fully searchable via `vcc_recall` |
|
|
18
|
+
| **Repeated compactions** | Each rewrite risks losing more | Sections merge and accumulate |
|
|
19
|
+
| **Cost** | Burns tokens on summarization call | Zero — no API calls |
|
|
20
|
+
| **Structure** | Free-form prose | Brief transcript + 4 semantic sections |
|
|
21
|
+
|
|
22
|
+
### Real session metrics
|
|
23
|
+
|
|
24
|
+
Measured on real session JSONLs under `~/.pi/agent/sessions` (chars = rendered message text).
|
|
25
|
+
|
|
26
|
+
| Session | Messages | Before | After | Reduction | Time |
|
|
27
|
+
|---|---|---|---|---|---|
|
|
28
|
+
| Session A | 2,943 | 997,162 | 7,959 | 99.2% | 64ms |
|
|
29
|
+
| Session B | 1,703 | 428,334 | 7,762 | 98.2% | 29ms |
|
|
30
|
+
| Session C | 1,657 | 424,183 | 9,577 | 97.7% | 54ms |
|
|
31
|
+
| Session D | 1,004 | 2,258,477 | 4,439 | 99.8% | 30ms |
|
|
32
|
+
| Session E | 486 | 295,006 | 11,163 | 96.2% | 30ms |
|
|
33
|
+
| Session F | 46 | 5,234 | 3,364 | 35.7% | 5ms |
|
|
34
|
+
| Session G | 27 | 8,595 | 2,489 | 71.0% | 2ms |
|
|
35
|
+
|
|
36
|
+
## Features
|
|
37
|
+
|
|
38
|
+
- **No LLM** — purely algorithmic, zero extra API cost
|
|
39
|
+
- **Brief transcript** — chronological conversation flow, each tool call collapsed to a one-liner with `(#N)` refs, text truncated to keep it compact
|
|
40
|
+
- **5 semantic sections** — session goal, files & changes, commits, outstanding context, user preferences
|
|
41
|
+
- **Bounded merge** — rolling sections re-capped after merge instead of growing unbounded
|
|
42
|
+
- **Lossless recall** — `vcc_recall` reads raw session JSONL, so old history stays searchable across compactions
|
|
43
|
+
- **Regex search** — `vcc_recall` supports regex patterns (`hook|inject`, `fail.*build`) and OR-ranked multi-word queries
|
|
44
|
+
- **Result ranking** — search results ranked by term relevance, rare terms weighted higher than common ones
|
|
45
|
+
- **`/pi-vcc-recall`** — slash command to search history directly, results shown as collapsible message and auto-fed to agent as context
|
|
46
|
+
- **Fallback cut** — still works when Pi core returns nothing to summarize
|
|
47
|
+
- **`/pi-vcc`** — manual compaction on demand
|
|
48
|
+
|
|
49
|
+
## Install
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
pi install npm:@sting8k/pi-vcc
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Or from GitHub:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
pi install https://github.com/sting8k/pi-vcc
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Or try without installing:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
pi -e https://github.com/sting8k/pi-vcc
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Usage
|
|
68
|
+
|
|
69
|
+
Once installed, pi-vcc registers a `session_before_compact` hook.
|
|
70
|
+
|
|
71
|
+
- Run `/pi-vcc` to trigger pi-vcc compaction manually.
|
|
72
|
+
- By default, `/compact` and auto-threshold compactions still go through pi core (LLM-based). Set `overrideDefaultCompaction: true` in the config to let pi-vcc handle all compaction paths.
|
|
73
|
+
- To search older history after compaction, use `vcc_recall`.
|
|
74
|
+
- To search and feed results to agent yourself, run `/pi-vcc-recall <query> [page:N]`.
|
|
75
|
+
- Tip: type `/recall` and Pi will autocomplete to `/pi-vcc-recall`.
|
|
76
|
+
|
|
77
|
+
### How compaction works
|
|
78
|
+
|
|
79
|
+
Pi splits the conversation at the **last user message**. Everything after — the **kept tail** — stays intact and untouched. pi-vcc only summarizes the older portion before that cut point.
|
|
80
|
+
|
|
81
|
+
### Compacted message structure
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
[Session Goal]
|
|
85
|
+
- Fix the authentication bug in login flow
|
|
86
|
+
- [Scope change]
|
|
87
|
+
- Also update the session token refresh logic
|
|
88
|
+
|
|
89
|
+
[Files And Changes]
|
|
90
|
+
- Modified: src/auth/session.ts
|
|
91
|
+
- Created: tests/auth-refresh.test.ts
|
|
92
|
+
|
|
93
|
+
[Commits]
|
|
94
|
+
- a1b2c3d: fix(auth): refresh token after password reset
|
|
95
|
+
|
|
96
|
+
[Outstanding Context]
|
|
97
|
+
- lint check still failing on line 42
|
|
98
|
+
|
|
99
|
+
[User Preferences]
|
|
100
|
+
- Prefer Vietnamese responses
|
|
101
|
+
- Always run tests before committing
|
|
102
|
+
|
|
103
|
+
[user]
|
|
104
|
+
Fix the auth bug, users can't log in after password reset
|
|
105
|
+
|
|
106
|
+
[assistant]
|
|
107
|
+
Root cause is a missing token refresh after password reset...
|
|
108
|
+
* bash "bun test tests/auth.test.ts" (#12)
|
|
109
|
+
* edit "src/auth/session.ts" (#14)
|
|
110
|
+
* bash "bun test tests/auth.test.ts" (#16)
|
|
111
|
+
...(28 earlier lines omitted)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Sections appear only when relevant — a session with no git commits won't have `[Commits]`.
|
|
115
|
+
|
|
116
|
+
**Sections:**
|
|
117
|
+
|
|
118
|
+
| Section | Description |
|
|
119
|
+
|---|---|
|
|
120
|
+
| `[Session Goal]` | Initial goal + scope changes (regex-based extraction) |
|
|
121
|
+
| `[Files And Changes]` | Modified/created files from tool calls (capped, paths trimmed to common root) |
|
|
122
|
+
| `[Commits]` | Git commits made during the session (last 8, hash + first line) |
|
|
123
|
+
| `[Outstanding Context]` | Unresolved items — errors, pending questions |
|
|
124
|
+
| `[User Preferences]` | Regex-extracted from user messages (`always`, `never`, `prefer`...) |
|
|
125
|
+
| Brief transcript | Chronological conversation flow — rolling window of ~120 recent lines, tool calls collapsed to one-liners with `(#N)` refs |
|
|
126
|
+
|
|
127
|
+
**Merge policy:**
|
|
128
|
+
- `Session Goal`, `User Preferences`: concise sticky sections
|
|
129
|
+
- `Outstanding Context`: fresh-only (replaced each compaction)
|
|
130
|
+
- `Files And Changes`, `Commits`: unique union across compactions
|
|
131
|
+
- Brief transcript: rolling window, older lines drop off
|
|
132
|
+
|
|
133
|
+
## Recall (Lossless History)
|
|
134
|
+
|
|
135
|
+
Pi's default compaction discards old messages permanently. After compaction, the agent only sees the summary.
|
|
136
|
+
|
|
137
|
+
`vcc_recall` bypasses this by reading the raw session JSONL file directly. It parses every message entry in the file, regardless of how many compactions have happened.
|
|
138
|
+
|
|
139
|
+
### Search
|
|
140
|
+
|
|
141
|
+
Queries support **regex** and **multi-word OR logic** ranked by relevance:
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
vcc_recall({ query: "auth token" }) // OR search, ranked
|
|
145
|
+
vcc_recall({ query: "auth token", page: 2 }) // paginated (5 results/page)
|
|
146
|
+
vcc_recall({ query: "hook|inject" }) // regex pattern
|
|
147
|
+
vcc_recall({ query: "fail.*build" }) // regex pattern
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Browse
|
|
151
|
+
|
|
152
|
+
Without a query, returns the last 25 entries as brief summaries:
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
vcc_recall()
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Expand
|
|
159
|
+
|
|
160
|
+
Returns full untruncated content for specific indices found via search:
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
vcc_recall({ expand: [41, 42] })
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Typical workflow: **search → find relevant entry indices → expand those indices for full content**.
|
|
167
|
+
|
|
168
|
+
> Some tool results are truncated by Pi core at save time. `expand` returns everything in the JSONL but can't recover what Pi already cut.
|
|
169
|
+
|
|
170
|
+
## Pipeline
|
|
171
|
+
|
|
172
|
+
1. **Normalize** — raw Pi messages → uniform blocks (user, assistant, tool_call, tool_result, thinking)
|
|
173
|
+
2. **Filter noise** — strip system messages, empty blocks
|
|
174
|
+
3. **Build sections** — extract goal, file paths, blockers, preferences
|
|
175
|
+
4. **Brief transcript** — chronological conversation flow, tool calls collapsed to one-liners, text truncated
|
|
176
|
+
5. **Format** — render into bracketed sections + transcript
|
|
177
|
+
6. **Merge** — if previous summary exists: sticky sections merge, volatile sections replace, transcript rolls
|
|
178
|
+
|
|
179
|
+
## Config
|
|
180
|
+
|
|
181
|
+
Config lives at `~/.pi/agent/pi-vcc-config.json` (auto-scaffolded on first load with safe defaults):
|
|
182
|
+
|
|
183
|
+
```json
|
|
184
|
+
{
|
|
185
|
+
"overrideDefaultCompaction": false,
|
|
186
|
+
"debug": false
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
- **`overrideDefaultCompaction`** *(default `false`)*: when `false`, pi-vcc only runs for `/pi-vcc`; `/compact` and auto-threshold compactions fall through to pi core. Set `true` to make pi-vcc handle all compaction paths.
|
|
191
|
+
- **`debug`** *(default `false`)*: when `true`, each compaction writes detailed info to `/tmp/pi-vcc-debug.json` — message counts, cut boundary, summary preview, sections.
|
|
192
|
+
|
|
193
|
+
## Related Work
|
|
194
|
+
|
|
195
|
+
- [VCC](https://github.com/lllyasviel/VCC) — the original transcript-preserving conversation compiler
|
|
196
|
+
- [Pi](https://github.com/badlogic/pi-mono) — the AI coding agent this extension is built for
|
|
197
|
+
|
|
198
|
+
## License
|
|
199
|
+
|
|
200
|
+
MIT
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
|
2
|
+
import { scaffoldSettings } from "./src/core/settings";
|
|
3
|
+
import { registerBeforeCompactHook } from "./src/hooks/before-compact";
|
|
4
|
+
import { registerPiVccCommand } from "./src/commands/pi-vcc";
|
|
5
|
+
import { registerVccRecallCommand } from "./src/commands/vcc-recall";
|
|
6
|
+
import { registerRecallTool } from "./src/tools/recall";
|
|
7
|
+
|
|
8
|
+
export default (pi: ExtensionAPI) => {
|
|
9
|
+
scaffoldSettings();
|
|
10
|
+
registerBeforeCompactHook(pi);
|
|
11
|
+
registerPiVccCommand(pi);
|
|
12
|
+
registerVccRecallCommand(pi);
|
|
13
|
+
registerRecallTool(pi);
|
|
14
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sting8k/pi-vcc",
|
|
3
|
+
"version": "0.3.12",
|
|
4
|
+
"description": "Algorithmic conversation compactor for pi - transcript-preserving structured summaries, no LLM calls",
|
|
5
|
+
"main": "index.ts",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"pi-package",
|
|
8
|
+
"pi-extension",
|
|
9
|
+
"vcc",
|
|
10
|
+
"compact",
|
|
11
|
+
"compaction"
|
|
12
|
+
],
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "git+https://github.com/sting8k/pi-vcc.git"
|
|
16
|
+
},
|
|
17
|
+
"peerDependencies": {
|
|
18
|
+
"@mariozechner/pi-coding-agent": "*",
|
|
19
|
+
"@sinclair/typebox": "*"
|
|
20
|
+
},
|
|
21
|
+
"pi": {
|
|
22
|
+
"extensions": [
|
|
23
|
+
"./index.ts"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|