mister-wolf 2.12.0 → 2.14.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/README.md +4 -1
- package/README.ru.md +4 -1
- package/dist/adapters/cli/cli-entry.d.ts +25 -0
- package/dist/adapters/cli/cli-entry.d.ts.map +1 -1
- package/dist/adapters/cli/cli-entry.js +156 -85
- package/dist/adapters/cli/cli-entry.js.map +1 -1
- package/dist/adapters/cli/commands/analytics.d.ts +30 -5
- package/dist/adapters/cli/commands/analytics.d.ts.map +1 -1
- package/dist/adapters/cli/commands/analytics.js +295 -2
- package/dist/adapters/cli/commands/analytics.js.map +1 -1
- package/dist/adapters/cli/commands/memory-add.d.ts +21 -1
- package/dist/adapters/cli/commands/memory-add.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-add.js +42 -29
- package/dist/adapters/cli/commands/memory-add.js.map +1 -1
- package/dist/adapters/cli/commands/memory-aggregate.d.ts +3 -0
- package/dist/adapters/cli/commands/memory-aggregate.d.ts.map +1 -0
- package/dist/adapters/cli/commands/memory-aggregate.js +31 -0
- package/dist/adapters/cli/commands/memory-aggregate.js.map +1 -0
- package/dist/adapters/cli/commands/memory-archive.d.ts +3 -0
- package/dist/adapters/cli/commands/memory-archive.d.ts.map +1 -0
- package/dist/adapters/cli/commands/memory-archive.js +19 -0
- package/dist/adapters/cli/commands/memory-archive.js.map +1 -0
- package/dist/adapters/cli/commands/memory-call.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-call.js +9 -2
- package/dist/adapters/cli/commands/memory-call.js.map +1 -1
- package/dist/adapters/cli/commands/memory-complain.d.ts +6 -0
- package/dist/adapters/cli/commands/memory-complain.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-complain.js +20 -0
- package/dist/adapters/cli/commands/memory-complain.js.map +1 -1
- package/dist/adapters/cli/commands/memory-doctor.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-doctor.js +43 -2
- package/dist/adapters/cli/commands/memory-doctor.js.map +1 -1
- package/dist/adapters/cli/commands/memory-edit.d.ts +3 -0
- package/dist/adapters/cli/commands/memory-edit.d.ts.map +1 -0
- package/dist/adapters/cli/commands/memory-edit.js +67 -0
- package/dist/adapters/cli/commands/memory-edit.js.map +1 -0
- package/dist/adapters/cli/commands/memory-init.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-init.js +46 -7
- package/dist/adapters/cli/commands/memory-init.js.map +1 -1
- package/dist/adapters/cli/commands/memory-list.d.ts +12 -0
- package/dist/adapters/cli/commands/memory-list.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-list.js +36 -21
- package/dist/adapters/cli/commands/memory-list.js.map +1 -1
- package/dist/adapters/cli/commands/memory-migrate.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-migrate.js +91 -0
- package/dist/adapters/cli/commands/memory-migrate.js.map +1 -1
- package/dist/adapters/cli/commands/memory-recap.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-recap.js +3 -1
- package/dist/adapters/cli/commands/memory-recap.js.map +1 -1
- package/dist/adapters/cli/commands/memory-relation.d.ts +1 -1
- package/dist/adapters/cli/commands/memory-relation.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-relation.js +57 -2
- package/dist/adapters/cli/commands/memory-relation.js.map +1 -1
- package/dist/adapters/cli/commands/memory-search.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-search.js +21 -2
- package/dist/adapters/cli/commands/memory-search.js.map +1 -1
- package/dist/adapters/cli/commands/memory-session.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-session.js +2 -12
- package/dist/adapters/cli/commands/memory-session.js.map +1 -1
- package/dist/adapters/cli/commands/memory-sync.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-sync.js +2 -9
- package/dist/adapters/cli/commands/memory-sync.js.map +1 -1
- package/dist/adapters/cli/commands/memory-taxonomy.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-taxonomy.js +4 -4
- package/dist/adapters/cli/commands/memory-taxonomy.js.map +1 -1
- package/dist/adapters/cli/commands/memory-tool.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-tool.js +13 -5
- package/dist/adapters/cli/commands/memory-tool.js.map +1 -1
- package/dist/adapters/cli/commands/memory-validate.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-validate.js +18 -4
- package/dist/adapters/cli/commands/memory-validate.js.map +1 -1
- package/dist/adapters/cli/commands/projects.d.ts +3 -0
- package/dist/adapters/cli/commands/projects.d.ts.map +1 -0
- package/dist/adapters/cli/commands/projects.js +18 -0
- package/dist/adapters/cli/commands/projects.js.map +1 -0
- package/dist/adapters/cli/removed-commands.d.ts +11 -0
- package/dist/adapters/cli/removed-commands.d.ts.map +1 -0
- package/dist/adapters/cli/removed-commands.js +36 -0
- package/dist/adapters/cli/removed-commands.js.map +1 -0
- package/dist/adapters/cli/type-command-generator.d.ts +5 -0
- package/dist/adapters/cli/type-command-generator.d.ts.map +1 -0
- package/dist/adapters/cli/type-command-generator.js +132 -0
- package/dist/adapters/cli/type-command-generator.js.map +1 -0
- package/dist/adapters/fs/config-file.d.ts +6 -1
- package/dist/adapters/fs/config-file.d.ts.map +1 -1
- package/dist/adapters/fs/config-file.js +112 -55
- package/dist/adapters/fs/config-file.js.map +1 -1
- package/dist/adapters/fs/doc-id-migration.d.ts +2 -0
- package/dist/adapters/fs/doc-id-migration.d.ts.map +1 -1
- package/dist/adapters/fs/doc-id-migration.js +8 -2
- package/dist/adapters/fs/doc-id-migration.js.map +1 -1
- package/dist/adapters/fs/effectiveness-snapshots.d.ts +1 -1
- package/dist/adapters/fs/effectiveness-snapshots.d.ts.map +1 -1
- package/dist/adapters/fs/jsonl-relation-log.d.ts.map +1 -1
- package/dist/adapters/fs/jsonl-relation-log.js +10 -2
- package/dist/adapters/fs/jsonl-relation-log.js.map +1 -1
- package/dist/adapters/fs/layout-migration.d.ts.map +1 -1
- package/dist/adapters/fs/layout-migration.js +21 -2
- package/dist/adapters/fs/layout-migration.js.map +1 -1
- package/dist/adapters/fs/markdown-memory-store.d.ts +12 -1
- package/dist/adapters/fs/markdown-memory-store.d.ts.map +1 -1
- package/dist/adapters/fs/markdown-memory-store.js +124 -22
- package/dist/adapters/fs/markdown-memory-store.js.map +1 -1
- package/dist/adapters/fs/project-paths.d.ts +1 -1
- package/dist/adapters/fs/project-paths.d.ts.map +1 -1
- package/dist/adapters/fs/project-paths.js +1 -1
- package/dist/adapters/fs/project-paths.js.map +1 -1
- package/dist/adapters/fs/projects-registry.d.ts +8 -2
- package/dist/adapters/fs/projects-registry.d.ts.map +1 -1
- package/dist/adapters/fs/projects-registry.js +43 -16
- package/dist/adapters/fs/projects-registry.js.map +1 -1
- package/dist/adapters/fs/schema-version.d.ts +2 -0
- package/dist/adapters/fs/schema-version.d.ts.map +1 -1
- package/dist/adapters/fs/schema-version.js +15 -0
- package/dist/adapters/fs/schema-version.js.map +1 -1
- package/dist/adapters/fs/session-metrics-log.d.ts +32 -118
- package/dist/adapters/fs/session-metrics-log.d.ts.map +1 -1
- package/dist/adapters/fs/session-metrics-log.js +106 -141
- package/dist/adapters/fs/session-metrics-log.js.map +1 -1
- package/dist/adapters/fs/taxonomy-migration.d.ts +38 -0
- package/dist/adapters/fs/taxonomy-migration.d.ts.map +1 -0
- package/dist/adapters/fs/taxonomy-migration.js +280 -0
- package/dist/adapters/fs/taxonomy-migration.js.map +1 -0
- package/dist/adapters/mcp/mcp-schemas.d.ts +0 -122
- package/dist/adapters/mcp/mcp-schemas.d.ts.map +1 -1
- package/dist/adapters/mcp/mcp-schemas.js +0 -102
- package/dist/adapters/mcp/mcp-schemas.js.map +1 -1
- package/dist/adapters/mcp/mcp-server.d.ts.map +1 -1
- package/dist/adapters/mcp/mcp-server.js +30 -1
- package/dist/adapters/mcp/mcp-server.js.map +1 -1
- package/dist/adapters/mcp/mcp-tools.d.ts +10 -0
- package/dist/adapters/mcp/mcp-tools.d.ts.map +1 -1
- package/dist/adapters/mcp/mcp-tools.js +48 -186
- package/dist/adapters/mcp/mcp-tools.js.map +1 -1
- package/dist/adapters/sqlite/sqlite-schema.d.ts +1 -1
- package/dist/adapters/sqlite/sqlite-schema.d.ts.map +1 -1
- package/dist/adapters/sqlite/sqlite-schema.js +4 -2
- package/dist/adapters/sqlite/sqlite-schema.js.map +1 -1
- package/dist/adapters/sqlite/sqlite-search-index.d.ts +7 -0
- package/dist/adapters/sqlite/sqlite-search-index.d.ts.map +1 -1
- package/dist/adapters/sqlite/sqlite-search-index.js +41 -9
- package/dist/adapters/sqlite/sqlite-search-index.js.map +1 -1
- package/dist/app/use-cases/add-memory-object.d.ts +4 -0
- package/dist/app/use-cases/add-memory-object.d.ts.map +1 -1
- package/dist/app/use-cases/add-memory-object.js +42 -4
- package/dist/app/use-cases/add-memory-object.js.map +1 -1
- package/dist/app/use-cases/apply-aggregate.d.ts +36 -0
- package/dist/app/use-cases/apply-aggregate.d.ts.map +1 -0
- package/dist/app/use-cases/apply-aggregate.js +63 -0
- package/dist/app/use-cases/apply-aggregate.js.map +1 -0
- package/dist/app/use-cases/bootstrap-project.d.ts.map +1 -1
- package/dist/app/use-cases/bootstrap-project.js +13 -9
- package/dist/app/use-cases/bootstrap-project.js.map +1 -1
- package/dist/app/use-cases/build-analytics.d.ts +105 -1
- package/dist/app/use-cases/build-analytics.d.ts.map +1 -1
- package/dist/app/use-cases/build-analytics.js +330 -9
- package/dist/app/use-cases/build-analytics.js.map +1 -1
- package/dist/app/use-cases/build-projects-list.d.ts +30 -0
- package/dist/app/use-cases/build-projects-list.d.ts.map +1 -0
- package/dist/app/use-cases/build-projects-list.js +94 -0
- package/dist/app/use-cases/build-projects-list.js.map +1 -0
- package/dist/app/use-cases/create-memory-repair-request.d.ts.map +1 -1
- package/dist/app/use-cases/create-memory-repair-request.js +5 -3
- package/dist/app/use-cases/create-memory-repair-request.js.map +1 -1
- package/dist/app/use-cases/detect-unaggregated-lessons.d.ts +30 -0
- package/dist/app/use-cases/detect-unaggregated-lessons.d.ts.map +1 -0
- package/dist/app/use-cases/detect-unaggregated-lessons.js +40 -0
- package/dist/app/use-cases/detect-unaggregated-lessons.js.map +1 -0
- package/dist/app/use-cases/diff-thread.d.ts.map +1 -1
- package/dist/app/use-cases/diff-thread.js +9 -6
- package/dist/app/use-cases/diff-thread.js.map +1 -1
- package/dist/app/use-cases/doctor.d.ts +11 -3
- package/dist/app/use-cases/doctor.d.ts.map +1 -1
- package/dist/app/use-cases/doctor.js +53 -12
- package/dist/app/use-cases/doctor.js.map +1 -1
- package/dist/app/use-cases/generate-agent-brief.d.ts.map +1 -1
- package/dist/app/use-cases/generate-agent-brief.js +18 -8
- package/dist/app/use-cases/generate-agent-brief.js.map +1 -1
- package/dist/app/use-cases/generate-recap.d.ts +10 -0
- package/dist/app/use-cases/generate-recap.d.ts.map +1 -1
- package/dist/app/use-cases/generate-recap.js +81 -7
- package/dist/app/use-cases/generate-recap.js.map +1 -1
- package/dist/app/use-cases/get-call-injections.d.ts +8 -0
- package/dist/app/use-cases/get-call-injections.d.ts.map +1 -1
- package/dist/app/use-cases/get-call-injections.js +34 -8
- package/dist/app/use-cases/get-call-injections.js.map +1 -1
- package/dist/app/use-cases/init-project.d.ts +2 -6
- package/dist/app/use-cases/init-project.d.ts.map +1 -1
- package/dist/app/use-cases/init-project.js +11 -13
- package/dist/app/use-cases/init-project.js.map +1 -1
- package/dist/app/use-cases/list-memory-objects.d.ts +2 -0
- package/dist/app/use-cases/list-memory-objects.d.ts.map +1 -1
- package/dist/app/use-cases/list-memory-objects.js.map +1 -1
- package/dist/app/use-cases/record-relation.d.ts.map +1 -1
- package/dist/app/use-cases/record-relation.js +4 -0
- package/dist/app/use-cases/record-relation.js.map +1 -1
- package/dist/app/use-cases/scaffold-agent.d.ts.map +1 -1
- package/dist/app/use-cases/scaffold-agent.js +58 -17
- package/dist/app/use-cases/scaffold-agent.js.map +1 -1
- package/dist/app/use-cases/scan-project.d.ts.map +1 -1
- package/dist/app/use-cases/scan-project.js +7 -3
- package/dist/app/use-cases/scan-project.js.map +1 -1
- package/dist/app/use-cases/seed-base-playbooks.d.ts +82 -3
- package/dist/app/use-cases/seed-base-playbooks.d.ts.map +1 -1
- package/dist/app/use-cases/seed-base-playbooks.js +13 -1
- package/dist/app/use-cases/seed-base-playbooks.js.map +1 -1
- package/dist/app/use-cases/should-summarize.d.ts.map +1 -1
- package/dist/app/use-cases/should-summarize.js +3 -1
- package/dist/app/use-cases/should-summarize.js.map +1 -1
- package/dist/app/use-cases/snapshot-delta.d.ts +1 -1
- package/dist/app/use-cases/snapshot-delta.d.ts.map +1 -1
- package/dist/app/use-cases/snapshot-delta.js.map +1 -1
- package/dist/app/use-cases/summarize-session.d.ts.map +1 -1
- package/dist/app/use-cases/summarize-session.js +11 -2
- package/dist/app/use-cases/summarize-session.js.map +1 -1
- package/dist/app/use-cases/thinking.d.ts +2 -2
- package/dist/app/use-cases/thinking.d.ts.map +1 -1
- package/dist/app/use-cases/thinking.js +20 -12
- package/dist/app/use-cases/thinking.js.map +1 -1
- package/dist/app/use-cases/tool-stats.js +1 -1
- package/dist/app/use-cases/tool-stats.js.map +1 -1
- package/dist/bootstrap/container.d.ts.map +1 -1
- package/dist/bootstrap/container.js +30 -2
- package/dist/bootstrap/container.js.map +1 -1
- package/dist/domain/facet-colors.d.ts +12 -0
- package/dist/domain/facet-colors.d.ts.map +1 -0
- package/dist/domain/facet-colors.js +33 -0
- package/dist/domain/facet-colors.js.map +1 -0
- package/dist/domain/governance.d.ts.map +1 -1
- package/dist/domain/governance.js +9 -2
- package/dist/domain/governance.js.map +1 -1
- package/dist/domain/memory-types.d.ts +73 -318
- package/dist/domain/memory-types.d.ts.map +1 -1
- package/dist/domain/memory-types.js +90 -223
- package/dist/domain/memory-types.js.map +1 -1
- package/dist/domain/policies/read-only-zones.d.ts.map +1 -1
- package/dist/domain/policies/read-only-zones.js +7 -11
- package/dist/domain/policies/read-only-zones.js.map +1 -1
- package/dist/domain/schemas/memory-event-schema.d.ts +3 -0
- package/dist/domain/schemas/memory-event-schema.d.ts.map +1 -1
- package/dist/domain/schemas/memory-event-schema.js +3 -0
- package/dist/domain/schemas/memory-event-schema.js.map +1 -1
- package/dist/domain/schemas/memory-object-schema.d.ts +2 -0
- package/dist/domain/schemas/memory-object-schema.d.ts.map +1 -1
- package/dist/domain/schemas/memory-object-schema.js +3 -0
- package/dist/domain/schemas/memory-object-schema.js.map +1 -1
- package/dist/domain/schemas/relation-schema.d.ts +10 -4
- package/dist/domain/schemas/relation-schema.d.ts.map +1 -1
- package/dist/domain/schemas/relation-schema.js +12 -0
- package/dist/domain/schemas/relation-schema.js.map +1 -1
- package/dist/domain/schemas/session-checkpoint-schema.d.ts +3 -1
- package/dist/domain/schemas/session-checkpoint-schema.d.ts.map +1 -1
- package/dist/domain/schemas/session-checkpoint-schema.js +3 -2
- package/dist/domain/schemas/session-checkpoint-schema.js.map +1 -1
- package/dist/domain/solve/scenarios.js +3 -3
- package/dist/domain/solve/scenarios.js.map +1 -1
- package/dist/domain/taxonomy.d.ts +15 -1
- package/dist/domain/taxonomy.d.ts.map +1 -1
- package/dist/domain/taxonomy.js +14 -1
- package/dist/domain/taxonomy.js.map +1 -1
- package/dist/domain/tool-economy.d.ts +1 -1
- package/dist/domain/tool-economy.js +1 -1
- package/dist/domain/type-schema-builder.d.ts +15 -2
- package/dist/domain/type-schema-builder.d.ts.map +1 -1
- package/dist/domain/type-schema-builder.js +10 -1
- package/dist/domain/type-schema-builder.js.map +1 -1
- package/dist/ports/memory-store.port.d.ts +2 -0
- package/dist/ports/memory-store.port.d.ts.map +1 -1
- package/dist/ports/search-index.port.d.ts +2 -0
- package/dist/ports/search-index.port.d.ts.map +1 -1
- package/package.json +2 -2
- package/templates/base/agents/executor-lead.md +5 -0
- package/templates/base/agents/mr-wolf.md +6 -0
- package/templates/base/agents/steward.md +31 -2
- package/templates/opencode/plugins/wolf-router.ts +8 -3
- package/templates/opencode/plugins/wolf-session-start.js +6 -3
- package/dist/adapters/cli/commands/coord.d.ts +0 -3
- package/dist/adapters/cli/commands/coord.d.ts.map +0 -1
- package/dist/adapters/cli/commands/coord.js +0 -36
- package/dist/adapters/cli/commands/coord.js.map +0 -1
- package/dist/adapters/cli/commands/dashboard.d.ts +0 -20
- package/dist/adapters/cli/commands/dashboard.d.ts.map +0 -1
- package/dist/adapters/cli/commands/dashboard.js +0 -231
- package/dist/adapters/cli/commands/dashboard.js.map +0 -1
- package/dist/adapters/cli/commands/memory-article.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-article.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-article.js +0 -47
- package/dist/adapters/cli/commands/memory-article.js.map +0 -1
- package/dist/adapters/cli/commands/memory-blocker.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-blocker.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-blocker.js +0 -52
- package/dist/adapters/cli/commands/memory-blocker.js.map +0 -1
- package/dist/adapters/cli/commands/memory-council.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-council.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-council.js +0 -42
- package/dist/adapters/cli/commands/memory-council.js.map +0 -1
- package/dist/adapters/cli/commands/memory-decision.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-decision.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-decision.js +0 -41
- package/dist/adapters/cli/commands/memory-decision.js.map +0 -1
- package/dist/adapters/cli/commands/memory-effectiveness.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-effectiveness.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-effectiveness.js +0 -127
- package/dist/adapters/cli/commands/memory-effectiveness.js.map +0 -1
- package/dist/adapters/cli/commands/memory-info-request.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-info-request.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-info-request.js +0 -47
- package/dist/adapters/cli/commands/memory-info-request.js.map +0 -1
- package/dist/adapters/cli/commands/memory-insights.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-insights.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-insights.js +0 -42
- package/dist/adapters/cli/commands/memory-insights.js.map +0 -1
- package/dist/adapters/cli/commands/memory-learn.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-learn.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-learn.js +0 -327
- package/dist/adapters/cli/commands/memory-learn.js.map +0 -1
- package/dist/adapters/cli/commands/memory-rule.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-rule.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-rule.js +0 -40
- package/dist/adapters/cli/commands/memory-rule.js.map +0 -1
- package/dist/adapters/cli/commands/memory-run.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-run.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-run.js +0 -154
- package/dist/adapters/cli/commands/memory-run.js.map +0 -1
- package/dist/adapters/cli/commands/memory-stage.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-stage.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-stage.js +0 -35
- package/dist/adapters/cli/commands/memory-stage.js.map +0 -1
- package/dist/adapters/cli/commands/memory-thread.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-thread.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-thread.js +0 -48
- package/dist/adapters/cli/commands/memory-thread.js.map +0 -1
- package/dist/adapters/cli/opencode-run-metrics.d.ts +0 -25
- package/dist/adapters/cli/opencode-run-metrics.d.ts.map +0 -1
- package/dist/adapters/cli/opencode-run-metrics.js +0 -64
- package/dist/adapters/cli/opencode-run-metrics.js.map +0 -1
- package/dist/app/use-cases/activate-draft.d.ts +0 -31
- package/dist/app/use-cases/activate-draft.d.ts.map +0 -1
- package/dist/app/use-cases/activate-draft.js +0 -74
- package/dist/app/use-cases/activate-draft.js.map +0 -1
- package/dist/app/use-cases/build-dashboard.d.ts +0 -43
- package/dist/app/use-cases/build-dashboard.d.ts.map +0 -1
- package/dist/app/use-cases/build-dashboard.js +0 -32
- package/dist/app/use-cases/build-dashboard.js.map +0 -1
- package/dist/app/use-cases/create-article.d.ts +0 -31
- package/dist/app/use-cases/create-article.d.ts.map +0 -1
- package/dist/app/use-cases/create-article.js +0 -62
- package/dist/app/use-cases/create-article.js.map +0 -1
- package/dist/app/use-cases/create-blocker.d.ts +0 -28
- package/dist/app/use-cases/create-blocker.d.ts.map +0 -1
- package/dist/app/use-cases/create-blocker.js +0 -51
- package/dist/app/use-cases/create-blocker.js.map +0 -1
- package/dist/app/use-cases/create-decision.d.ts +0 -28
- package/dist/app/use-cases/create-decision.d.ts.map +0 -1
- package/dist/app/use-cases/create-decision.js +0 -58
- package/dist/app/use-cases/create-decision.js.map +0 -1
- package/dist/app/use-cases/create-info-request.d.ts +0 -31
- package/dist/app/use-cases/create-info-request.d.ts.map +0 -1
- package/dist/app/use-cases/create-info-request.js +0 -58
- package/dist/app/use-cases/create-info-request.js.map +0 -1
- package/dist/app/use-cases/create-rule.d.ts +0 -27
- package/dist/app/use-cases/create-rule.d.ts.map +0 -1
- package/dist/app/use-cases/create-rule.js +0 -48
- package/dist/app/use-cases/create-rule.js.map +0 -1
- package/dist/app/use-cases/create-session-checkpoint.d.ts +0 -23
- package/dist/app/use-cases/create-session-checkpoint.d.ts.map +0 -1
- package/dist/app/use-cases/create-session-checkpoint.js +0 -61
- package/dist/app/use-cases/create-session-checkpoint.js.map +0 -1
- package/dist/app/use-cases/create-synthesis.d.ts +0 -25
- package/dist/app/use-cases/create-synthesis.d.ts.map +0 -1
- package/dist/app/use-cases/create-synthesis.js +0 -36
- package/dist/app/use-cases/create-synthesis.js.map +0 -1
- package/dist/app/use-cases/create-work-thread.d.ts +0 -26
- package/dist/app/use-cases/create-work-thread.d.ts.map +0 -1
- package/dist/app/use-cases/create-work-thread.js +0 -47
- package/dist/app/use-cases/create-work-thread.js.map +0 -1
- package/dist/app/use-cases/effectiveness.d.ts +0 -116
- package/dist/app/use-cases/effectiveness.d.ts.map +0 -1
- package/dist/app/use-cases/effectiveness.js +0 -198
- package/dist/app/use-cases/effectiveness.js.map +0 -1
- package/dist/app/use-cases/get-thread-brief.d.ts +0 -19
- package/dist/app/use-cases/get-thread-brief.d.ts.map +0 -1
- package/dist/app/use-cases/get-thread-brief.js +0 -72
- package/dist/app/use-cases/get-thread-brief.js.map +0 -1
- package/dist/app/use-cases/learn-decay.d.ts +0 -91
- package/dist/app/use-cases/learn-decay.d.ts.map +0 -1
- package/dist/app/use-cases/learn-decay.js +0 -274
- package/dist/app/use-cases/learn-decay.js.map +0 -1
- package/dist/app/use-cases/model-routing.d.ts +0 -30
- package/dist/app/use-cases/model-routing.d.ts.map +0 -1
- package/dist/app/use-cases/model-routing.js +0 -39
- package/dist/app/use-cases/model-routing.js.map +0 -1
- package/dist/app/use-cases/pattern-detection.d.ts +0 -44
- package/dist/app/use-cases/pattern-detection.d.ts.map +0 -1
- package/dist/app/use-cases/pattern-detection.js +0 -71
- package/dist/app/use-cases/pattern-detection.js.map +0 -1
- package/dist/app/use-cases/propose-draft.d.ts +0 -79
- package/dist/app/use-cases/propose-draft.d.ts.map +0 -1
- package/dist/app/use-cases/propose-draft.js +0 -140
- package/dist/app/use-cases/propose-draft.js.map +0 -1
- package/dist/app/use-cases/resolve-blocker.d.ts +0 -17
- package/dist/app/use-cases/resolve-blocker.d.ts.map +0 -1
- package/dist/app/use-cases/resolve-blocker.js +0 -31
- package/dist/app/use-cases/resolve-blocker.js.map +0 -1
- package/dist/app/use-cases/run-source.d.ts +0 -15
- package/dist/app/use-cases/run-source.d.ts.map +0 -1
- package/dist/app/use-cases/run-source.js +0 -26
- package/dist/app/use-cases/run-source.js.map +0 -1
- package/dist/app/use-cases/tally-council-votes.d.ts +0 -24
- package/dist/app/use-cases/tally-council-votes.d.ts.map +0 -1
- package/dist/app/use-cases/tally-council-votes.js +0 -30
- package/dist/app/use-cases/tally-council-votes.js.map +0 -1
- package/dist/app/use-cases/template-evolve.d.ts +0 -87
- package/dist/app/use-cases/template-evolve.d.ts.map +0 -1
- package/dist/app/use-cases/template-evolve.js +0 -164
- package/dist/app/use-cases/template-evolve.js.map +0 -1
- package/dist/app/use-cases/validate-draft.d.ts +0 -36
- package/dist/app/use-cases/validate-draft.d.ts.map +0 -1
- package/dist/app/use-cases/validate-draft.js +0 -75
- package/dist/app/use-cases/validate-draft.js.map +0 -1
- package/dist/domain/gates/stop-gate.d.ts +0 -43
- package/dist/domain/gates/stop-gate.d.ts.map +0 -1
- package/dist/domain/gates/stop-gate.js +0 -125
- package/dist/domain/gates/stop-gate.js.map +0 -1
- package/dist/domain/schemas/article-schema.d.ts +0 -79
- package/dist/domain/schemas/article-schema.d.ts.map +0 -1
- package/dist/domain/schemas/article-schema.js +0 -12
- package/dist/domain/schemas/article-schema.js.map +0 -1
- package/dist/domain/schemas/blocker-schema.d.ts +0 -77
- package/dist/domain/schemas/blocker-schema.d.ts.map +0 -1
- package/dist/domain/schemas/blocker-schema.js +0 -10
- package/dist/domain/schemas/blocker-schema.js.map +0 -1
- package/dist/domain/schemas/decision-schema.d.ts +0 -75
- package/dist/domain/schemas/decision-schema.d.ts.map +0 -1
- package/dist/domain/schemas/decision-schema.js +0 -8
- package/dist/domain/schemas/decision-schema.js.map +0 -1
- package/dist/domain/schemas/info-request-schema.d.ts +0 -80
- package/dist/domain/schemas/info-request-schema.d.ts.map +0 -1
- package/dist/domain/schemas/info-request-schema.js +0 -13
- package/dist/domain/schemas/info-request-schema.js.map +0 -1
- package/dist/domain/schemas/rule-schema.d.ts +0 -80
- package/dist/domain/schemas/rule-schema.d.ts.map +0 -1
- package/dist/domain/schemas/rule-schema.js +0 -10
- package/dist/domain/schemas/rule-schema.js.map +0 -1
- package/dist/domain/schemas/thread-schema.d.ts +0 -77
- package/dist/domain/schemas/thread-schema.d.ts.map +0 -1
- package/dist/domain/schemas/thread-schema.js +0 -10
- package/dist/domain/schemas/thread-schema.js.map +0 -1
- package/templates/base/playbooks/wolf-review-lenses.md +0 -50
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-unaggregated-lessons.js","sourceRoot":"","sources":["../../../src/app/use-cases/detect-unaggregated-lessons.ts"],"names":[],"mappings":"AAGA,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAEpC,qFAAqF;AACrF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,UAAU,CAAC;AAO9C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAmB,EAAE,SAAqB,EAAE,GAAS;IAC7F,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,KAAK,YAAY,CAAC;QAC/C,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC;QAClD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS;YAAE,SAAS;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;YAClE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzG,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,kBAAkB,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,eAAe,CAC3G,CAAC,MAAM,CAAC;IACT,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;AAC3C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-thread.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/diff-thread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,WAAW,CAAA;CAAE,EACrD,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"diff-thread.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/diff-thread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,WAAW,CAAA;CAAE,EACrD,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC,CAsDrB"}
|
|
@@ -2,7 +2,12 @@ export async function diffThread(deps, threadId, checkpointId) {
|
|
|
2
2
|
const checkpoint = await deps.store.get(checkpointId);
|
|
3
3
|
if (!checkpoint)
|
|
4
4
|
throw new Error(`Checkpoint not found: ${checkpointId}`);
|
|
5
|
-
|
|
5
|
+
// wave13-a: session-checkpoint → note+facet history (captured_state — passthrough)
|
|
6
|
+
const isCheckpoint = checkpoint.type === 'session-checkpoint' ||
|
|
7
|
+
(checkpoint.type === 'note' &&
|
|
8
|
+
(checkpoint.facet === 'history' ||
|
|
9
|
+
checkpoint.alias_origin === 'session-checkpoint'));
|
|
10
|
+
if (!isCheckpoint)
|
|
6
11
|
throw new Error(`Memory object is not a checkpoint: ${checkpointId}`);
|
|
7
12
|
const captured = checkpoint
|
|
8
13
|
.captured_state ?? {
|
|
@@ -13,12 +18,10 @@ export async function diffThread(deps, threadId, checkpointId) {
|
|
|
13
18
|
if (!thread)
|
|
14
19
|
throw new Error(`Thread not found: ${threadId}`);
|
|
15
20
|
const currentRelated = await deps.store.list();
|
|
21
|
+
// wave13-a: info-request/article/blocker/session-checkpoint → note; старые
|
|
22
|
+
// файлы читаются как note (alias) — фильтр по note+thread покрывает и их
|
|
16
23
|
const currentRelatedIds = currentRelated
|
|
17
|
-
.filter((obj) => (obj.type === '
|
|
18
|
-
(obj.type === 'article' && obj.thread === threadId) ||
|
|
19
|
-
(obj.type === 'decision' && obj.thread === threadId) ||
|
|
20
|
-
(obj.type === 'blocker' && obj.thread === threadId) ||
|
|
21
|
-
(obj.type === 'session-checkpoint' && obj.thread === threadId))
|
|
24
|
+
.filter((obj) => ((obj.type === 'note' || obj.type === 'decision') && obj.thread === threadId) || false)
|
|
22
25
|
.map((obj) => obj.id);
|
|
23
26
|
const before = new Set(captured.related_ids ?? []);
|
|
24
27
|
const after = new Set(currentRelatedIds);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-thread.js","sourceRoot":"","sources":["../../../src/app/use-cases/diff-thread.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAqD,EACrD,QAAgB,EAChB,YAAoB;IAEpB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;IAC1E,IAAI,UAAU,CAAC,IAAI,KAAK,oBAAoB;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"diff-thread.js","sourceRoot":"","sources":["../../../src/app/use-cases/diff-thread.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAqD,EACrD,QAAgB,EAChB,YAAoB;IAEpB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;IAC1E,mFAAmF;IACnF,MAAM,YAAY,GAChB,UAAU,CAAC,IAAI,KAAK,oBAAoB;QACxC,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM;YACzB,CAAE,UAAiC,CAAC,KAAK,KAAK,SAAS;gBACpD,UAAwC,CAAC,YAAY,KAAK,oBAAoB,CAAC,CAAC,CAAC;IACxF,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;IAEzF,MAAM,QAAQ,GAAI,UAA6F;SAC5G,cAAc,IAAI;QACnB,oBAAoB,EAAE,EAAE;QACxB,WAAW,EAAE,EAAE;KAChB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IAE9D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC/C,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,iBAAiB,GAAG,cAAc;SACrC,MAAM,CACL,CAAC,GAAG,EAAE,EAAE,CACN,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,IAAK,GAA2B,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,KAAK,CAClH;SACA,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3D,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1E,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,iBAAiB,EAAE,YAAY;QAC/B,YAAY,EAAE;YACZ,MAAM,EAAE,QAAQ,CAAC,oBAAoB,IAAI,EAAE;YAC3C,KAAK,EAAG,MAAqC,CAAC,aAAa,IAAI,EAAE;SAClE;QACD,KAAK;QACL,OAAO;QACP,SAAS,EAAE,aAAa;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ProjectsRegistry } from '../../adapters/fs/projects-registry.js';
|
|
2
2
|
import { PlatformAdapter } from '../../ports/platform-adapter.port.js';
|
|
3
|
-
export type DoctorStatus = 'ok' | 'outdated-binary' | 'outdated-project' | 'not-initialized' | 'missing';
|
|
3
|
+
export type DoctorStatus = 'ok' | 'outdated-binary' | 'outdated-project' | 'not-initialized' | 'missing' | 'sandbox';
|
|
4
4
|
export interface DoctorEntry {
|
|
5
5
|
path: string;
|
|
6
6
|
status: DoctorStatus;
|
|
7
7
|
schemaVersion: number | null;
|
|
8
|
-
/** Проблемы конфигов платформ (спека §3
|
|
8
|
+
/** Проблемы конфигов платформ (спека §3) и призрак-детекта (спека 2.14 §8.2). */
|
|
9
9
|
issues: string[];
|
|
10
10
|
}
|
|
11
11
|
export interface DoctorReport {
|
|
@@ -18,10 +18,18 @@ export interface DoctorDeps {
|
|
|
18
18
|
readSchema: (baseDir: string) => Promise<number | null>;
|
|
19
19
|
exists: (p: string) => Promise<boolean>;
|
|
20
20
|
adapters: PlatformAdapter[];
|
|
21
|
+
/** cwd для призрак-детекта (§8.2): незарегистрированный путь тоже проверяется. */
|
|
22
|
+
cwd?: string;
|
|
23
|
+
/** Классификация песочниц (§8.2): записи под os.tmpdir() — чистим тем же механизмом, что missing. */
|
|
24
|
+
isSandbox?: (p: string) => boolean;
|
|
25
|
+
/** Чтение файла для маркера onboarding; null — файла нет. */
|
|
26
|
+
readFile?: (p: string) => Promise<string | null>;
|
|
21
27
|
}
|
|
22
28
|
/**
|
|
23
29
|
* `wolf doctor` (спека §3): по реестру проектов — версия бинаря vs схема каждого проекта,
|
|
24
|
-
* валидность конфигов платформ (wolf-запись на месте?); мёртвые записи
|
|
30
|
+
* валидность конфигов платформ (wolf-запись на месте?); мёртвые записи чистятся;
|
|
31
|
+
* песочницы под os.tmpdir() — чистятся с пометкой sandbox (спека 2.14 §8.2);
|
|
32
|
+
* призрак-детект для cwd и каждого зарегистрированного пути.
|
|
25
33
|
*/
|
|
26
34
|
export declare function runDoctor(deps: DoctorDeps): Promise<DoctorReport>;
|
|
27
35
|
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/doctor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAErH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iFAAiF;IACjF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;IACpD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxD,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,kFAAkF;IAClF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qGAAqG;IACrG,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAClD;AAiCD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CA6CvE"}
|
|
@@ -1,31 +1,61 @@
|
|
|
1
|
+
import { join } from 'path';
|
|
1
2
|
import { CURRENT_SCHEMA_VERSION } from '../../adapters/fs/schema-version.js';
|
|
3
|
+
/** Маркер onboarding-блока, который wolf init/sync штампует в AGENTS.md/CLAUDE.md. */
|
|
4
|
+
const ONBOARDING_MARKER = '<!-- wolf:onboarding';
|
|
5
|
+
function classify(v) {
|
|
6
|
+
if (v === null)
|
|
7
|
+
return { status: 'not-initialized', schemaVersion: null };
|
|
8
|
+
return {
|
|
9
|
+
status: v > CURRENT_SCHEMA_VERSION ? 'outdated-binary' : v < CURRENT_SCHEMA_VERSION ? 'outdated-project' : 'ok',
|
|
10
|
+
schemaVersion: v,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Призрак-детект (§8.2): маркер onboarding в AGENTS.md/CLAUDE.md против наличия
|
|
15
|
+
* `.wolf/memory/`. Продолжение существующих issues-строк, нового статуса нет.
|
|
16
|
+
*/
|
|
17
|
+
async function ghostIssues(deps, path) {
|
|
18
|
+
const exists = deps.exists;
|
|
19
|
+
const readFile = deps.readFile ??
|
|
20
|
+
(async () => {
|
|
21
|
+
return null;
|
|
22
|
+
});
|
|
23
|
+
const memory = await exists(join(path, '.wolf', 'memory'));
|
|
24
|
+
const agentsMd = await readFile(join(path, 'AGENTS.md'));
|
|
25
|
+
const claudeMd = await readFile(join(path, 'CLAUDE.md'));
|
|
26
|
+
const marker = (agentsMd ?? '').includes(ONBOARDING_MARKER) || (claudeMd ?? '').includes(ONBOARDING_MARKER);
|
|
27
|
+
if (marker && !memory)
|
|
28
|
+
return ['инструктирует wolf, памяти нет — wolf init'];
|
|
29
|
+
if (memory && !marker)
|
|
30
|
+
return ['память есть, агент не подключён — wolf sync'];
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
2
33
|
/**
|
|
3
34
|
* `wolf doctor` (спека §3): по реестру проектов — версия бинаря vs схема каждого проекта,
|
|
4
|
-
* валидность конфигов платформ (wolf-запись на месте?); мёртвые записи
|
|
35
|
+
* валидность конфигов платформ (wolf-запись на месте?); мёртвые записи чистятся;
|
|
36
|
+
* песочницы под os.tmpdir() — чистятся с пометкой sandbox (спека 2.14 §8.2);
|
|
37
|
+
* призрак-детект для cwd и каждого зарегистрированного пути.
|
|
5
38
|
*/
|
|
6
39
|
export async function runDoctor(deps) {
|
|
40
|
+
const isSandbox = deps.isSandbox ?? (() => false);
|
|
7
41
|
const entries = [];
|
|
8
42
|
const pruned = [];
|
|
9
43
|
for (const proj of await deps.registry.list()) {
|
|
44
|
+
if (isSandbox(proj.path)) {
|
|
45
|
+
await deps.registry.remove(proj.path);
|
|
46
|
+
pruned.push(proj.path);
|
|
47
|
+
entries.push({ path: proj.path, status: 'sandbox', schemaVersion: null, issues: [] });
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
10
50
|
if (!(await deps.exists(proj.path))) {
|
|
11
51
|
await deps.registry.remove(proj.path);
|
|
12
52
|
pruned.push(proj.path);
|
|
13
53
|
entries.push({ path: proj.path, status: 'missing', schemaVersion: null, issues: [] });
|
|
14
54
|
continue;
|
|
15
55
|
}
|
|
16
|
-
const
|
|
56
|
+
const { status, schemaVersion } = classify(await deps.readSchema(proj.path));
|
|
17
57
|
// семантика как в guard (schema-guard.ts): null = проект НЕ инициализирован —
|
|
18
58
|
// ленивой миграции не будет, нужна команда init; легаси-версия (1) = миграция
|
|
19
|
-
let status;
|
|
20
|
-
let schemaVersion;
|
|
21
|
-
if (v === null) {
|
|
22
|
-
status = 'not-initialized';
|
|
23
|
-
schemaVersion = null;
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
schemaVersion = v;
|
|
27
|
-
status = v > CURRENT_SCHEMA_VERSION ? 'outdated-binary' : v < CURRENT_SCHEMA_VERSION ? 'outdated-project' : 'ok';
|
|
28
|
-
}
|
|
29
59
|
const issues = [];
|
|
30
60
|
if (status === 'ok') {
|
|
31
61
|
for (const adapter of deps.adapters) {
|
|
@@ -38,8 +68,19 @@ export async function runDoctor(deps) {
|
|
|
38
68
|
}
|
|
39
69
|
}
|
|
40
70
|
}
|
|
71
|
+
issues.push(...(await ghostIssues(deps, proj.path)));
|
|
41
72
|
entries.push({ path: proj.path, status, schemaVersion, issues });
|
|
42
73
|
}
|
|
74
|
+
// призрак-детект cwd (§8.2): незарегистрированный cwd проверяется тоже; запись
|
|
75
|
+
// добавляем только при наличии issue — чистый cwd не шумит в отчёте
|
|
76
|
+
const cwd = deps.cwd;
|
|
77
|
+
if (cwd && !entries.some((e) => e.path === cwd) && (await deps.exists(cwd))) {
|
|
78
|
+
const issues = await ghostIssues(deps, cwd);
|
|
79
|
+
if (issues.length > 0) {
|
|
80
|
+
const { status, schemaVersion } = classify(await deps.readSchema(cwd));
|
|
81
|
+
entries.push({ path: cwd, status, schemaVersion, issues });
|
|
82
|
+
}
|
|
83
|
+
}
|
|
43
84
|
return { binarySchemaVersion: CURRENT_SCHEMA_VERSION, entries, pruned };
|
|
44
85
|
}
|
|
45
86
|
//# sourceMappingURL=doctor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/app/use-cases/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/app/use-cases/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-agent-brief.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/generate-agent-brief.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAI9E,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,EAC1D,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,wBAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"generate-agent-brief.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/generate-agent-brief.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAI9E,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,EAC1D,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,wBAAwB,CAAC,CA6CnC"}
|
|
@@ -5,20 +5,30 @@ export async function generateAgentBrief(deps, root, snapshot) {
|
|
|
5
5
|
// обходит все файлы, type-фильтры не сокращают IO; три фильтрованных вызова
|
|
6
6
|
// дали бы три полных прохода. С parse-кэшем стора это одна walk+stat-проходка.
|
|
7
7
|
const memoryObjects = await deps.store.list();
|
|
8
|
+
// wave13-a §5.4: context/open-question/blocker поглощены note+фасетами —
|
|
9
|
+
// заметки этих фасетов исключены из Active Memory (дублируют секции ниже);
|
|
10
|
+
// старые файлы читаются как note с инжектнутым фасетом (alias-резолвер)
|
|
11
|
+
const isNote = (obj, facet) => obj.type === 'note' && obj.facet === facet;
|
|
8
12
|
const acceptedMemory = memoryObjects
|
|
9
|
-
.filter((obj) => obj.review_state === 'accepted' &&
|
|
10
|
-
obj.status === 'active' &&
|
|
11
|
-
obj.type !== 'context' &&
|
|
12
|
-
obj.type !== 'open-question' &&
|
|
13
|
-
obj.type !== 'blocker')
|
|
13
|
+
.filter((obj) => obj.review_state === 'accepted' && obj.status === 'active' && !isNote(obj, 'context') && !isNote(obj, 'pitfall'))
|
|
14
14
|
.sort((a, b) => b.updated_at.localeCompare(a.updated_at))
|
|
15
15
|
.slice(0, 10);
|
|
16
|
-
//
|
|
16
|
+
// Вопросы: note+context без question-поля (статус open; active — legacy alias;
|
|
17
|
+
// скан-объекты отсекаются по source.kind=scan) — та же семантика, что в recap
|
|
17
18
|
const openQuestions = memoryObjects
|
|
18
|
-
.filter((obj) =>
|
|
19
|
+
.filter((obj) => {
|
|
20
|
+
if (!isNote(obj, 'context') && obj.alias_origin !== 'open-question')
|
|
21
|
+
return false;
|
|
22
|
+
if (obj.source?.kind === 'scan')
|
|
23
|
+
return false;
|
|
24
|
+
if (typeof obj.question === 'string')
|
|
25
|
+
return false;
|
|
26
|
+
return (obj.status === 'open' ||
|
|
27
|
+
(obj.status === 'active' && obj.alias_origin === 'open-question'));
|
|
28
|
+
})
|
|
19
29
|
.sort((a, b) => b.updated_at.localeCompare(a.updated_at));
|
|
20
30
|
const blockers = memoryObjects
|
|
21
|
-
.filter((obj) => obj
|
|
31
|
+
.filter((obj) => isNote(obj, 'pitfall') && obj.status === 'active')
|
|
22
32
|
.sort((a, b) => b.updated_at.localeCompare(a.updated_at));
|
|
23
33
|
const description = await buildProjectDescription(deps.fs, root, snapshot);
|
|
24
34
|
const content = renderBrief(deps.clock, snapshot, description, acceptedMemory, openQuestions, blockers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-agent-brief.js","sourceRoot":"","sources":["../../../src/app/use-cases/generate-agent-brief.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAM5B,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAS/D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAA0D,EAC1D,IAAY,EACZ,QAAyB;IAEzB,4EAA4E;IAC5E,4EAA4E;IAC5E,+EAA+E;IAC/E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAE9C,MAAM,cAAc,GAAG,aAAa;SACjC,MAAM,CACL,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,YAAY,KAAK,UAAU
|
|
1
|
+
{"version":3,"file":"generate-agent-brief.js","sourceRoot":"","sources":["../../../src/app/use-cases/generate-agent-brief.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MemoryStore } from '../../ports/memory-store.port.js';
|
|
2
|
+
import { RelationLog } from '../../ports/relation-log.port.js';
|
|
2
3
|
import { MemoryObject } from '../../domain/schemas/memory-object-schema.js';
|
|
3
4
|
import type { RouterLogRow } from '../../domain/router-log.js';
|
|
4
5
|
/** Сигнал «онбординг не завершён» (спека onboarding-pipeline-v2 §3, D6/D8). */
|
|
@@ -28,10 +29,19 @@ export interface RecapReport {
|
|
|
28
29
|
recentDecisions: MemoryObject[];
|
|
29
30
|
onboarding: OnboardingSignal | null;
|
|
30
31
|
delivery: RecapDelivery | null;
|
|
32
|
+
/** 2.14 §6.3: resolved-жалобы без ребра исхода; null = relations не передан (секция опускается). */
|
|
33
|
+
complaintsWithoutOutcome: number | null;
|
|
34
|
+
/** 2.14 §7.2/§7.4: агрегация уроков; null = relations не передан (секция опускается). */
|
|
35
|
+
stewardAggregation: {
|
|
36
|
+
unaggregatedTotal: number;
|
|
37
|
+
unaggregatedMature: number;
|
|
38
|
+
proposedAggregates: number;
|
|
39
|
+
} | null;
|
|
31
40
|
}
|
|
32
41
|
export declare function generateRecap(deps: {
|
|
33
42
|
store: MemoryStore;
|
|
34
43
|
routerLogRows?: RouterLogRow[];
|
|
44
|
+
relations?: RelationLog;
|
|
35
45
|
}): Promise<RecapReport>;
|
|
36
46
|
export declare function renderRecap(report: RecapReport): string;
|
|
37
47
|
//# sourceMappingURL=generate-recap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-recap.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/generate-recap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-recap.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/generate-recap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI/D,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAK9F,uGAAuG;AACvG,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,iBAAiB,EAAE,YAAY,EAAE,CAAC;IAClC,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACjC,eAAe,EAAE,YAAY,EAAE,CAAC;IAChC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,oGAAoG;IACpG,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,yFAAyF;IACzF,kBAAkB,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAClH;AAqED,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,KAAK,EAAE,WAAW,CAAC;IACnB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,WAAW,CAAC;CACzB,GAAG,OAAO,CAAC,WAAW,CAAC,CAoDvB;AA6BD,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA8CvD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BOOTSTRAP_THREAD_TITLE } from './bootstrap-project.js';
|
|
2
|
+
import { detectUnaggregatedLessons } from './detect-unaggregated-lessons.js';
|
|
2
3
|
/** P110: окно панели доставки в recap — 7 дней от «сейчас». */
|
|
3
4
|
const DELIVERY_WINDOW_MS = 7 * 86_400_000;
|
|
4
5
|
/**
|
|
@@ -9,11 +10,13 @@ const DELIVERY_WINDOW_MS = 7 * 86_400_000;
|
|
|
9
10
|
* 3. иначе (нет ни того ни другого; thread completed/archived/paused) — null.
|
|
10
11
|
*/
|
|
11
12
|
function detectOnboarding(all) {
|
|
12
|
-
|
|
13
|
+
// wave13-a: work-thread → thread (alias-чтение отдаёт старые как thread);
|
|
14
|
+
// report → note+facet history
|
|
15
|
+
const thread = all.find((o) => o.type === 'thread' && o.title === BOOTSTRAP_THREAD_TITLE);
|
|
13
16
|
if (thread) {
|
|
14
17
|
return thread.status === 'active' ? { kind: 'continue', threadId: thread.id } : null;
|
|
15
18
|
}
|
|
16
|
-
const hasInitReport = all.some((o) => o.type === '
|
|
19
|
+
const hasInitReport = all.some((o) => o.type === 'note' && o.status === 'active' && o.tags.includes('wolf-init') && o.tags.includes('onboarding-v2'));
|
|
17
20
|
return hasInitReport ? { kind: 'bootstrap' } : null;
|
|
18
21
|
}
|
|
19
22
|
/** P110: доставки за 7 дней по router.log; NaN-ts — пропуск (fail-safe), пустое окно → null. */
|
|
@@ -41,23 +44,75 @@ function buildDeliveryStats(rows, nowMs) {
|
|
|
41
44
|
.slice(0, 3),
|
|
42
45
|
};
|
|
43
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* 2.14 §6.3: счётчик «жалоб без исхода» — resolved-объекты типа complaint,
|
|
49
|
+
* у которых нет ребра исхода. Множество «имеющих исход» собирается по ОБЕИМ
|
|
50
|
+
* сторонам пары: outcome → subject, outcome_of → object (removed-строки уже
|
|
51
|
+
* отфильтрованы адаптером). 2.14 §7.2: rows читаются один раз на отчёт и
|
|
52
|
+
* передаются сюда готовыми — IO не дублируется.
|
|
53
|
+
*/
|
|
54
|
+
function countComplaintsWithoutOutcome(rows, all) {
|
|
55
|
+
if (rows === undefined)
|
|
56
|
+
return null;
|
|
57
|
+
const withOutcome = new Set();
|
|
58
|
+
for (const r of rows) {
|
|
59
|
+
if (r.predicate === 'outcome')
|
|
60
|
+
withOutcome.add(r.subject);
|
|
61
|
+
else if (r.predicate === 'outcome_of')
|
|
62
|
+
withOutcome.add(r.object);
|
|
63
|
+
}
|
|
64
|
+
return all.filter((o) => o.type === 'complaint' && o.status === 'resolved' && !withOutcome.has(o.id)).length;
|
|
65
|
+
}
|
|
66
|
+
/** 2.14 §7.4: proposed-агрегаты — lesson в proposed с ≥1 живым ребром aggregates от себя. */
|
|
67
|
+
function countProposedAggregates(all, rows) {
|
|
68
|
+
const proposers = new Set(rows.filter((r) => r.predicate === 'aggregates').map((r) => r.subject));
|
|
69
|
+
return all.filter((o) => o.type === 'lesson' && o.status === 'proposed' && proposers.has(o.id)).length;
|
|
70
|
+
}
|
|
44
71
|
export async function generateRecap(deps) {
|
|
45
72
|
// ponytail: store.list() — полный reparse всех md (V6); ровно один вызов на отчёт (D1)
|
|
46
73
|
const all = await deps.store.list();
|
|
47
|
-
//
|
|
48
|
-
|
|
74
|
+
// 2.14 §7.2: одно чтение relations на отчёт — rows кормят и контур поправок
|
|
75
|
+
// (§6.3), и стюард-агрегацию; relations не передан → обе секции опускаются
|
|
76
|
+
const relationRows = deps.relations ? await deps.relations.list() : undefined;
|
|
77
|
+
let stewardAggregation = null;
|
|
78
|
+
if (relationRows !== undefined) {
|
|
79
|
+
const detect = detectUnaggregatedLessons(all, relationRows, new Date(Date.now()));
|
|
80
|
+
stewardAggregation = {
|
|
81
|
+
unaggregatedTotal: detect.total,
|
|
82
|
+
unaggregatedMature: detect.mature,
|
|
83
|
+
proposedAggregates: countProposedAggregates(all, relationRows),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
// wave13-a §5.4: open-question/info-request/blocker поглощены note+фасетами.
|
|
87
|
+
// Вопросы: note+context БЕЗ поля question (статус open; active — только legacy
|
|
88
|
+
// с alias_origin 'open-question'; скан-объекты отсекаются по source.kind=scan).
|
|
89
|
+
// Info-запросы (старые и новые): note с полем question в статусе open.
|
|
90
|
+
// Блокеры: note+pitfall в active. Треды: type thread (alias-чтение старых).
|
|
91
|
+
const isNote = (o, facet) => o.type === 'note' && o.facet === facet;
|
|
92
|
+
const openQuestions = all.filter((obj) => {
|
|
93
|
+
if (!isNote(obj, 'context') && obj.alias_origin !== 'open-question')
|
|
94
|
+
return false;
|
|
95
|
+
if (obj.source?.kind === 'scan')
|
|
96
|
+
return false;
|
|
97
|
+
if (typeof obj.question === 'string')
|
|
98
|
+
return false;
|
|
99
|
+
return (obj.status === 'open' ||
|
|
100
|
+
(obj.status === 'active' && obj.alias_origin === 'open-question'));
|
|
101
|
+
});
|
|
49
102
|
return {
|
|
50
103
|
activeRules: all.filter((obj) => obj.type === 'rule' && (obj.status === 'active' || obj.status === 'accepted')),
|
|
51
|
-
activeWorkThreads: all.filter((obj) => obj.type === '
|
|
52
|
-
openBlockers: all.filter((obj) => obj
|
|
104
|
+
activeWorkThreads: all.filter((obj) => obj.type === 'thread' && obj.status === 'active'),
|
|
105
|
+
openBlockers: all.filter((obj) => isNote(obj, 'pitfall') && obj.status === 'active'),
|
|
53
106
|
openQuestions,
|
|
54
|
-
openInfoRequests: all.filter((obj) => obj.type === '
|
|
107
|
+
openInfoRequests: all.filter((obj) => obj.type === 'note' && typeof obj.question === 'string' && obj.status === 'open'),
|
|
55
108
|
recentDecisions: all
|
|
56
109
|
.filter((obj) => obj.type === 'decision' && obj.status === 'active')
|
|
57
110
|
.sort((a, b) => b.updated_at.localeCompare(a.updated_at))
|
|
58
111
|
.slice(0, 5),
|
|
59
112
|
onboarding: detectOnboarding(all),
|
|
60
113
|
delivery: buildDeliveryStats(deps.routerLogRows, Date.now()),
|
|
114
|
+
complaintsWithoutOutcome: countComplaintsWithoutOutcome(relationRows, all),
|
|
115
|
+
stewardAggregation,
|
|
61
116
|
};
|
|
62
117
|
}
|
|
63
118
|
function section(lines, title, items) {
|
|
@@ -103,6 +158,25 @@ export function renderRecap(report) {
|
|
|
103
158
|
section(lines, 'Open blockers', report.openBlockers.map(fmtObj));
|
|
104
159
|
section(lines, 'Open questions', report.openQuestions.map(fmtObj));
|
|
105
160
|
section(lines, 'Open info requests', report.openInfoRequests.map(fmtObj));
|
|
161
|
+
// 2.14 §6.3: контур поправок — после Open info requests, до Recent decisions
|
|
162
|
+
if (report.complaintsWithoutOutcome !== null) {
|
|
163
|
+
section(lines, 'Контур поправок', [`жалоб без исхода: ${report.complaintsWithoutOutcome}`]);
|
|
164
|
+
}
|
|
165
|
+
// 2.14 §7.4: стюард-агрегация — после контура поправок, до Recent decisions;
|
|
166
|
+
// строки — контракт для рамок (§7.1), дословно; пусто → секция целиком опускается
|
|
167
|
+
if (report.stewardAggregation !== null) {
|
|
168
|
+
const s = report.stewardAggregation;
|
|
169
|
+
const items = [];
|
|
170
|
+
if (s.unaggregatedMature >= 1) {
|
|
171
|
+
items.push(`неагрегированных уроков: ${s.unaggregatedTotal} (зрелых: ${s.unaggregatedMature}) — ` +
|
|
172
|
+
'вызовите Стюарда: opencode run --agent steward');
|
|
173
|
+
}
|
|
174
|
+
if (s.proposedAggregates >= 1) {
|
|
175
|
+
items.push(`предложенных агрегатов: ${s.proposedAggregates} — wolf aggregate apply <id> для подтверждения`);
|
|
176
|
+
}
|
|
177
|
+
if (items.length > 0)
|
|
178
|
+
section(lines, 'Стюард: агрегация', items);
|
|
179
|
+
}
|
|
106
180
|
section(lines, 'Recent decisions', report.recentDecisions.map(fmtObj));
|
|
107
181
|
return lines.join('\n');
|
|
108
182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-recap.js","sourceRoot":"","sources":["../../../src/app/use-cases/generate-recap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-recap.js","sourceRoot":"","sources":["../../../src/app/use-cases/generate-recap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MemoryStore } from '../../ports/memory-store.port.js';
|
|
2
2
|
import { SearchIndex } from '../../ports/search-index.port.js';
|
|
3
3
|
import { Clock } from '../../ports/clock.port.js';
|
|
4
|
+
import { RelationLog } from '../../ports/relation-log.port.js';
|
|
4
5
|
export interface CallInjectionResult {
|
|
5
6
|
blocks: string[];
|
|
6
7
|
truncated: number;
|
|
@@ -9,11 +10,16 @@ export interface CallInjectionResult {
|
|
|
9
10
|
/** P108 (4.C): сколько объектов отфильтровано сессионной дедупликацией
|
|
10
11
|
* (id уже в реестре сессии с той же checksum блока). */
|
|
11
12
|
deduplicated: number;
|
|
13
|
+
/** 2.14 §7.1 (триггер 2): строка «зрелые неагрегированные уроки — вызвать
|
|
14
|
+
* Стюарда»; null = relations не передан (MCP-канал) или зрелых нет. В blocks
|
|
15
|
+
* не входит — не занимает бюджет доставки. */
|
|
16
|
+
banner: string | null;
|
|
12
17
|
}
|
|
13
18
|
export declare function getCallInjections(deps: {
|
|
14
19
|
store: MemoryStore;
|
|
15
20
|
index?: SearchIndex;
|
|
16
21
|
clock: Clock;
|
|
22
|
+
relations?: RelationLog;
|
|
17
23
|
}, input: {
|
|
18
24
|
topic?: string;
|
|
19
25
|
thread?: boolean | string;
|
|
@@ -21,5 +27,7 @@ export declare function getCallInjections(deps: {
|
|
|
21
27
|
/** P108 (4.C): мапа id→checksum уже доставленных в сессию блоков (готовит
|
|
22
28
|
* memory-call из loadSessionRegistry). Не передана (MCP-канал) — фильтр выключен. */
|
|
23
29
|
deliveredRegistry?: Record<string, string>;
|
|
30
|
+
/** P212 (2.13 §5.3в): подсветка фасета (CLI-TTY); false/undefined → плоский текст. */
|
|
31
|
+
colors?: boolean;
|
|
24
32
|
}): Promise<CallInjectionResult>;
|
|
25
33
|
//# sourceMappingURL=get-call-injections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-call-injections.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/get-call-injections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"get-call-injections.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/get-call-injections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAQ/D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;4DACwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB;;kDAE8C;IAC9C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAcD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,SAAS,CAAC,EAAE,WAAW,CAAA;CAAE,EACxF,KAAK,EAAE;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;yFACqF;IACrF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,sFAAsF;IACtF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,OAAO,CAAC,mBAAmB,CAAC,CA2J9B"}
|