@winspan/claude-forge 9.2.0 → 9.12.0
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/DEVELOPMENT.md +80 -19
- package/README.md +13 -6
- package/dist/catalogs/agents.json +19 -24
- package/dist/catalogs/skills.json +139 -27
- package/dist/claudemd/templates/swarm-protocol.md +1 -1
- package/dist/cli/commands/agent.d.ts +169 -0
- package/dist/cli/commands/agent.d.ts.map +1 -0
- package/dist/cli/commands/agent.js +690 -0
- package/dist/cli/commands/agent.js.map +1 -0
- package/dist/cli/commands/codegraph.d.ts +17 -0
- package/dist/cli/commands/codegraph.d.ts.map +1 -0
- package/dist/cli/commands/codegraph.js +263 -0
- package/dist/cli/commands/codegraph.js.map +1 -0
- package/dist/cli/commands/decisions.d.ts.map +1 -1
- package/dist/cli/commands/decisions.js +46 -9
- package/dist/cli/commands/decisions.js.map +1 -1
- package/dist/cli/commands/executions.d.ts.map +1 -1
- package/dist/cli/commands/executions.js +2 -1
- package/dist/cli/commands/executions.js.map +1 -1
- package/dist/cli/commands/insights-goal-check.d.ts +5 -1
- package/dist/cli/commands/insights-goal-check.d.ts.map +1 -1
- package/dist/cli/commands/insights-goal-check.js +15 -15
- package/dist/cli/commands/insights-goal-check.js.map +1 -1
- package/dist/cli/commands/knowledge.d.ts +51 -0
- package/dist/cli/commands/knowledge.d.ts.map +1 -1
- package/dist/cli/commands/knowledge.js +202 -29
- package/dist/cli/commands/knowledge.js.map +1 -1
- package/dist/cli/commands/loop.d.ts +95 -0
- package/dist/cli/commands/loop.d.ts.map +1 -0
- package/dist/cli/commands/loop.js +408 -0
- package/dist/cli/commands/loop.js.map +1 -0
- package/dist/cli/commands/maintenance.d.ts +33 -0
- package/dist/cli/commands/maintenance.d.ts.map +1 -0
- package/dist/cli/commands/maintenance.js +75 -0
- package/dist/cli/commands/maintenance.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +23 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +82 -0
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/skills.d.ts +131 -0
- package/dist/cli/commands/skills.d.ts.map +1 -1
- package/dist/cli/commands/skills.js +409 -9
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/stats.d.ts.map +1 -1
- package/dist/cli/commands/stats.js +9 -2
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/index.js +8 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/constants.d.ts +37 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +43 -0
- package/dist/core/constants.js.map +1 -1
- package/dist/core/diagnostics/checks.d.ts.map +1 -1
- package/dist/core/diagnostics/checks.js +2 -1
- package/dist/core/diagnostics/checks.js.map +1 -1
- package/dist/core/diagnostics/daemon-status.d.ts +1 -1
- package/dist/core/diagnostics/daemon-status.d.ts.map +1 -1
- package/dist/core/diagnostics/daemon-status.js +1 -1
- package/dist/core/diagnostics/daemon-status.js.map +1 -1
- package/dist/core/diagnostics/entropy-checks.d.ts +3 -2
- package/dist/core/diagnostics/entropy-checks.d.ts.map +1 -1
- package/dist/core/diagnostics/entropy-checks.js +10 -5
- package/dist/core/diagnostics/entropy-checks.js.map +1 -1
- package/dist/core/diagnostics/heartbeat-reader.d.ts +28 -0
- package/dist/core/diagnostics/heartbeat-reader.d.ts.map +1 -0
- package/dist/core/diagnostics/heartbeat-reader.js +50 -0
- package/dist/core/diagnostics/heartbeat-reader.js.map +1 -0
- package/dist/core/event-fields.d.ts +27 -0
- package/dist/core/event-fields.d.ts.map +1 -1
- package/dist/core/event-fields.js +43 -0
- package/dist/core/event-fields.js.map +1 -1
- package/dist/core/governance/global-inject.d.ts +34 -4
- package/dist/core/governance/global-inject.d.ts.map +1 -1
- package/dist/core/governance/global-inject.js +80 -25
- package/dist/core/governance/global-inject.js.map +1 -1
- package/dist/core/insights/agent-anchor-guard.d.ts +77 -0
- package/dist/core/insights/agent-anchor-guard.d.ts.map +1 -0
- package/dist/core/insights/agent-anchor-guard.js +119 -0
- package/dist/core/insights/agent-anchor-guard.js.map +1 -0
- package/dist/core/insights/agent-distill-context.d.ts +55 -0
- package/dist/core/insights/agent-distill-context.d.ts.map +1 -0
- package/dist/core/insights/agent-distill-context.js +146 -0
- package/dist/core/insights/agent-distill-context.js.map +1 -0
- package/dist/core/insights/agent-distill-spawn.d.ts +56 -0
- package/dist/core/insights/agent-distill-spawn.d.ts.map +1 -0
- package/dist/core/insights/agent-distill-spawn.js +179 -0
- package/dist/core/insights/agent-distill-spawn.js.map +1 -0
- package/dist/core/insights/agent-drift.d.ts +66 -0
- package/dist/core/insights/agent-drift.d.ts.map +1 -0
- package/dist/core/insights/agent-drift.js +109 -0
- package/dist/core/insights/agent-drift.js.map +1 -0
- package/dist/core/insights/agent-evolution-sources.d.ts +21 -0
- package/dist/core/insights/agent-evolution-sources.d.ts.map +1 -0
- package/dist/core/insights/agent-evolution-sources.js +36 -0
- package/dist/core/insights/agent-evolution-sources.js.map +1 -0
- package/dist/core/insights/agent-health.d.ts +142 -0
- package/dist/core/insights/agent-health.d.ts.map +1 -0
- package/dist/core/insights/agent-health.js +296 -0
- package/dist/core/insights/agent-health.js.map +1 -0
- package/dist/core/insights/agent-patch-apply.d.ts +45 -0
- package/dist/core/insights/agent-patch-apply.d.ts.map +1 -0
- package/dist/core/insights/agent-patch-apply.js +165 -0
- package/dist/core/insights/agent-patch-apply.js.map +1 -0
- package/dist/core/insights/agent-suggest.d.ts +128 -0
- package/dist/core/insights/agent-suggest.d.ts.map +1 -0
- package/dist/core/insights/agent-suggest.js +284 -0
- package/dist/core/insights/agent-suggest.js.map +1 -0
- package/dist/core/insights/coverage-tiers.d.ts +46 -0
- package/dist/core/insights/coverage-tiers.d.ts.map +1 -0
- package/dist/core/insights/coverage-tiers.js +95 -0
- package/dist/core/insights/coverage-tiers.js.map +1 -0
- package/dist/{daemon/services → core/insights}/experience-extractor.d.ts +0 -7
- package/dist/core/insights/experience-extractor.d.ts.map +1 -0
- package/dist/{daemon/services → core/insights}/experience-extractor.js +5 -9
- package/dist/core/insights/experience-extractor.js.map +1 -0
- package/dist/{daemon/services → core/insights}/violation-reporter.d.ts +20 -1
- package/dist/core/insights/violation-reporter.d.ts.map +1 -0
- package/dist/{daemon/services → core/insights}/violation-reporter.js +56 -4
- package/dist/core/insights/violation-reporter.js.map +1 -0
- package/dist/core/loop/loop-engine.d.ts +140 -0
- package/dist/core/loop/loop-engine.d.ts.map +1 -0
- package/dist/core/loop/loop-engine.js +266 -0
- package/dist/core/loop/loop-engine.js.map +1 -0
- package/dist/core/queue/index.d.ts.map +1 -1
- package/dist/core/queue/index.js +2 -1
- package/dist/core/queue/index.js.map +1 -1
- package/dist/core/storage/base.d.ts +159 -0
- package/dist/core/storage/base.d.ts.map +1 -1
- package/dist/core/storage/base.js +523 -0
- package/dist/core/storage/base.js.map +1 -1
- package/dist/core/storage/codegraph-types.d.ts +79 -0
- package/dist/core/storage/codegraph-types.d.ts.map +1 -0
- package/dist/core/storage/codegraph-types.js +14 -0
- package/dist/core/storage/codegraph-types.js.map +1 -0
- package/dist/core/storage/codegraph.d.ts +186 -0
- package/dist/core/storage/codegraph.d.ts.map +1 -0
- package/dist/core/storage/codegraph.js +452 -0
- package/dist/core/storage/codegraph.js.map +1 -0
- package/dist/core/storage/decisions.d.ts +30 -5
- package/dist/core/storage/decisions.d.ts.map +1 -1
- package/dist/core/storage/decisions.js +45 -13
- package/dist/core/storage/decisions.js.map +1 -1
- package/dist/core/storage/events.d.ts +127 -0
- package/dist/core/storage/events.d.ts.map +1 -1
- package/dist/core/storage/events.js +318 -3
- package/dist/core/storage/events.js.map +1 -1
- package/dist/core/storage/feedback.d.ts +3 -23
- package/dist/core/storage/feedback.d.ts.map +1 -1
- package/dist/core/storage/feedback.js +37 -38
- package/dist/core/storage/feedback.js.map +1 -1
- package/dist/core/storage/injections.d.ts +40 -0
- package/dist/core/storage/injections.d.ts.map +1 -1
- package/dist/core/storage/injections.js +69 -0
- package/dist/core/storage/injections.js.map +1 -1
- package/dist/core/storage/knowledge.d.ts +226 -0
- package/dist/core/storage/knowledge.d.ts.map +1 -1
- package/dist/core/storage/knowledge.js +391 -4
- package/dist/core/storage/knowledge.js.map +1 -1
- package/dist/core/storage/pipeline-rollup.d.ts +1 -7
- package/dist/core/storage/pipeline-rollup.d.ts.map +1 -1
- package/dist/core/storage/pipeline-rollup.js +18 -57
- package/dist/core/storage/pipeline-rollup.js.map +1 -1
- package/dist/core/storage/routing.d.ts +34 -0
- package/dist/core/storage/routing.d.ts.map +1 -1
- package/dist/core/storage/routing.js +92 -2
- package/dist/core/storage/routing.js.map +1 -1
- package/dist/core/storage/rows.d.ts +5 -25
- package/dist/core/storage/rows.d.ts.map +1 -1
- package/dist/core/storage/schema.sql +92 -27
- package/dist/core/storage/sessions.d.ts.map +1 -1
- package/dist/core/storage/sessions.js +2 -1
- package/dist/core/storage/sessions.js.map +1 -1
- package/dist/core/storage/skills.d.ts +159 -0
- package/dist/core/storage/skills.d.ts.map +1 -1
- package/dist/core/storage/skills.js +350 -4
- package/dist/core/storage/skills.js.map +1 -1
- package/dist/core/storage/sqlite.d.ts +81 -25
- package/dist/core/storage/sqlite.d.ts.map +1 -1
- package/dist/core/storage/sqlite.js +143 -45
- package/dist/core/storage/sqlite.js.map +1 -1
- package/dist/core/storage/tasks.d.ts +270 -0
- package/dist/core/storage/tasks.d.ts.map +1 -1
- package/dist/core/storage/tasks.js +495 -16
- package/dist/core/storage/tasks.js.map +1 -1
- package/dist/core/storage/tool-intercepts.d.ts +1 -1
- package/dist/core/storage/tool-intercepts.js +1 -1
- package/dist/core/types.d.ts +26 -3
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +1 -3
- package/dist/core/types.js.map +1 -1
- package/dist/core/utils/binary-paths.d.ts +32 -0
- package/dist/core/utils/binary-paths.d.ts.map +1 -1
- package/dist/core/utils/binary-paths.js +52 -0
- package/dist/core/utils/binary-paths.js.map +1 -1
- package/dist/core/utils/claude-cli-resolver.d.ts.map +1 -0
- package/dist/{skills/distill → core/utils}/claude-cli-resolver.js +1 -1
- package/dist/core/utils/claude-cli-resolver.js.map +1 -0
- package/dist/core/utils/claude-cli-spawn.d.ts +1 -1
- package/dist/core/utils/claude-cli-spawn.js +2 -2
- package/dist/core/utils/claude-cli-spawn.js.map +1 -1
- package/dist/core/utils/noise-prompt.d.ts +1 -1
- package/dist/core/utils/noise-prompt.js +1 -1
- package/dist/core/utils/time.d.ts +26 -0
- package/dist/core/utils/time.d.ts.map +1 -1
- package/dist/core/utils/time.js +33 -0
- package/dist/core/utils/time.js.map +1 -1
- package/dist/daemon/config-store.d.ts.map +1 -1
- package/dist/daemon/config-store.js +14 -5
- package/dist/daemon/config-store.js.map +1 -1
- package/dist/daemon/event-parser.d.ts.map +1 -1
- package/dist/daemon/event-parser.js +5 -0
- package/dist/daemon/event-parser.js.map +1 -1
- package/dist/daemon/handlers/post-tool-use.d.ts +24 -16
- package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use.js +76 -116
- package/dist/daemon/handlers/post-tool-use.js.map +1 -1
- package/dist/daemon/handlers/pre-tool-use.d.ts +35 -10
- package/dist/daemon/handlers/pre-tool-use.d.ts.map +1 -1
- package/dist/daemon/handlers/pre-tool-use.js +71 -38
- package/dist/daemon/handlers/pre-tool-use.js.map +1 -1
- package/dist/daemon/handlers/stop.d.ts +20 -0
- package/dist/daemon/handlers/stop.d.ts.map +1 -1
- package/dist/daemon/handlers/stop.js +96 -8
- package/dist/daemon/handlers/stop.js.map +1 -1
- package/dist/daemon/handlers/user-prompt.d.ts +16 -1
- package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
- package/dist/daemon/handlers/user-prompt.js +97 -56
- package/dist/daemon/handlers/user-prompt.js.map +1 -1
- package/dist/daemon/handlers/violation-content-backfill.d.ts +76 -0
- package/dist/daemon/handlers/violation-content-backfill.d.ts.map +1 -0
- package/dist/daemon/handlers/violation-content-backfill.js +167 -0
- package/dist/daemon/handlers/violation-content-backfill.js.map +1 -0
- package/dist/daemon/index.d.ts +19 -0
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +125 -200
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/rules/defaults.d.ts.map +1 -1
- package/dist/daemon/rules/defaults.js +151 -64
- package/dist/daemon/rules/defaults.js.map +1 -1
- package/dist/daemon/rules/types.d.ts +28 -22
- package/dist/daemon/rules/types.d.ts.map +1 -1
- package/dist/daemon/rules/workflow-defaults.js +9 -9
- package/dist/daemon/rules/workflow-defaults.js.map +1 -1
- package/dist/daemon/services/codegraph-sync.d.ts +94 -0
- package/dist/daemon/services/codegraph-sync.d.ts.map +1 -0
- package/dist/daemon/services/codegraph-sync.js +159 -0
- package/dist/daemon/services/codegraph-sync.js.map +1 -0
- package/dist/daemon/services/decision-hint.d.ts +47 -10
- package/dist/daemon/services/decision-hint.d.ts.map +1 -1
- package/dist/daemon/services/decision-hint.js +99 -24
- package/dist/daemon/services/decision-hint.js.map +1 -1
- package/dist/daemon/services/event-ttl-sweep.d.ts.map +1 -1
- package/dist/daemon/services/event-ttl-sweep.js +3 -2
- package/dist/daemon/services/event-ttl-sweep.js.map +1 -1
- package/dist/daemon/services/feedback-aggregator.d.ts +14 -26
- package/dist/daemon/services/feedback-aggregator.d.ts.map +1 -1
- package/dist/daemon/services/feedback-aggregator.js +23 -63
- package/dist/daemon/services/feedback-aggregator.js.map +1 -1
- package/dist/daemon/services/heartbeat-writer.d.ts +6 -15
- package/dist/daemon/services/heartbeat-writer.d.ts.map +1 -1
- package/dist/daemon/services/heartbeat-writer.js +7 -36
- package/dist/daemon/services/heartbeat-writer.js.map +1 -1
- package/dist/daemon/services/kb-injector.d.ts +1 -1
- package/dist/daemon/services/kb-injector.d.ts.map +1 -1
- package/dist/daemon/services/kb-injector.js +10 -2
- package/dist/daemon/services/kb-injector.js.map +1 -1
- package/dist/daemon/services/kb-rebuild-scheduler.d.ts +95 -0
- package/dist/daemon/services/kb-rebuild-scheduler.d.ts.map +1 -0
- package/dist/daemon/services/kb-rebuild-scheduler.js +149 -0
- package/dist/daemon/services/kb-rebuild-scheduler.js.map +1 -0
- package/dist/daemon/services/loop-hint.d.ts +139 -0
- package/dist/daemon/services/loop-hint.d.ts.map +1 -0
- package/dist/daemon/services/loop-hint.js +272 -0
- package/dist/daemon/services/loop-hint.js.map +1 -0
- package/dist/daemon/services/outcome-classification-service.js +1 -1
- package/dist/daemon/services/outcome-classification-service.js.map +1 -1
- package/dist/daemon/services/task-segmenter.d.ts +11 -0
- package/dist/daemon/services/task-segmenter.d.ts.map +1 -1
- package/dist/daemon/services/task-segmenter.js +48 -2
- package/dist/daemon/services/task-segmenter.js.map +1 -1
- package/dist/daemon/startup/maintenance-schedulers.d.ts +68 -0
- package/dist/daemon/startup/maintenance-schedulers.d.ts.map +1 -0
- package/dist/daemon/startup/maintenance-schedulers.js +294 -0
- package/dist/daemon/startup/maintenance-schedulers.js.map +1 -0
- package/dist/daemon/templates/agents/agent-retro-distiller.md +106 -0
- package/dist/daemon/templates/agents/claudemd-writer.md +1 -0
- package/dist/daemon/templates/agents/coder.md +165 -8
- package/dist/daemon/templates/agents/decision-maker.md +107 -21
- package/dist/daemon/templates/agents/doc-reviewer.md +4 -1
- package/dist/daemon/templates/agents/harness-debug-full.md +85 -3
- package/dist/daemon/templates/agents/knowledge-builder.md +1 -0
- package/dist/daemon/templates/agents/patch-applier.md +1 -0
- package/dist/daemon/templates/agents/planner.md +55 -3
- package/dist/daemon/templates/agents/safety-net-implementer.md +278 -0
- package/dist/daemon/templates/agents/skill-distiller.md +1 -0
- package/dist/daemon/templates/agents/task-boundary-classifier.md +1 -0
- package/dist/daemon/templates/agents/verify-agent.md +128 -5
- package/dist/hooks/stop.sh +7 -1
- package/dist/knowledge/builder.js +36 -7
- package/dist/knowledge/builder.js.map +1 -1
- package/dist/knowledge/constants.d.ts +10 -5
- package/dist/knowledge/constants.d.ts.map +1 -1
- package/dist/knowledge/constants.js +10 -5
- package/dist/knowledge/constants.js.map +1 -1
- package/dist/knowledge/graph/edge-extractor.d.ts +45 -0
- package/dist/knowledge/graph/edge-extractor.d.ts.map +1 -0
- package/dist/knowledge/graph/edge-extractor.js +242 -0
- package/dist/knowledge/graph/edge-extractor.js.map +1 -0
- package/dist/knowledge/graph/impact.d.ts +73 -0
- package/dist/knowledge/graph/impact.d.ts.map +1 -0
- package/dist/knowledge/graph/impact.js +94 -0
- package/dist/knowledge/graph/impact.js.map +1 -0
- package/dist/knowledge/graph/types.d.ts +22 -0
- package/dist/knowledge/graph/types.d.ts.map +1 -0
- package/dist/knowledge/graph/types.js +13 -0
- package/dist/knowledge/graph/types.js.map +1 -0
- package/dist/knowledge/prompt.d.ts +9 -0
- package/dist/knowledge/prompt.d.ts.map +1 -1
- package/dist/knowledge/prompt.js +17 -5
- package/dist/knowledge/prompt.js.map +1 -1
- package/dist/knowledge/query.d.ts +13 -0
- package/dist/knowledge/query.d.ts.map +1 -1
- package/dist/knowledge/query.js +107 -10
- package/dist/knowledge/query.js.map +1 -1
- package/dist/knowledge/repo-map.d.ts +11 -5
- package/dist/knowledge/repo-map.d.ts.map +1 -1
- package/dist/knowledge/repo-map.js +42 -3
- package/dist/knowledge/repo-map.js.map +1 -1
- package/dist/knowledge/validator.d.ts.map +1 -1
- package/dist/knowledge/validator.js +69 -2
- package/dist/knowledge/validator.js.map +1 -1
- package/dist/mcp/server.d.ts +64 -8
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +233 -18
- package/dist/mcp/server.js.map +1 -1
- package/dist/skills/distill/distiller.js +1 -1
- package/dist/skills/distill/distiller.js.map +1 -1
- package/dist/skills/distilled/distilled-api-design.md +4 -0
- package/dist/skills/distilled/distilled-brainstorming.md +79 -0
- package/dist/skills/distilled/distilled-brand-guidelines.md +86 -0
- package/dist/skills/distilled/distilled-canvas-design.md +128 -0
- package/dist/skills/distilled/distilled-claude-api.md +185 -0
- package/dist/skills/distilled/distilled-creator.md +5 -2
- package/dist/skills/distilled/distilled-dispatching-parallel-agents.md +136 -0
- package/dist/skills/distilled/distilled-doc-coauthoring.md +144 -0
- package/dist/skills/distilled/distilled-docx.md +231 -0
- package/dist/skills/distilled/distilled-executing-plans.md +85 -50
- package/dist/skills/distilled/distilled-finishing-a-development-branch.md +213 -0
- package/dist/skills/distilled/distilled-frontend-design.md +118 -0
- package/dist/skills/distilled/distilled-harness-engineering.md +1 -1
- package/dist/skills/distilled/distilled-receiving-code-review.md +185 -0
- package/dist/skills/distilled/distilled-subagent-driven-development.md +124 -0
- package/dist/skills/distilled/distilled-systematic-debugging.md +108 -260
- package/dist/skills/distilled/distilled-test-driven-development.md +432 -0
- package/dist/skills/distilled/distilled-using-superpowers.md +134 -0
- package/dist/skills/distilled/distilled-verification-before-completion.md +88 -78
- package/dist/skills/distilled/distilled-writing-skills.md +175 -0
- package/dist/skills/registry.d.ts +10 -50
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +7 -118
- package/dist/skills/registry.js.map +1 -1
- package/dist/skills/tools/pipeline-suggest.js +2 -2
- package/dist/skills/tools/pipeline-suggest.js.map +1 -1
- package/dist/skills/tools/skill-invoke.d.ts +2 -1
- package/dist/skills/tools/skill-invoke.d.ts.map +1 -1
- package/dist/skills/tools/skill-invoke.js +3 -1
- package/dist/skills/tools/skill-invoke.js.map +1 -1
- package/dist/web/analytics/anti-pattern-detector.d.ts.map +1 -1
- package/dist/web/analytics/anti-pattern-detector.js +6 -1
- package/dist/web/analytics/anti-pattern-detector.js.map +1 -1
- package/dist/web/analytics/drift-detector.d.ts +6 -0
- package/dist/web/analytics/drift-detector.d.ts.map +1 -1
- package/dist/web/analytics/drift-detector.js +15 -8
- package/dist/web/analytics/drift-detector.js.map +1 -1
- package/dist/web/analytics/weekly-report.d.ts +13 -0
- package/dist/web/analytics/weekly-report.d.ts.map +1 -1
- package/dist/web/analytics/weekly-report.js +17 -3
- package/dist/web/analytics/weekly-report.js.map +1 -1
- package/dist/web/routes/_helpers.d.ts +31 -0
- package/dist/web/routes/_helpers.d.ts.map +1 -1
- package/dist/web/routes/_helpers.js +33 -0
- package/dist/web/routes/_helpers.js.map +1 -1
- package/dist/web/routes/agent-distill.d.ts +49 -0
- package/dist/web/routes/agent-distill.d.ts.map +1 -0
- package/dist/web/routes/agent-distill.js +526 -0
- package/dist/web/routes/agent-distill.js.map +1 -0
- package/dist/web/routes/config.d.ts +56 -0
- package/dist/web/routes/config.d.ts.map +1 -0
- package/dist/web/routes/config.js +243 -0
- package/dist/web/routes/config.js.map +1 -0
- package/dist/web/routes/decisions.js +1 -1
- package/dist/web/routes/decisions.js.map +1 -1
- package/dist/web/routes/error-handler.d.ts +0 -4
- package/dist/web/routes/error-handler.d.ts.map +1 -1
- package/dist/web/routes/error-handler.js +0 -8
- package/dist/web/routes/error-handler.js.map +1 -1
- package/dist/web/routes/events.d.ts.map +1 -1
- package/dist/web/routes/events.js +2 -1
- package/dist/web/routes/events.js.map +1 -1
- package/dist/web/routes/insights.d.ts.map +1 -1
- package/dist/web/routes/insights.js +0 -0
- package/dist/web/routes/insights.js.map +1 -1
- package/dist/web/routes/knowledge.d.ts +43 -2
- package/dist/web/routes/knowledge.d.ts.map +1 -1
- package/dist/web/routes/knowledge.js +117 -6
- package/dist/web/routes/knowledge.js.map +1 -1
- package/dist/web/routes/pipeline.d.ts +0 -9
- package/dist/web/routes/pipeline.d.ts.map +1 -1
- package/dist/web/routes/pipeline.js +0 -4
- package/dist/web/routes/pipeline.js.map +1 -1
- package/dist/web/routes/rules.d.ts.map +1 -1
- package/dist/web/routes/rules.js +20 -6
- package/dist/web/routes/rules.js.map +1 -1
- package/dist/web/routes/sessions.d.ts.map +1 -1
- package/dist/web/routes/sessions.js +8 -7
- package/dist/web/routes/sessions.js.map +1 -1
- package/dist/web/routes/skill-stats.d.ts.map +1 -1
- package/dist/web/routes/skill-stats.js +153 -16
- package/dist/web/routes/skill-stats.js.map +1 -1
- package/dist/web/routes/skills-distill.js +1 -1
- package/dist/web/routes/skills-distill.js.map +1 -1
- package/dist/web/routes/stats.d.ts.map +1 -1
- package/dist/web/routes/stats.js +2 -1
- package/dist/web/routes/stats.js.map +1 -1
- package/dist/web/routes/task-timeline.d.ts +95 -19
- package/dist/web/routes/task-timeline.d.ts.map +1 -1
- package/dist/web/routes/task-timeline.js +344 -88
- package/dist/web/routes/task-timeline.js.map +1 -1
- package/dist/web/routes/tasks.d.ts.map +1 -1
- package/dist/web/routes/tasks.js +52 -30
- package/dist/web/routes/tasks.js.map +1 -1
- package/dist/web/routes/violations.d.ts +1 -1
- package/dist/web/routes/violations.d.ts.map +1 -1
- package/dist/web/routes/violations.js +3 -2
- package/dist/web/routes/violations.js.map +1 -1
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +20 -0
- package/dist/web/server.js.map +1 -1
- package/dist/web/services/agent-distill-manager.d.ts +122 -0
- package/dist/web/services/agent-distill-manager.d.ts.map +1 -0
- package/dist/web/services/agent-distill-manager.js +397 -0
- package/dist/web/services/agent-distill-manager.js.map +1 -0
- package/dist/web/services/distill-manager.d.ts +47 -0
- package/dist/web/services/distill-manager.d.ts.map +1 -1
- package/dist/web/services/distill-manager.js +103 -0
- package/dist/web/services/distill-manager.js.map +1 -1
- package/dist/web/static/assets/AgentDetailPage-DlUeA1sX.js +2 -0
- package/dist/web/static/assets/AgentDetailPage-DlUeA1sX.js.map +1 -0
- package/dist/web/static/assets/AgentDistillRunPage-Cybo4bii.js +3 -0
- package/dist/web/static/assets/AgentDistillRunPage-Cybo4bii.js.map +1 -0
- package/dist/web/static/assets/AgentsPage-Qd9FExLG.js +2 -0
- package/dist/web/static/assets/AgentsPage-Qd9FExLG.js.map +1 -0
- package/dist/web/static/assets/DaemonHealthPage-DTSVqtrI.js +2 -0
- package/dist/web/static/assets/DaemonHealthPage-DTSVqtrI.js.map +1 -0
- package/dist/web/static/assets/DecisionDetailPage-b4BA8dhc.js +2 -0
- package/dist/web/static/assets/DecisionDetailPage-b4BA8dhc.js.map +1 -0
- package/dist/web/static/assets/DecisionsPage-a3NRo_T7.js +2 -0
- package/dist/web/static/assets/DecisionsPage-a3NRo_T7.js.map +1 -0
- package/dist/web/static/assets/DiagnosticsPage-DIVdiIQG.js +2 -0
- package/dist/web/static/assets/DiagnosticsPage-DIVdiIQG.js.map +1 -0
- package/dist/web/static/assets/DistillDetailPage-U6a3l2iP.js +4 -0
- package/dist/web/static/assets/DistillDetailPage-U6a3l2iP.js.map +1 -0
- package/dist/web/static/assets/DistillPage-O7BHtRN8.js +2 -0
- package/dist/web/static/assets/DistillPage-O7BHtRN8.js.map +1 -0
- package/dist/web/static/assets/DistillRunPage-D1JuRWWr.js +2 -0
- package/dist/web/static/assets/DistillRunPage-D1JuRWWr.js.map +1 -0
- package/dist/web/static/assets/GlobalScopeHint-Q3wTJx3F.js +2 -0
- package/dist/web/static/assets/GlobalScopeHint-Q3wTJx3F.js.map +1 -0
- package/dist/web/static/assets/IssueDetailPage-BDfrtk2C.js +2 -0
- package/dist/web/static/assets/IssueDetailPage-BDfrtk2C.js.map +1 -0
- package/dist/web/static/assets/IssuesPage-SKmhlCrw.js +2 -0
- package/dist/web/static/assets/IssuesPage-SKmhlCrw.js.map +1 -0
- package/dist/web/static/assets/KbDetailPage-Yna86Na8.js +2 -0
- package/dist/web/static/assets/KbDetailPage-Yna86Na8.js.map +1 -0
- package/dist/web/static/assets/KbHitsPage-Cljl7H9p.js +2 -0
- package/dist/web/static/assets/KbHitsPage-Cljl7H9p.js.map +1 -0
- package/dist/web/static/assets/{MarkdownRenderer-DZmTl-8J.js → MarkdownRenderer-DlDQNihj.js} +2 -2
- package/dist/web/static/assets/{MarkdownRenderer-DZmTl-8J.js.map → MarkdownRenderer-DlDQNihj.js.map} +1 -1
- package/dist/web/static/assets/NotFound-LMzbP51V.js +2 -0
- package/dist/web/static/assets/{NotFound-BQPh0vaF.js.map → NotFound-LMzbP51V.js.map} +1 -1
- package/dist/web/static/assets/SettingsPage-DzoK4PKg.js +2 -0
- package/dist/web/static/assets/SettingsPage-DzoK4PKg.js.map +1 -0
- package/dist/web/static/assets/SkillDetailPage-BuBJJ_NX.js +2 -0
- package/dist/web/static/assets/SkillDetailPage-BuBJJ_NX.js.map +1 -0
- package/dist/web/static/assets/SkillsPage-aojkJpBc.js +2 -0
- package/dist/web/static/assets/SkillsPage-aojkJpBc.js.map +1 -0
- package/dist/web/static/assets/TaskDetailPage-1ckxnGhw.js +4 -0
- package/dist/web/static/assets/TaskDetailPage-1ckxnGhw.js.map +1 -0
- package/dist/web/static/assets/TasksHubPage-C2PLh3eg.js +6 -0
- package/dist/web/static/assets/TasksHubPage-C2PLh3eg.js.map +1 -0
- package/dist/web/static/assets/WorkplacePage-DHrp5VxS.js +2 -0
- package/dist/web/static/assets/WorkplacePage-DHrp5VxS.js.map +1 -0
- package/dist/web/static/assets/arco-DV6xCLhr.js +14 -0
- package/dist/web/static/assets/arco-DV6xCLhr.js.map +1 -0
- package/dist/web/static/assets/charts-BSV4cyC4.js +37 -0
- package/dist/web/static/assets/charts-BSV4cyC4.js.map +1 -0
- package/dist/web/static/assets/{index-7bl3kbcx.css → index-B_v_MKlb.css} +1 -1
- package/dist/web/static/assets/index-DileOOE4.js +4 -0
- package/dist/web/static/assets/index-DileOOE4.js.map +1 -0
- package/dist/web/static/assets/markdown-CA7ePUts.js +30 -0
- package/dist/web/static/assets/markdown-CA7ePUts.js.map +1 -0
- package/dist/web/static/assets/{outcome-DUn1NjlC.js → outcome-BKGy9azt.js} +2 -2
- package/dist/web/static/assets/{outcome-DUn1NjlC.js.map → outcome-BKGy9azt.js.map} +1 -1
- package/dist/web/static/assets/{query-S6X1S7K9.js → query-CgCOpYWf.js} +2 -2
- package/dist/web/static/assets/{query-S6X1S7K9.js.map → query-CgCOpYWf.js.map} +1 -1
- package/dist/web/static/assets/{react-router-JVUrkhdd.js → react-router-Cxmg8RuL.js} +3 -3
- package/dist/web/static/assets/{react-router-JVUrkhdd.js.map → react-router-Cxmg8RuL.js.map} +1 -1
- package/dist/web/static/assets/{syntax-highlighter-BkZfCDsz.js → syntax-highlighter-BDYycNja.js} +3 -3
- package/dist/web/static/assets/{syntax-highlighter-BkZfCDsz.js.map → syntax-highlighter-BDYycNja.js.map} +1 -1
- package/dist/web/static/assets/task-title-BhOcemuR.js +2 -0
- package/dist/web/static/assets/task-title-BhOcemuR.js.map +1 -0
- package/dist/web/static/assets/useAgentStats-B-uTgqBd.js +2 -0
- package/dist/web/static/assets/useAgentStats-B-uTgqBd.js.map +1 -0
- package/dist/web/static/assets/useDecisions-D-G2Ft5T.js +2 -0
- package/dist/web/static/assets/useDecisions-D-G2Ft5T.js.map +1 -0
- package/dist/web/static/assets/useDistill-21dZkXlT.js +3 -0
- package/dist/web/static/assets/useDistill-21dZkXlT.js.map +1 -0
- package/dist/web/static/assets/useEffectiveProject-DQiyX54y.js +2 -0
- package/dist/web/static/assets/useEffectiveProject-DQiyX54y.js.map +1 -0
- package/dist/web/static/assets/useIssuesFeed-CFiyQkAL.js +2 -0
- package/dist/web/static/assets/useIssuesFeed-CFiyQkAL.js.map +1 -0
- package/dist/web/static/assets/useKbHits-xKXWgqh9.js +2 -0
- package/dist/web/static/assets/useKbHits-xKXWgqh9.js.map +1 -0
- package/dist/web/static/assets/useSkillStats-B5hbIwdf.js +2 -0
- package/dist/web/static/assets/useSkillStats-B5hbIwdf.js.map +1 -0
- package/dist/web/static/assets/vendor-DS-q4Eyc.js +36 -0
- package/dist/web/static/assets/vendor-DS-q4Eyc.js.map +1 -0
- package/dist/web/static/index.html +6 -6
- package/package.json +5 -3
- package/dist/core/storage/workflow-recommendations.d.ts +0 -124
- package/dist/core/storage/workflow-recommendations.d.ts.map +0 -1
- package/dist/core/storage/workflow-recommendations.js +0 -274
- package/dist/core/storage/workflow-recommendations.js.map +0 -1
- package/dist/daemon/services/experience-extractor.d.ts.map +0 -1
- package/dist/daemon/services/experience-extractor.js.map +0 -1
- package/dist/daemon/services/violation-reporter.d.ts.map +0 -1
- package/dist/daemon/services/violation-reporter.js.map +0 -1
- package/dist/daemon/templates/agents/harness-hotfix.md +0 -99
- package/dist/daemon/templates/agents/hybrid-feature-with-safety.md +0 -104
- package/dist/daemon/templates/agents/refactor-specialist.md +0 -98
- package/dist/skills/distill/claude-cli-resolver.d.ts.map +0 -1
- package/dist/skills/distill/claude-cli-resolver.js.map +0 -1
- package/dist/skills/distilled/distilled-defi-amm-security.md +0 -293
- package/dist/skills/keyword-score.d.ts +0 -29
- package/dist/skills/keyword-score.d.ts.map +0 -1
- package/dist/skills/keyword-score.js +0 -54
- package/dist/skills/keyword-score.js.map +0 -1
- package/dist/web/static/assets/AgentContentPage-DkeRNxok.js +0 -2
- package/dist/web/static/assets/AgentContentPage-DkeRNxok.js.map +0 -1
- package/dist/web/static/assets/AgentDelegationTable-ByBa0x1l.js +0 -2
- package/dist/web/static/assets/AgentDelegationTable-ByBa0x1l.js.map +0 -1
- package/dist/web/static/assets/ContextInsightsPage-oUk7_I8u.js +0 -3
- package/dist/web/static/assets/ContextInsightsPage-oUk7_I8u.js.map +0 -1
- package/dist/web/static/assets/DaemonHealthPage-DG2fyOP7.js +0 -2
- package/dist/web/static/assets/DaemonHealthPage-DG2fyOP7.js.map +0 -1
- package/dist/web/static/assets/DecisionsPage-CMAPEnKb.js +0 -2
- package/dist/web/static/assets/DecisionsPage-CMAPEnKb.js.map +0 -1
- package/dist/web/static/assets/DiagnosticsPage-DQd-Zm4r.js +0 -2
- package/dist/web/static/assets/DiagnosticsPage-DQd-Zm4r.js.map +0 -1
- package/dist/web/static/assets/DriftTab-DqpepOhI.js +0 -2
- package/dist/web/static/assets/DriftTab-DqpepOhI.js.map +0 -1
- package/dist/web/static/assets/HealthHomePage-CN6zNIie.js +0 -3
- package/dist/web/static/assets/HealthHomePage-CN6zNIie.js.map +0 -1
- package/dist/web/static/assets/KbHitRateTable-ByEIWujF.js +0 -2
- package/dist/web/static/assets/KbHitRateTable-ByEIWujF.js.map +0 -1
- package/dist/web/static/assets/NotFound-BQPh0vaF.js +0 -2
- package/dist/web/static/assets/ProjectSwitcher-D3lZMFd3.js +0 -2
- package/dist/web/static/assets/ProjectSwitcher-D3lZMFd3.js.map +0 -1
- package/dist/web/static/assets/SettingsPage-oLJBNzQj.js +0 -2
- package/dist/web/static/assets/SettingsPage-oLJBNzQj.js.map +0 -1
- package/dist/web/static/assets/SkillContentPage-DK5rgfgw.js +0 -2
- package/dist/web/static/assets/SkillContentPage-DK5rgfgw.js.map +0 -1
- package/dist/web/static/assets/SkillStatsTable-DYMzjEUV.js +0 -2
- package/dist/web/static/assets/SkillStatsTable-DYMzjEUV.js.map +0 -1
- package/dist/web/static/assets/SkillsDistillTab-C7qaG8q3.js +0 -2
- package/dist/web/static/assets/SkillsDistillTab-C7qaG8q3.js.map +0 -1
- package/dist/web/static/assets/TasksHubPage-03wsRRsJ.js +0 -6
- package/dist/web/static/assets/TasksHubPage-03wsRRsJ.js.map +0 -1
- package/dist/web/static/assets/ViolationsPage-DSiLr-9O.js +0 -3
- package/dist/web/static/assets/ViolationsPage-DSiLr-9O.js.map +0 -1
- package/dist/web/static/assets/arco-Bhi3a6Qp.js +0 -14
- package/dist/web/static/assets/arco-Bhi3a6Qp.js.map +0 -1
- package/dist/web/static/assets/charts-BuHQWDbQ.js +0 -37
- package/dist/web/static/assets/charts-BuHQWDbQ.js.map +0 -1
- package/dist/web/static/assets/index-BIYnq1Dx.js +0 -4
- package/dist/web/static/assets/index-BIYnq1Dx.js.map +0 -1
- package/dist/web/static/assets/useTabsParam-k8qte_0C.js +0 -2
- package/dist/web/static/assets/useTabsParam-k8qte_0C.js.map +0 -1
- package/dist/web/static/assets/vendor-DWgdB1eY.js +0 -65
- package/dist/web/static/assets/vendor-DWgdB1eY.js.map +0 -1
- /package/dist/{skills/distill → core/utils}/claude-cli-resolver.d.ts +0 -0
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* FeedbackAggregator — Phase 8 of the master roadmap (master-roadmap-full-loop-
|
|
3
|
-
* 20260522-0200.md §2). Reads tool_intercepts /
|
|
3
|
+
* 20260522-0200.md §2). Reads tool_intercepts /
|
|
4
4
|
* injections / skill_invocations / sessions rollup metrics and folds them into
|
|
5
5
|
* a single "tuning report" structure with three classes of suggestion:
|
|
6
6
|
*
|
|
7
|
-
* • RuleTuningSuggestion — too-noisy or never-firing
|
|
8
|
-
* workflow_recommend rules
|
|
7
|
+
* • RuleTuningSuggestion — too-noisy or never-firing tool_intercept rules
|
|
9
8
|
* • SkillTuningSuggestion — skills that match too rarely / always fail /
|
|
10
9
|
* never match (stale keywords)
|
|
11
10
|
* • KbTuningSuggestion — KB pages that never appear in injection
|
|
@@ -18,8 +17,7 @@
|
|
|
18
17
|
*
|
|
19
18
|
* D7 thresholds (master roadmap §1):
|
|
20
19
|
* • C4 intercept obeyed ratio target >= 0.70
|
|
21
|
-
*
|
|
22
|
-
* green >=0.55)
|
|
20
|
+
* (C8 workflow adoption retired 2026-06-10 — decision fe6f98cd)
|
|
23
21
|
*
|
|
24
22
|
* Acceptance:
|
|
25
23
|
* • `cf insights weekly` renders a markdown weekly report (see CLI)
|
|
@@ -32,13 +30,11 @@ export type SeverityBand = 'red' | 'yellow' | 'green';
|
|
|
32
30
|
export interface RuleTuningSuggestion {
|
|
33
31
|
kind: 'rule_tuning';
|
|
34
32
|
rule_id: string;
|
|
35
|
-
rule_kind: 'tool_intercept'
|
|
33
|
+
rule_kind: 'tool_intercept';
|
|
36
34
|
metric: {
|
|
37
35
|
fires_per_day: number;
|
|
38
36
|
obeyed_ratio: number;
|
|
39
37
|
override_count_7d: number;
|
|
40
|
-
/** Phase 5 only — fraction of accepted recommendations in window. */
|
|
41
|
-
accepted_ratio?: number;
|
|
42
38
|
fires_7d: number;
|
|
43
39
|
};
|
|
44
40
|
suggestion: string;
|
|
@@ -93,20 +89,17 @@ export interface TuningReportSummary {
|
|
|
93
89
|
*/
|
|
94
90
|
intercept_obeyed_ratio: number;
|
|
95
91
|
intercept_obeyed_band: SeverityBand;
|
|
96
|
-
/**
|
|
97
|
-
* C8 — weighted workflow recommendation acceptance ratio.
|
|
98
|
-
* accepted → 1.0
|
|
99
|
-
* partial_accepted → 0.5 (spawned a known subagent_type but not the
|
|
100
|
-
* recommended one)
|
|
101
|
-
* rejected / bypassed / ignored → 0.0
|
|
102
|
-
* Denominator = total non-pending rows in window. Captures the common
|
|
103
|
-
* "main thread spawned `coder` instead of `refactor-specialist`" pattern
|
|
104
|
-
* that previously evaporated as `ignored`.
|
|
105
|
-
*/
|
|
106
|
-
workflow_acceptance_ratio: number;
|
|
107
|
-
workflow_acceptance_band: SeverityBand;
|
|
108
92
|
/** C1 — KB injection rows in window (UserPromptSubmitHandler:kb). */
|
|
109
93
|
kb_inject_count: number;
|
|
94
|
+
/**
|
|
95
|
+
* 「KB 调用」 — GENUINE agent KB pulls in window (decision 64d37b1d). Counts
|
|
96
|
+
* `kb_query_log` rows with a kb-precedent reason, excluding the foo-probe
|
|
97
|
+
* sentinel. This is the REAL-usage number the workplace KPI now shows as its
|
|
98
|
+
* primary value; kb_inject_count (passive injection, gated ≈ 0) is demoted to
|
|
99
|
+
* the tooltip. Additive / nullable for backward-compat with pre-64d37b1d
|
|
100
|
+
* consumers.
|
|
101
|
+
*/
|
|
102
|
+
agent_kb_pull_count?: number;
|
|
110
103
|
kb_top_pages: Array<{
|
|
111
104
|
name: string;
|
|
112
105
|
cited: number;
|
|
@@ -141,12 +134,6 @@ export interface TuningReport {
|
|
|
141
134
|
suggestions: TuningSuggestion[];
|
|
142
135
|
summary: TuningReportSummary;
|
|
143
136
|
}
|
|
144
|
-
/** D7 master-roadmap default for workflow recommendation adoption. */
|
|
145
|
-
export declare const C8_ACCEPTANCE_TARGET = 0.4;
|
|
146
|
-
/** Below this is red. */
|
|
147
|
-
export declare const C8_RED_BELOW = 0.4;
|
|
148
|
-
/** At/above this is green. */
|
|
149
|
-
export declare const C8_GREEN_AT = 0.55;
|
|
150
137
|
/** Master roadmap C4 target for intercept obedience. */
|
|
151
138
|
export declare const C4_OBEYED_TARGET = 0.7;
|
|
152
139
|
export declare const C4_RED_BELOW = 0.5;
|
|
@@ -164,6 +151,7 @@ export declare class FeedbackAggregator {
|
|
|
164
151
|
constructor(storage: SQLiteStorage);
|
|
165
152
|
generateReport(opts?: {
|
|
166
153
|
windowDays: 7 | 30;
|
|
154
|
+
projectPath?: string;
|
|
167
155
|
}): TuningReport;
|
|
168
156
|
private computeSummary;
|
|
169
157
|
private emptySummary;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-aggregator.d.ts","sourceRoot":"","sources":["../../../src/daemon/services/feedback-aggregator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"feedback-aggregator.d.ts","sourceRoot":"","sources":["../../../src/daemon/services/feedback-aggregator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* FeedbackAggregator — Phase 8 of the master roadmap (master-roadmap-full-loop-
|
|
3
|
-
* 20260522-0200.md §2). Reads tool_intercepts /
|
|
3
|
+
* 20260522-0200.md §2). Reads tool_intercepts /
|
|
4
4
|
* injections / skill_invocations / sessions rollup metrics and folds them into
|
|
5
5
|
* a single "tuning report" structure with three classes of suggestion:
|
|
6
6
|
*
|
|
7
|
-
* • RuleTuningSuggestion — too-noisy or never-firing
|
|
8
|
-
* workflow_recommend rules
|
|
7
|
+
* • RuleTuningSuggestion — too-noisy or never-firing tool_intercept rules
|
|
9
8
|
* • SkillTuningSuggestion — skills that match too rarely / always fail /
|
|
10
9
|
* never match (stale keywords)
|
|
11
10
|
* • KbTuningSuggestion — KB pages that never appear in injection
|
|
@@ -18,8 +17,7 @@
|
|
|
18
17
|
*
|
|
19
18
|
* D7 thresholds (master roadmap §1):
|
|
20
19
|
* • C4 intercept obeyed ratio target >= 0.70
|
|
21
|
-
*
|
|
22
|
-
* green >=0.55)
|
|
20
|
+
* (C8 workflow adoption retired 2026-06-10 — decision fe6f98cd)
|
|
23
21
|
*
|
|
24
22
|
* Acceptance:
|
|
25
23
|
* • `cf insights weekly` renders a markdown weekly report (see CLI)
|
|
@@ -29,13 +27,8 @@
|
|
|
29
27
|
*/
|
|
30
28
|
import { logger } from '../../core/utils/logger.js';
|
|
31
29
|
import { formatError } from '../../core/utils/format.js';
|
|
30
|
+
import { daysAgoIso, daysAgoMs } from '../../core/utils/time.js';
|
|
32
31
|
// ─── Thresholds (D7 + sensible defaults) ──────────────────────────────────
|
|
33
|
-
/** D7 master-roadmap default for workflow recommendation adoption. */
|
|
34
|
-
export const C8_ACCEPTANCE_TARGET = 0.4;
|
|
35
|
-
/** Below this is red. */
|
|
36
|
-
export const C8_RED_BELOW = 0.4;
|
|
37
|
-
/** At/above this is green. */
|
|
38
|
-
export const C8_GREEN_AT = 0.55;
|
|
39
32
|
/** Master roadmap C4 target for intercept obedience. */
|
|
40
33
|
export const C4_OBEYED_TARGET = 0.7;
|
|
41
34
|
export const C4_RED_BELOW = 0.5;
|
|
@@ -52,11 +45,10 @@ export const KB_ARCHIVE_TARGET_CITES = 0; // page never cited in window → arch
|
|
|
52
45
|
export const KB_LOW_SCORE_FLOOR = 10; // avg < 10 → suggest regenerate
|
|
53
46
|
// ─── Helpers ──────────────────────────────────────────────────────────────
|
|
54
47
|
function sinceIso(windowDays) {
|
|
55
|
-
|
|
56
|
-
return new Date(ms).toISOString();
|
|
48
|
+
return daysAgoIso(windowDays);
|
|
57
49
|
}
|
|
58
50
|
function sinceMs(windowDays) {
|
|
59
|
-
return
|
|
51
|
+
return daysAgoMs(windowDays);
|
|
60
52
|
}
|
|
61
53
|
function ratioBand(value, redBelow, greenAt) {
|
|
62
54
|
if (value < redBelow)
|
|
@@ -75,10 +67,15 @@ export class FeedbackAggregator {
|
|
|
75
67
|
const window = opts.windowDays === 30 ? 30 : 7;
|
|
76
68
|
const since = sinceIso(window);
|
|
77
69
|
const sinceMillis = sinceMs(window);
|
|
70
|
+
// decision 39839e30 (2026-06-13): optional per-project scope for the
|
|
71
|
+
// workplace KPIs (KB注入 / 听劝率 / 结果分布). Empty/undefined → all-projects
|
|
72
|
+
// (legacy behavior). Only the summary KPIs are scoped; the tuning
|
|
73
|
+
// suggestion lists stay global (they drive cross-project tuning advice).
|
|
74
|
+
const projectPath = opts.projectPath && opts.projectPath.trim() ? opts.projectPath.trim() : undefined;
|
|
78
75
|
let summary;
|
|
79
76
|
let suggestions = [];
|
|
80
77
|
try {
|
|
81
|
-
summary = this.computeSummary(since, sinceMillis, window);
|
|
78
|
+
summary = this.computeSummary(since, sinceMillis, window, projectPath);
|
|
82
79
|
}
|
|
83
80
|
catch (err) {
|
|
84
81
|
logger.warn(`[FeedbackAggregator] summary failed: ${formatError(err)}`);
|
|
@@ -102,7 +99,7 @@ export class FeedbackAggregator {
|
|
|
102
99
|
};
|
|
103
100
|
}
|
|
104
101
|
// ── Summary computation ────────────────────────────────────────────────
|
|
105
|
-
computeSummary(since, sinceMillis, window) {
|
|
102
|
+
computeSummary(since, sinceMillis, window, projectPath) {
|
|
106
103
|
// F-medium #1 (2026-05-26): all raw SQL down-sunk to FeedbackOperations.
|
|
107
104
|
// Aggregator only orchestrates + applies business rules (band thresholds,
|
|
108
105
|
// metadata_json parsing for KB top pages).
|
|
@@ -110,22 +107,19 @@ export class FeedbackAggregator {
|
|
|
110
107
|
// override. `unknown` excluded. KPI relax: PostToolUseHandler back-fills
|
|
111
108
|
// outcome for BOTH `deny` and `dry_run` intercept rows so this ratio is
|
|
112
109
|
// meaningful even before pre_tool_intercept.enabled is flipped on.
|
|
113
|
-
const obeyedRow = this.storage.queryInterceptObeyedSummary(since);
|
|
110
|
+
const obeyedRow = this.storage.queryInterceptObeyedSummary(since, projectPath);
|
|
114
111
|
const interceptObeyed = obeyedRow.ratio;
|
|
115
112
|
// H4 contract — per-decision counts behind the obeyed ratio. See
|
|
116
113
|
// TuningReportSummary.intercept_{denied,dry_run,warn,bypass}.
|
|
117
114
|
const decisionCounts = this.storage.queryInterceptDecisionCounts(since);
|
|
118
115
|
// Top noisy intercept rules in window (by row count).
|
|
119
116
|
const ruleViolationsTop = this.storage.queryTopInterceptRuleViolations(since, 10);
|
|
120
|
-
// C8 workflow acceptance ratio — weighted by outcome strength.
|
|
121
|
-
// accepted → 1.0
|
|
122
|
-
// partial_accepted → 0.5
|
|
123
|
-
// rejected / bypassed / ignored / pending → 0.0 (pending excluded from
|
|
124
|
-
// denominator)
|
|
125
|
-
const acceptRow = this.storage.queryWorkflowAcceptanceSummary(since);
|
|
126
|
-
const workflowAccept = acceptRow.ratio;
|
|
127
117
|
// C1 KB inject count.
|
|
128
|
-
const kbInjectCount = this.storage.countKbInjections(since);
|
|
118
|
+
const kbInjectCount = this.storage.countKbInjections(since, projectPath);
|
|
119
|
+
// 「KB 调用」— genuine agent KB pulls in window (decision 64d37b1d). Window
|
|
120
|
+
// is the same N days; storage computes the ms cutoff internally (kb_query_log
|
|
121
|
+
// ts is INTEGER ms). project_path filter is on kb_query_log's own column.
|
|
122
|
+
const agentKbPullCount = this.storage.countAgentKbPulls({ windowDays: window, projectPath });
|
|
129
123
|
// KB top pages — parse metadata_json from KB injection rows. Done in JS to
|
|
130
124
|
// sidestep JSON1 portability (some sqlite builds don't have JSON1).
|
|
131
125
|
const kbPagesCounter = new Map();
|
|
@@ -158,7 +152,7 @@ export class FeedbackAggregator {
|
|
|
158
152
|
}));
|
|
159
153
|
// Session outcome distribution in window. classified_at is the canonical
|
|
160
154
|
// "when did outcome get written" timestamp.
|
|
161
|
-
const outcomeRows = this.storage.querySessionOutcomeDistribution(since);
|
|
155
|
+
const outcomeRows = this.storage.querySessionOutcomeDistribution(since, projectPath);
|
|
162
156
|
const outcome = { success: 0, partial: 0, failed: 0, abandoned: 0, unclassified: 0 };
|
|
163
157
|
for (const row of outcomeRows) {
|
|
164
158
|
if (row.o === 'success' || row.o === 'partial' || row.o === 'failed' || row.o === 'abandoned') {
|
|
@@ -173,9 +167,8 @@ export class FeedbackAggregator {
|
|
|
173
167
|
rule_violations_top: ruleViolationsTop,
|
|
174
168
|
intercept_obeyed_ratio: interceptObeyed,
|
|
175
169
|
intercept_obeyed_band: ratioBand(interceptObeyed, C4_RED_BELOW, C4_GREEN_AT),
|
|
176
|
-
workflow_acceptance_ratio: workflowAccept,
|
|
177
|
-
workflow_acceptance_band: ratioBand(workflowAccept, C8_RED_BELOW, C8_GREEN_AT),
|
|
178
170
|
kb_inject_count: kbInjectCount,
|
|
171
|
+
agent_kb_pull_count: agentKbPullCount,
|
|
179
172
|
kb_top_pages: kbTopPages,
|
|
180
173
|
skill_top: skillTop,
|
|
181
174
|
session_outcome: outcome,
|
|
@@ -190,9 +183,8 @@ export class FeedbackAggregator {
|
|
|
190
183
|
rule_violations_top: [],
|
|
191
184
|
intercept_obeyed_ratio: 0,
|
|
192
185
|
intercept_obeyed_band: 'red',
|
|
193
|
-
workflow_acceptance_ratio: 0,
|
|
194
|
-
workflow_acceptance_band: 'red',
|
|
195
186
|
kb_inject_count: 0,
|
|
187
|
+
agent_kb_pull_count: 0,
|
|
196
188
|
kb_top_pages: [],
|
|
197
189
|
skill_top: [],
|
|
198
190
|
session_outcome: { success: 0, partial: 0, failed: 0, abandoned: 0, unclassified: 0 },
|
|
@@ -206,7 +198,7 @@ export class FeedbackAggregator {
|
|
|
206
198
|
intercept_bypass: null,
|
|
207
199
|
};
|
|
208
200
|
}
|
|
209
|
-
// ── Rule suggestions (tool_intercepts
|
|
201
|
+
// ── Rule suggestions (tool_intercepts) ─────────────────────────────────
|
|
210
202
|
buildRuleSuggestions(since, windowDays) {
|
|
211
203
|
const out = [];
|
|
212
204
|
// tool_intercept rules grouped by rule_id — per-rule fire count / obeyed / override.
|
|
@@ -258,36 +250,6 @@ export class FeedbackAggregator {
|
|
|
258
250
|
});
|
|
259
251
|
}
|
|
260
252
|
}
|
|
261
|
-
// workflow_recommend rules — emit a suggestion when accepted_ratio is low.
|
|
262
|
-
// Mirrors the summary-level C8 weighting: partial_accepted contributes 0.5
|
|
263
|
-
// so a rule that triggers lots of "tried but missed" spawns isn't unfairly
|
|
264
|
-
// tagged as ignored.
|
|
265
|
-
const workflowRows = this.storage.queryWorkflowRuleAggregates(since);
|
|
266
|
-
for (const row of workflowRows) {
|
|
267
|
-
const firesPerDay = row.fires / Math.max(1, windowDays);
|
|
268
|
-
const acceptedRatio = row.fires > 0 ? (row.accepted + row.partial * 0.5) / row.fires : 0;
|
|
269
|
-
if (firesPerDay >= 1 && acceptedRatio < C8_RED_BELOW) {
|
|
270
|
-
out.push({
|
|
271
|
-
kind: 'rule_tuning',
|
|
272
|
-
rule_id: row.rule_id,
|
|
273
|
-
rule_kind: 'workflow_recommend',
|
|
274
|
-
metric: {
|
|
275
|
-
fires_per_day: round(firesPerDay, 2),
|
|
276
|
-
obeyed_ratio: 0,
|
|
277
|
-
override_count_7d: row.rejected,
|
|
278
|
-
accepted_ratio: round(acceptedRatio, 2),
|
|
279
|
-
fires_7d: row.fires,
|
|
280
|
-
},
|
|
281
|
-
suggestion: `Workflow rule "${row.rule_id}" fired ${row.fires} time(s) but only ${row.accepted} were accepted ` +
|
|
282
|
-
`(${Math.round(acceptedRatio * 100)}%, below C8 target ${Math.round(C8_ACCEPTANCE_TARGET * 100)}%). ` +
|
|
283
|
-
`Consider tightening the matcher or disabling.`,
|
|
284
|
-
apply_action: {
|
|
285
|
-
type: 'disable_rule',
|
|
286
|
-
payload: { rule_id: row.rule_id, rule_kind: 'workflow_recommend' },
|
|
287
|
-
},
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
253
|
return out;
|
|
292
254
|
}
|
|
293
255
|
// ── Skill suggestions ──────────────────────────────────────────────────
|
|
@@ -395,8 +357,6 @@ export function renderReportMarkdown(report) {
|
|
|
395
357
|
lines.push('');
|
|
396
358
|
lines.push(`- **C4 intercept obeyed**: ${pct(report.summary.intercept_obeyed_ratio)} ` +
|
|
397
359
|
`(${band(report.summary.intercept_obeyed_band)}, target ${pct(C4_OBEYED_TARGET)})`);
|
|
398
|
-
lines.push(`- **C8 workflow accepted**: ${pct(report.summary.workflow_acceptance_ratio)} ` +
|
|
399
|
-
`(${band(report.summary.workflow_acceptance_band)}, target ${pct(C8_ACCEPTANCE_TARGET)})`);
|
|
400
360
|
lines.push(`- **C1 KB injections**: ${report.summary.kb_inject_count}`);
|
|
401
361
|
const outcome = report.summary.session_outcome;
|
|
402
362
|
lines.push(`- **Session outcome**: ${outcome.success} success / ${outcome.partial} partial / ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-aggregator.js","sourceRoot":"","sources":["../../../src/daemon/services/feedback-aggregator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feedback-aggregator.js","sourceRoot":"","sources":["../../../src/daemon/services/feedback-aggregator.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
* the machine wakes. The first catch-up tick refreshes the heartbeat
|
|
19
19
|
* within seconds of wake-up, which is the desired behaviour.
|
|
20
20
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
21
|
+
/**
|
|
22
|
+
* Read side moved to `core/diagnostics/heartbeat-reader.ts` (decision
|
|
23
|
+
* ed98c8e8) so core never imports from the daemon layer. Re-exported here
|
|
24
|
+
* for back-compat with existing CLI / test callers.
|
|
25
|
+
*/
|
|
26
|
+
export { readHeartbeat, formatHeartbeatAge, type HeartbeatPayload, } from '../../core/diagnostics/heartbeat-reader.js';
|
|
27
27
|
export interface HeartbeatOptions {
|
|
28
28
|
/** Heartbeat file path (override for tests). */
|
|
29
29
|
heartbeatPath?: string;
|
|
@@ -43,13 +43,4 @@ export interface HeartbeatHandle {
|
|
|
43
43
|
* Returns a handle whose `.stop()` clears the interval and removes the file.
|
|
44
44
|
*/
|
|
45
45
|
export declare function startHeartbeat(opts: HeartbeatOptions): HeartbeatHandle;
|
|
46
|
-
/**
|
|
47
|
-
* Read the heartbeat file and return its payload, or null if absent / corrupt.
|
|
48
|
-
*/
|
|
49
|
-
export declare function readHeartbeat(heartbeatPath?: string): HeartbeatPayload | null;
|
|
50
|
-
/**
|
|
51
|
-
* Return a human-readable age string for a heartbeat timestamp.
|
|
52
|
-
* e.g. "23s ago", "5m 12s ago", "no heartbeat"
|
|
53
|
-
*/
|
|
54
|
-
export declare function formatHeartbeatAge(ts: number | null | undefined): string;
|
|
55
46
|
//# sourceMappingURL=heartbeat-writer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat-writer.d.ts","sourceRoot":"","sources":["../../../src/daemon/services/heartbeat-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAcH
|
|
1
|
+
{"version":3,"file":"heartbeat-writer.d.ts","sourceRoot":"","sources":["../../../src/daemon/services/heartbeat-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAcH;;;;GAIG;AACH,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,KAAK,gBAAgB,GACtB,MAAM,4CAA4C,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAmDtE"}
|
|
@@ -18,10 +18,16 @@
|
|
|
18
18
|
* the machine wakes. The first catch-up tick refreshes the heartbeat
|
|
19
19
|
* within seconds of wake-up, which is the desired behaviour.
|
|
20
20
|
*/
|
|
21
|
-
import { writeFileSync, renameSync, unlinkSync, existsSync,
|
|
21
|
+
import { writeFileSync, renameSync, unlinkSync, existsSync, mkdirSync, } from 'node:fs';
|
|
22
22
|
import { dirname } from 'node:path';
|
|
23
23
|
import { FORGE_PATHS, DEFAULTS } from '../../core/constants.js';
|
|
24
24
|
import { logger } from '../../core/utils/logger.js';
|
|
25
|
+
/**
|
|
26
|
+
* Read side moved to `core/diagnostics/heartbeat-reader.ts` (decision
|
|
27
|
+
* ed98c8e8) so core never imports from the daemon layer. Re-exported here
|
|
28
|
+
* for back-compat with existing CLI / test callers.
|
|
29
|
+
*/
|
|
30
|
+
export { readHeartbeat, formatHeartbeatAge, } from '../../core/diagnostics/heartbeat-reader.js';
|
|
25
31
|
/**
|
|
26
32
|
* Start the heartbeat writer.
|
|
27
33
|
*
|
|
@@ -73,39 +79,4 @@ export function startHeartbeat(opts) {
|
|
|
73
79
|
},
|
|
74
80
|
};
|
|
75
81
|
}
|
|
76
|
-
/**
|
|
77
|
-
* Read the heartbeat file and return its payload, or null if absent / corrupt.
|
|
78
|
-
*/
|
|
79
|
-
export function readHeartbeat(heartbeatPath) {
|
|
80
|
-
const p = heartbeatPath ?? FORGE_PATHS.daemonHeartbeat();
|
|
81
|
-
if (!existsSync(p))
|
|
82
|
-
return null;
|
|
83
|
-
try {
|
|
84
|
-
const raw = readFileSync(p, 'utf-8');
|
|
85
|
-
const parsed = JSON.parse(raw);
|
|
86
|
-
if (typeof parsed.ts !== 'number')
|
|
87
|
-
return null;
|
|
88
|
-
return parsed;
|
|
89
|
-
}
|
|
90
|
-
catch {
|
|
91
|
-
return null;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Return a human-readable age string for a heartbeat timestamp.
|
|
96
|
-
* e.g. "23s ago", "5m 12s ago", "no heartbeat"
|
|
97
|
-
*/
|
|
98
|
-
export function formatHeartbeatAge(ts) {
|
|
99
|
-
if (ts == null)
|
|
100
|
-
return 'no heartbeat';
|
|
101
|
-
const ageMs = Date.now() - ts;
|
|
102
|
-
if (ageMs < 0)
|
|
103
|
-
return 'just now';
|
|
104
|
-
const secs = Math.floor(ageMs / 1000);
|
|
105
|
-
if (secs < 60)
|
|
106
|
-
return `${secs}s ago`;
|
|
107
|
-
const mins = Math.floor(secs / 60);
|
|
108
|
-
const rem = secs % 60;
|
|
109
|
-
return `${mins}m ${rem}s ago`;
|
|
110
|
-
}
|
|
111
82
|
//# sourceMappingURL=heartbeat-writer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat-writer.js","sourceRoot":"","sources":["../../../src/daemon/services/heartbeat-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"heartbeat-writer.js","sourceRoot":"","sources":["../../../src/daemon/services/heartbeat-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAGpD;;;;GAIG;AACH,OAAO,EACL,aAAa,EACb,kBAAkB,GAEnB,MAAM,4CAA4C,CAAC;AAgBpD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;IAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,qBAAqB,CAAC;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE9B,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,OAAO,GAAqB;gBAChC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;gBACd,UAAU;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,aAAa,GAAG,MAAM,CAAC;YAEnC,uDAAuD;YACvD,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACtC,CAAC;YAED,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,6BAA6B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC,CAAC;IAEF,kDAAkD;IAClD,KAAK,EAAE,CAAC;IAER,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAE7C,gEAAgE;IAChE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAEhB,OAAO;QACL,IAAI,EAAE,GAAG,EAAE;YACT,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC;gBACH,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC9B,UAAU,CAAC,aAAa,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CACT,0CAA0C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC7F,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -21,7 +21,7 @@ import type { SQLiteStorage } from '../../core/storage/sqlite.js';
|
|
|
21
21
|
import type { QueryHit } from '../../knowledge/query.js';
|
|
22
22
|
export declare class KbInjector {
|
|
23
23
|
private readonly storage;
|
|
24
|
-
static readonly KB_SCORE_THRESHOLD =
|
|
24
|
+
static readonly KB_SCORE_THRESHOLD = 25;
|
|
25
25
|
/** Cap on KB pages injected per prompt to avoid context bloat. */
|
|
26
26
|
static readonly KB_MAX_RESULTS = 2;
|
|
27
27
|
/** Per-page content truncation (chars) — keeps the additionalContext modest. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kb-injector.d.ts","sourceRoot":"","sources":["../../../src/daemon/services/kb-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAIlE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAOzD,qBAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"kb-injector.d.ts","sourceRoot":"","sources":["../../../src/daemon/services/kb-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAIlE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAOzD,qBAAa,UAAU;IA0BT,OAAO,CAAC,QAAQ,CAAC,OAAO;IAdpC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,MAAM;IACxC,kEAAkE;IAClE,MAAM,CAAC,QAAQ,CAAC,cAAc,KAAK;IACnC,gFAAgF;IAChF,MAAM,CAAC,QAAQ,CAAC,mBAAmB,OAAO;IAC1C,yEAAyE;IACzE,MAAM,CAAC,QAAQ,CAAC,eAAe,SAAiB;IAChD,gCAAgC;IAChC,MAAM,CAAC,QAAQ,CAAC,YAAY,OAAO;IAEnC,OAAO,CAAC,YAAY,CAElB;gBAE2B,OAAO,GAAE,aAAa,GAAG,IAAW;IAEjE;;;;;;OAMG;IACG,MAAM,CACV,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,MAAM,EAAO,GAC3B,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC;IAYtD;;;;;;;;OAQG;YACW,gBAAgB;CAgD/B"}
|
|
@@ -33,8 +33,11 @@ export class KbInjector {
|
|
|
33
33
|
// 2026-05-22 KPI fix → 5, after CJK n-gram tokenize landed
|
|
34
34
|
// (n-gram tokens lower per-hit score; real CJK technical prompt
|
|
35
35
|
// "如何修复 daemon socket bug" hits modules/daemon.md @ score 7).
|
|
36
|
-
//
|
|
37
|
-
|
|
36
|
+
// 2026-06-10 审计(decision 148f7a0a)→ 25 止血:threshold=5 时 28 天注入
|
|
37
|
+
// 277 条、注入后同会话主动 KB MCP 调用仅 3 次(采纳率 ≈0)。回调到 25
|
|
38
|
+
// 只留高置信命中,同时配套 injections.adopted_at 采纳 telemetry 攒 4 周
|
|
39
|
+
// 数据后再定去留。
|
|
40
|
+
static KB_SCORE_THRESHOLD = 25;
|
|
38
41
|
/** Cap on KB pages injected per prompt to avoid context bloat. */
|
|
39
42
|
static KB_MAX_RESULTS = 2;
|
|
40
43
|
/** Per-page content truncation (chars) — keeps the additionalContext modest. */
|
|
@@ -91,6 +94,11 @@ export class KbInjector {
|
|
|
91
94
|
// file:line refs and symbol noise would just lengthen the prompt.
|
|
92
95
|
includeRepoMap: false,
|
|
93
96
|
storage: this.storage ?? undefined,
|
|
97
|
+
// decision d24cd3a2 Task B: tag automatic per-prompt probes so they are
|
|
98
|
+
// distinguishable from deliberate `cf knowledge query --reason` pulls
|
|
99
|
+
// (source='cli'). agent_id = the session being probed.
|
|
100
|
+
source: 'daemon-probe',
|
|
101
|
+
agentId: sessionId,
|
|
94
102
|
});
|
|
95
103
|
const qualifying = result.pages.filter((h) => h.score >= KbInjector.KB_SCORE_THRESHOLD);
|
|
96
104
|
this.kbQueryCache.set(cacheKey, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kb-injector.js","sourceRoot":"","sources":["../../../src/daemon/services/kb-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,gFAAgF;AAChF,4EAA4E;AAC5E,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,OAAO,UAAU;
|
|
1
|
+
{"version":3,"file":"kb-injector.js","sourceRoot":"","sources":["../../../src/daemon/services/kb-injector.ts"],"names":[],"mappings":"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"}
|