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,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
status: developing
|
|
4
|
+
created: 2026-05-05
|
|
5
|
+
updated: 2026-05-05
|
|
6
|
+
tags:
|
|
7
|
+
- compaction
|
|
8
|
+
- context-engineering
|
|
9
|
+
- reinforcement-learning
|
|
10
|
+
- agent-architecture
|
|
11
|
+
related:
|
|
12
|
+
- "[[deterministic-session-compaction]]"
|
|
13
|
+
- "[[structured-compaction]]"
|
|
14
|
+
- "[[context-engineering]]"
|
|
15
|
+
- "[[context-continuity]]"
|
|
16
|
+
- "[[context-drift-in-agents]]"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Context Folding
|
|
20
|
+
|
|
21
|
+
## Definition
|
|
22
|
+
|
|
23
|
+
Context folding is a structured compaction technique that allows agents to create temporary sub-trajectories (branch), compress them into summaries (fold), and rejoin the main execution thread (return). This reduces active context by ~10x while maintaining agent performance on long-horizon tasks.
|
|
24
|
+
|
|
25
|
+
## Why It Matters
|
|
26
|
+
|
|
27
|
+
Three hard problems with expanding context windows for agentic workloads:
|
|
28
|
+
1. **Accuracy cliff**: Tool-calling accuracy collapses ~40% past 80K effective-context tokens (Source: [[context-folding-paper]])
|
|
29
|
+
2. **Convex cost**: Every additional token is re-read on every subsequent step
|
|
30
|
+
3. **Latency growth**: Super-linear with context size
|
|
31
|
+
|
|
32
|
+
Context folding addresses all three by keeping active context at ~32K even for 200+ step tasks.
|
|
33
|
+
|
|
34
|
+
## Mechanism
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
main trajectory: [step1] → [step2] → BRANCH → ... → RETURN(summary) → [step N]
|
|
38
|
+
| |
|
|
39
|
+
sub-trajectory folded away
|
|
40
|
+
(detailed steps) (only summary kept)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
The agent learns WHEN to branch and WHAT to summarize via FoldGRPO (reinforcement learning with token-level process rewards).
|
|
44
|
+
|
|
45
|
+
## vs Other Compaction Approaches
|
|
46
|
+
|
|
47
|
+
| Approach | When | What | How |
|
|
48
|
+
|----------|------|------|-----|
|
|
49
|
+
| **Context Folding** | Within a single run | Sub-trajectories | Learned RL branching |
|
|
50
|
+
| **pi-vcc** | At compaction boundaries | Full conversation | Deterministic extraction |
|
|
51
|
+
| **LLM summarization** | At compaction boundaries | Full conversation | LLM generation |
|
|
52
|
+
| **Memory systems** | Across runs | Facts/entities | Persistent storage |
|
|
53
|
+
|
|
54
|
+
## Harness Integration
|
|
55
|
+
|
|
56
|
+
Context folding maps to our harness differently than pi-vcc:
|
|
57
|
+
- **L2.5 Drift Monitor**: Could branch/fold drift detection sub-trajectories
|
|
58
|
+
- **L3 Execution**: Natural fit for multi-tool exploration sequences
|
|
59
|
+
- **L4 Adversarial**: Critic evaluation as branch/fold sub-trajectory
|
|
60
|
+
|
|
61
|
+
Now available as first-class API primitive in Anthropic's context-management beta.
|
|
62
|
+
|
|
63
|
+
## Open Questions
|
|
64
|
+
|
|
65
|
+
- How does FoldGRPO training transfer across domains?
|
|
66
|
+
- Can deterministic folding rules (without RL) approximate learned behavior?
|
|
67
|
+
- Integration path with Pi's event system (`session_before_compact`)?
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
title: "context-mode"
|
|
4
|
+
created: 2026-04-30
|
|
5
|
+
updated: 2026-04-30
|
|
6
|
+
status: seed
|
|
7
|
+
tags: [#concept, #tool, #context-optimization]
|
|
8
|
+
sources:
|
|
9
|
+
- "[[context-mode-website]]"
|
|
10
|
+
related:
|
|
11
|
+
- "[[Research: context-mode vs lean-ctx]]"
|
|
12
|
+
- "[[think-in-code]]"
|
|
13
|
+
- "[[agentic-harness-context-enforcement]]"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# context-mode
|
|
17
|
+
|
|
18
|
+
> [!stub] This is a stub page. See [[context-mode-website]] for source documentation.
|
|
19
|
+
|
|
20
|
+
context-mode is an MCP-based context optimization tool by B. Mert Köseoğlu (11K+ GitHub stars). It intercepts tool output and sandboxes it into SQLite FTS5 with BM25 ranking, preventing raw tool output from entering the agent's context window.
|
|
21
|
+
|
|
22
|
+
## Architecture
|
|
23
|
+
|
|
24
|
+
Uses **intercept-and-sandbox**: raw tool output never enters context. Instead, output is indexed into FTS5 and the agent queries on demand. This achieves up to 99.5% token reduction.
|
|
25
|
+
|
|
26
|
+
## Key features
|
|
27
|
+
|
|
28
|
+
- FTS5 sandbox with BM25 ranking
|
|
29
|
+
- "Think in Code" paradigm enforcement
|
|
30
|
+
- 26-event session continuity
|
|
31
|
+
- ELv2 license, TypeScript/Node.js
|
|
32
|
+
|
|
33
|
+
## Key pages
|
|
34
|
+
|
|
35
|
+
- [[context-mode-website]] — source documentation
|
|
36
|
+
- [[Research: context-mode vs lean-ctx]] — comparison with lean-ctx
|
|
37
|
+
- [[think-in-code]] — the "Think in Code" paradigm
|
|
38
|
+
- [[fts5-sandbox]] — architecture detail
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
title: "Cursor Harness Innovations"
|
|
4
|
+
aliases: ["cursor.sh innovations", "cursor agent harness"]
|
|
5
|
+
created: 2026-05-01
|
|
6
|
+
updated: 2026-05-01
|
|
7
|
+
tags: [concept, harness, cursor, research, agent-architecture]
|
|
8
|
+
status: developing
|
|
9
|
+
related:
|
|
10
|
+
- "[[model-adaptive-harness]]"
|
|
11
|
+
- "[[harness-implementation-plan]]"
|
|
12
|
+
- "[[agentic-harness-context-enforcement]]"
|
|
13
|
+
- "[[drift-detection-unified]]"
|
|
14
|
+
- "[[feedforward-feedback-harness]]"
|
|
15
|
+
- "[[provider-native-prompting]]"
|
|
16
|
+
- "[[context-anxiety]]"
|
|
17
|
+
sources:
|
|
18
|
+
- "[[cursor-shadow-workspace-2024]]"
|
|
19
|
+
- "[[cursor-agent-best-practices-2026]]"
|
|
20
|
+
- "[[cursor-harness-april-2026]]"
|
|
21
|
+
- "[[cursor-shipped-coding-agent-2026]]"
|
|
22
|
+
- "[[cursor-instant-apply-2024]]"
|
|
23
|
+
- "[[cursor-fork-29b-2025]]"
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Cursor Harness Innovations
|
|
27
|
+
|
|
28
|
+
Cursor (Anysphere) has shipped the most successful agent harness in production — $1B ARR, 400M+ daily requests. Their engineering blog reveals patterns directly applicable to our harness design. This page catalogs the key innovations.
|
|
29
|
+
|
|
30
|
+
## 1. Shadow Workspace (Pre-Verification Isolation)
|
|
31
|
+
|
|
32
|
+
The single biggest UX differentiator. AI agent iterates in a hidden Electron window with full LSP access. Code is validated (linted, type-checked) before the user ever sees it.
|
|
33
|
+
|
|
34
|
+
**How it works**: Hidden window spawned with `show: false`. gRPC IPC between extension hosts. AI applies edit → LSP runs → errors captured → fed back to AI as "fix this" → iterate until clean → present to user.
|
|
35
|
+
|
|
36
|
+
**Key insight**: Pre-verification, not post-verification. User never sees broken code.
|
|
37
|
+
|
|
38
|
+
**Our gap**: We validate syntax inline (P11) but don't have an isolated pre-verification loop. User still sees intermediate failures.
|
|
39
|
+
|
|
40
|
+
## 2. Speculative Edits (Fast Apply)
|
|
41
|
+
|
|
42
|
+
Custom speculative decoding where existing code serves as draft tokens. Since edits reuse 80-90% of lines, the current file is a high-quality draft. Target model verifies which spans to keep/replace.
|
|
43
|
+
|
|
44
|
+
**Performance**: ~1000 tok/s on 70B model. 9-13x speedup over vanilla inference. Deterministic (no draft model needed).
|
|
45
|
+
|
|
46
|
+
**Why not diffs**: Models think in fewer tokens with diffs, diffs are out-of-distribution, line numbers hallucinate.
|
|
47
|
+
|
|
48
|
+
**Our parallel**: P10 fuzzy edit matching addresses same problem from tool side. Cursor solves it from model side (full-file rewrite).
|
|
49
|
+
|
|
50
|
+
## 3. Dynamic Context Evolution
|
|
51
|
+
|
|
52
|
+
2024: static guardrails + pre-loaded context (folder layout, snippets, compressed files).
|
|
53
|
+
2026: guardrails removed. Dynamic context fetched on demand. Agent decides what to pull in.
|
|
54
|
+
|
|
55
|
+
**Our parallel**: wiki query (L8) + lean-ctx (F0). Validates move away from pre-loaded context toward dynamic discovery.
|
|
56
|
+
|
|
57
|
+
## 4. Keep Rate + LLM-as-Judge Metrics
|
|
58
|
+
|
|
59
|
+
**Keep Rate**: Fraction of agent code still in codebase after 1hr/1day/1week. Measures real quality, not benchmark scores.
|
|
60
|
+
|
|
61
|
+
**LLM-as-Judge**: Reads user responses to agent output. "Moving to next feature" = good. "Pasting stack trace" = bad.
|
|
62
|
+
|
|
63
|
+
**Our gap**: L5 observability has no post-hoc quality metrics. We need Keep Rate equivalent.
|
|
64
|
+
|
|
65
|
+
## 5. Per-Tool Per-Model Error Classification
|
|
66
|
+
|
|
67
|
+
Every tool call error classified: InvalidArguments, UnexpectedEnvironment, ProviderError, UserAborted, Timeout. Unknown errors = always bugs. Anomaly detection alerts on expected errors vs per-model baseline. Weekly automated Cloud Agent for bug triage.
|
|
68
|
+
|
|
69
|
+
**Our gap**: No error classification. No per-model baselines. No automated harness self-repair.
|
|
70
|
+
|
|
71
|
+
## 6. Model-Adaptive Tool Provisioning
|
|
72
|
+
|
|
73
|
+
OpenAI models get patch-based edit format. Anthropic models get string replacement. Custom prompting per provider AND per model version. Mid-chat model switching with conversation summarization.
|
|
74
|
+
|
|
75
|
+
**Our parallel**: provider-native prompting redesign (May 2026). Well-aligned.
|
|
76
|
+
|
|
77
|
+
## 7. Long-Running Agent Hooks
|
|
78
|
+
|
|
79
|
+
Stop hooks that check DONE condition and auto-reinvoke agent. "Run tests. If fail, fix. Repeat until all pass." Max iteration guard. Scratchpad-based completion signaling.
|
|
80
|
+
|
|
81
|
+
**Our parallel**: Drift monitor (P3-P5) only stops bad behavior. We need the positive loop too — keep going until done, not just stop when stuck.
|
|
82
|
+
|
|
83
|
+
## 8. Subagent Specialization
|
|
84
|
+
|
|
85
|
+
Dispatching to specialized subagents by task type (planning, editing, debugging) with fresh context windows. Not just cost-based routing.
|
|
86
|
+
|
|
87
|
+
**Our gap**: Haiku Router (P25) is cost-based. Should evolve to capability-based subagent dispatch.
|
|
88
|
+
|
|
89
|
+
## 9. Context Anxiety (Cross-Model Phenomenon)
|
|
90
|
+
|
|
91
|
+
One model started refusing work as context window filled. Mitigated via prompt adjustments. Independent validation of our P27 Context Anxiety Guard.
|
|
92
|
+
|
|
93
|
+
## 10. 90-Minute RL Loop
|
|
94
|
+
|
|
95
|
+
Continuous RLHF fine-tuning on accept/reject interaction data. Deploys checkpoints multiple times daily. Self-improving harness through user feedback.
|
|
96
|
+
|
|
97
|
+
**Our parallel**: F1 Self-Evolving Harness (unscheduled). Cursor proves this works at scale.
|
|
98
|
+
|
|
99
|
+
## First Principles Takeaways
|
|
100
|
+
|
|
101
|
+
1. **Pre-verification > post-verification.** Validate before user sees failure.
|
|
102
|
+
2. **Keep Rate > benchmark scores.** Real-world persistence is the only quality metric that matters.
|
|
103
|
+
3. **Error classification enables self-healing.** You can't fix what you can't categorize.
|
|
104
|
+
4. **Positive loops > stop-only loops.** Hooks that keep agent running are as important as drift detection.
|
|
105
|
+
5. **Subagent specialization > model routing.** Dispatch by capability, not just cost.
|
|
106
|
+
6. **Context anxiety is real and cross-model.** Prepare for it proactively, not reactively.
|
|
107
|
+
7. **Architectural control matters more than model access.** Our .pi/ tool interception is our "fork."
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
status: developing
|
|
4
|
+
created: 2026-05-05
|
|
5
|
+
updated: 2026-05-05
|
|
6
|
+
tags:
|
|
7
|
+
- compaction
|
|
8
|
+
- deterministic
|
|
9
|
+
- context-engineering
|
|
10
|
+
- architecture-pattern
|
|
11
|
+
related:
|
|
12
|
+
- "[[vcc-conversation-compaction-for-pi]]"
|
|
13
|
+
- "[[structured-compaction]]"
|
|
14
|
+
- "[[context-engineering]]"
|
|
15
|
+
- "[[context-continuity]]"
|
|
16
|
+
- "[[context-folding]]"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Deterministic Session Compaction
|
|
20
|
+
|
|
21
|
+
## Definition
|
|
22
|
+
|
|
23
|
+
Deterministic session compaction is the pattern of compressing agent conversation history using algorithmic extraction rather than LLM summarization. Same input always produces identical output. Zero API calls. Sub-second latency.
|
|
24
|
+
|
|
25
|
+
## Why It Matters
|
|
26
|
+
|
|
27
|
+
LLM-based compaction introduces three failure modes:
|
|
28
|
+
1. **Hallucination**: Summarizer invents facts not in the original conversation
|
|
29
|
+
2. **Omission**: Critical state (file paths, decision rationale, uncommitted changes) dropped
|
|
30
|
+
3. **Non-reproducibility**: Same session compacted twice produces different summaries, making debugging impossible
|
|
31
|
+
|
|
32
|
+
Deterministic compaction eliminates all three at the cost of lower compression quality on nuanced context.
|
|
33
|
+
|
|
34
|
+
## Implementations
|
|
35
|
+
|
|
36
|
+
### Production
|
|
37
|
+
- **pi-vcc** (sting8k): 5 semantic sections, JSONL recall, Pi-native. 75 stars. (Source: [[pi-vcc-github-repo]])
|
|
38
|
+
- **MemoSift**: 6-layer pipeline (classify → deduplicate → compress → score → optimize → budget). Framework adapters for OpenAI/Anthropic/Google/LangChain. Sub-2ms latency, 97% fact retention.
|
|
39
|
+
- **Distill**: 4-layer context preprocessing (cluster → select → rerank → compress). 143 stars. Different scope — preprocesses context before LLM, not session history. (Source: [[distill-deterministic-context-compression]])
|
|
40
|
+
|
|
41
|
+
### Proposed (Not Implemented)
|
|
42
|
+
- **Codex DSC**: Deterministic checkpoint from session event logs. Structured data model with SUSPECT marking for stale facts. Rejected by OpenAI. (Source: [[codex-dsc-rfc-8573]])
|
|
43
|
+
|
|
44
|
+
### Adjacent (Deterministic but Different Layer)
|
|
45
|
+
- **pi-rtk-optimizer**: Deterministic command rewriting + output compaction. Prevents tokens from entering conversation rather than compressing after. (Source: [[pi-rtk-optimizer-github-repo]])
|
|
46
|
+
|
|
47
|
+
## Broader Compaction Landscape (May 2026)
|
|
48
|
+
|
|
49
|
+
The Pi ecosystem now has 7 compaction-related extensions operating at three layers (Source: [[pi-compaction-extensions-ecosystem]]):
|
|
50
|
+
1. **Prevention**: pi-rtk-optimizer (deterministic output reduction)
|
|
51
|
+
2. **Mid-session**: pi-context-prune (tool-call batch summarization)
|
|
52
|
+
3. **Boundary**: pi-vcc (deterministic), pi-omni-compact (large-context LLM), pi-custom-compaction (custom LLM), pi-agentic-compaction (sandboxed LLM), pi-model-aware-compaction (threshold control)
|
|
53
|
+
|
|
54
|
+
Anthropic's official Context Compaction API (beta, January 2026) adds server-side LLM compaction for Claude models. (Source: [[anthropic-compaction-api]])
|
|
55
|
+
|
|
56
|
+
Context Folding (arXiv 2510.11967) introduces a fundamentally new approach: learned branch/return sub-trajectories within a single run, achieving 10x context reduction via RL training. (Source: [[context-folding-paper]], [[context-folding]])
|
|
57
|
+
|
|
58
|
+
## Trade-offs
|
|
59
|
+
|
|
60
|
+
| Dimension | Deterministic | LLM-Based | Context Folding |
|
|
61
|
+
|-----------|--------------|-----------|-----------------|
|
|
62
|
+
| Reproducibility | Identical output | Varies per run | Varies (RL-learned) |
|
|
63
|
+
| Cost | $0 per compaction | Tokens consumed | Training cost + minimal runtime |
|
|
64
|
+
| Latency | 30-470ms | 2-10s | Sub-second (learned policy) |
|
|
65
|
+
| Nuance preservation | Weak (structural extraction) | Strong (semantic) | Strong (learned summaries) |
|
|
66
|
+
| Hallucination risk | Zero | Non-zero | Low (constrained by RL) |
|
|
67
|
+
| Recall capability | Full JSONL access (pi-vcc) | Lost after summarization | Summary only |
|
|
68
|
+
| Timing | At compaction boundary | At compaction boundary | Within-run, continuous |
|
|
69
|
+
|
|
70
|
+
## Pattern for Harness Integration
|
|
71
|
+
|
|
72
|
+
Deterministic compaction maps to our harness at two points:
|
|
73
|
+
1. **L2.5 Drift Monitor**: Deterministic compaction prevents drift introduced by faulty summaries
|
|
74
|
+
2. **L6 Memory**: Session lineage recall (pi-vcc's `vcc_recall`) complements wiki as short-term memory
|
|
75
|
+
|
|
76
|
+
The strongest architecture uses a three-layer approach:
|
|
77
|
+
1. **Prevention** (rtk-optimizer): Reduce tool output tokens before they accumulate
|
|
78
|
+
2. **Within-run folding** (context folding): Branch/return for exploration sub-tasks
|
|
79
|
+
3. **Boundary compaction** (pi-vcc): Deterministic extraction at compaction triggers, with LLM fallback for complex sessions
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
title: "Drift Detection — Unified Framework (LLM-First v2)"
|
|
4
|
+
created: 2026-04-30
|
|
5
|
+
updated: 2026-05-02
|
|
6
|
+
status: active
|
|
7
|
+
tags: [harness, drift-detection, meta-agent, grounding, adversarial, unified, llm-first]
|
|
8
|
+
related:
|
|
9
|
+
- "[[harness-implementation-plan]]"
|
|
10
|
+
- "[[grounding-checkpoints]]"
|
|
11
|
+
- "[[adversarial-verification]]"
|
|
12
|
+
- "[[context-drift-in-agents]]"
|
|
13
|
+
- "[[meta-agent-context-pruning]]"
|
|
14
|
+
- "[[agent-loop-detection-patterns]]"
|
|
15
|
+
- "[[guardian-agent-pattern]]"
|
|
16
|
+
- "[[Research: Meta-Agent Context Drift Detection]]"
|
|
17
|
+
sources:
|
|
18
|
+
- "[[ironclaw-drift-monitor]]"
|
|
19
|
+
- "[[langsight-loop-detection]]"
|
|
20
|
+
- "[[agent-drift-academic-paper]]"
|
|
21
|
+
- "[[vectara-guardian-agents]]"
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Drift Detection — Unified Framework (LLM-First v2)
|
|
25
|
+
|
|
26
|
+
**Updated 2026-05-02**: Rethought from first principles. L2.5 primary detection is now **LLM-based with structured context input** using a very cheap and fast model (Haiku/mini). Rule-based (6 patterns) becomes the cost-saving pre-filter and fallback — not the primary detector.
|
|
27
|
+
|
|
28
|
+
## First-Principles Rethink (May 2026)
|
|
29
|
+
|
|
30
|
+
### The Problem With Rule-Based Primary Detection
|
|
31
|
+
|
|
32
|
+
Rule-based stuck-pattern detection (repetition hash, failure counters, tool cycling A-B-A-B) catches ~80% of stuck sessions. But FP #6 states: "Context drift is a positive feedback loop — each failed attempt accelerates failure." The 20% of cases that slip past rule-based detection are the **most dangerous**: semantic drift where the agent makes "progress" (different tool calls, no errors) but heads in the wrong direction. Rule-based cannot catch:
|
|
33
|
+
|
|
34
|
+
- **Semantic drift**: Agent reads different files, writes code — but implements the wrong feature
|
|
35
|
+
- **Spec misunderstanding**: Agent builds correctly against a misunderstood spec
|
|
36
|
+
- **Premature completion**: Agent thinks it's done but missed critical requirements
|
|
37
|
+
- **Context pollution**: Subtle reliance on stale information that doesn't trigger repetition
|
|
38
|
+
|
|
39
|
+
### Why LLM-Based Detection From First Principles
|
|
40
|
+
|
|
41
|
+
1. **The LLM has semantic understanding**. With the TASK and PLAN as context, a cheap LLM can answer: "Is this trajectory making meaningful progress toward the stated goal?" No rule-based system can answer this.
|
|
42
|
+
|
|
43
|
+
2. **Structured input makes it cheap**. We don't feed the full conversation history. We craft a compact, structured "drift check context" (~500-800 tokens) with exactly what matters: task summary, current subtask, last N tool calls (type + args hash + result summary), files modified, errors, turn count.
|
|
44
|
+
|
|
45
|
+
3. **Cheap models make it negligible**. Claude Haiku or GPT-4o-mini cost ~$0.0001-0.0005 per check. Running every 8 turns means ~$0.001-0.005 per session. A stuck session costs 100-1000× more in wasted tokens.
|
|
46
|
+
|
|
47
|
+
4. **The question is classification, not generation**. "Is the agent making progress? Reply JSON." This is the ideal task for a small model — structured input, binary classification, structured output.
|
|
48
|
+
|
|
49
|
+
5. **Rule-based becomes the accelerator, not the authority**. Rule-based runs first (0 tokens, <1ms). If it detects a clear stuck pattern (hash collision ≥3), skip the LLM check — save tokens. If rule-based is clean, LLM check runs on schedule. If LLM call fails, fall back to rule-based verdict. The LLM is the authoritative detector; rule-based is the cost-saving pre-filter.
|
|
50
|
+
|
|
51
|
+
### New Detection Architecture
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
Every N turns (configurable, default 8):
|
|
55
|
+
1. Rule-based quick scan (0 tokens, <1ms)
|
|
56
|
+
├── CLEAR STUCK (hash collision ≥3): skip LLM, escalate immediately
|
|
57
|
+
└── CLEAN or AMBIGUOUS: proceed to LLM check
|
|
58
|
+
|
|
59
|
+
2. Build structured drift context (~500-800 tokens):
|
|
60
|
+
{
|
|
61
|
+
task: "Add dark mode toggle to settings", // from L1 spec
|
|
62
|
+
subtask: "Implement CSS variable switching", // from L2 plan
|
|
63
|
+
last_12_tool_calls: [
|
|
64
|
+
{tool: "read", file: "theme.css", result: "200 lines CSS"},
|
|
65
|
+
{tool: "edit", file: "theme.css", result: "OK, 15 lines changed"},
|
|
66
|
+
...
|
|
67
|
+
],
|
|
68
|
+
files_modified: ["theme.css", "toggle.tsx"],
|
|
69
|
+
errors: [{tool: "bash", error: "tsc --noEmit: 3 type errors"}],
|
|
70
|
+
turn: 24,
|
|
71
|
+
elapsed_minutes: 8
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
3. Send to cheap LLM (Haiku/mini):
|
|
75
|
+
"Is this agent making meaningful progress toward the task?
|
|
76
|
+
Reply JSON: {drifted: bool, pattern: string|null, confidence: float, action: continue|nudge|restart}"
|
|
77
|
+
|
|
78
|
+
4. Act on verdict:
|
|
79
|
+
- continue: do nothing
|
|
80
|
+
- nudge: inject correction context between turns
|
|
81
|
+
- restart: prune dead context, restart with clean summary
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Why This Is Better
|
|
85
|
+
|
|
86
|
+
| Axis | Rule-First (old) | LLM-First (new) |
|
|
87
|
+
|------|-----------------|-----------------|
|
|
88
|
+
| **Semantic drift** | Cannot detect | Detected by LLM |
|
|
89
|
+
| **Cost** | 0 tokens always | ~500-800 tokens every 8 turns (~$0.0001/check) |
|
|
90
|
+
| **False positives** | Repetition on polling/retry workflows | LLM understands intent vs noise |
|
|
91
|
+
| **False negatives** | ~20% miss rate (semantic drift) | Near-zero (LLM has task context) |
|
|
92
|
+
| **Fallback** | None (rule-based is final) | Rule-based catches fast-path stuck patterns if LLM fails |
|
|
93
|
+
| **Latency** | <1ms | ~200-500ms (Haiku API call) |
|
|
94
|
+
|
|
95
|
+
### Token Budget (L2.5)
|
|
96
|
+
|
|
97
|
+
| Component | Old | New |
|
|
98
|
+
|-----------|-----|-----|
|
|
99
|
+
| Rule-based scan | 0 tokens (every step) | 0 tokens (every step, pre-filter only) |
|
|
100
|
+
| LLM drift check | ~500 tokens every 15 steps | ~700 tokens every 8 steps |
|
|
101
|
+
| Avg per subtask (25 steps) | ~0-150 | ~1,500-2,200 |
|
|
102
|
+
| Per-step amortized | ~0-6 | ~60-88 |
|
|
103
|
+
|
|
104
|
+
**Trade-off**: ~2,000 tokens/session for near-perfect semantic drift detection. A single prevented stuck session saves 5,000-50,000 tokens. Net positive.
|
|
105
|
+
|
|
106
|
+
### Model Selection
|
|
107
|
+
|
|
108
|
+
| Model | Input $/M | Speed | Best For |
|
|
109
|
+
|-------|-----------|-------|----------|
|
|
110
|
+
| **Claude Haiku 4.5** | $0.25 | Fastest Anthropic | Primary: JSON classification, reliable |
|
|
111
|
+
| **GPT-4o-mini** | $0.15 | Fast | Alternative: cheapest option |
|
|
112
|
+
| **Gemini Flash 2.5** | $0.15 | Fast | Alternative: if Google API available |
|
|
113
|
+
| **Local (Ollama)** | Free | Variable | Offline: llama3.2-3b, qwen2.5-3b |
|
|
114
|
+
|
|
115
|
+
Default: **Claude Haiku 4.5**. Configurable via `.pi/harness/config.json → driftMonitor.llmModel`.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
The harness implements THREE distinct drift detection paradigms at three different pipeline stages. They are complementary, not redundant. Each catches a different failure mode that the others cannot.
|
|
120
|
+
|
|
121
|
+
## Why Three Paradigms?
|
|
122
|
+
|
|
123
|
+
Agent failure isn't one thing. It's a cascade:
|
|
124
|
+
|
|
125
|
+
1. **Tool-call quality decays** (stuck loops, context pollution) → agent can't make progress
|
|
126
|
+
2. **Scope creeps** (agent does more or less than spec) → wrong thing gets built
|
|
127
|
+
3. **Implementation diverges** (code doesn't match spec) → built thing doesn't work
|
|
128
|
+
|
|
129
|
+
Each needs different detection timing, mechanism, and intervention.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Paradigm 1: Tool-Call Drift (L2.5 — Runtime Drift Monitor) [LLM-FIRST v2]
|
|
134
|
+
|
|
135
|
+
**Detects**: Stuck patterns, context pollution, SEMANTIC drift. The agent is spinning its wheels OR heading in the wrong direction.
|
|
136
|
+
|
|
137
|
+
**When**: Between L2 (Plan) and L3 (Execute). Runs continuously during execution.
|
|
138
|
+
|
|
139
|
+
**Mechanism** (LLM-First, Rule-Assisted):
|
|
140
|
+
|
|
141
|
+
1. **Rule-based pre-filter (0 tokens, <1ms)**: Quick scan for obvious stuck patterns:
|
|
142
|
+
- Repetition: 3+ identical tool calls (hash tool+args)
|
|
143
|
+
- Failure spiral: 4+ consecutive errors
|
|
144
|
+
- Tool cycling: A-B-A-B pattern in last 6 calls
|
|
145
|
+
- Silence drift: 15+ iterations without text response
|
|
146
|
+
- Rework churn: 3+ writes to same file without progress
|
|
147
|
+
- Excessive searching: 5+ ls/find/grep without code edits
|
|
148
|
+
|
|
149
|
+
If CLEAR stuck pattern detected → skip LLM, escalate immediately. If CLEAN or AMBIGUOUS → proceed to LLM check.
|
|
150
|
+
|
|
151
|
+
2. **LLM-based primary detection (~700 tokens every 8 turns)**:
|
|
152
|
+
- Build structured "drift check context" from task, plan, recent tool calls, errors, modified files
|
|
153
|
+
- Send to cheap model (Haiku 4.5): "Is agent making meaningful progress? Reply JSON."
|
|
154
|
+
- Model returns: `{drifted: bool, pattern: string|null, confidence: float, action: continue|nudge|restart}`
|
|
155
|
+
|
|
156
|
+
3. **Fallback**: If LLM call fails (timeout, API error), use rule-based verdict as safety net.
|
|
157
|
+
|
|
158
|
+
**Structured Drift Context Schema**:
|
|
159
|
+
```yaml
|
|
160
|
+
task: string # from L1 hardened spec (~100 tokens)
|
|
161
|
+
subtask: string # current subtask from L2 plan (~50 tokens)
|
|
162
|
+
recent_tool_calls: # last 8-12 calls
|
|
163
|
+
- tool: string
|
|
164
|
+
args_hash: string
|
|
165
|
+
result_summary: string # 50 chars max
|
|
166
|
+
error: bool
|
|
167
|
+
files_modified: [string] # file paths only
|
|
168
|
+
error_count: number
|
|
169
|
+
turn: number
|
|
170
|
+
elapsed_seconds: number
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**Intervention** (escalation model):
|
|
174
|
+
1. **Soft nudge** (drifted=false but confidence <0.7): System message — "You appear to be making slow progress. Consider summarizing accomplishments and focusing on next step."
|
|
175
|
+
2. **Strong nudge** (drifted=true, action=nudge): System message + context summary — "You may be off-track. Here's a clean summary. Re-read the plan and continue."
|
|
176
|
+
3. **Forced restart** (drifted=true, action=restart): Terminate session, prune dead-end context entries, restart with clean context + correction prompt.
|
|
177
|
+
|
|
178
|
+
**Pruning Heuristic**:
|
|
179
|
+
| Keep | Prune |
|
|
180
|
+
|------|-------|
|
|
181
|
+
| Error led to different approach | Identical call returned same result |
|
|
182
|
+
| Output contained new information | Pure noise (navigation, boilerplate errors) |
|
|
183
|
+
| User explicitly asked for action | Agent retried without direction |
|
|
184
|
+
| Established constraint used later | Agent forgot about the call entirely |
|
|
185
|
+
|
|
186
|
+
**Model-Adaptive**:
|
|
187
|
+
| Model | LLM Check Frequency | Rule Pre-Filter | Fallback |
|
|
188
|
+
|-------|---------------------|-----------------|----------|
|
|
189
|
+
| Opus/Claude | Every 12 turns | Yes | Rule-based |
|
|
190
|
+
| GPT | Every 8 turns | Yes | Rule-based |
|
|
191
|
+
| Gemini | Every 8 turns | Yes | Rule-based |
|
|
192
|
+
| Haiku (cheap) | Every 5 turns | Yes | Rule-based |
|
|
193
|
+
|
|
194
|
+
**Why this is novel**: Each component exists independently (ironclaw DriftMonitor for detection, SWE-Pruner for pruning, LangSight for loop detection, Vectara for guardian agents). No existing system combines **LLM-first detect → prune → restart** into one pipeline with structured drift context and cheap-model classification. The LLM-first approach catches semantic drift (the 20% rule-based misses) at negligible cost.
|
|
195
|
+
|
|
196
|
+
**Academic foundation**: Agent Drift paper (arxiv 2601.04170, Rath 2026): 42% task success reduction from drift, ASI framework across 12 dimensions, drift emerges after median 73 interactions. Combined mitigation (EMC + DAR + ABA) achieves 81.5% reduction.
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Paradigm 2: Spec Drift (L3 — Grounding Checkpoints)
|
|
201
|
+
|
|
202
|
+
**Detects**: Scope creep, spec violations. The agent goes off-plan.
|
|
203
|
+
|
|
204
|
+
**When**: Before and after every subtask execution in L3.
|
|
205
|
+
|
|
206
|
+
**Mechanism**: Compare current execution state against the hardened spec from L1.
|
|
207
|
+
- `spec_version` comparison: did the spec change mid-execution?
|
|
208
|
+
- `state_hash` verification: does current state match expected?
|
|
209
|
+
- Anti-criteria scan: did the agent do something explicitly forbidden?
|
|
210
|
+
- Output contract check: does output match declared schema?
|
|
211
|
+
|
|
212
|
+
**Intervention**: Abort current subtask. Replan from L2. No half-measures — spec drift means the plan is invalid.
|
|
213
|
+
|
|
214
|
+
**Why distinct from L2.5**: L3 detects WHAT the agent is doing wrong (off-spec). L2.5 detects THAT the agent is stuck or semantically off-track. An agent can be stuck while still on-spec. An agent can be off-spec while making rapid progress (in the wrong direction).
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Paradigm 3: Implementation Drift (L4 — Adversarial Verification)
|
|
219
|
+
|
|
220
|
+
**Detects**: Code doesn't match spec. The built thing is wrong.
|
|
221
|
+
|
|
222
|
+
**When**: After execution completes. Post-hoc verification.
|
|
223
|
+
|
|
224
|
+
**Mechanism**: Critic agents attack the implementation against the spec.
|
|
225
|
+
- Multi-round adversarial debate (selective routing via iMAD gating)
|
|
226
|
+
- Hard-threshold pass/fail criteria (not narrative self-assessment)
|
|
227
|
+
- Sprint contracts from L2: "we agreed this is what 'done' means — prove it"
|
|
228
|
+
|
|
229
|
+
**Intervention**: Rework subtask. Re-verify. Max rounds enforced.
|
|
230
|
+
|
|
231
|
+
**Why distinct from L3**: L3 checks scope and spec compliance DURING execution. L4 checks correctness AFTER execution. L3 catches "doing the wrong thing." L4 catches "doing the right thing wrong."
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Paradigm Comparison
|
|
236
|
+
|
|
237
|
+
| Axis | Tool-Call Drift (L2.5) [v2 LLM-First] | Spec Drift (L3) | Implementation Drift (L4) |
|
|
238
|
+
|------|--------------------------------------|-----------------|--------------------------|
|
|
239
|
+
| **Detects** | Agent stuck/spinning + SEMANTIC drift | Agent off-plan | Code-spec mismatch |
|
|
240
|
+
| **Timing** | Continuous during execution | Pre/post each subtask | Post-execution |
|
|
241
|
+
| **Mechanism** | LLM-based primary (Haiku) + rule-based pre-filter | State hash + anti-criteria scan | Adversarial critic + debate |
|
|
242
|
+
| **Token cost** | ~700/check every 8 turns (~2,000-3,000/session) | ~500/checkpoint | ~4,500/subtask |
|
|
243
|
+
| **Intervention** | Nudge → prune → restart | Abort + replan | Rework + re-verify |
|
|
244
|
+
| **LLM needed** | Yes (cheap model, primary) | No (hash comparison) | Yes (adversarial reasoning) |
|
|
245
|
+
| **Miss rate** | Near-zero (LLM has task context) | Near-zero (structural comparison) | Depends on critic quality |
|
|
246
|
+
| **False positives** | Low (LLM distinguishes polling from stuckness) | Near-zero | Low (hard-threshold criteria) |
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Why Three Paradigms, Not One?
|
|
251
|
+
|
|
252
|
+
A single drift detector would have to be:
|
|
253
|
+
- Structural enough to catch spec violations (L3)
|
|
254
|
+
- Semantic enough to catch stuckness AND direction-drift (L2.5)
|
|
255
|
+
- Adversarial enough to catch correctness issues (L4)
|
|
256
|
+
|
|
257
|
+
That's three different detection mechanisms at three different semantic levels. Trying to unify them into one would produce a weaker detector at each axis. The pipelines are thin and sharp, not thick and dull.
|
|
258
|
+
|
|
259
|
+
The L2.5 LLM-first redesign catches what the old rule-based design could not: the agent heading confidently in the wrong direction.
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## Integration Into Pipeline
|
|
264
|
+
|
|
265
|
+
```
|
|
266
|
+
L1 (Spec) → L2 (Plan) → [L2.5: LLM-First Drift Monitor] → L3 (Execute)
|
|
267
|
+
↓ rule-based pre-filter (0 tokens)
|
|
268
|
+
↓ Haiku/mini drift check every 8 turns (~700 tokens)
|
|
269
|
+
↓ detects stuck patterns + semantic drift
|
|
270
|
+
↓ prunes + restarts
|
|
271
|
+
|
|
272
|
+
L3 → L4 (Adversarial) → P20 (Lint+Format) → L5+
|
|
273
|
+
↓ detects implementation drift
|
|
274
|
+
↓ rework + re-verify
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
All three drift detectors must pass for a subtask to proceed to L5.
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## Key Entities
|
|
282
|
+
|
|
283
|
+
- **ironclaw DriftMonitor**: Reactive stuck-pattern detection (5 rules) with system-message injection. nearai/ironclaw #1634, March 2026.
|
|
284
|
+
- **LangSight**: Production loop detection via argument hashing. 90%+ catch rate at threshold 3. March 2026.
|
|
285
|
+
- **Vectara Guardian Agents**: Pre-execution safety validation benchmark (~900 scenarios, 6 domains). Correct rate 5-59% across platforms. November 2025.
|
|
286
|
+
- **Agent Drift paper**: Academic quantification: 42% task success reduction, ASI (Agent Stability Index) across 12 dimensions. Rath, January 2026.
|
|
287
|
+
- **SWE-Pruner**: Context pruning for code agents. 23-54% token reduction. Wang et al., January 2026.
|
|
288
|
+
|
|
289
|
+
## Open Questions
|
|
290
|
+
|
|
291
|
+
- Can context pruning be done in-place (API-supported message editing) or always needs session restart?
|
|
292
|
+
- Does pruning break chain-of-thought coherence mid-reasoning?
|
|
293
|
+
- How does pruning interact with prompt caching? (Invalidated prefixes increase short-term cost.)
|
|
294
|
+
- ~~Can Haiku/Flash serve as the meta-agent drift detector, keeping overhead near zero?~~ **RESOLVED**: Yes. Haiku 4.5 is the default. ~$0.0001-0.0005 per check. Near-zero overhead.
|
|
295
|
+
- What's the optimal turn frequency for LLM checks? (Default 8, adaptive per model to be evaluated in production.)
|
|
296
|
+
- Should the structured drift context include git diff summary of agent's changes?
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: concept
|
|
3
|
+
title: "Execution Feedback Loop"
|
|
4
|
+
created: 2026-04-30
|
|
5
|
+
updated: 2026-04-30
|
|
6
|
+
tags:
|
|
7
|
+
- agent-architecture
|
|
8
|
+
- testing
|
|
9
|
+
- feedback
|
|
10
|
+
related:
|
|
11
|
+
- "[[agent-codebase-interface]]"
|
|
12
|
+
- "[[verification-drift-detection]]"
|
|
13
|
+
status: developing
|
|
14
|
+
|
|
15
|
+
---# Execution Feedback Loop
|
|
16
|
+
|
|
17
|
+
The agent equivalent of a human's debug-test-iterate cycle. Instead of visual step-through debugging, agents rely on structured execution feedback.
|
|
18
|
+
|
|
19
|
+
## Agent Execution Cycle
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
1. Propose change (edit file)
|
|
23
|
+
2. Execute test suite (or relevant subset)
|
|
24
|
+
3. Parse output (pass/fail + error messages + stack traces)
|
|
25
|
+
4. If fail: locate error source from stack trace / error message
|
|
26
|
+
5. Revise change
|
|
27
|
+
6. Repeat until green
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Key Differences from Human Debugging
|
|
31
|
+
|
|
32
|
+
| Human | Agent |
|
|
33
|
+
|-------|-------|
|
|
34
|
+
| Step-through debugger (pdb/gdb) | Test output + stack traces |
|
|
35
|
+
| Visual inspection of variable state | Structured error JSON |
|
|
36
|
+
| Intuition about likely failure points | Systematic retry with error context |
|
|
37
|
+
| Can set breakpoints anywhere | Must pre-plan verification checkpoints |
|
|
38
|
+
| Rubber duck debugging | Self-critique + adversarial verification |
|
|
39
|
+
|
|
40
|
+
## Requirements for Agent-Friendly Execution
|
|
41
|
+
|
|
42
|
+
1. **Fast test subset**: running full test suites is too slow per iteration
|
|
43
|
+
2. **Structured error output**: JSON or parseable format, not raw terminal output
|
|
44
|
+
3. **Stack trace with file:line**: enables automatic file lookup
|
|
45
|
+
4. **Diff-aware testing**: only run tests affected by the change
|
|
46
|
+
5. **Deterministic results**: flaky tests break the feedback loop
|