ultimate-pi 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/ck-search/SKILL.md +99 -0
- package/.agents/skills/defuddle/SKILL.md +90 -0
- package/.agents/skills/find-skills/SKILL.md +142 -0
- package/.agents/skills/firecrawl/SKILL.md +150 -0
- package/.agents/skills/firecrawl/rules/install.md +82 -0
- package/.agents/skills/firecrawl/rules/security.md +26 -0
- package/.agents/skills/firecrawl-agent/SKILL.md +57 -0
- package/.agents/skills/firecrawl-build-interact/SKILL.md +67 -0
- package/.agents/skills/firecrawl-build-onboarding/SKILL.md +102 -0
- package/.agents/skills/firecrawl-build-onboarding/references/auth-flow.md +39 -0
- package/.agents/skills/firecrawl-build-onboarding/references/project-setup.md +20 -0
- package/.agents/skills/firecrawl-build-onboarding/references/sdk-installation.md +17 -0
- package/.agents/skills/firecrawl-build-scrape/SKILL.md +68 -0
- package/.agents/skills/firecrawl-build-search/SKILL.md +68 -0
- package/.agents/skills/firecrawl-crawl/SKILL.md +58 -0
- package/.agents/skills/firecrawl-download/SKILL.md +69 -0
- package/.agents/skills/firecrawl-interact/SKILL.md +83 -0
- package/.agents/skills/firecrawl-map/SKILL.md +50 -0
- package/.agents/skills/firecrawl-parse/SKILL.md +61 -0
- package/.agents/skills/firecrawl-scrape/SKILL.md +68 -0
- package/.agents/skills/firecrawl-search/SKILL.md +59 -0
- package/.agents/skills/obsidian-bases/SKILL.md +299 -0
- package/.agents/skills/obsidian-markdown/SKILL.md +237 -0
- package/.agents/skills/posthog-analyst/SKILL.md +306 -0
- package/.agents/skills/posthog-analyst/evals/evals.json +23 -0
- package/.agents/skills/wiki/SKILL.md +215 -0
- package/.agents/skills/wiki/references/css-snippets.md +122 -0
- package/.agents/skills/wiki/references/frontmatter.md +107 -0
- package/.agents/skills/wiki/references/git-setup.md +58 -0
- package/.agents/skills/wiki/references/mcp-setup.md +149 -0
- package/.agents/skills/wiki/references/modes.md +259 -0
- package/.agents/skills/wiki/references/plugins.md +96 -0
- package/.agents/skills/wiki/references/rest-api.md +124 -0
- package/.agents/skills/wiki-autoresearch/SKILL.md +211 -0
- package/.agents/skills/wiki-autoresearch/references/program.md +75 -0
- package/.agents/skills/wiki-fold/SKILL.md +204 -0
- package/.agents/skills/wiki-fold/references/fold-template.md +133 -0
- package/.agents/skills/wiki-ingest/SKILL.md +288 -0
- package/.agents/skills/wiki-lint/SKILL.md +183 -0
- package/.agents/skills/wiki-query/SKILL.md +176 -0
- package/.agents/skills/wiki-save/SKILL.md +128 -0
- package/.ckignore +41 -0
- package/.env.example +9 -0
- package/.github/workflows/lint.yml +33 -0
- package/.github/workflows/publish-github-packages.yml +35 -0
- package/.github/workflows/publish-npm.yml +1 -1
- package/.pi/SYSTEM.md +107 -40
- package/.pi/agents/pi-pi/agent-expert.md +205 -0
- package/.pi/agents/pi-pi/cli-expert.md +47 -0
- package/.pi/agents/pi-pi/config-expert.md +67 -0
- package/.pi/agents/pi-pi/ext-expert.md +53 -0
- package/.pi/agents/pi-pi/keybinding-expert.md +123 -0
- package/.pi/agents/pi-pi/pi-orchestrator.md +103 -0
- package/.pi/agents/pi-pi/prompt-expert.md +83 -0
- package/.pi/agents/pi-pi/skill-expert.md +52 -0
- package/.pi/agents/pi-pi/theme-expert.md +46 -0
- package/.pi/agents/pi-pi/tui-expert.md +100 -0
- package/.pi/agents/rethink.md +140 -0
- package/.pi/agents/wiki-ingest.md +67 -0
- package/.pi/agents/wiki-lint.md +75 -0
- package/.pi/auto-commit.json +20 -0
- package/.pi/extensions/banner.png +0 -0
- package/.pi/extensions/ck-enforce.ts +216 -0
- package/.pi/extensions/custom-footer.ts +308 -0
- package/.pi/extensions/custom-header.ts +116 -0
- package/.pi/extensions/dotenv-loader.ts +170 -0
- package/.pi/internal/cursor-sdk-transcript-parser.ts +59 -0
- package/.pi/model-router.json +95 -0
- package/.pi/npm/.gitignore +2 -0
- package/.pi/prompts/git-sync.md +124 -0
- package/.pi/prompts/harness-setup.md +509 -0
- package/.pi/prompts/save.md +16 -0
- package/.pi/prompts/wiki-autoresearch.md +19 -0
- package/.pi/prompts/wiki.md +23 -0
- package/.pi/providers/cursor-sdk-provider.test.mjs +476 -0
- package/.pi/providers/cursor-sdk-provider.ts +1085 -0
- package/.pi/settings.json +14 -4
- package/.pi/skills/agent-router/SKILL.md +174 -0
- package/.pi/sounds/alert/1-kaching-track.mp3 +0 -0
- package/.pi/sounds/error/1-ksi-wth-track.mp3 +0 -0
- package/.pi/sounds/error/2-smash-track.mp3 +0 -0
- package/.pi/sounds/error/3-buzzer-track.mp3 +0 -0
- package/.pi/sounds/notification/1-soft-notification-track.mp3 +0 -0
- package/.pi/sounds/project-sounds.json +25 -0
- package/.pi/sounds/reminder/1-soft-notification-track.mp3 +0 -0
- package/.pi/sounds/success/1-tada-track.mp3 +0 -0
- package/.pi/sounds/success/2-jobs-done-track.mp3 +0 -0
- package/.pi/sounds/success/3-yay-track.mp3 +0 -0
- package/CONTRIBUTING.md +116 -0
- package/README.md +32 -39
- package/biome.json +34 -0
- package/firecrawl/.env.template +58 -0
- package/firecrawl/README.md +49 -0
- package/firecrawl/docker-compose.yaml +201 -0
- package/firecrawl/searxng/searxng.env +3 -0
- package/firecrawl/searxng/settings.yml +85 -0
- package/lefthook.yml +8 -0
- package/package.json +55 -24
- package/vault/AGENTS.md +37 -0
- package/vault/wiki/_templates/comparison.md +39 -0
- package/vault/wiki/_templates/concept.md +40 -0
- package/vault/wiki/_templates/decision.md +21 -0
- package/vault/wiki/_templates/entity.md +32 -0
- package/vault/wiki/_templates/flow.md +14 -0
- package/vault/wiki/_templates/module.md +18 -0
- package/vault/wiki/_templates/question.md +31 -0
- package/vault/wiki/_templates/source.md +39 -0
- package/vault/wiki/concepts/AST-Aware Code Chunking.md +44 -0
- package/vault/wiki/concepts/Build-Time Prompt Compilation.md +107 -0
- package/vault/wiki/concepts/Context Engine (AI Coding).md +47 -0
- package/vault/wiki/concepts/Context-Aware System Reminders.md +61 -0
- package/vault/wiki/concepts/Contextualized Text Embedding.md +42 -0
- package/vault/wiki/concepts/Contractor vs Employee AI Model.md +55 -0
- package/vault/wiki/concepts/Dual-Model Agent Architecture.md +65 -0
- package/vault/wiki/concepts/Late Chunking vs Early Chunking.md +43 -0
- package/vault/wiki/concepts/Majority Vote Ensembling.md +68 -0
- package/vault/wiki/concepts/Meta-Harness.md +16 -0
- package/vault/wiki/concepts/Multi-Agent AI Coding Architecture.md +75 -0
- package/vault/wiki/concepts/Prompt Enhancement.md +90 -0
- package/vault/wiki/concepts/Prompt Renderer.md +89 -0
- package/vault/wiki/concepts/Semantic Codebase Indexing.md +67 -0
- package/vault/wiki/concepts/additive-config-hierarchy.md +16 -0
- package/vault/wiki/concepts/agent-artifacts-verifiable-deliverables.md +71 -0
- package/vault/wiki/concepts/agent-browser-browser-automation.md +99 -0
- package/vault/wiki/concepts/agent-codebase-interface.md +43 -0
- package/vault/wiki/concepts/agent-harness-architecture.md +67 -0
- package/vault/wiki/concepts/agent-loop-detection-patterns.md +133 -0
- package/vault/wiki/concepts/agent-search-enforcement.md +126 -0
- package/vault/wiki/concepts/agent-skills-ecosystem.md +74 -0
- package/vault/wiki/concepts/agent-skills-pattern.md +68 -0
- package/vault/wiki/concepts/agentic-harness-context-enforcement.md +91 -0
- package/vault/wiki/concepts/agentic-harness.md +34 -0
- package/vault/wiki/concepts/agentic-orchestration-pipeline.md +56 -0
- package/vault/wiki/concepts/agentic-search-no-embeddings.md +18 -0
- package/vault/wiki/concepts/anthropic-context-engineering.md +13 -0
- package/vault/wiki/concepts/antigravity-agent-first-architecture.md +61 -0
- package/vault/wiki/concepts/ast-compression.md +19 -0
- package/vault/wiki/concepts/ast-truncation.md +66 -0
- package/vault/wiki/concepts/barrel-files.md +37 -0
- package/vault/wiki/concepts/browser-harness-agent.md +41 -0
- package/vault/wiki/concepts/browser-subagent-visual-verification.md +82 -0
- package/vault/wiki/concepts/codebase-intelligence-ecosystem-comparison.md +192 -0
- package/vault/wiki/concepts/codebase-intelligence-harness-integration.md +161 -0
- package/vault/wiki/concepts/codebase-to-context-ingestion.md +46 -0
- package/vault/wiki/concepts/codex-harness-innovations.md +147 -0
- package/vault/wiki/concepts/consensus-debate-flow.md +17 -0
- package/vault/wiki/concepts/consensus-debate.md +206 -0
- package/vault/wiki/concepts/content-addressed-spec-identity.md +166 -0
- package/vault/wiki/concepts/context-anxiety.md +57 -0
- package/vault/wiki/concepts/context-compression-techniques.md +19 -0
- package/vault/wiki/concepts/context-continuity.md +22 -0
- package/vault/wiki/concepts/context-drift-in-agents.md +106 -0
- package/vault/wiki/concepts/context-engineering.md +62 -0
- package/vault/wiki/concepts/context-folding.md +67 -0
- package/vault/wiki/concepts/context-mode.md +38 -0
- package/vault/wiki/concepts/cursor-harness-innovations.md +107 -0
- package/vault/wiki/concepts/deterministic-session-compaction.md +79 -0
- package/vault/wiki/concepts/drift-detection-unified.md +296 -0
- package/vault/wiki/concepts/execution-feedback-loop.md +46 -0
- package/vault/wiki/concepts/feedforward-feedback-harness.md +60 -0
- package/vault/wiki/concepts/five-root-cause-metrics-sentrux.md +40 -0
- package/vault/wiki/concepts/fork-safe-spec-storage.md +89 -0
- package/vault/wiki/concepts/fts5-sandbox.md +19 -0
- package/vault/wiki/concepts/fuzzy-edit-matching.md +71 -0
- package/vault/wiki/concepts/gemini-cli-architecture.md +104 -0
- package/vault/wiki/concepts/generator-evaluator-architecture.md +64 -0
- package/vault/wiki/concepts/guardian-agent-pattern.md +67 -0
- package/vault/wiki/concepts/harness-configuration-layers.md +89 -0
- package/vault/wiki/concepts/harness-control-frameworks.md +155 -0
- package/vault/wiki/concepts/harness-engineering-first-principles.md +90 -0
- package/vault/wiki/concepts/harness-h-formalism.md +53 -0
- package/vault/wiki/concepts/hybrid-code-search.md +61 -0
- package/vault/wiki/concepts/inline-post-edit-validation.md +112 -0
- package/vault/wiki/concepts/legendary-engineering-patterns-harness.md +110 -0
- package/vault/wiki/concepts/lifecycle-hooks.md +94 -0
- package/vault/wiki/concepts/mcp-tool-routing.md +102 -0
- package/vault/wiki/concepts/memory-system-of-record-vs-ephemeral-cache.md +47 -0
- package/vault/wiki/concepts/meta-agent-context-pruning.md +151 -0
- package/vault/wiki/concepts/model-adaptive-harness.md +122 -0
- package/vault/wiki/concepts/model-routing-agents.md +101 -0
- package/vault/wiki/concepts/monorepo-architecture.md +45 -0
- package/vault/wiki/concepts/multi-agent-specialization.md +61 -0
- package/vault/wiki/concepts/permission-subsystem.md +16 -0
- package/vault/wiki/concepts/pi-messenger-analysis.md +243 -0
- package/vault/wiki/concepts/pi-vscode-extension-landscape.md +37 -0
- package/vault/wiki/concepts/policy-engine-pattern.md +78 -0
- package/vault/wiki/concepts/progressive-disclosure-agents.md +53 -0
- package/vault/wiki/concepts/progressive-skill-disclosure.md +17 -0
- package/vault/wiki/concepts/provider-native-prompting.md +203 -0
- package/vault/wiki/concepts/quality-signal-sentrux.md +37 -0
- package/vault/wiki/concepts/repo-map-ranking.md +42 -0
- package/vault/wiki/concepts/result-monad-error-handling.md +47 -0
- package/vault/wiki/concepts/safety-defense-in-depth.md +83 -0
- package/vault/wiki/concepts/sandbox-os-enforcement.md +18 -0
- package/vault/wiki/concepts/selective-debate-routing.md +70 -0
- package/vault/wiki/concepts/self-evolving-harness.md +60 -0
- package/vault/wiki/concepts/sentrux-mcp-integration.md +36 -0
- package/vault/wiki/concepts/sentrux-rules-engine.md +49 -0
- package/vault/wiki/concepts/shell-pattern-compression.md +24 -0
- package/vault/wiki/concepts/skill-first-architecture.md +166 -0
- package/vault/wiki/concepts/structured-compaction.md +78 -0
- package/vault/wiki/concepts/subagent-orchestration.md +17 -0
- package/vault/wiki/concepts/subagent-worktree-isolation.md +68 -0
- package/vault/wiki/concepts/superpowers-methodology.md +78 -0
- package/vault/wiki/concepts/think-in-code.md +73 -0
- package/vault/wiki/concepts/ts-execution-layer.md +100 -0
- package/vault/wiki/concepts/typescript-strict-mode.md +37 -0
- package/vault/wiki/concepts/vcc-conversation-compaction-for-pi.md +51 -0
- package/vault/wiki/concepts/verification-drift-detection.md +19 -0
- package/vault/wiki/consensus/consensus-records.md +58 -0
- package/vault/wiki/decisions/2026-04-30-pi-lean-ctx-native.md +122 -0
- package/vault/wiki/decisions/adr-008.md +40 -0
- package/vault/wiki/decisions/adr-009.md +46 -0
- package/vault/wiki/decisions/adr-010.md +55 -0
- package/vault/wiki/decisions/adr-011.md +165 -0
- package/vault/wiki/decisions/adr-012.md +102 -0
- package/vault/wiki/decisions/adr-013.md +59 -0
- package/vault/wiki/decisions/adr-014.md +73 -0
- package/vault/wiki/decisions/adr-015.md +81 -0
- package/vault/wiki/decisions/adr-016.md +91 -0
- package/vault/wiki/decisions/adr-017.md +79 -0
- package/vault/wiki/decisions/adr-018.md +100 -0
- package/vault/wiki/decisions/adr-019.md +75 -0
- package/vault/wiki/decisions/adr-020.md +106 -0
- package/vault/wiki/decisions/adr-021.md +86 -0
- package/vault/wiki/decisions/adr-022.md +113 -0
- package/vault/wiki/decisions/adr-023.md +113 -0
- package/vault/wiki/decisions/adr-024.md +73 -0
- package/vault/wiki/decisions/adr-025.md +130 -0
- package/vault/wiki/decisions/adr-026.md +56 -0
- package/vault/wiki/decisions/colocate-wiki.md +34 -0
- package/vault/wiki/entities/Anders Hejlsberg.md +29 -0
- package/vault/wiki/entities/Anthropic.md +17 -0
- package/vault/wiki/entities/Augment Code.md +49 -0
- package/vault/wiki/entities/Bjarne Stroustrup.md +26 -0
- package/vault/wiki/entities/Bolt.new (StackBlitz).md +39 -0
- package/vault/wiki/entities/Boris Cherny.md +11 -0
- package/vault/wiki/entities/Claude Code.md +19 -0
- package/vault/wiki/entities/Dennis Ritchie.md +26 -0
- package/vault/wiki/entities/Emergent Labs.md +32 -0
- package/vault/wiki/entities/Google Cloud.md +16 -0
- package/vault/wiki/entities/Guido van Rossum.md +28 -0
- package/vault/wiki/entities/Ken Thompson.md +28 -0
- package/vault/wiki/entities/Lee et al.md +16 -0
- package/vault/wiki/entities/Linus Torvalds.md +28 -0
- package/vault/wiki/entities/Lovable (company).md +40 -0
- package/vault/wiki/entities/Martin Fowler.md +16 -0
- package/vault/wiki/entities/Meng et al.md +16 -0
- package/vault/wiki/entities/OpenAI.md +16 -0
- package/vault/wiki/entities/Rocket.new.md +38 -0
- package/vault/wiki/entities/VILA-Lab.md +15 -0
- package/vault/wiki/entities/autodev-codebase.md +18 -0
- package/vault/wiki/entities/ck-tool.md +59 -0
- package/vault/wiki/entities/codesearch.md +18 -0
- package/vault/wiki/entities/disler-indydevdan.md +33 -0
- package/vault/wiki/entities/gsd-get-shit-done.md +56 -0
- package/vault/wiki/entities/javascript-runtimes.md +48 -0
- package/vault/wiki/entities/jesse-vincent.md +38 -0
- package/vault/wiki/entities/lean-ctx.md +32 -0
- package/vault/wiki/entities/opendev.md +41 -0
- package/vault/wiki/entities/ops-codegraph-tool.md +18 -0
- package/vault/wiki/entities/pi-coding-agent.md +53 -0
- package/vault/wiki/entities/sentrux.md +54 -0
- package/vault/wiki/entities/vgrep-tool.md +57 -0
- package/vault/wiki/entities/vitest.md +41 -0
- package/vault/wiki/flows/harness-wiki-pipeline.md +204 -0
- package/vault/wiki/hot.md +932 -0
- package/vault/wiki/index.md +437 -0
- package/vault/wiki/log.md +418 -0
- package/vault/wiki/meta/dashboard.md +30 -0
- package/vault/wiki/meta/lint-report-2026-04-30.md +86 -0
- package/vault/wiki/meta/lint-report-2026-05-02.md +251 -0
- package/vault/wiki/meta/overview.canvas +43 -0
- package/vault/wiki/modules/adversarial-verification.md +57 -0
- package/vault/wiki/modules/automated-observability.md +54 -0
- package/vault/wiki/modules/bench.md +20 -0
- package/vault/wiki/modules/extensions.md +23 -0
- package/vault/wiki/modules/grounding-checkpoints.md +62 -0
- package/vault/wiki/modules/harness-implementation-plan.md +345 -0
- package/vault/wiki/modules/harness-wiki-skill-mapping.md +135 -0
- package/vault/wiki/modules/harness.md +86 -0
- package/vault/wiki/modules/persistent-memory.md +85 -0
- package/vault/wiki/modules/schema-orchestration.md +68 -0
- package/vault/wiki/modules/skills.md +27 -0
- package/vault/wiki/modules/spec-hardening.md +58 -0
- package/vault/wiki/modules/structured-planning.md +53 -0
- package/vault/wiki/modules/think-in-code-enforcement.md +153 -0
- package/vault/wiki/modules/wiki-query-interface.md +64 -0
- package/vault/wiki/overview.md +51 -0
- package/vault/wiki/questions/Research-pi-vs-claude-code-agentic-orchestration-pipeline.md +87 -0
- package/vault/wiki/questions/Research-sentrux-dev.md +123 -0
- package/vault/wiki/questions/Research-superpowers-skill-for-agentic-coding-agents.md +164 -0
- package/vault/wiki/questions/Research: Augment Code Context Engine.md +244 -0
- package/vault/wiki/questions/Research: Automating Software Engineering - Lovable, Bolt, Emergent, Rocket.md +112 -0
- package/vault/wiki/questions/Research: Claude Code State-of-the-Art Harness Improvements.md +209 -0
- package/vault/wiki/questions/Research: Codex State-of-the-Art Harness Improvements.md +99 -0
- package/vault/wiki/questions/Research: Engineering Workflows of Legendary Programmers and AI Harness Mapping.md +107 -0
- package/vault/wiki/questions/Research: Fallow Codebase Intelligence Harness Integration.md +72 -0
- package/vault/wiki/questions/Research: Gemini CLI SOTA Harness Integration.md +166 -0
- package/vault/wiki/questions/Research: GitHub Issues as Harness Spec Storage.md +188 -0
- package/vault/wiki/questions/Research: Google Antigravity Harness Integration.md +120 -0
- package/vault/wiki/questions/Research: Meta-Agent Context Drift Detection.md +236 -0
- package/vault/wiki/questions/Research: Model-Adaptive Agent Harness Design.md +95 -0
- package/vault/wiki/questions/Research: Model-Specific Prompting Guides.md +165 -0
- package/vault/wiki/questions/Research: Prompt Renderer for Multi-Model Agent Harness.md +216 -0
- package/vault/wiki/questions/Research: Skill-First Harness Architecture.md +91 -0
- package/vault/wiki/questions/Research: TypeScript Best Practices and Codebase Structure.md +88 -0
- package/vault/wiki/questions/Research: TypeScript Execution Layer for Agent Tool Calling.md +81 -0
- package/vault/wiki/questions/Research: claude-mem over Obsidian for Harness Layer.md +71 -0
- package/vault/wiki/questions/Research: claude-mem over obsidian wiki as the knowledge base for our agentic harness pipeline. think from first principles. does this replace or complement our current setup? no hard feelings about previous decisions. gimme accurate points.md +80 -0
- package/vault/wiki/questions/Research: context-mode vs lean-ctx.md +72 -0
- package/vault/wiki/questions/Research: cursor.sh Harness Innovations.md +92 -0
- package/vault/wiki/questions/Research: executor.sh Harness Integration.md +170 -0
- package/vault/wiki/questions/Research: how GSD fits into our coding harness setup.md +97 -0
- package/vault/wiki/questions/Research: how claude-mem fits into our workflow. and whether it should replace obsidian in the codebase. no hard feelings about previous actions, rethink from first principles always.md +80 -0
- package/vault/wiki/questions/Research: pi-vcc.md +113 -0
- package/vault/wiki/questions/Research: semantic code search tools.md +69 -0
- package/vault/wiki/questions/Research: vcc extension for pi coding agent.md +73 -0
- package/vault/wiki/questions/how-to-enable-semantic-code-search-now.md +111 -0
- package/vault/wiki/questions/mvp-implementation-blueprint.md +552 -0
- package/vault/wiki/questions/research-agent-first-codebase-exploration.md +199 -0
- package/vault/wiki/questions/research-agentic-coding-harness-latest-papers.md +142 -0
- package/vault/wiki/questions/research-gitingest-gitreverse-integration.md +100 -0
- package/vault/wiki/questions/research-wozcode-token-reduction.md +67 -0
- package/vault/wiki/questions/resolved-context-pruning-inplace-vs-restart.md +95 -0
- package/vault/wiki/questions/resolved-context-window-economics.md +167 -0
- package/vault/wiki/questions/resolved-imad-debate-gating-transfer.md +126 -0
- package/vault/wiki/questions/resolved-mcp-tool-preference.md +112 -0
- package/vault/wiki/questions/resolved-small-model-meta-agents.md +107 -0
- package/vault/wiki/questions/resolved-treesitter-dynamic-languages.md +95 -0
- package/vault/wiki/sources/Auggie Context MCP Server.md +63 -0
- package/vault/wiki/sources/Augment Code Codacy AI Giants.md +61 -0
- package/vault/wiki/sources/Augment Code MCP SiliconAngle.md +49 -0
- package/vault/wiki/sources/Augment Code WorkOS ERC 2025.md +55 -0
- package/vault/wiki/sources/Augment Context Engine Official.md +71 -0
- package/vault/wiki/sources/Augment SWE-bench Agent GitHub.md +74 -0
- package/vault/wiki/sources/Augment SWE-bench Pro Blog.md +58 -0
- package/vault/wiki/sources/Source: AgentBus Jinja2 Prompt Pipelines.md +75 -0
- package/vault/wiki/sources/Source: Arxiv /342/200/224 Don't Break the Cache.md" +85 -0
- package/vault/wiki/sources/Source: Augment - Harness Engineering for AI Coding Agents.md +58 -0
- package/vault/wiki/sources/Source: Blake Crosley Agent Architecture Guide.md +100 -0
- package/vault/wiki/sources/Source: Bolt.new Architecture & Case Study.md +75 -0
- package/vault/wiki/sources/Source: Build-Time Prompt Compilation Architecture.md +107 -0
- package/vault/wiki/sources/Source: Claude API Agent Skills Overview.md +70 -0
- package/vault/wiki/sources/Source: Gemini CLI Changelogs.md +88 -0
- package/vault/wiki/sources/Source: Google Blog - Gemini CLI Announcement.md +57 -0
- package/vault/wiki/sources/Source: Google Gemini CLI Architecture Docs.md +53 -0
- package/vault/wiki/sources/Source: LangChain - Anatomy of Agent Harness.md +65 -0
- package/vault/wiki/sources/Source: Lovable Architecture & Clone Analysis.md +83 -0
- package/vault/wiki/sources/Source: Martin Fowler - Harness Engineering.md +70 -0
- package/vault/wiki/sources/Source: OpenAI Harness Engineering Five Principles.md +58 -0
- package/vault/wiki/sources/Source: OpenAI Harness Engineering /342/200/224 0 Lines of Human Code.md" +101 -0
- package/vault/wiki/sources/Source: OpenDev /342/200/224 Building AI Coding Agents for the Terminal.md" +100 -0
- package/vault/wiki/sources/Source: Render AI Coding Agents Benchmark 2025.md +53 -0
- package/vault/wiki/sources/Source: Rocket.new /342/200/224 Vibe Solutioning Platform.md" +70 -0
- package/vault/wiki/sources/Source: SwirlAI Agent Skills Progressive Disclosure.md +71 -0
- package/vault/wiki/sources/Source: TianPan Prompt Caching Architecture.md +89 -0
- package/vault/wiki/sources/Source: Vercel Labs agent-browser.md +155 -0
- package/vault/wiki/sources/Source: browser-harness CDP Harness.md +126 -0
- package/vault/wiki/sources/agent-drift-academic-paper.md +79 -0
- package/vault/wiki/sources/aider-repomap-tree-sitter.md +42 -0
- package/vault/wiki/sources/anthropic-compaction-api.md +58 -0
- package/vault/wiki/sources/anthropic-effective-harnesses.md +42 -0
- package/vault/wiki/sources/anthropic-prompt-best-practices.md +100 -0
- package/vault/wiki/sources/anthropic2026-harness-design.md +63 -0
- package/vault/wiki/sources/barrel-files-tkdodo.md +38 -0
- package/vault/wiki/sources/birth-of-unix-kernighan-interview.md +57 -0
- package/vault/wiki/sources/bockeler2026-harness-engineering.md +69 -0
- package/vault/wiki/sources/cast-code-chunking-paper.md +50 -0
- package/vault/wiki/sources/ck-semantic-search.md +78 -0
- package/vault/wiki/sources/claude-code-architecture-karaxai-2026.md +71 -0
- package/vault/wiki/sources/claude-code-architecture-qubytes-2026.md +50 -0
- package/vault/wiki/sources/claude-code-architecture-vila-lab-2026.md +64 -0
- package/vault/wiki/sources/claude-code-security-architecture-penligent-2026.md +70 -0
- package/vault/wiki/sources/claude-context-editing-docs.md +13 -0
- package/vault/wiki/sources/cloudflare-codemode.md +63 -0
- package/vault/wiki/sources/code-chunk-library-supermemory.md +63 -0
- package/vault/wiki/sources/codeact-apple-2024.md +62 -0
- package/vault/wiki/sources/codex-dsc-rfc-8573.md +41 -0
- package/vault/wiki/sources/codex-open-source-agent-2026.md +110 -0
- package/vault/wiki/sources/coir-code-retrieval-benchmark.md +51 -0
- package/vault/wiki/sources/colinmcnamara-context-optimization-codemode.md +48 -0
- package/vault/wiki/sources/context-folding-paper.md +61 -0
- package/vault/wiki/sources/context-mode-website.md +63 -0
- package/vault/wiki/sources/cursor-agent-best-practices-2026.md +62 -0
- package/vault/wiki/sources/cursor-fork-29b-2025.md +50 -0
- package/vault/wiki/sources/cursor-harness-april-2026.md +76 -0
- package/vault/wiki/sources/cursor-instant-apply-2024.md +45 -0
- package/vault/wiki/sources/cursor-shadow-workspace-2024.md +52 -0
- package/vault/wiki/sources/cursor-shipped-coding-agent-2026.md +53 -0
- package/vault/wiki/sources/cursor-vs-antigravity-2026.md +51 -0
- package/vault/wiki/sources/disler-pi-vs-claude-code.md +69 -0
- package/vault/wiki/sources/distill-deterministic-context-compression.md +53 -0
- package/vault/wiki/sources/embedding-models-benchmark-supermemory-2025.md +48 -0
- package/vault/wiki/sources/executor-rhyssullivan.md +122 -0
- package/vault/wiki/sources/fallow-rs-codebase-intelligence.md +125 -0
- package/vault/wiki/sources/fan2025-imad.md +60 -0
- package/vault/wiki/sources/forgecode-gpt5-agent-improvements.md +63 -0
- package/vault/wiki/sources/gemini-3-prompting-guide.md +78 -0
- package/vault/wiki/sources/gh-cli-sub-issue-rfc.md +50 -0
- package/vault/wiki/sources/gh-sub-issue-extension.md +72 -0
- package/vault/wiki/sources/github-fork-issues-discussion.md +44 -0
- package/vault/wiki/sources/github-issue-dependencies-docs.md +49 -0
- package/vault/wiki/sources/github-sub-issues-docs.md +51 -0
- package/vault/wiki/sources/gitingest.md +91 -0
- package/vault/wiki/sources/gitreverse.md +63 -0
- package/vault/wiki/sources/google-antigravity-official-blog.md +47 -0
- package/vault/wiki/sources/google-antigravity-wikipedia.md +53 -0
- package/vault/wiki/sources/gsd-codecentric-deep-dive.md +57 -0
- package/vault/wiki/sources/gsd-github-repo.md +51 -0
- package/vault/wiki/sources/gsd-hn-discussion.md +59 -0
- package/vault/wiki/sources/guido-python-design-philosophy.md +56 -0
- package/vault/wiki/sources/hejlsberg-7-learnings.md +48 -0
- package/vault/wiki/sources/ironclaw-drift-monitor.md +80 -0
- package/vault/wiki/sources/langsight-loop-detection.md +80 -0
- package/vault/wiki/sources/leanctx-website.md +69 -0
- package/vault/wiki/sources/lee2026-meta-harness.md +59 -0
- package/vault/wiki/sources/linux-kernel-coding-workflow.md +50 -0
- package/vault/wiki/sources/lou2026-autoharness.md +53 -0
- package/vault/wiki/sources/martin-fowler-harness-engineering.md +73 -0
- package/vault/wiki/sources/mcp-architecture-docs.md +13 -0
- package/vault/wiki/sources/meng2026-agent-harness-survey.md +79 -0
- package/vault/wiki/sources/mindstudio-four-agent-types.md +68 -0
- package/vault/wiki/sources/ms-chat-history-management.md +13 -0
- package/vault/wiki/sources/openai-prompt-guidance.md +104 -0
- package/vault/wiki/sources/openclaw-session-pruning.md +13 -0
- package/vault/wiki/sources/opencode-dcp.md +13 -0
- package/vault/wiki/sources/opendev-arxiv-2603.05344v1.md +79 -0
- package/vault/wiki/sources/openhands-platform.md +39 -0
- package/vault/wiki/sources/oss-guide-codebase-exploration.md +53 -0
- package/vault/wiki/sources/pi-compaction-extensions-ecosystem.md +102 -0
- package/vault/wiki/sources/pi-context-prune-github-repo.md +38 -0
- package/vault/wiki/sources/pi-mono-compaction-docs.md +38 -0
- package/vault/wiki/sources/pi-omni-compact-github-repo.md +50 -0
- package/vault/wiki/sources/pi-rtk-optimizer-github-repo.md +45 -0
- package/vault/wiki/sources/pi-vcc-github-repo.md +69 -0
- package/vault/wiki/sources/pi-vscode-marketplace.md +41 -0
- package/vault/wiki/sources/pi-vscode-model-provider-marketplace.md +39 -0
- package/vault/wiki/sources/py-tree-sitter.md +13 -0
- package/vault/wiki/sources/sentrux-dev-landing.md +40 -0
- package/vault/wiki/sources/sentrux-docs-pro-architecture.md +75 -0
- package/vault/wiki/sources/sentrux-docs-quality-signal.md +46 -0
- package/vault/wiki/sources/sentrux-docs-root-cause-metrics.md +57 -0
- package/vault/wiki/sources/sentrux-docs-rules-engine.md +58 -0
- package/vault/wiki/sources/sentrux-github-repo.md +56 -0
- package/vault/wiki/sources/superpowers-github-repo.md +56 -0
- package/vault/wiki/sources/superpowers-release-blog.md +54 -0
- package/vault/wiki/sources/superpowers-termdock-analysis.md +45 -0
- package/vault/wiki/sources/swe-agent-aci.md +42 -0
- package/vault/wiki/sources/swe-bench.md +45 -0
- package/vault/wiki/sources/swe-pruner-context-pruning.md +13 -0
- package/vault/wiki/sources/think-in-code-blog.md +48 -0
- package/vault/wiki/sources/tree-sitter-docs.md +13 -0
- package/vault/wiki/sources/ts-best-practices-2025-devto.md +42 -0
- package/vault/wiki/sources/ts-folder-structure-mingyang.md +58 -0
- package/vault/wiki/sources/ts-monorepo-koerselman.md +44 -0
- package/vault/wiki/sources/ts-result-error-handling-kkalamarski.md +52 -0
- package/vault/wiki/sources/ts-runtimes-comparison-betterstack.md +42 -0
- package/vault/wiki/sources/ts-strict-mode-rishikc.md +43 -0
- package/vault/wiki/sources/unix-philosophy.md +48 -0
- package/vault/wiki/sources/vectara-chunking-vs-embedding-naacl2025.md +39 -0
- package/vault/wiki/sources/vectara-guardian-agents.md +79 -0
- package/vault/wiki/sources/vgrep-semantic-search.md +76 -0
- package/vault/wiki/sources/vitest-official.md +41 -0
- package/vault/wiki/sources/vscode-pi-community-extension.md +40 -0
- package/vault/wiki/sources/wozcode.md +79 -0
- package/.agents/skills/compress/SKILL.md +0 -111
- package/.agents/skills/compress/scripts/__init__.py +0 -9
- package/.agents/skills/compress/scripts/__main__.py +0 -3
- package/.agents/skills/compress/scripts/benchmark.py +0 -78
- package/.agents/skills/compress/scripts/cli.py +0 -73
- package/.agents/skills/compress/scripts/compress.py +0 -227
- package/.agents/skills/compress/scripts/detect.py +0 -121
- package/.agents/skills/compress/scripts/validate.py +0 -189
- package/.agents/skills/emil-design-eng/SKILL.md +0 -679
- package/.agents/skills/lean-ctx/SKILL.md +0 -149
- package/.agents/skills/lean-ctx/scripts/install.sh +0 -95
- package/.agents/skills/scrapling-official/LICENSE.txt +0 -28
- package/.agents/skills/scrapling-official/SKILL.md +0 -390
- package/.agents/skills/scrapling-official/examples/01_fetcher_session.py +0 -26
- package/.agents/skills/scrapling-official/examples/02_dynamic_session.py +0 -26
- package/.agents/skills/scrapling-official/examples/03_stealthy_session.py +0 -26
- package/.agents/skills/scrapling-official/examples/04_spider.py +0 -58
- package/.agents/skills/scrapling-official/examples/README.md +0 -45
- package/.agents/skills/scrapling-official/references/fetching/choosing.md +0 -78
- package/.agents/skills/scrapling-official/references/fetching/dynamic.md +0 -352
- package/.agents/skills/scrapling-official/references/fetching/static.md +0 -432
- package/.agents/skills/scrapling-official/references/fetching/stealthy.md +0 -255
- package/.agents/skills/scrapling-official/references/mcp-server.md +0 -214
- package/.agents/skills/scrapling-official/references/migrating_from_beautifulsoup.md +0 -86
- package/.agents/skills/scrapling-official/references/parsing/adaptive.md +0 -212
- package/.agents/skills/scrapling-official/references/parsing/main_classes.md +0 -586
- package/.agents/skills/scrapling-official/references/parsing/selection.md +0 -494
- package/.agents/skills/scrapling-official/references/spiders/advanced.md +0 -344
- package/.agents/skills/scrapling-official/references/spiders/architecture.md +0 -94
- package/.agents/skills/scrapling-official/references/spiders/getting-started.md +0 -164
- package/.agents/skills/scrapling-official/references/spiders/proxy-blocking.md +0 -235
- package/.agents/skills/scrapling-official/references/spiders/requests-responses.md +0 -196
- package/.agents/skills/scrapling-official/references/spiders/sessions.md +0 -205
- package/PLAN.md +0 -11
- package/extensions/lean-ctx-enforce.ts +0 -166
- package/skills-lock.json +0 -35
- package/wiki/README.md +0 -19
- package/wiki/decisions/0001-establish-project-wiki-and-decision-record-format.md +0 -25
- package/wiki/decisions/0002-add-project-banner-to-readme.md +0 -26
- package/wiki/decisions/0003-remove-redundant-readme-title-heading.md +0 -26
- package/wiki/decisions/0004-publish-package-to-npm-as-ultimate-pi.md +0 -26
- package/wiki/decisions/0005-automate-npm-publish-with-github-actions.md +0 -27
- package/wiki/decisions/0006-switch-to-npm-trusted-publishing.md +0 -26
- package/wiki/decisions/0007-use-absolute-banner-url-for-npm-readme-rendering.md +0 -26
- package/wiki/decisions/0008-rename-banner-asset-for-cache-busting.md +0 -26
- package/wiki/decisions/0009-force-oidc-path-by-clearing-node-auth-token-in-publish-step.md +0 -25
- package/wiki/decisions/0010-simplify-setup-node-for-npm-trusted-publishing.md +0 -26
- package/wiki/decisions/0011-add-noop-workflow-change-to-force-fresh-publish-run.md +0 -25
- package/wiki/decisions/0012-align-workflow-runtime-with-npm-trusted-publishing-requirements.md +0 -26
- package/wiki/decisions/0013-add-package-repository-url-for-provenance-validation.md +0 -25
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
title: "Feedforward-Feedback Harness Controls"
|
|
4
|
+
created: 2026-04-30
|
|
5
|
+
updated: 2026-04-30
|
|
6
|
+
status: seed
|
|
7
|
+
tags:
|
|
8
|
+
- harness
|
|
9
|
+
- controls
|
|
10
|
+
- feedforward
|
|
11
|
+
- feedback
|
|
12
|
+
related:
|
|
13
|
+
- "[[agentic-harness]]"
|
|
14
|
+
- "[[harness-implementation-plan]]"
|
|
15
|
+
- "[[inline-post-edit-validation]]"
|
|
16
|
+
sources:
|
|
17
|
+
- "[[bockeler2026-harness-engineering]]"
|
|
18
|
+
- "[[meng2026-agent-harness-survey]]"
|
|
19
|
+
|
|
20
|
+
---# Feedforward-Feedback Harness Controls
|
|
21
|
+
|
|
22
|
+
From Böckeler (2026, Martin Fowler): A cybernetic model of harness controls as guides (feedforward) and sensors (feedback), each split into computational and inferential execution types.
|
|
23
|
+
|
|
24
|
+
## The Framework
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
FEEDFORWARD (Guides) FEEDBACK (Sensors)
|
|
28
|
+
├─ Computational ├─ Computational
|
|
29
|
+
│ ├─ Language servers │ ├─ Tests (unit, integration)
|
|
30
|
+
│ ├─ CLIs, scripts │ ├─ Linters (ESLint, ruff)
|
|
31
|
+
│ └─ Codemods │ ├─ Type checkers
|
|
32
|
+
│ │ ├─ Mutation testing
|
|
33
|
+
├─ Inferential │ └─ Structural tests (ArchUnit)
|
|
34
|
+
│ ├─ AGENTS.md, skills │
|
|
35
|
+
│ ├─ Rules, conventions ├─ Inferential
|
|
36
|
+
│ ├─ Reference docs │ ├─ AI code review agents
|
|
37
|
+
│ └─ How-to guides │ ├─ LLM-as-judge
|
|
38
|
+
│ │ └─ Semantic analysis
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Mapping to Our Pipeline
|
|
42
|
+
|
|
43
|
+
| Control Type | Our Implementation |
|
|
44
|
+
|-------------|-------------------|
|
|
45
|
+
| Feedforward-Computational | Tool schemas, `tsc --noEmit`, JSON schema validation |
|
|
46
|
+
| Feedforward-Inferential | SKILL.md files, ADRs, wiki pages, AGENTS.md |
|
|
47
|
+
| Feedback-Computational | Inline post-edit validation (Phase 12), final lint gate (Phase 16) |
|
|
48
|
+
| Feedback-Inferential | L4 adversarial verification, L2 plan review, L1 spec review |
|
|
49
|
+
|
|
50
|
+
## Key Insight
|
|
51
|
+
|
|
52
|
+
> Separately, agents keep repeating the same mistakes (feedback-only) or encode rules but never find out whether they worked (feedforward-only). Both are needed.
|
|
53
|
+
|
|
54
|
+
## Unsolved: Behaviour Harness
|
|
55
|
+
|
|
56
|
+
Functional correctness verification remains the hardest problem. Current approach (AI-generated tests + manual testing) is insufficient. The "approved fixtures" pattern helps selectively but is not a wholesale answer.
|
|
57
|
+
|
|
58
|
+
## Steering Loop
|
|
59
|
+
|
|
60
|
+
Human's role: when an issue happens multiple times, improve the feedforward or feedback controls. This is harness engineering as ongoing practice, not one-time configuration.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
title: "Five Root Cause Metrics (sentrux)"
|
|
4
|
+
created: 2026-05-03
|
|
5
|
+
tags:
|
|
6
|
+
- sentrux
|
|
7
|
+
- code-metrics
|
|
8
|
+
- graph-theory
|
|
9
|
+
related:
|
|
10
|
+
- "[[Quality Signal (sentrux)]]"
|
|
11
|
+
- "[[sentrux]]"
|
|
12
|
+
sources:
|
|
13
|
+
- "[[sentrux-docs-root-cause-metrics]]"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Five Root Cause Metrics (sentrux)
|
|
17
|
+
|
|
18
|
+
sentrux computes 5 independent metrics covering the complete structural properties of a directed attributed dependency graph:
|
|
19
|
+
|
|
20
|
+
| # | Metric | Theory | Measures |
|
|
21
|
+
|---|--------|--------|----------|
|
|
22
|
+
| 1 | Modularity | Newman 2004 | Graph community detection — do files cluster into independent modules? |
|
|
23
|
+
| 2 | Acyclicity | Martin 2003 | Circular dependency detection via Tarjan's SCC |
|
|
24
|
+
| 3 | Depth | Lakos 1996 | Longest dependency chain length |
|
|
25
|
+
| 4 | Equality | Gini 1912 | Even distribution of complexity (no god files) |
|
|
26
|
+
| 5 | Redundancy | Kolmogorov 1963 | Dead/duplicate code |
|
|
27
|
+
|
|
28
|
+
## Dimensional Completeness
|
|
29
|
+
3 edge properties + 2 node properties = 5 total dimensions:
|
|
30
|
+
- **Edge properties:** modularity (clustering), acyclicity (cycles), depth (chain length)
|
|
31
|
+
- **Node properties:** equality (concentration), redundancy (unnecessary nodes)
|
|
32
|
+
|
|
33
|
+
Adding more metrics would either overlap (entropy ≈ Gini) or measure runtime behavior outside static analysis.
|
|
34
|
+
|
|
35
|
+
## Why These Five?
|
|
36
|
+
- **Modularity replaces** coupling, cohesion, god file detection, hotspot detection — all symptoms of low Q
|
|
37
|
+
- **Acyclicity is fundamental:** cycles make build order undefined and testing impossible
|
|
38
|
+
- **Depth captures** change propagation risk — deep chains mean small changes ripple far
|
|
39
|
+
- **Equality targets** god files — the #1 source of AI agent confusion
|
|
40
|
+
- **Redundancy captures** dead code — expands AI agent's search space without contributing behavior
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
title: "Fork-Safe Spec Storage"
|
|
4
|
+
status: developing
|
|
5
|
+
created: 2026-04-30
|
|
6
|
+
updated: 2026-04-30
|
|
7
|
+
tags:
|
|
8
|
+
- harness
|
|
9
|
+
- spec-storage
|
|
10
|
+
- github-issues
|
|
11
|
+
- fork
|
|
12
|
+
- multi-tenant
|
|
13
|
+
- isolation
|
|
14
|
+
related:
|
|
15
|
+
- "[[Research: GitHub Issues as Harness Spec Storage]]"
|
|
16
|
+
- "[[content-addressed-spec-identity]]"
|
|
17
|
+
- "[[spec-hardening]]"
|
|
18
|
+
- "[[harness-implementation-plan]]"
|
|
19
|
+
sources:
|
|
20
|
+
- "[[github-fork-issues-discussion]]"
|
|
21
|
+
- "[[Research: GitHub Issues as Harness Spec Storage]]"
|
|
22
|
+
|
|
23
|
+
---# Fork-Safe Spec Storage
|
|
24
|
+
|
|
25
|
+
How ultimate-pi's harness keeps spec storage isolated across forks. When someone forks a project using ultimate-pi, zero upstream spec state leaks into the fork.
|
|
26
|
+
|
|
27
|
+
## The Problem
|
|
28
|
+
|
|
29
|
+
| Threat | Mechanism |
|
|
30
|
+
|--------|-----------|
|
|
31
|
+
| Stale local cache | `.pi/harness/specs/<id>.json` committed to git → forked with upstream issue URLs |
|
|
32
|
+
| Empty issue tracker | Fork's Issues tab is disabled by default (historical) or starts empty (post-Dec 2025) |
|
|
33
|
+
| Wrong repo context | `gh` CLI authenticated to upstream, not fork |
|
|
34
|
+
| Divergent issue numbers | Fork issue #5 ≠ upstream issue #5. Merge = collision |
|
|
35
|
+
|
|
36
|
+
## The Solution: Three-Layer Isolation
|
|
37
|
+
|
|
38
|
+
### Layer 1: Gitignored Runtime Cache
|
|
39
|
+
|
|
40
|
+
`.pi/harness/specs/` is in `.gitignore`. The cache is, by definition, runtime-only. It's never committed, never pushed, never forked. Each clone starts fresh.
|
|
41
|
+
|
|
42
|
+
**Rationale**: The local JSON is a **speed cache**, not a source of truth. GitHub Issues are the durable store. Caches should never be version-controlled.
|
|
43
|
+
|
|
44
|
+
### Layer 2: `harness init` Bootstrap
|
|
45
|
+
|
|
46
|
+
On first run in any repo (fork or not), `ultimate-pi harness init`:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
ultimate-pi harness init
|
|
50
|
+
├─ Detect fork: gh repo view --json isFork
|
|
51
|
+
├─ Enable Issues: if disabled, guide user or auto-enable via API
|
|
52
|
+
├─ gh auth check: prompt login if missing
|
|
53
|
+
├─ gh repo set-default: point to current repo (fork, not upstream)
|
|
54
|
+
├─ Create labels: gh label create harness-spec, harness-task, layer-1..8, status:*
|
|
55
|
+
├─ Create templates: .github/ISSUE_TEMPLATE/harness-spec.yml
|
|
56
|
+
├─ Gitignore: ensure .pi/harness/specs/ is in .gitignore
|
|
57
|
+
└─ Done. Idempotent — re-running is a no-op.
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Layer 3: GitHub's Native Repo Scoping
|
|
61
|
+
|
|
62
|
+
GitHub Issues are scoped to a repository. A fork is a separate repository. Upstream's issues are never copied to forks. Each fork creates its own issues in its own namespace.
|
|
63
|
+
|
|
64
|
+
| Scope | Upstream (`owner/project`) | Fork (`forker/project`) |
|
|
65
|
+
|-------|---------------------------|------------------------|
|
|
66
|
+
| Issue #1 | "Initial spec: auth system" | (empty — fork starts fresh) |
|
|
67
|
+
| Issue #2 | "Bug: memory leak" | (empty) |
|
|
68
|
+
| After `harness init` | Unchanged | Issue #1: "Spec: forker's first feature" |
|
|
69
|
+
|
|
70
|
+
## Why Labels Instead of Issue Numbers
|
|
71
|
+
|
|
72
|
+
Labels are the only shared artifact between upstream and fork. This is by design:
|
|
73
|
+
|
|
74
|
+
- **Labels are convention, not data**. `harness-spec`, `layer-3`, `status:active` are semantic tags that mean the same thing in any repo.
|
|
75
|
+
- **Labels are cheap to recreate**. `harness init` creates them in 8 API calls.
|
|
76
|
+
- **Labels don't collide**. Issue #5 in upstream with `harness-spec` and issue #5 in fork with `harness-spec` are different issues with the same semantic category. No conflict.
|
|
77
|
+
|
|
78
|
+
## The Merge Problem — SOLVED
|
|
79
|
+
|
|
80
|
+
Fork issue #5 and upstream issue #5 are different specs. When code merges, spec identities must be reconciled. **Solution**: Content-addressed spec identity via `SHA256` fingerprinting + `gh issue transfer` API. See [[content-addressed-spec-identity]] for the full creative architecture.
|
|
81
|
+
|
|
82
|
+
Summary: every spec carries a content hash in its issue body (`<!-- spec-fp: <hash> -->`). Harness resolves by hash search across repos, not by brittle issue numbers. `ultimate-pi harness migrate` transfers specs from fork to upstream on merge. Idempotent, ~2-3 days to implement.
|
|
83
|
+
|
|
84
|
+
## Enforcement
|
|
85
|
+
|
|
86
|
+
- L7 Schema Orchestration enforces that every harness run checks `gh repo view` before creating issues
|
|
87
|
+
- `harness init` is a prerequisite gate — harness refuses to create issues until init completes
|
|
88
|
+
- Config file `.pi/harness/config.json` stores the canonical repo for issue operations
|
|
89
|
+
- Runtime validation: if `gh repo view --json nameWithOwner` doesn't match config, harness warns and offers re-init
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
title: "fts5-sandbox"
|
|
4
|
+
created: 2026-04-30
|
|
5
|
+
updated: 2026-04-30
|
|
6
|
+
status: seed
|
|
7
|
+
tags: [#concept, #context-mode, #architecture]
|
|
8
|
+
related:
|
|
9
|
+
- "[[context-mode]]"
|
|
10
|
+
- "[[Research: context-mode vs lean-ctx]]"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# FTS5 Sandbox
|
|
14
|
+
|
|
15
|
+
> [!stub] This is a stub page. See [[context-mode]] for full documentation.
|
|
16
|
+
|
|
17
|
+
context-mode's core architecture: intercept agent tool calls, run them in a sandboxed subprocess, index the output into SQLite FTS5 with BM25 ranking, and let the agent search the indexed output on demand. Raw tool output never enters the agent's context window — the agent queries the sandbox instead.
|
|
18
|
+
|
|
19
|
+
Achieves up to 99.5% token reduction on large tool outputs (e.g., 56.2KB Playwright output → 299B).
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
title: "Fuzzy Edit Matching"
|
|
4
|
+
created: 2026-04-30
|
|
5
|
+
updated: 2026-04-30
|
|
6
|
+
tags:
|
|
7
|
+
- agent-tools
|
|
8
|
+
- token-reduction
|
|
9
|
+
- diff-algorithms
|
|
10
|
+
related:
|
|
11
|
+
- "[[wozcode]]"
|
|
12
|
+
- "[[research-wozcode-token-reduction]]"
|
|
13
|
+
- "[[harness-implementation-plan]]"
|
|
14
|
+
status: developing
|
|
15
|
+
|
|
16
|
+
---# Fuzzy Edit Matching
|
|
17
|
+
|
|
18
|
+
Fuzzy edit matching is a tool-level enhancement that makes code edits tolerant of minor formatting differences between what the model outputs and what exists on disk. Instead of failing on exact string mismatch, the edit tool applies a similarity-tolerant diff that lands near-misses without a retry round-trip.
|
|
19
|
+
|
|
20
|
+
## Problem
|
|
21
|
+
|
|
22
|
+
Standard edit tools (Claude Code's `edit`, our harness's `edit`) require exact `oldText` match. When the model generates an edit with:
|
|
23
|
+
|
|
24
|
+
- Whitespace drift (tabs vs spaces, trailing whitespace)
|
|
25
|
+
- Indentation differences (2-space vs 4-space blocks)
|
|
26
|
+
- Visually-identical characters (curly quotes `"` vs straight quotes `"`, em-dash `—` vs `--`)
|
|
27
|
+
- Line-ending variance (`\n` vs `\r\n`)
|
|
28
|
+
|
|
29
|
+
...the edit fails. The model receives the error, reformulates, and retries. Each retry is a full API round-trip costing input + output tokens.
|
|
30
|
+
|
|
31
|
+
## Solution
|
|
32
|
+
|
|
33
|
+
Fuzzy edit matching applies these normalization passes before attempting the match:
|
|
34
|
+
|
|
35
|
+
1. **Whitespace normalization**: Collapse variable whitespace, strip trailing spaces
|
|
36
|
+
2. **Character normalization**: Map curly quotes → straight, em-dashes → double-hyphens
|
|
37
|
+
3. **Indentation-aware matching**: Match by content ignoring leading whitespace differences
|
|
38
|
+
4. **Line-ending normalization**: Treat `\r\n` and `\n` as equivalent
|
|
39
|
+
|
|
40
|
+
If the normalized `oldText` matches a unique region in the normalized file, the edit proceeds with the original (non-normalized) `newText` applied at the matched position.
|
|
41
|
+
|
|
42
|
+
## Token Savings
|
|
43
|
+
|
|
44
|
+
WOZCODE claims this eliminates a significant fraction of retry round-trips (Source: [[wozcode]]). Each avoided retry saves:
|
|
45
|
+
- Input tokens: re-sending file content + error message + conversation history
|
|
46
|
+
- Output tokens: reformulated edit attempt
|
|
47
|
+
|
|
48
|
+
For a typical session, edit retries can account for 5-15% of total token spend.
|
|
49
|
+
|
|
50
|
+
## Failure Modes
|
|
51
|
+
|
|
52
|
+
- **Ambiguous match**: Normalized oldText matches multiple locations → must fall back to exact match
|
|
53
|
+
- **Over-normalization**: Aggressive normalization changes semantics (e.g., normalizing quotes inside string literals)
|
|
54
|
+
- **Silent wrong edits**: Fuzzy match lands on wrong location with similar content → bug introduced silently
|
|
55
|
+
- **Confidence in large files**: Single-line matches in large files may be ambiguous
|
|
56
|
+
|
|
57
|
+
## Relationship to WOZCODE Quality Loop
|
|
58
|
+
|
|
59
|
+
Fuzzy edit matching is one component of WOZCODE's three-lever quality loop:
|
|
60
|
+
|
|
61
|
+
1. **Fuzzy matching** → lands near-misses (prevents retries)
|
|
62
|
+
2. **Post-edit validation** → catches actual errors (prevents cascading failures)
|
|
63
|
+
3. **Better error context** → when an error reaches the model, it gets actionable details (reduces retry count)
|
|
64
|
+
|
|
65
|
+
## Implementation Path for Our Harness
|
|
66
|
+
|
|
67
|
+
1. Add normalization layer to the `edit` tool in `lib/harness-executor.ts`
|
|
68
|
+
2. Configurable normalization: `fuzzy_edit: { normalize_whitespace: true, normalize_quotes: true }`
|
|
69
|
+
3. Ambiguity detection: if multiple matches, log warning and fall back to exact
|
|
70
|
+
4. Integration point: L3 [[grounding-checkpoints]], intercept edit failures and re-attempt with fuzzy matching before surfacing to model
|
|
71
|
+
5. Track fuzzy-match rate vs exact-match rate as observability metric (L5 [[automated-observability]])
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
title: "Gemini CLI Architecture (SOTA)"
|
|
4
|
+
created: 2026-05-01
|
|
5
|
+
updated: 2026-05-01
|
|
6
|
+
status: stable
|
|
7
|
+
tags:
|
|
8
|
+
- gemini-cli
|
|
9
|
+
- architecture
|
|
10
|
+
- coding-agents
|
|
11
|
+
- harness
|
|
12
|
+
related:
|
|
13
|
+
- "[[harness-engineering-first-principles]]"
|
|
14
|
+
- "[[agent-skills-pattern]]"
|
|
15
|
+
- "[[policy-engine-pattern]]"
|
|
16
|
+
sources:
|
|
17
|
+
- "[[Source: Google Gemini CLI Architecture Docs]]"
|
|
18
|
+
- "[[Source: Gemini CLI Changelogs]]"
|
|
19
|
+
- "[[Source: Google Blog - Gemini CLI Announcement]]"
|
|
20
|
+
|
|
21
|
+
---# Gemini CLI Architecture (SOTA)
|
|
22
|
+
|
|
23
|
+
## Overview
|
|
24
|
+
|
|
25
|
+
Gemini CLI is Google's open-source AI coding agent (Apache 2.0, launched June 2025, now v0.40+ with 103k GitHub stars, 6,005 commits, 476 releases). It brings Gemini models (2.5 Pro, 3.0 Pro/Flash, 3.1 Pro) directly into the terminal with a ReAct loop, built-in tools, MCP support, and an extensible architecture.
|
|
26
|
+
|
|
27
|
+
## Core Architecture
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
User Input → packages/cli (frontend) → packages/core (backend) → Gemini API
|
|
31
|
+
↑ ↓ ↓
|
|
32
|
+
Display rendering Tool execution Tool request / response
|
|
33
|
+
State management Prompt construction
|
|
34
|
+
API client
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Two-package separation: CLI handles UX (input, history, display, themes, config). Core handles logic (API client, prompts, tool registry, state management, session config).
|
|
38
|
+
|
|
39
|
+
## Key SOTA Harness Components
|
|
40
|
+
|
|
41
|
+
### 1. Agent Skills (v0.23+)
|
|
42
|
+
Progressive disclosure: skills loaded on-demand via `activate_skill` tool. Prevents context rot. Formalized with frontmatter, `/memory inbox` for human review of extracted skills, `skill-creator` meta-skill. [[agent-skills-pattern]]
|
|
43
|
+
|
|
44
|
+
### 2. Plan Mode (v0.29+)
|
|
45
|
+
Structured task decomposition: `/plan` command, todo tracking, annotations, research subagents, external editor support. Enabled by default v0.34. Model steering allows human to guide plan direction.
|
|
46
|
+
|
|
47
|
+
### 3. Codebase Investigator (v0.12+)
|
|
48
|
+
JIT context discovery: subagent automatically explores workspace, resolves relevant files, loads into context. Enhanced with JIT context injection in v0.36. Configurable turn limits.
|
|
49
|
+
|
|
50
|
+
### 4. Policy Engine (v0.18+)
|
|
51
|
+
Pre-execution tool gates: project-level policies, MCP server wildcards, tool annotation matching, persistent approvals, context-aware policies. [[policy-engine-pattern]]
|
|
52
|
+
|
|
53
|
+
### 5. Event-Driven Hooks (v0.27+)
|
|
54
|
+
Event-driven scheduler for tool execution. Hooks for compaction, continuation, lint checks. MessageBus architecture for internal communication. Queued tool confirmations.
|
|
55
|
+
|
|
56
|
+
### 6. Context Compression Service (v0.38+)
|
|
57
|
+
Advanced context management distilling conversation history. Configurable threshold. Complements (doesn't replace) progressive disclosure.
|
|
58
|
+
|
|
59
|
+
### 7. Chapters Narrative Flow (v0.38+)
|
|
60
|
+
Sessions grouped by intent and tool usage. Provides structural narrative across long sessions. Enhances human review UX.
|
|
61
|
+
|
|
62
|
+
### 8. Subagents + Remote Agents (v0.32+)
|
|
63
|
+
Generalist agent for task routing. Specialist subagents with JIT context. Remote agents via A2A protocol (v0.33). Resilient tool rejection with contextual feedback.
|
|
64
|
+
|
|
65
|
+
### 9. Memory System (v0.39+)
|
|
66
|
+
Four-tier memory: prompt-driven transition from static files. Auto Memory (experimental). `/memory inbox` for reviewing extracted patterns.
|
|
67
|
+
|
|
68
|
+
### 10. Multi-Registry Architecture (v0.36+)
|
|
69
|
+
Extensions, skills, MCP servers as separate registries. Extensions loaded in parallel. Partner ecosystem: 20+ extensions launched by v0.12.
|
|
70
|
+
|
|
71
|
+
### 11. Browser Agent (v0.31+)
|
|
72
|
+
Experimental browser agent with persistent sessions. Dynamic tool discovery. Chrome DevTools Protocol access.
|
|
73
|
+
|
|
74
|
+
### 12. Model Routing (v0.12+)
|
|
75
|
+
Auto-selects Flash for simple tasks, Pro for complex. Configurable. Model steering in workspace (v0.32).
|
|
76
|
+
|
|
77
|
+
### 13. Sandboxing Stack (v0.34+)
|
|
78
|
+
Docker, gVisor, LXC, macOS Seatbelt, Windows sandboxing. Dynamic expansion. Tool isolation via SandboxManager.
|
|
79
|
+
|
|
80
|
+
### 14. Git Worktrees (v0.36+)
|
|
81
|
+
Isolated parallel agent sessions. Multiple agents on same repo without conflicts.
|
|
82
|
+
|
|
83
|
+
### 15. Extensions Ecosystem (v0.8+)
|
|
84
|
+
Partner extensions (Hugging Face, Redis, Eleven Labs, Browserbase, etc.). Custom extensions. A2A protocol. SDK package (v0.30).
|
|
85
|
+
|
|
86
|
+
## Technology Stack
|
|
87
|
+
|
|
88
|
+
- **Language**: TypeScript 98% + JavaScript 1.8%
|
|
89
|
+
- **Packaging**: npm (`@google/gemini-cli`), Homebrew, MacPorts, Anaconda
|
|
90
|
+
- **Build**: esbuild
|
|
91
|
+
- **Testing**: Integration tests, E2E tests, performance tests, memory tests
|
|
92
|
+
- **Models**: Gemini 2.5 Pro, 3.0 Pro/Flash, 3.1 Pro, Gemma (local)
|
|
93
|
+
- **Context**: 1M token window (2.5 Pro)
|
|
94
|
+
|
|
95
|
+
## Free Tier Economics
|
|
96
|
+
|
|
97
|
+
- 60 requests/minute, 1,000 requests/day
|
|
98
|
+
- Personal Google account (OAuth)
|
|
99
|
+
- Industry's largest free allowance
|
|
100
|
+
- Also supports: Gemini API key, Vertex AI, Code Assist licenses
|
|
101
|
+
|
|
102
|
+
## Relevance to Ultimate-PI
|
|
103
|
+
|
|
104
|
+
Gemini CLI's architecture validates our two-layer separation (CLI/Core ≈ our harness pipeline + tool layer). Their rapid iteration model (weekly releases, experimental → preview → stable → default) is a deployment pattern we should adopt. Their ecosystem-first approach (extensions, skills registries) suggests our tool/extension system should be designed for community contribution.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
title: "Generator-Evaluator Architecture"
|
|
4
|
+
created: 2026-04-30
|
|
5
|
+
updated: 2026-04-30
|
|
6
|
+
status: seed
|
|
7
|
+
tags:
|
|
8
|
+
- harness
|
|
9
|
+
- multi-agent
|
|
10
|
+
- evaluator
|
|
11
|
+
- generator
|
|
12
|
+
- adversarial
|
|
13
|
+
related:
|
|
14
|
+
- "[[adversarial-verification]]"
|
|
15
|
+
- "[[consensus-debate]]"
|
|
16
|
+
- "[[agentic-harness]]"
|
|
17
|
+
sources:
|
|
18
|
+
- "[[anthropic2026-harness-design]]"
|
|
19
|
+
|
|
20
|
+
---# Generator-Evaluator Architecture
|
|
21
|
+
|
|
22
|
+
A GAN-inspired multi-agent pattern where an evaluator agent grades a generator agent's output against explicit criteria. From Anthropic's harness design work (Rajasekaran, 2026).
|
|
23
|
+
|
|
24
|
+
## Core Pattern
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
Generator ──produces──► Output
|
|
28
|
+
│
|
|
29
|
+
▼
|
|
30
|
+
Evaluator ◄──tests────────┘
|
|
31
|
+
│
|
|
32
|
+
├─ Grade against criteria
|
|
33
|
+
├─ Write detailed critique
|
|
34
|
+
└─ Feedback → Generator (next iteration)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Why Separate Generator and Evaluator
|
|
38
|
+
|
|
39
|
+
**Fundamental finding**: When asked to evaluate their own work, agents "respond by confidently praising the work — even when, to a human observer, the quality is obviously mediocre." Separating the two roles solves this. Tuning a standalone evaluator to be skeptical is far more tractable than making a generator critical of its own work.
|
|
40
|
+
|
|
41
|
+
## Evaluator Tuning
|
|
42
|
+
|
|
43
|
+
Claude is "a poor QA agent out of the box" — identifies legitimate issues, then talks itself into deciding they aren't a big deal. Requires explicit tuning loop:
|
|
44
|
+
1. Read evaluator logs
|
|
45
|
+
2. Find examples where its judgment diverges from human judgment
|
|
46
|
+
3. Update QA prompt to solve for those issues
|
|
47
|
+
4. Repeat until evaluator grades reasonably
|
|
48
|
+
|
|
49
|
+
## Sprint Contracts
|
|
50
|
+
|
|
51
|
+
Before writing code, generator and evaluator negotiate a contract:
|
|
52
|
+
- Generator proposes what it will build and how success will be verified
|
|
53
|
+
- Evaluator reviews proposal to ensure it builds the right thing
|
|
54
|
+
- Iterate until agreement
|
|
55
|
+
- Generator builds against the agreed-upon contract
|
|
56
|
+
- Communication via files
|
|
57
|
+
|
|
58
|
+
## Relevance to Our Harness
|
|
59
|
+
|
|
60
|
+
Our L4 (Adversarial Verification) maps to the evaluator role, but with one critical gap: we lack **explicit grading criteria with hard thresholds**. Our critics give narrative feedback, not falsifiable pass/fail on specific criteria. The sprint contract pattern (agree on "done" before code) could be integrated at L2 (plan review) before L3 execution.
|
|
61
|
+
|
|
62
|
+
## When Is It Worth It?
|
|
63
|
+
|
|
64
|
+
The evaluator is worth the cost when the task sits beyond what the current model does reliably solo. As models improve, the boundary moves — tasks that used to need evaluation may not anymore. The evaluator is not a fixed yes/no decision.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
aliases: ["guardian agent", "pre-execution safety", "agent guardrails"]
|
|
3
|
+
type: concept
|
|
4
|
+
title: "Guardian Agent Pattern"
|
|
5
|
+
created: 2026-04-30
|
|
6
|
+
status: developing
|
|
7
|
+
tags:
|
|
8
|
+
- concept
|
|
9
|
+
- guardian-agent
|
|
10
|
+
- safety
|
|
11
|
+
- agent-reliability
|
|
12
|
+
related:
|
|
13
|
+
- "[[Research: Meta-Agent Context Drift Detection]]"
|
|
14
|
+
- "[[meta-agent-context-pruning]]"
|
|
15
|
+
- "[[context-drift-in-agents]]"
|
|
16
|
+
- "[[vectara-guardian-agents]]"
|
|
17
|
+
- "[[ironclaw-drift-monitor]]"
|
|
18
|
+
updated: 2026-05-02
|
|
19
|
+
|
|
20
|
+
---# Guardian Agent Pattern
|
|
21
|
+
|
|
22
|
+
A design pattern where a separate agent (or rule-based system) monitors and validates another agent's actions — either before execution (proactive) or after detecting failure patterns (reactive). Emerging as a standard approach for production agent reliability.
|
|
23
|
+
|
|
24
|
+
## Two Variants
|
|
25
|
+
|
|
26
|
+
### Proactive Guardian (Pre-Execution)
|
|
27
|
+
|
|
28
|
+
Validates proposed actions BEFORE they execute. Blocks unsafe, incorrect, or incomplete tool calls.
|
|
29
|
+
|
|
30
|
+
**Example**: Vectara's Guardian Agents check three things before any tool executes:
|
|
31
|
+
1. Unnecessary tools (should this tool be part of the plan?)
|
|
32
|
+
2. Missing required tools (does the plan include all needed tools?)
|
|
33
|
+
3. Argument validation (are parameters correct, present, properly structured?)
|
|
34
|
+
|
|
35
|
+
Feedback aggregated and returned to agent for plan revision. (Source: [[vectara-guardian-agents]])
|
|
36
|
+
|
|
37
|
+
### Reactive Guardian (Post-Execution)
|
|
38
|
+
|
|
39
|
+
Monitors tool call history, detects failure patterns after they emerge, and injects corrective actions.
|
|
40
|
+
|
|
41
|
+
**Example**: ironclaw's DriftMonitor detects 5 stuck patterns (repetition, failure spiral, tool cycling, silence drift, rework churn) and injects system messages. (Source: [[ironclaw-drift-monitor]])
|
|
42
|
+
|
|
43
|
+
**Example**: The proposed meta-agent context pruning extends this by also removing dead-end context entries.
|
|
44
|
+
|
|
45
|
+
## Academic Treatment
|
|
46
|
+
|
|
47
|
+
**GuardAgent** (OpenReview): First LLM agent serving as guardrail for other LLM agents. Checks inputs/outputs against guard requests (safety rules, privacy policies). Training-free, in-context-learning-based.
|
|
48
|
+
|
|
49
|
+
**GUARDIAN** (NeurIPS 2025): Models multi-agent collaboration as temporal attributed graph. Detects propagation dynamics of hallucinations and errors. State-of-the-art accuracy with efficient resource utilization.
|
|
50
|
+
|
|
51
|
+
## Complementary Approaches
|
|
52
|
+
|
|
53
|
+
Proactive (Guardian Agents) and reactive (Meta-Agent / DriftMonitor) are complementary:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
User Request → [Guardian Agent: validate plan] → [Agent executes] → [Meta-Agent: monitor for drift]
|
|
57
|
+
↑ blocks bad plans ↑ prunes context if stuck
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Guardian Agents prevent execution-level errors. Meta-Agent recovers when the agent gets past the guardian but still gets stuck (context pollution, reasoning drift, unexpected tool behavior).
|
|
61
|
+
|
|
62
|
+
## See Also
|
|
63
|
+
|
|
64
|
+
- [[meta-agent-context-pruning]] — Reactive guardian with context pruning
|
|
65
|
+
- [[vectara-guardian-agents]] — Source: benchmark and proactive guardian design
|
|
66
|
+
- [[ironclaw-drift-monitor]] — Source: reactive DriftMonitor proposal
|
|
67
|
+
- [[context-drift-in-agents]] — The problem both approaches address
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
title: "Harness Configuration Layers"
|
|
4
|
+
aliases: ["four-layer harness", "harness layers", "L1-L4 harness"]
|
|
5
|
+
created: 2026-04-30
|
|
6
|
+
updated: 2026-05-01
|
|
7
|
+
tags: [#concept, #agents, #harness-design]
|
|
8
|
+
status: redesign
|
|
9
|
+
related:
|
|
10
|
+
- "[[provider-native-prompting]]"
|
|
11
|
+
- "[[model-adaptive-harness]]"
|
|
12
|
+
- "[[forgecode-gpt5-agent-improvements]]"
|
|
13
|
+
- "[[Research: Model-Specific Prompting Guides]]"
|
|
14
|
+
sources:
|
|
15
|
+
- "[[openai-prompt-guidance]]"
|
|
16
|
+
- "[[anthropic-prompt-best-practices]]"
|
|
17
|
+
- "[[gemini-3-prompting-guide]]"
|
|
18
|
+
- "[[forgecode-gpt5-agent-improvements]]"
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Harness Configuration Layers
|
|
22
|
+
|
|
23
|
+
A four-layer model for agent harness design. Each layer has configurable dimensions that vary by LLM model. **Updated May 2026** with official provider guidance as the primary source, replacing the earlier empirical-only approach.
|
|
24
|
+
|
|
25
|
+
> [!important] The old design principle ("write once for strict, relax for forgiving") is retired. See [[provider-native-prompting]] for the replacement: generate provider-native prompts from a semantic spec.
|
|
26
|
+
|
|
27
|
+
## Layer Architecture
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
L4 COMPLETION MODEL — How "done" is determined and verified
|
|
31
|
+
L3 STATE CHANNEL — How system state reaches the model
|
|
32
|
+
L2 GATE DESIGN — How transitions between phases are controlled
|
|
33
|
+
L1 SIGNAL DESIGN — How instructions are formatted for model consumption
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## L1: Signal Design
|
|
37
|
+
|
|
38
|
+
How instructions, constraints, and structure are formatted.
|
|
39
|
+
|
|
40
|
+
| Dimension | OpenAI GPT | Anthropic Claude | Google Gemini | Source |
|
|
41
|
+
|---|---|---|---|---|
|
|
42
|
+
| Structure | XML-like sections | XML tags | Plain text sections | Official guides |
|
|
43
|
+
| Density | Concise, outcome-first (5.5+) | General over prescriptive | Concise by default | OpenAI 5.5 guide, Anthropic BP, Gemini 3 guide |
|
|
44
|
+
| Constraint Ordering | FIRST (early tokens weighted higher) | Flexible | LAST (constraints at end) | Forge Code, Gemini 3 guide |
|
|
45
|
+
| Emphasis | Explicit markers for invariants only | Role setting + why explanation | Persona definitions binding | All three guides |
|
|
46
|
+
| Nesting Depth | Flat (older GPT), relaxed (GPT-5.5+) | Hierarchical OK | Flat recommended | Forge Code, official guides |
|
|
47
|
+
|
|
48
|
+
## L2: Gate Design
|
|
49
|
+
|
|
50
|
+
How transitions between phases are controlled.
|
|
51
|
+
|
|
52
|
+
| Dimension | OpenAI GPT | Anthropic Claude | Google Gemini | Source |
|
|
53
|
+
|---|---|---|---|---|
|
|
54
|
+
| Enforcement | Hard-gate (verification loop) | Self-check at end | Split-step verify→generate | GPT-5.4 guide, Anthropic BP, Gemini 3 guide |
|
|
55
|
+
| Granularity | Per-step | Per-round (auto-calibrated) | Per-step | Forge Code, Anthropic BP |
|
|
56
|
+
| Evidence | Checklist + tool output | Self-assessment + quote extraction | Explicit capability verification | GPT-5.4 guide, Anthropic BP, Gemini 3 guide |
|
|
57
|
+
| Retry | Auto-loop (tool persistence rules) | Flag-and-continue (effort-controlled) | Escalate after 1-2 fallback strategies | GPT-5.4 guide, Anthropic BP, Gemini 3 guide |
|
|
58
|
+
|
|
59
|
+
## L3: State Channel
|
|
60
|
+
|
|
61
|
+
How system state reaches the model.
|
|
62
|
+
|
|
63
|
+
| Dimension | OpenAI GPT | Anthropic Claude | Google Gemini | Source |
|
|
64
|
+
|---|---|---|---|---|
|
|
65
|
+
| Truncation | In-band warning + compaction API | Context awareness (tracks own budget) | System instruction for budget | GPT guide, Anthropic BP |
|
|
66
|
+
| Progress | Explicit counters + user update spec | Auto-calibrated progress updates | Less verbose, steer explicitly | GPT-5.1 guide, Anthropic Opus 4.7, Gemini 3 guide |
|
|
67
|
+
| Error | Structured (phase parameter) | Natural (adaptive thinking) | System instruction routing | GPT-5.3 Codex, Anthropic BP |
|
|
68
|
+
| Grounding | Citation rules + retrieval budgets | Quote extraction from documents | Explicit "context is truth" statement | All three guides |
|
|
69
|
+
|
|
70
|
+
## L4: Completion Model
|
|
71
|
+
|
|
72
|
+
How "done" is determined.
|
|
73
|
+
|
|
74
|
+
| Dimension | OpenAI GPT | Anthropic Claude | Google Gemini | Source |
|
|
75
|
+
|---|---|---|---|---|
|
|
76
|
+
| Criteria | Falsifiable checklist + completeness contract | Completion-signal + self-check | Split-step verification pass | GPT-5.4, Anthropic BP, Gemini 3 guide |
|
|
77
|
+
| Self-Audit | Enforced (verification loop) | Natural (may need prompting) | Enforced (verify before generate) | GPT-5.4, Anthropic BP, Gemini 3 guide |
|
|
78
|
+
| Partial-Work | Reject (completeness contract) | Accept-with-gaps (autonomous continuation) | STOP if unverified | GPT-5.4, Anthropic BP, Gemini 3 guide |
|
|
79
|
+
|
|
80
|
+
## Design Principle (v2)
|
|
81
|
+
|
|
82
|
+
**Generate provider-native prompts from a semantic spec.** See [[provider-native-prompting]] for the renderer architecture.
|
|
83
|
+
|
|
84
|
+
## Sources
|
|
85
|
+
|
|
86
|
+
- [[openai-prompt-guidance]] — OpenAI official, 2026
|
|
87
|
+
- [[anthropic-prompt-best-practices]] — Anthropic official, 2026
|
|
88
|
+
- [[gemini-3-prompting-guide]] — Google Cloud official, 2026-04-29
|
|
89
|
+
- [[forgecode-gpt5-agent-improvements]] — Forge Code empirical failure modes, 2026
|