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
|
@@ -2,38 +2,94 @@
|
|
|
2
2
|
name: wiki-autoresearch
|
|
3
3
|
description: >
|
|
4
4
|
Autonomous iterative research loop. Takes a topic, runs web searches, fetches sources,
|
|
5
|
-
synthesizes findings, and
|
|
6
|
-
Based on Karpathy's autoresearch pattern: program.md configures objectives and
|
|
7
|
-
the loop runs until depth is reached, output goes
|
|
5
|
+
synthesizes findings, and builds a queryable knowledge graph via Graphify.
|
|
6
|
+
Based on Karpathy's autoresearch pattern: program.md configures objectives and
|
|
7
|
+
constraints, the loop runs until depth is reached, output goes into the graph.
|
|
8
8
|
Triggers on: "/wiki-autoresearch", "/autoresearch", "wiki-autoresearch", "autoresearch",
|
|
9
9
|
"research [topic]", "deep dive into [topic]", "investigate [topic]",
|
|
10
10
|
"find everything about [topic]", "research and file", "go research", "build a wiki on".
|
|
11
|
-
allowed-tools: Read Write Edit Glob Grep WebFetch WebSearch
|
|
11
|
+
allowed-tools: Read Write Edit Glob Grep WebFetch WebSearch Bash
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
# wiki-autoresearch: Autonomous Research Loop
|
|
14
|
+
# wiki-autoresearch: Autonomous Research Loop with Graphify
|
|
15
15
|
|
|
16
|
-
You are a research agent. You take a topic, run iterative web searches, synthesize
|
|
16
|
+
You are a research agent. You take a topic, run iterative web searches, synthesize
|
|
17
|
+
findings, and build a queryable knowledge graph via Graphify. The user gets a
|
|
18
|
+
graph — not a wall of text.
|
|
17
19
|
|
|
18
|
-
This is based on Karpathy's autoresearch pattern
|
|
20
|
+
This is based on Karpathy's autoresearch pattern. You run the loop until depth
|
|
21
|
+
is reached. Output goes into the knowledge graph only — no separate report file.
|
|
19
22
|
|
|
20
23
|
---
|
|
21
24
|
|
|
22
|
-
##
|
|
25
|
+
## Raw Source Directory
|
|
23
26
|
|
|
24
|
-
All
|
|
27
|
+
All fetched sources are saved to `./raw/` for Graphify ingestion:
|
|
25
28
|
|
|
26
29
|
```bash
|
|
27
|
-
|
|
30
|
+
RAW_PATH="./raw"
|
|
31
|
+
mkdir -p "$RAW_PATH"
|
|
28
32
|
```
|
|
29
33
|
|
|
30
|
-
|
|
34
|
+
This folder is the single source of truth for research materials. Graphify reads
|
|
35
|
+
from here to build the knowledge graph.
|
|
31
36
|
|
|
32
37
|
---
|
|
33
38
|
|
|
34
39
|
## Before Starting
|
|
35
40
|
|
|
36
|
-
Read `references/program.md` to load the research objectives and constraints.
|
|
41
|
+
Read `references/program.md` to load the research objectives and constraints.
|
|
42
|
+
This file defines max rounds, source preferences, confidence thresholds, and
|
|
43
|
+
domain-specific constraints.
|
|
44
|
+
|
|
45
|
+
### Pre-Flight: Graphify Readiness Check (MANDATORY)
|
|
46
|
+
|
|
47
|
+
**Do NOT start research until these pass.** A graph that can't be built is wasted work.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# 1. Verify graphify CLI is installed
|
|
51
|
+
which graphify || { echo "FATAL: graphify not found. Install: npm install -g graphifyy"; exit 1; }
|
|
52
|
+
|
|
53
|
+
# 2. Check that graphify's Python has the openai package (required for semantic extraction)
|
|
54
|
+
GRAPHIFY_PYTHON=$(head -1 $(which graphify) | sed 's/^#!//')
|
|
55
|
+
"$GRAPHIFY_PYTHON" -c "import openai; print('openai OK')" 2>/dev/null || {
|
|
56
|
+
echo "FATAL: openai package missing from graphify's Python ($GRAPHIFY_PYTHON)"
|
|
57
|
+
echo "Fix: uv pip install openai --python $GRAPHIFY_PYTHON"
|
|
58
|
+
exit 1
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
# 3. Verify a valid LLM API key is set (any backend)
|
|
62
|
+
for KEY in OPENAI_API_KEY ANTHROPIC_API_KEY GEMINI_API_KEY; do
|
|
63
|
+
if [ -n "${!KEY}" ]; then
|
|
64
|
+
echo "Found: $KEY"
|
|
65
|
+
break
|
|
66
|
+
fi
|
|
67
|
+
done
|
|
68
|
+
if [ -z "$OPENAI_API_KEY" ] && [ -z "$ANTHROPIC_API_KEY" ] && [ -z "$GEMINI_API_KEY" ]; then
|
|
69
|
+
echo "FATAL: No LLM API key set. graphify extract needs one for semantic extraction."
|
|
70
|
+
echo "Set one of: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY"
|
|
71
|
+
echo "Or install Ollama locally and use: graphify extract ./raw --out . --backend ollama"
|
|
72
|
+
exit 1
|
|
73
|
+
fi
|
|
74
|
+
|
|
75
|
+
# 4. Optionally validate the API key with a quick test call
|
|
76
|
+
# Skip this if you trust the key — adds ~2s latency.
|
|
77
|
+
|
|
78
|
+
# 5. Record baseline graph state for post-extraction verification
|
|
79
|
+
BASELINE_NODES=$(python3 -c "
|
|
80
|
+
import json, os
|
|
81
|
+
graph_path = 'graphify-out/graph.json'
|
|
82
|
+
if os.path.exists(graph_path):
|
|
83
|
+
with open(graph_path) as f:
|
|
84
|
+
g = json.load(f)
|
|
85
|
+
print(len(g.get('nodes',[])))
|
|
86
|
+
else:
|
|
87
|
+
print(0)
|
|
88
|
+
" 2>/dev/null || echo 0)
|
|
89
|
+
echo "Baseline graph nodes: $BASELINE_NODES"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**If any check fails, report the exact error and fix command to the user. Do NOT proceed.**
|
|
37
93
|
|
|
38
94
|
---
|
|
39
95
|
|
|
@@ -43,7 +99,8 @@ Two paths to a topic. Follow the first one that applies.
|
|
|
43
99
|
|
|
44
100
|
### A. Explicit topic (always respected)
|
|
45
101
|
|
|
46
|
-
The topic is whatever the user said after the trigger phrase. Extract it by
|
|
102
|
+
The topic is whatever the user said after the trigger phrase. Extract it by
|
|
103
|
+
removing the trigger from the user's message.
|
|
47
104
|
|
|
48
105
|
**How to extract:**
|
|
49
106
|
- User: `/autoresearch kubernetes operators` → topic: `kubernetes operators`
|
|
@@ -54,12 +111,14 @@ The topic is whatever the user said after the trigger phrase. Extract it by remo
|
|
|
54
111
|
- User: `find everything about eBPF` → topic: `eBPF`
|
|
55
112
|
- User: `build a wiki on Zig allocators` → topic: `Zig allocators`
|
|
56
113
|
|
|
57
|
-
**Rule**: strip the trigger phrase
|
|
114
|
+
**Rule**: strip the trigger phrase, trim whitespace, treat everything remaining
|
|
115
|
+
as the topic. Use it verbatim.
|
|
58
116
|
|
|
59
117
|
If the topic is present, skip to the Research Loop. Do NOT ask "what topic."
|
|
60
118
|
|
|
61
119
|
### B. No topic given (fallback)
|
|
62
|
-
When the user invokes
|
|
120
|
+
When the user invokes the trigger with NO topic after it, ask:
|
|
121
|
+
"What topic should I research?"
|
|
63
122
|
|
|
64
123
|
---
|
|
65
124
|
|
|
@@ -72,130 +131,184 @@ Round 1. Broad search
|
|
|
72
131
|
1. Decompose topic into 3-5 distinct search angles
|
|
73
132
|
2. For each angle: run 2-3 WebSearch queries
|
|
74
133
|
3. For top 2-3 results per angle: WebFetch the page
|
|
75
|
-
4.
|
|
134
|
+
4. Save each fetched page to ./raw/ as a markdown file
|
|
135
|
+
5. Extract from each: key claims, entities, concepts, open questions
|
|
76
136
|
|
|
77
137
|
Round 2. Gap fill
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
138
|
+
6. Identify what's missing or contradicted from Round 1
|
|
139
|
+
7. Run targeted searches for each gap (max 5 queries)
|
|
140
|
+
8. Fetch top results for each gap, save to ./raw/
|
|
141
|
+
9. Run `graphify extract ./raw --out .` to incorporate new sources
|
|
142
|
+
(NOTE: `graphify update` only works for code files. Research sources are docs
|
|
143
|
+
and need `graphify extract` for semantic extraction.)
|
|
81
144
|
|
|
82
145
|
Round 3. Synthesis check (optional, if gaps remain)
|
|
83
|
-
|
|
84
|
-
|
|
146
|
+
10. If major contradictions or missing pieces still exist: one more targeted pass
|
|
147
|
+
11. Otherwise: proceed to graph building and synthesis
|
|
85
148
|
|
|
86
149
|
Max rounds: 3 (as set in program.md). Stop when depth is reached or max rounds hit.
|
|
87
150
|
```
|
|
88
151
|
|
|
89
152
|
---
|
|
90
153
|
|
|
91
|
-
##
|
|
92
|
-
|
|
93
|
-
After research is complete, create these pages:
|
|
154
|
+
## Building the Knowledge Graph
|
|
94
155
|
|
|
95
|
-
|
|
96
|
-
- Use source frontmatter (type, source_type, author, date_published, url, confidence, key_claims)
|
|
97
|
-
- Body: summary of the source, what it contributes to the topic
|
|
156
|
+
After all sources are saved to `./raw/`:
|
|
98
157
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
158
|
+
```bash
|
|
159
|
+
# Build the knowledge graph from all research sources
|
|
160
|
+
# --out . writes graphify-out/ in current dir (same as main project graph)
|
|
161
|
+
# --backend auto-detects from available API keys; use --backend ollama if no cloud key
|
|
162
|
+
graphify extract ./raw --out .
|
|
163
|
+
```
|
|
102
164
|
|
|
103
|
-
|
|
104
|
-
- Check the index first: update existing entity pages
|
|
165
|
+
### Post-Extraction Verification (MANDATORY)
|
|
105
166
|
|
|
106
|
-
**
|
|
107
|
-
- This is the master synthesis. Everything comes together here.
|
|
108
|
-
- Sections: Overview, Key Findings, Entities, Concepts, Contradictions, Open Questions, Sources
|
|
109
|
-
- Full frontmatter with related links to all pages created in this session
|
|
167
|
+
**Do NOT skip this. Do NOT delete ./raw/ until this passes.**
|
|
110
168
|
|
|
111
|
-
|
|
169
|
+
```bash
|
|
170
|
+
# 1. Verify graph.json exists and contains research-topic nodes
|
|
171
|
+
python3 << 'VERIFY'
|
|
172
|
+
import json, os
|
|
173
|
+
|
|
174
|
+
GRAPH_PATH = 'graphify-out/graph.json'
|
|
175
|
+
if not os.path.exists(GRAPH_PATH):
|
|
176
|
+
print("FATAL: graph.json not created. graphify extract failed.")
|
|
177
|
+
exit(1)
|
|
178
|
+
|
|
179
|
+
with open(GRAPH_PATH) as f:
|
|
180
|
+
g = json.load(f)
|
|
181
|
+
|
|
182
|
+
nodes = g.get('nodes', [])
|
|
183
|
+
# graphify uses 'links' key, not 'edges' — check both
|
|
184
|
+
links = g.get('links', g.get('edges', []))
|
|
185
|
+
|
|
186
|
+
print(f"Graph: {len(nodes)} nodes, {len(links)} links, {len(g.get('communities',[]))} communities")
|
|
187
|
+
|
|
188
|
+
# 2. Check that new sources were actually ingested
|
|
189
|
+
# Count nodes whose source_file is in ./raw/
|
|
190
|
+
raw_sources = set()
|
|
191
|
+
for n in nodes:
|
|
192
|
+
src = n.get('source_file', '')
|
|
193
|
+
if src.startswith('raw/'):
|
|
194
|
+
raw_sources.add(src)
|
|
195
|
+
|
|
196
|
+
print(f"Nodes from ./raw/ sources: {len(raw_sources)} (from {len(raw_sources)} unique files)")
|
|
197
|
+
|
|
198
|
+
# 3. FATAL if no new nodes were added
|
|
199
|
+
if len(raw_sources) == 0:
|
|
200
|
+
print("FATAL: Zero nodes from ./raw/ sources. graphify did not ingest research content.")
|
|
201
|
+
print("Check: LLM API key valid? openai package installed? Files in ./raw/ have content?")
|
|
202
|
+
print("DO NOT delete ./raw/ — the extraction failed.")
|
|
203
|
+
exit(1)
|
|
204
|
+
|
|
205
|
+
# 4. Compare against baseline (BASELINE_NODES env var from pre-flight)
|
|
206
|
+
baseline = int(os.environ.get('BASELINE_NODES', '0'))
|
|
207
|
+
if len(nodes) <= baseline and baseline > 0:
|
|
208
|
+
print(f"WARNING: Node count ({len(nodes)}) <= baseline ({baseline}). Graph may not have grown.")
|
|
209
|
+
print("Check: Did graphify run incrementally? Did the old graph merge properly?")
|
|
210
|
+
else:
|
|
211
|
+
print(f"Node delta: +{len(nodes) - baseline} (baseline was {baseline})")
|
|
212
|
+
|
|
213
|
+
print("VERIFICATION PASSED — safe to clean up ./raw/")
|
|
214
|
+
VERIFY
|
|
215
|
+
```
|
|
112
216
|
|
|
113
|
-
|
|
217
|
+
**If verification fails:** Report the exact error. Do NOT delete ./raw/. The user needs
|
|
218
|
+
to fix the graphify environment (API key, openai package, Ollama install) before retrying.
|
|
114
219
|
|
|
115
|
-
```markdown
|
|
116
|
-
---
|
|
117
|
-
type: synthesis
|
|
118
|
-
title: "Research: [Topic]"
|
|
119
|
-
created: YYYY-MM-DD
|
|
120
|
-
updated: YYYY-MM-DD
|
|
121
|
-
tags:
|
|
122
|
-
- research
|
|
123
|
-
- [topic-tag]
|
|
124
|
-
status: developing
|
|
125
|
-
related:
|
|
126
|
-
- "[[Every page created in this session]]"
|
|
127
|
-
sources:
|
|
128
|
-
- "[[wiki/sources/Source 1]]"
|
|
129
|
-
- "[[wiki/sources/Source 2]]"
|
|
130
220
|
---
|
|
131
221
|
|
|
132
|
-
|
|
222
|
+
## Cleanup
|
|
133
223
|
|
|
134
|
-
|
|
135
|
-
[2-3 sentence summary of what was found]
|
|
224
|
+
**GUARDED: Only run after Post-Extraction Verification passes.**
|
|
136
225
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
-
|
|
140
|
-
- ...
|
|
226
|
+
After the graph is built AND verified to contain new research nodes, remove the
|
|
227
|
+
raw source directory. Graphify has already copied everything it needs into
|
|
228
|
+
`graphify-out/`. The `./raw/` folder is transient.
|
|
141
229
|
|
|
142
|
-
|
|
143
|
-
|
|
230
|
+
```bash
|
|
231
|
+
# Guard: only delete if graph was verified
|
|
232
|
+
if python3 -c "
|
|
233
|
+
import json, os
|
|
234
|
+
with open('graphify-out/graph.json') as f:
|
|
235
|
+
g = json.load(f)
|
|
236
|
+
raw_count = sum(1 for n in g.get('nodes',[]) if n.get('source_file','').startswith('raw/'))
|
|
237
|
+
assert raw_count > 0, 'No raw/ nodes in graph — do not delete'
|
|
238
|
+
print(f'{raw_count} raw-sourced nodes confirmed')
|
|
239
|
+
"; then
|
|
240
|
+
rm -rf ./raw
|
|
241
|
+
echo "Cleanup: ./raw/ removed (graph has ingested all data)"
|
|
242
|
+
else
|
|
243
|
+
echo "SKIPPED cleanup: graph verification failed. ./raw/ preserved for debugging."
|
|
244
|
+
fi
|
|
245
|
+
```
|
|
144
246
|
|
|
145
|
-
|
|
146
|
-
|
|
247
|
+
Do this before reporting to the user.
|
|
248
|
+
|
|
249
|
+
---
|
|
147
250
|
|
|
148
|
-
##
|
|
149
|
-
- [[Source A]] says X. [[Source B]] says Y. [Brief note on which is more credible and why]
|
|
251
|
+
## Synthesis via Graph
|
|
150
252
|
|
|
151
|
-
|
|
152
|
-
- [Question that research didn't fully answer]
|
|
153
|
-
- [Gap that needs more sources]
|
|
253
|
+
After the graph is built, query it directly for insights:
|
|
154
254
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
255
|
+
```bash
|
|
256
|
+
# Find the god nodes (core concepts)
|
|
257
|
+
graphify explain "$(python3 -c "
|
|
258
|
+
import json
|
|
259
|
+
with open('graphify-out/graph.json') as f:
|
|
260
|
+
g = json.load(f)
|
|
261
|
+
nodes = sorted(g['nodes'], key=lambda n: n.get('degree', 0), reverse=True)
|
|
262
|
+
print(nodes[0]['label'] if nodes else 'root')
|
|
263
|
+
")"
|
|
264
|
+
|
|
265
|
+
# Find surprising connections
|
|
266
|
+
graphify query "what are the most surprising cross-domain connections?"
|
|
267
|
+
|
|
268
|
+
# Check specific relationships
|
|
269
|
+
graphify path "ConceptA" "ConceptB"
|
|
158
270
|
```
|
|
159
271
|
|
|
272
|
+
No separate report file is created. The graph IS the research output.
|
|
273
|
+
|
|
160
274
|
---
|
|
161
275
|
|
|
162
|
-
## After
|
|
276
|
+
## After Building
|
|
277
|
+
|
|
278
|
+
No wiki index, log, hot cache, or report file to update. The graph IS the index.
|
|
279
|
+
The GRAPH_REPORT.md IS the hot cache. Everything is queryable.
|
|
163
280
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
- Sources found: N
|
|
170
|
-
- Pages created: [[Page 1]], [[Page 2]], ...
|
|
171
|
-
- Synthesis: [[Research: Topic]]
|
|
172
|
-
- Key finding: [one sentence]
|
|
173
|
-
```
|
|
174
|
-
3. Update `wiki/hot.md` with the research summary
|
|
281
|
+
The user can:
|
|
282
|
+
- Open `graphify-out/graph.html` for interactive exploration
|
|
283
|
+
- Run `graphify query "question"` for natural language answers
|
|
284
|
+
- Run `graphify path "A" "B"` to trace connections
|
|
285
|
+
- Browse `graphify-out/GRAPH_REPORT.md` for structured analysis
|
|
175
286
|
|
|
176
287
|
---
|
|
177
288
|
|
|
178
289
|
## Report to User
|
|
179
290
|
|
|
180
|
-
After
|
|
291
|
+
After everything is complete:
|
|
181
292
|
|
|
182
293
|
```
|
|
183
294
|
wiki-autoresearch complete: [Topic]
|
|
184
295
|
|
|
185
|
-
Rounds: N |
|
|
296
|
+
Rounds: N | Sources: N | Graph: N nodes, N links
|
|
186
297
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
wiki/concepts/[Concept 1].md
|
|
191
|
-
wiki/entities/[Entity 1].md
|
|
298
|
+
Output:
|
|
299
|
+
graphify-out/graph.html (interactive graph)
|
|
300
|
+
graphify-out/GRAPH_REPORT.md (auto-generated analysis)
|
|
192
301
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
- [Finding 2]
|
|
196
|
-
- [Finding 3]
|
|
302
|
+
God nodes: [top 3-5 concepts]
|
|
303
|
+
Surprising connections: [1-2 highlights]
|
|
197
304
|
|
|
198
|
-
|
|
305
|
+
Try: graphify query "your question about [topic]"
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
**IMPORTANT:** graphify uses `links` key (not `edges`) in graph.json. When
|
|
309
|
+
reporting graph size, use the correct key:
|
|
310
|
+
```bash
|
|
311
|
+
python3 -c "import json; g=json.load(open('graphify-out/graph.json')); print(f'{len(g[\"nodes\"])} nodes, {len(g[\"links\"])} links')"
|
|
199
312
|
```
|
|
200
313
|
|
|
201
314
|
---
|
|
@@ -204,8 +317,23 @@ Open questions filed: N
|
|
|
204
317
|
|
|
205
318
|
Follow the limits in `references/program.md`:
|
|
206
319
|
- Max rounds (default: 3)
|
|
320
|
+
- Max sources per round (default: 8)
|
|
207
321
|
- Max pages per session (default: 15)
|
|
208
322
|
- Confidence scoring rules
|
|
209
323
|
- Source preference rules
|
|
210
324
|
|
|
211
|
-
If a constraint conflicts with completeness, respect the constraint and note
|
|
325
|
+
If a constraint conflicts with completeness, respect the constraint and note
|
|
326
|
+
what was left out so the user can query the graph about gaps.
|
|
327
|
+
|
|
328
|
+
## Failure Modes (Anti-Patterns)
|
|
329
|
+
|
|
330
|
+
Common failures and how to prevent them:
|
|
331
|
+
|
|
332
|
+
| Failure | Cause | Prevention |
|
|
333
|
+
|---------|-------|------------|
|
|
334
|
+
| Graph has 0 nodes after extraction | openai package not installed in graphify's Python | Pre-flight check #2 catches this |
|
|
335
|
+
| Graph has old nodes only (no new content) | Invalid LLM API key → semantic extraction failed, but code nodes remained | Pre-flight check #3 catches this |
|
|
336
|
+
| `./raw/` deleted before graph verified | Cleanup ran without post-extraction verification | Guarded cleanup with assertion prevents this |
|
|
337
|
+
| Graph reported as "N edges" but `links` key is correct | graph.json uses `links` not `edges` | Report section uses `links` key explicitly |
|
|
338
|
+
| Incremental extraction misses new files | graphify tracks file paths; deleting and recreating ./raw/ confuses it | Pre-flight records baseline; post-extraction checks node delta |
|
|
339
|
+
| Research content read but not in graph | Semantic extraction failed silently | Post-extraction verification counts raw/-sourced nodes |
|
|
@@ -1,75 +1,41 @@
|
|
|
1
|
-
# Research Program
|
|
2
|
-
|
|
3
|
-
This file configures the wiki-autoresearch loop. Edit it to match your domain and research style. The wiki-autoresearch skill reads it before every run.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Search Objectives
|
|
8
|
-
|
|
9
|
-
Default objectives for every research session:
|
|
10
|
-
|
|
11
|
-
- Find authoritative sources (prefer: .edu, peer-reviewed papers, official documentation, primary sources, established publications)
|
|
12
|
-
- Extract key entities (people, organizations, products, tools)
|
|
13
|
-
- Extract key concepts and frameworks
|
|
14
|
-
- Note contradictions between sources
|
|
15
|
-
- Identify open questions and research gaps
|
|
16
|
-
- Prefer sources from the last 2 years unless the topic is foundational
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Confidence Scoring
|
|
21
|
-
|
|
22
|
-
Label every claim with confidence when filing:
|
|
23
|
-
|
|
24
|
-
- **high**: multiple independent authoritative sources agree
|
|
25
|
-
- **medium**: single good source, or sources partially agree
|
|
26
|
-
- **low**: speculation, opinion pieces, single informal source, or claim not verified
|
|
27
|
-
|
|
28
|
-
Always note the source date for factual claims. Mark claims from sources older than 3 years as potentially stale.
|
|
29
|
-
|
|
30
1
|
---
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
- Max search rounds per topic: **3**
|
|
35
|
-
- Max wiki pages created per session: **15**
|
|
36
|
-
- Max sources fetched per round: **5**
|
|
37
|
-
- If max pages is reached before the loop completes: file what you have, note what was skipped in Open Questions
|
|
38
|
-
|
|
2
|
+
type: config
|
|
3
|
+
title: "Autoresearch Program Configuration"
|
|
4
|
+
updated: 2026-05-07
|
|
39
5
|
---
|
|
40
6
|
|
|
41
|
-
|
|
7
|
+
# Research Program Configuration
|
|
42
8
|
|
|
43
|
-
|
|
44
|
-
- Cite every non-obvious claim: `(Source: [[Page]])`
|
|
45
|
-
- Short pages: under 200 lines. Split if longer.
|
|
46
|
-
- No hedging language ("it seems", "perhaps", "might be")
|
|
47
|
-
- Flag uncertainty explicitly: `> [!gap] This claim needs verification.`
|
|
9
|
+
Edit this file to configure the autoresearch loop's behavior.
|
|
48
10
|
|
|
49
|
-
|
|
11
|
+
## Objectives
|
|
50
12
|
|
|
51
|
-
|
|
13
|
+
- Max research rounds: 3
|
|
14
|
+
- Max sources per round: 8
|
|
15
|
+
- Max pages per session: 15
|
|
16
|
+
- Confidence threshold for filing: 0.6
|
|
52
17
|
|
|
53
|
-
|
|
18
|
+
## Source Preferences
|
|
54
19
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
-
|
|
20
|
+
Prefer (in order):
|
|
21
|
+
1. Official documentation & primary sources
|
|
22
|
+
2. Peer-reviewed papers (arxiv, ACM, etc.)
|
|
23
|
+
3. Engineering blogs from recognized teams
|
|
24
|
+
4. GitHub repositories with >100 stars
|
|
25
|
+
5. StackOverflow answers with >10 upvotes
|
|
58
26
|
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
27
|
+
Avoid:
|
|
28
|
+
- AI-generated content farms
|
|
29
|
+
- Medium articles without author credentials
|
|
30
|
+
- Repackaged/aggregator sites
|
|
31
|
+
- Outdated mirrors
|
|
62
32
|
|
|
63
|
-
|
|
64
|
-
- Prefer: PubMed, Cochrane reviews, peer-reviewed clinical trials
|
|
65
|
-
- Always note: sample size, study type (RCT vs observational), and recency
|
|
33
|
+
## Domain Constraints
|
|
66
34
|
|
|
67
|
-
|
|
35
|
+
None configured. Add domain-specific constraints below.
|
|
68
36
|
|
|
69
|
-
##
|
|
37
|
+
## Output Format
|
|
70
38
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
- Undated web pages
|
|
75
|
-
- Sources that don't cite their own claims
|
|
39
|
+
Results are filed into `graphify-out/` via the knowledge graph.
|
|
40
|
+
No separate synthesis report — the graph IS the research output.
|
|
41
|
+
Raw sources are stored in `./raw/` for graphify ingestion.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: reference
|
|
3
|
+
title: "Quality Sites Reference"
|
|
4
|
+
updated: 2026-05-07
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Quality Sites for Web Research
|
|
8
|
+
|
|
9
|
+
## Tier 1 — Always Trust (Prefer These)
|
|
10
|
+
- StackOverflow (answers with >10 upvotes)
|
|
11
|
+
- GitHub issues/discussions (from official repos)
|
|
12
|
+
- Engineering blogs (Google, Meta, Netflix, Stripe, etc.)
|
|
13
|
+
- Arxiv papers (cs.* categories)
|
|
14
|
+
- Official documentation sites
|
|
15
|
+
|
|
16
|
+
## Tier 2 — Use With Caution
|
|
17
|
+
- Dev.to articles (check author credibility)
|
|
18
|
+
- Medium (only authors with verified credentials)
|
|
19
|
+
- Reddit r/programming, r/MachineLearning (highly-voted posts)
|
|
20
|
+
- YouTube talks from recognized conferences
|
|
21
|
+
|
|
22
|
+
## Tier 3 — Avoid
|
|
23
|
+
- AI-generated content farms
|
|
24
|
+
- "Tutorial" sites that repackage docs
|
|
25
|
+
- Outdated mirrors (>2 years without updates)
|
|
26
|
+
- Sites behind paywalls (can't verify claims)
|
|
27
|
+
- Personal blogs without author background
|
|
28
|
+
|
|
29
|
+
## Domain-Specific Quality Sites
|
|
30
|
+
|
|
31
|
+
Add domain-specific trusted sources below:
|
|
32
|
+
- [None configured yet]
|
package/.env.example
CHANGED
|
@@ -8,4 +8,8 @@ FIRECRAWL_API_URL="http://localhost:3002"
|
|
|
8
8
|
VAULT_WIKI_PATH="vault/wiki"
|
|
9
9
|
CURSOR_API_KEY=""
|
|
10
10
|
PI_VCC_CONFIG_PATH=".pi/pi-vcc-config.json"
|
|
11
|
-
# VCC config: points to project-level pi-vcc config (overrideDefaultCompaction, debug)
|
|
11
|
+
# VCC config: points to project-level pi-vcc config (overrideDefaultCompaction, debug)
|
|
12
|
+
|
|
13
|
+
# graphify headless extract
|
|
14
|
+
OPENAI_API_KEY="sk-your_openai_api_key"
|
|
15
|
+
OPENAI_API_BASE="https://opencode.ai/zen/go/v1"
|
package/.gitattributes
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
data/books/**/*.pdf filter=lfs diff=lfs merge=lfs -text
|