specweave 0.28.68 → 0.29.1
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/CLAUDE.md +3 -2
- package/README.md +19 -2
- package/dist/src/cli/commands/discrepancies.d.ts +89 -0
- package/dist/src/cli/commands/discrepancies.d.ts.map +1 -0
- package/dist/src/cli/commands/discrepancies.js +385 -0
- package/dist/src/cli/commands/discrepancies.js.map +1 -0
- package/dist/src/cli/commands/notifications.d.ts +70 -0
- package/dist/src/cli/commands/notifications.d.ts.map +1 -0
- package/dist/src/cli/commands/notifications.js +236 -0
- package/dist/src/cli/commands/notifications.js.map +1 -0
- package/dist/src/cli/commands/sync-logs.d.ts +54 -0
- package/dist/src/cli/commands/sync-logs.d.ts.map +1 -0
- package/dist/src/cli/commands/sync-logs.js +240 -0
- package/dist/src/cli/commands/sync-logs.js.map +1 -0
- package/dist/src/cli/commands/sync-monitor.d.ts +42 -0
- package/dist/src/cli/commands/sync-monitor.d.ts.map +1 -0
- package/dist/src/cli/commands/sync-monitor.js +191 -0
- package/dist/src/cli/commands/sync-monitor.js.map +1 -0
- package/dist/src/cli/helpers/init/brownfield-analysis.d.ts +45 -0
- package/dist/src/cli/helpers/init/brownfield-analysis.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/brownfield-analysis.js +431 -0
- package/dist/src/cli/helpers/init/brownfield-analysis.js.map +1 -0
- package/dist/src/cli/helpers/init/index.d.ts +1 -0
- package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/index.js +2 -0
- package/dist/src/cli/helpers/init/index.js.map +1 -1
- package/dist/src/cli/workers/brownfield-worker.d.ts +66 -0
- package/dist/src/cli/workers/brownfield-worker.d.ts.map +1 -0
- package/dist/src/cli/workers/brownfield-worker.js +417 -0
- package/dist/src/cli/workers/brownfield-worker.js.map +1 -0
- package/dist/src/core/background/brownfield-launcher.d.ts +86 -0
- package/dist/src/core/background/brownfield-launcher.d.ts.map +1 -0
- package/dist/src/core/background/brownfield-launcher.js +295 -0
- package/dist/src/core/background/brownfield-launcher.js.map +1 -0
- package/dist/src/core/background/index.d.ts +2 -0
- package/dist/src/core/background/index.d.ts.map +1 -1
- package/dist/src/core/background/index.js +2 -0
- package/dist/src/core/background/index.js.map +1 -1
- package/dist/src/core/background/types.d.ts +23 -2
- package/dist/src/core/background/types.d.ts.map +1 -1
- package/dist/src/core/config/index.d.ts +1 -0
- package/dist/src/core/config/index.d.ts.map +1 -1
- package/dist/src/core/config/index.js +1 -0
- package/dist/src/core/config/index.js.map +1 -1
- package/dist/src/core/config/types.d.ts +6 -0
- package/dist/src/core/config/types.d.ts.map +1 -1
- package/dist/src/core/config/types.js.map +1 -1
- package/dist/src/core/dashboard/dashboard-data.d.ts +156 -0
- package/dist/src/core/dashboard/dashboard-data.d.ts.map +1 -0
- package/dist/src/core/dashboard/dashboard-data.js +191 -0
- package/dist/src/core/dashboard/dashboard-data.js.map +1 -0
- package/dist/src/core/dashboard/index.d.ts +9 -0
- package/dist/src/core/dashboard/index.d.ts.map +1 -0
- package/dist/src/core/dashboard/index.js +9 -0
- package/dist/src/core/dashboard/index.js.map +1 -0
- package/dist/src/core/discrepancy/analyzers/api-route-analyzer.d.ts +77 -0
- package/dist/src/core/discrepancy/analyzers/api-route-analyzer.d.ts.map +1 -0
- package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js +286 -0
- package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js.map +1 -0
- package/dist/src/core/discrepancy/analyzers/index.d.ts +8 -0
- package/dist/src/core/discrepancy/analyzers/index.d.ts.map +1 -0
- package/dist/src/core/discrepancy/analyzers/index.js +8 -0
- package/dist/src/core/discrepancy/analyzers/index.js.map +1 -0
- package/dist/src/core/discrepancy/analyzers/typescript-analyzer.d.ts +96 -0
- package/dist/src/core/discrepancy/analyzers/typescript-analyzer.d.ts.map +1 -0
- package/dist/src/core/discrepancy/analyzers/typescript-analyzer.js +247 -0
- package/dist/src/core/discrepancy/analyzers/typescript-analyzer.js.map +1 -0
- package/dist/src/core/discrepancy/brownfield-manager.d.ts +88 -0
- package/dist/src/core/discrepancy/brownfield-manager.d.ts.map +1 -0
- package/dist/src/core/discrepancy/brownfield-manager.js +520 -0
- package/dist/src/core/discrepancy/brownfield-manager.js.map +1 -0
- package/dist/src/core/discrepancy/brownfield-types.d.ts +174 -0
- package/dist/src/core/discrepancy/brownfield-types.d.ts.map +1 -0
- package/dist/src/core/discrepancy/brownfield-types.js +11 -0
- package/dist/src/core/discrepancy/brownfield-types.js.map +1 -0
- package/dist/src/core/discrepancy/detector.d.ts +92 -0
- package/dist/src/core/discrepancy/detector.d.ts.map +1 -0
- package/dist/src/core/discrepancy/detector.js +346 -0
- package/dist/src/core/discrepancy/detector.js.map +1 -0
- package/dist/src/core/discrepancy/increment-generator.d.ts +51 -0
- package/dist/src/core/discrepancy/increment-generator.d.ts.map +1 -0
- package/dist/src/core/discrepancy/increment-generator.js +234 -0
- package/dist/src/core/discrepancy/increment-generator.js.map +1 -0
- package/dist/src/core/discrepancy/index.d.ts +18 -0
- package/dist/src/core/discrepancy/index.d.ts.map +1 -0
- package/dist/src/core/discrepancy/index.js +24 -0
- package/dist/src/core/discrepancy/index.js.map +1 -0
- package/dist/src/core/discrepancy/severity-classifier.d.ts +81 -0
- package/dist/src/core/discrepancy/severity-classifier.d.ts.map +1 -0
- package/dist/src/core/discrepancy/severity-classifier.js +289 -0
- package/dist/src/core/discrepancy/severity-classifier.js.map +1 -0
- package/dist/src/core/discrepancy/spec-parser.d.ts +74 -0
- package/dist/src/core/discrepancy/spec-parser.d.ts.map +1 -0
- package/dist/src/core/discrepancy/spec-parser.js +213 -0
- package/dist/src/core/discrepancy/spec-parser.js.map +1 -0
- package/dist/src/core/discrepancy/update-recommender.d.ts +77 -0
- package/dist/src/core/discrepancy/update-recommender.d.ts.map +1 -0
- package/dist/src/core/discrepancy/update-recommender.js +323 -0
- package/dist/src/core/discrepancy/update-recommender.js.map +1 -0
- package/dist/src/core/living-docs/living-docs-sync.d.ts +13 -16
- package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.js +31 -112
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
- package/dist/src/core/logs/index.d.ts +10 -0
- package/dist/src/core/logs/index.d.ts.map +1 -0
- package/dist/src/core/logs/index.js +10 -0
- package/dist/src/core/logs/index.js.map +1 -0
- package/dist/src/core/logs/log-aggregator.d.ts +130 -0
- package/dist/src/core/logs/log-aggregator.d.ts.map +1 -0
- package/dist/src/core/logs/log-aggregator.js +206 -0
- package/dist/src/core/logs/log-aggregator.js.map +1 -0
- package/dist/src/core/logs/log-exporter.d.ts +81 -0
- package/dist/src/core/logs/log-exporter.d.ts.map +1 -0
- package/dist/src/core/logs/log-exporter.js +141 -0
- package/dist/src/core/logs/log-exporter.js.map +1 -0
- package/dist/src/core/notifications/command-integration.d.ts +82 -0
- package/dist/src/core/notifications/command-integration.d.ts.map +1 -0
- package/dist/src/core/notifications/command-integration.js +80 -0
- package/dist/src/core/notifications/command-integration.js.map +1 -0
- package/dist/src/core/notifications/index.d.ts +12 -0
- package/dist/src/core/notifications/index.d.ts.map +1 -0
- package/dist/src/core/notifications/index.js +12 -0
- package/dist/src/core/notifications/index.js.map +1 -0
- package/dist/src/core/notifications/notification-display.d.ts +70 -0
- package/dist/src/core/notifications/notification-display.d.ts.map +1 -0
- package/dist/src/core/notifications/notification-display.js +177 -0
- package/dist/src/core/notifications/notification-display.js.map +1 -0
- package/dist/src/core/notifications/notification-manager.d.ts +126 -0
- package/dist/src/core/notifications/notification-manager.d.ts.map +1 -0
- package/dist/src/core/notifications/notification-manager.js +287 -0
- package/dist/src/core/notifications/notification-manager.js.map +1 -0
- package/dist/src/core/notifications/notification-types.d.ts +159 -0
- package/dist/src/core/notifications/notification-types.d.ts.map +1 -0
- package/dist/src/core/notifications/notification-types.js +93 -0
- package/dist/src/core/notifications/notification-types.js.map +1 -0
- package/dist/src/core/scheduler/index.d.ts +11 -0
- package/dist/src/core/scheduler/index.d.ts.map +1 -0
- package/dist/src/core/scheduler/index.js +11 -0
- package/dist/src/core/scheduler/index.js.map +1 -0
- package/dist/src/core/scheduler/job-scheduler.d.ts +179 -0
- package/dist/src/core/scheduler/job-scheduler.d.ts.map +1 -0
- package/dist/src/core/scheduler/job-scheduler.js +282 -0
- package/dist/src/core/scheduler/job-scheduler.js.map +1 -0
- package/dist/src/core/scheduler/schedule-persistence.d.ts +83 -0
- package/dist/src/core/scheduler/schedule-persistence.d.ts.map +1 -0
- package/dist/src/core/scheduler/schedule-persistence.js +180 -0
- package/dist/src/core/scheduler/schedule-persistence.js.map +1 -0
- package/dist/src/core/scheduler/scheduled-job.d.ts +188 -0
- package/dist/src/core/scheduler/scheduled-job.d.ts.map +1 -0
- package/dist/src/core/scheduler/scheduled-job.js +182 -0
- package/dist/src/core/scheduler/scheduled-job.js.map +1 -0
- package/dist/src/core/sync/permission-enforcer.d.ts +206 -0
- package/dist/src/core/sync/permission-enforcer.d.ts.map +1 -0
- package/dist/src/core/sync/permission-enforcer.js +268 -0
- package/dist/src/core/sync/permission-enforcer.js.map +1 -0
- package/dist/src/core/sync/sync-audit-logger.d.ts +217 -0
- package/dist/src/core/sync/sync-audit-logger.d.ts.map +1 -0
- package/dist/src/core/sync/sync-audit-logger.js +327 -0
- package/dist/src/core/sync/sync-audit-logger.js.map +1 -0
- package/dist/src/core/sync/sync-interceptor.d.ts +190 -0
- package/dist/src/core/sync/sync-interceptor.d.ts.map +1 -0
- package/dist/src/core/sync/sync-interceptor.js +224 -0
- package/dist/src/core/sync/sync-interceptor.js.map +1 -0
- package/dist/src/core/types/increment-metadata.d.ts +5 -2
- package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
- package/dist/src/core/types/sync-config.d.ts +267 -0
- package/dist/src/core/types/sync-config.d.ts.map +1 -0
- package/dist/src/core/types/sync-config.js +304 -0
- package/dist/src/core/types/sync-config.js.map +1 -0
- package/dist/src/hooks/index.d.ts +11 -0
- package/dist/src/hooks/index.d.ts.map +1 -0
- package/dist/src/hooks/index.js +11 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/hooks/platform.d.ts +125 -0
- package/dist/src/hooks/platform.d.ts.map +1 -0
- package/dist/src/hooks/platform.js +325 -0
- package/dist/src/hooks/platform.js.map +1 -0
- package/dist/src/hooks/processor.d.ts +20 -0
- package/dist/src/hooks/processor.d.ts.map +1 -0
- package/dist/src/hooks/processor.js +317 -0
- package/dist/src/hooks/processor.js.map +1 -0
- package/dist/src/hooks/scheduler-startup.d.ts +19 -0
- package/dist/src/hooks/scheduler-startup.d.ts.map +1 -0
- package/dist/src/hooks/scheduler-startup.js +92 -0
- package/dist/src/hooks/scheduler-startup.js.map +1 -0
- package/dist/src/hooks/session-start.d.ts +16 -0
- package/dist/src/hooks/session-start.d.ts.map +1 -0
- package/dist/src/hooks/session-start.js +92 -0
- package/dist/src/hooks/session-start.js.map +1 -0
- package/dist/src/importers/duplicate-detector.d.ts +13 -2
- package/dist/src/importers/duplicate-detector.d.ts.map +1 -1
- package/dist/src/importers/duplicate-detector.js +21 -2
- package/dist/src/importers/duplicate-detector.js.map +1 -1
- package/dist/src/importers/item-converter.d.ts +41 -2
- package/dist/src/importers/item-converter.d.ts.map +1 -1
- package/dist/src/importers/item-converter.js +225 -38
- package/dist/src/importers/item-converter.js.map +1 -1
- package/dist/src/living-docs/fs-id-allocator.d.ts +7 -0
- package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
- package/dist/src/living-docs/fs-id-allocator.js +30 -4
- package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
- package/dist/src/sync/ado-sync-wrapper.d.ts +137 -0
- package/dist/src/sync/ado-sync-wrapper.d.ts.map +1 -0
- package/dist/src/sync/ado-sync-wrapper.js +148 -0
- package/dist/src/sync/ado-sync-wrapper.js.map +1 -0
- package/dist/src/sync/github-sync-wrapper.d.ts +195 -0
- package/dist/src/sync/github-sync-wrapper.d.ts.map +1 -0
- package/dist/src/sync/github-sync-wrapper.js +220 -0
- package/dist/src/sync/github-sync-wrapper.js.map +1 -0
- package/dist/src/sync/jira-sync-wrapper.d.ts +155 -0
- package/dist/src/sync/jira-sync-wrapper.d.ts.map +1 -0
- package/dist/src/sync/jira-sync-wrapper.js +175 -0
- package/dist/src/sync/jira-sync-wrapper.js.map +1 -0
- package/dist/src/utils/feature-id-derivation.d.ts +58 -0
- package/dist/src/utils/feature-id-derivation.d.ts.map +1 -0
- package/dist/src/utils/feature-id-derivation.js +77 -0
- package/dist/src/utils/feature-id-derivation.js.map +1 -0
- package/package.json +3 -1
- package/plugins/specweave/commands/specweave-discrepancies.md +141 -0
- package/plugins/specweave/commands/specweave-discrepancy-to-increment.md +160 -0
- package/plugins/specweave/commands/specweave-jobs.md +45 -2
- package/plugins/specweave/commands/specweave-notifications.md +92 -0
- package/plugins/specweave/commands/specweave-sync-logs.md +131 -0
- package/plugins/specweave/commands/specweave-sync-monitor.md +57 -0
- package/plugins/specweave/hooks/hooks.json +3 -3
- package/plugins/specweave/hooks/lib/scheduler-startup.sh +72 -0
- package/plugins/specweave/hooks/universal/dispatcher.mjs +246 -0
- package/plugins/specweave/hooks/universal/session-start.cmd +16 -0
- package/plugins/specweave/hooks/universal/session-start.ps1 +16 -0
- package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +14 -5
- package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +5 -2
- package/plugins/specweave/skills/discrepancy-viewer.md +154 -0
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +46 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +69 -0
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.d.ts +0 -26
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.js +0 -249
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.js.map +0 -1
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts +0 -28
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js +0 -156
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js.map +0 -1
- package/dist/src/core/sync/bidirectional-engine.d.ts +0 -119
- package/dist/src/core/sync/bidirectional-engine.d.ts.map +0 -1
- package/dist/src/core/sync/bidirectional-engine.js +0 -359
- package/dist/src/core/sync/bidirectional-engine.js.map +0 -1
- package/dist/src/core/sync/conflict-resolver.d.ts +0 -66
- package/dist/src/core/sync/conflict-resolver.d.ts.map +0 -1
- package/dist/src/core/sync/conflict-resolver.js +0 -108
- package/dist/src/core/sync/conflict-resolver.js.map +0 -1
- package/dist/src/core/sync/enhanced-content-builder.d.ts +0 -55
- package/dist/src/core/sync/enhanced-content-builder.d.ts.map +0 -1
- package/dist/src/core/sync/enhanced-content-builder.js +0 -203
- package/dist/src/core/sync/enhanced-content-builder.js.map +0 -1
- package/dist/src/core/sync/folder-mapper.d.ts +0 -71
- package/dist/src/core/sync/folder-mapper.d.ts.map +0 -1
- package/dist/src/core/sync/folder-mapper.js +0 -203
- package/dist/src/core/sync/folder-mapper.js.map +0 -1
- package/dist/src/core/sync/label-detector.d.ts +0 -66
- package/dist/src/core/sync/label-detector.d.ts.map +0 -1
- package/dist/src/core/sync/label-detector.js +0 -224
- package/dist/src/core/sync/label-detector.js.map +0 -1
- package/dist/src/core/sync/performance-optimizer.d.ts +0 -153
- package/dist/src/core/sync/performance-optimizer.d.ts.map +0 -1
- package/dist/src/core/sync/performance-optimizer.js +0 -220
- package/dist/src/core/sync/performance-optimizer.js.map +0 -1
- package/dist/src/core/sync/profile-selector.d.ts +0 -52
- package/dist/src/core/sync/profile-selector.d.ts.map +0 -1
- package/dist/src/core/sync/profile-selector.js +0 -179
- package/dist/src/core/sync/profile-selector.js.map +0 -1
- package/dist/src/core/sync/profile-validator.d.ts +0 -52
- package/dist/src/core/sync/profile-validator.d.ts.map +0 -1
- package/dist/src/core/sync/profile-validator.js +0 -170
- package/dist/src/core/sync/profile-validator.js.map +0 -1
- package/dist/src/core/sync/rate-limiter.d.ts +0 -116
- package/dist/src/core/sync/rate-limiter.d.ts.map +0 -1
- package/dist/src/core/sync/rate-limiter.js +0 -308
- package/dist/src/core/sync/rate-limiter.js.map +0 -1
- package/dist/src/core/sync/retry-handler.d.ts +0 -98
- package/dist/src/core/sync/retry-handler.d.ts.map +0 -1
- package/dist/src/core/sync/retry-handler.js +0 -196
- package/dist/src/core/sync/retry-handler.js.map +0 -1
- package/dist/src/core/sync/retry-logic.d.ts +0 -64
- package/dist/src/core/sync/retry-logic.d.ts.map +0 -1
- package/dist/src/core/sync/retry-logic.js +0 -165
- package/dist/src/core/sync/retry-logic.js.map +0 -1
- package/dist/src/core/sync/status-cache.d.ts +0 -91
- package/dist/src/core/sync/status-cache.d.ts.map +0 -1
- package/dist/src/core/sync/status-cache.js +0 -140
- package/dist/src/core/sync/status-cache.js.map +0 -1
- package/dist/src/core/sync/status-mapper.d.ts +0 -69
- package/dist/src/core/sync/status-mapper.d.ts.map +0 -1
- package/dist/src/core/sync/status-mapper.js +0 -90
- package/dist/src/core/sync/status-mapper.js.map +0 -1
- package/dist/src/core/sync/status-sync-engine.d.ts +0 -162
- package/dist/src/core/sync/status-sync-engine.d.ts.map +0 -1
- package/dist/src/core/sync/status-sync-engine.js +0 -347
- package/dist/src/core/sync/status-sync-engine.js.map +0 -1
- package/dist/src/core/sync/sync-event-logger.d.ts +0 -113
- package/dist/src/core/sync/sync-event-logger.d.ts.map +0 -1
- package/dist/src/core/sync/sync-event-logger.js +0 -141
- package/dist/src/core/sync/sync-event-logger.js.map +0 -1
- package/dist/src/core/sync/time-range-selector.d.ts +0 -48
- package/dist/src/core/sync/time-range-selector.d.ts.map +0 -1
- package/dist/src/core/sync/time-range-selector.js +0 -224
- package/dist/src/core/sync/time-range-selector.js.map +0 -1
- package/dist/src/core/sync/types.d.ts +0 -52
- package/dist/src/core/sync/types.d.ts.map +0 -1
- package/dist/src/core/sync/types.js +0 -5
- package/dist/src/core/sync/types.js.map +0 -1
- package/dist/src/core/sync/workflow-detector.d.ts +0 -95
- package/dist/src/core/sync/workflow-detector.d.ts.map +0 -1
- package/dist/src/core/sync/workflow-detector.js +0 -175
- package/dist/src/core/sync/workflow-detector.js.map +0 -1
- package/plugins/specweave-github/lib/enhanced-github-sync.js +0 -220
- package/plugins/specweave-github/lib/enhanced-github-sync.ts +0 -322
- package/plugins/specweave-jira/lib/enhanced-jira-sync.js +0 -134
- package/plugins/specweave-jira/lib/enhanced-jira-sync.ts +0 -196
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# Discrepancy Viewer Skill
|
|
2
|
+
|
|
3
|
+
View and manage brownfield documentation discrepancies.
|
|
4
|
+
|
|
5
|
+
**Activates for**: discrepancies, documentation gaps, missing docs, stale docs, knowledge gaps, brownfield analysis results, DISC-0001, view discrepancy, list discrepancies
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
Brownfield discrepancies are documentation gaps detected during brownfield analysis:
|
|
10
|
+
|
|
11
|
+
| Type | Description |
|
|
12
|
+
|------|-------------|
|
|
13
|
+
| `missing-docs` | Code exists but has no documentation |
|
|
14
|
+
| `stale-docs` | Code changed but docs weren't updated |
|
|
15
|
+
| `knowledge-gap` | Module only one person has committed to |
|
|
16
|
+
| `orphan-doc` | Documentation for deleted code |
|
|
17
|
+
| `missing-adr` | Significant pattern without ADR |
|
|
18
|
+
|
|
19
|
+
## How to View Discrepancies
|
|
20
|
+
|
|
21
|
+
### List All Pending
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { BrownfieldDiscrepancyManager } from 'specweave/core/discrepancy';
|
|
25
|
+
|
|
26
|
+
const manager = new BrownfieldDiscrepancyManager(projectPath);
|
|
27
|
+
const discrepancies = await manager.listDiscrepancies();
|
|
28
|
+
|
|
29
|
+
// Display in table format
|
|
30
|
+
console.log('📋 BROWNFIELD DISCREPANCIES');
|
|
31
|
+
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
32
|
+
console.log('ID Type Priority Module Summary');
|
|
33
|
+
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
34
|
+
|
|
35
|
+
for (const disc of discrepancies) {
|
|
36
|
+
const priorityIcon = {
|
|
37
|
+
critical: '🔴',
|
|
38
|
+
high: '🟠',
|
|
39
|
+
medium: '🟡',
|
|
40
|
+
low: '🟢'
|
|
41
|
+
}[disc.priority];
|
|
42
|
+
|
|
43
|
+
console.log(`${disc.id} ${disc.type.padEnd(15)} ${priorityIcon} ${disc.priority.padEnd(8)} ${disc.module.padEnd(16)} ${disc.summary.slice(0, 30)}...`);
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Filter by Module
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
const discrepancies = await manager.listDiscrepancies({
|
|
51
|
+
module: 'payment-service'
|
|
52
|
+
});
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Filter by Type
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
const discrepancies = await manager.listDiscrepancies({
|
|
59
|
+
type: 'missing-docs'
|
|
60
|
+
});
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Filter by Priority
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
const discrepancies = await manager.listDiscrepancies({
|
|
67
|
+
priority: 'critical'
|
|
68
|
+
});
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### View Single Discrepancy
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
const disc = await manager.getDiscrepancy('DISC-0001');
|
|
75
|
+
|
|
76
|
+
console.log(`
|
|
77
|
+
🔍 DISCREPANCY DETAILS
|
|
78
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
79
|
+
|
|
80
|
+
ID: ${disc.id}
|
|
81
|
+
Type: ${disc.type}
|
|
82
|
+
Priority: ${disc.priority}
|
|
83
|
+
Module: ${disc.module}
|
|
84
|
+
Status: ${disc.status}
|
|
85
|
+
Confidence: ${disc.confidence}%
|
|
86
|
+
|
|
87
|
+
Summary: ${disc.summary}
|
|
88
|
+
Details: ${disc.details}
|
|
89
|
+
|
|
90
|
+
Code Location: ${disc.codeLocation || 'N/A'}
|
|
91
|
+
Doc Location: ${disc.docLocation || 'N/A'}
|
|
92
|
+
|
|
93
|
+
Detected: ${disc.detectedAt}
|
|
94
|
+
Last Check: ${disc.lastChecked}
|
|
95
|
+
`);
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Ignore a Discrepancy
|
|
99
|
+
|
|
100
|
+
```typescript
|
|
101
|
+
await manager.ignoreDiscrepancy('DISC-0001', 'False positive - test code');
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Output Format
|
|
105
|
+
|
|
106
|
+
### Table Format (Default)
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
📋 BROWNFIELD DISCREPANCIES (15 pending)
|
|
110
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
111
|
+
|
|
112
|
+
ID Type Priority Module Summary
|
|
113
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
114
|
+
DISC-0001 missing-docs 🔴 critical payment-service 12 undocumented exports
|
|
115
|
+
DISC-0002 stale-docs 🟠 high auth Login flow docs outdated
|
|
116
|
+
DISC-0003 knowledge-gap 🟡 medium legacy-adapter Single contributor module
|
|
117
|
+
DISC-0004 missing-adr 🟢 low cache No ADR for caching strategy
|
|
118
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
119
|
+
|
|
120
|
+
Use '/specweave:discrepancies show <ID>' for details
|
|
121
|
+
Use '/specweave:discrepancy-to-increment <ID> <ID>...' to create an increment
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Statistics
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
📊 DISCREPANCY STATS
|
|
128
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
129
|
+
|
|
130
|
+
Total: 47
|
|
131
|
+
Pending: 15
|
|
132
|
+
In Progress: 5
|
|
133
|
+
Resolved: 25
|
|
134
|
+
Ignored: 2
|
|
135
|
+
|
|
136
|
+
By Type:
|
|
137
|
+
missing-docs: 22 (47%)
|
|
138
|
+
stale-docs: 8 (17%)
|
|
139
|
+
knowledge-gap: 7 (15%)
|
|
140
|
+
orphan-doc: 5 (11%)
|
|
141
|
+
missing-adr: 5 (11%)
|
|
142
|
+
|
|
143
|
+
By Priority:
|
|
144
|
+
Critical: 3
|
|
145
|
+
High: 8
|
|
146
|
+
Medium: 12
|
|
147
|
+
Low: 24
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Related
|
|
151
|
+
|
|
152
|
+
- `/specweave:discrepancy-to-increment` - Convert discrepancies to increments
|
|
153
|
+
- `/specweave:jobs` - Monitor brownfield analysis jobs
|
|
154
|
+
- `brownfield-analyzer` skill - Run new analysis
|
|
@@ -24,3 +24,49 @@
|
|
|
24
24
|
[Mon Dec 1 15:44:14 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
25
25
|
[Mon Dec 1 15:44:15 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
26
26
|
[Mon Dec 1 15:44:15 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
27
|
+
[Mon Dec 1 20:26:17 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
28
|
+
[Mon Dec 1 20:26:17 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
29
|
+
[Mon Dec 1 20:26:17 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
30
|
+
[Mon Dec 1 20:26:17 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
31
|
+
[Mon Dec 1 20:26:17 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
32
|
+
[Mon Dec 1 20:26:17 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
33
|
+
[Mon Dec 1 20:26:17 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
34
|
+
[Mon Dec 1 20:26:17 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
35
|
+
[Mon Dec 1 20:26:17 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
36
|
+
[Mon Dec 1 20:26:17 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
37
|
+
[Mon Dec 1 20:26:18 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
38
|
+
[Mon Dec 1 20:26:18 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
39
|
+
[Mon Dec 1 20:26:18 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
40
|
+
[Mon Dec 1 20:26:18 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
41
|
+
[Mon Dec 1 20:26:18 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
42
|
+
[Mon Dec 1 20:26:18 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
43
|
+
[Mon Dec 1 20:26:27 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
44
|
+
[Mon Dec 1 20:26:27 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
45
|
+
[Mon Dec 1 20:26:27 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
46
|
+
[Mon Dec 1 20:26:27 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
47
|
+
[Mon Dec 1 20:26:27 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
48
|
+
[Mon Dec 1 20:26:27 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
49
|
+
[Mon Dec 1 20:37:58 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
50
|
+
[Mon Dec 1 20:37:58 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
51
|
+
[Mon Dec 1 20:37:58 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
52
|
+
[Mon Dec 1 20:37:58 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
53
|
+
[Mon Dec 1 20:37:58 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
54
|
+
[Mon Dec 1 20:37:58 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
55
|
+
[Mon Dec 1 20:40:32 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
56
|
+
[Mon Dec 1 20:40:32 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
57
|
+
[Mon Dec 1 20:40:32 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
58
|
+
[Mon Dec 1 20:40:32 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
59
|
+
[Mon Dec 1 20:40:33 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
60
|
+
[Mon Dec 1 20:40:33 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
61
|
+
[Mon Dec 1 22:13:45 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
62
|
+
[Mon Dec 1 22:13:45 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
63
|
+
[Mon Dec 1 22:13:45 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
64
|
+
[Mon Dec 1 22:13:45 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
65
|
+
[Mon Dec 1 22:13:45 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
66
|
+
[Mon Dec 1 22:13:45 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
67
|
+
[Mon Dec 1 22:16:15 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
68
|
+
[Mon Dec 1 22:16:15 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
69
|
+
[Mon Dec 1 22:16:15 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
70
|
+
[Mon Dec 1 22:16:15 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
71
|
+
[Mon Dec 1 22:16:16 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
72
|
+
[Mon Dec 1 22:16:16 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
@@ -37,3 +37,72 @@
|
|
|
37
37
|
[2025-12-01 15:44:15] 🎯 Post-Increment-Completion Hook Triggered
|
|
38
38
|
[2025-12-01 15:44:15] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
39
39
|
[2025-12-01 15:44:15] Run: npm run build
|
|
40
|
+
[2025-12-01 20:26:17] 🎯 Post-Increment-Completion Hook Triggered
|
|
41
|
+
[2025-12-01 20:26:17] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
42
|
+
[2025-12-01 20:26:17] Run: npm run build
|
|
43
|
+
[2025-12-01 20:26:17] 🎯 Post-Increment-Completion Hook Triggered
|
|
44
|
+
[2025-12-01 20:26:17] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
45
|
+
[2025-12-01 20:26:17] Run: npm run build
|
|
46
|
+
[2025-12-01 20:26:17] 🎯 Post-Increment-Completion Hook Triggered
|
|
47
|
+
[2025-12-01 20:26:17] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
48
|
+
[2025-12-01 20:26:17] Run: npm run build
|
|
49
|
+
[2025-12-01 20:26:17] 🎯 Post-Increment-Completion Hook Triggered
|
|
50
|
+
[2025-12-01 20:26:17] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
51
|
+
[2025-12-01 20:26:17] Run: npm run build
|
|
52
|
+
[2025-12-01 20:26:17] 🎯 Post-Increment-Completion Hook Triggered
|
|
53
|
+
[2025-12-01 20:26:17] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
54
|
+
[2025-12-01 20:26:17] Run: npm run build
|
|
55
|
+
[2025-12-01 20:26:18] 🎯 Post-Increment-Completion Hook Triggered
|
|
56
|
+
[2025-12-01 20:26:18] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
57
|
+
[2025-12-01 20:26:18] Run: npm run build
|
|
58
|
+
[2025-12-01 20:26:18] 🎯 Post-Increment-Completion Hook Triggered
|
|
59
|
+
[2025-12-01 20:26:18] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
60
|
+
[2025-12-01 20:26:18] Run: npm run build
|
|
61
|
+
[2025-12-01 20:26:18] 🎯 Post-Increment-Completion Hook Triggered
|
|
62
|
+
[2025-12-01 20:26:18] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
63
|
+
[2025-12-01 20:26:18] Run: npm run build
|
|
64
|
+
[2025-12-01 20:26:27] 🎯 Post-Increment-Completion Hook Triggered
|
|
65
|
+
[2025-12-01 20:26:27] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
66
|
+
[2025-12-01 20:26:27] Run: npm run build
|
|
67
|
+
[2025-12-01 20:26:27] 🎯 Post-Increment-Completion Hook Triggered
|
|
68
|
+
[2025-12-01 20:26:27] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
69
|
+
[2025-12-01 20:26:27] Run: npm run build
|
|
70
|
+
[2025-12-01 20:26:27] 🎯 Post-Increment-Completion Hook Triggered
|
|
71
|
+
[2025-12-01 20:26:27] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
72
|
+
[2025-12-01 20:26:27] Run: npm run build
|
|
73
|
+
[2025-12-01 20:37:58] 🎯 Post-Increment-Completion Hook Triggered
|
|
74
|
+
[2025-12-01 20:37:58] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
75
|
+
[2025-12-01 20:37:58] Run: npm run build
|
|
76
|
+
[2025-12-01 20:37:58] 🎯 Post-Increment-Completion Hook Triggered
|
|
77
|
+
[2025-12-01 20:37:58] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
78
|
+
[2025-12-01 20:37:58] Run: npm run build
|
|
79
|
+
[2025-12-01 20:37:58] 🎯 Post-Increment-Completion Hook Triggered
|
|
80
|
+
[2025-12-01 20:37:58] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
81
|
+
[2025-12-01 20:37:58] Run: npm run build
|
|
82
|
+
[2025-12-01 20:40:32] 🎯 Post-Increment-Completion Hook Triggered
|
|
83
|
+
[2025-12-01 20:40:32] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
84
|
+
[2025-12-01 20:40:32] Run: npm run build
|
|
85
|
+
[2025-12-01 20:40:33] 🎯 Post-Increment-Completion Hook Triggered
|
|
86
|
+
[2025-12-01 20:40:33] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
87
|
+
[2025-12-01 20:40:33] Run: npm run build
|
|
88
|
+
[2025-12-01 20:40:33] 🎯 Post-Increment-Completion Hook Triggered
|
|
89
|
+
[2025-12-01 20:40:33] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
90
|
+
[2025-12-01 20:40:33] Run: npm run build
|
|
91
|
+
[2025-12-01 22:13:45] 🎯 Post-Increment-Completion Hook Triggered
|
|
92
|
+
[2025-12-01 22:13:45] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
93
|
+
[2025-12-01 22:13:45] Run: npm run build
|
|
94
|
+
[2025-12-01 22:13:45] 🎯 Post-Increment-Completion Hook Triggered
|
|
95
|
+
[2025-12-01 22:13:45] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
96
|
+
[2025-12-01 22:13:45] Run: npm run build
|
|
97
|
+
[2025-12-01 22:13:45] 🎯 Post-Increment-Completion Hook Triggered
|
|
98
|
+
[2025-12-01 22:13:45] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
99
|
+
[2025-12-01 22:13:45] Run: npm run build
|
|
100
|
+
[2025-12-01 22:16:15] 🎯 Post-Increment-Completion Hook Triggered
|
|
101
|
+
[2025-12-01 22:16:15] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
102
|
+
[2025-12-01 22:16:15] Run: npm run build
|
|
103
|
+
[2025-12-01 22:16:16] 🎯 Post-Increment-Completion Hook Triggered
|
|
104
|
+
[2025-12-01 22:16:16] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
105
|
+
[2025-12-01 22:16:16] Run: npm run build
|
|
106
|
+
[2025-12-01 22:16:16] 🎯 Post-Increment-Completion Hook Triggered
|
|
107
|
+
[2025-12-01 22:16:16] ⚠️ DORA calculator not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
|
|
108
|
+
[2025-12-01 22:16:16] Run: npm run build
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced GitHub Spec Content Sync
|
|
3
|
-
*
|
|
4
|
-
* Uses EnhancedContentBuilder and SpecIncrementMapper for rich external descriptions.
|
|
5
|
-
* NEW (v0.21.0): Supports task checkboxes and automatic labeling.
|
|
6
|
-
*/
|
|
7
|
-
export interface EnhancedGitHubSyncOptions {
|
|
8
|
-
specPath: string;
|
|
9
|
-
owner?: string;
|
|
10
|
-
repo?: string;
|
|
11
|
-
dryRun?: boolean;
|
|
12
|
-
verbose?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export interface EnhancedSyncResult {
|
|
15
|
-
success: boolean;
|
|
16
|
-
action: 'created' | 'updated' | 'no-change' | 'error';
|
|
17
|
-
issueNumber?: number;
|
|
18
|
-
issueUrl?: string;
|
|
19
|
-
error?: string;
|
|
20
|
-
tasksLinked?: number;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Enhanced sync with rich content including task mappings
|
|
24
|
-
*/
|
|
25
|
-
export declare function syncSpecWithEnhancedContent(options: EnhancedGitHubSyncOptions): Promise<EnhancedSyncResult>;
|
|
26
|
-
//# sourceMappingURL=enhanced-github-sync.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-github-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/enhanced-github-sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAsL7B"}
|
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced GitHub Spec Content Sync
|
|
3
|
-
*
|
|
4
|
-
* Uses EnhancedContentBuilder and SpecIncrementMapper for rich external descriptions.
|
|
5
|
-
* NEW (v0.21.0): Supports task checkboxes and automatic labeling.
|
|
6
|
-
*/
|
|
7
|
-
import { GitHubClientV2 } from './github-client-v2.js';
|
|
8
|
-
import { EnhancedContentBuilder } from '../../../src/core/sync/enhanced-content-builder.js';
|
|
9
|
-
import { SpecIncrementMapper } from '../../../src/core/sync/spec-increment-mapper.js';
|
|
10
|
-
import { parseSpecContent } from '../../../src/core/spec-content-sync.js';
|
|
11
|
-
import { LabelDetector } from '../../../src/core/sync/label-detector.js';
|
|
12
|
-
import path from 'path';
|
|
13
|
-
import fs from 'fs/promises';
|
|
14
|
-
/**
|
|
15
|
-
* Enhanced sync with rich content including task mappings
|
|
16
|
-
*/
|
|
17
|
-
export async function syncSpecWithEnhancedContent(options) {
|
|
18
|
-
const { specPath, owner, repo, dryRun = false, verbose = false } = options;
|
|
19
|
-
try {
|
|
20
|
-
// 1. Parse spec content
|
|
21
|
-
const baseSpec = await parseSpecContent(specPath);
|
|
22
|
-
if (!baseSpec) {
|
|
23
|
-
return {
|
|
24
|
-
success: false,
|
|
25
|
-
action: 'error',
|
|
26
|
-
error: 'Failed to parse spec content',
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
if (verbose) {
|
|
30
|
-
console.log(`📄 Parsed spec: ${baseSpec.identifier.compact}`);
|
|
31
|
-
}
|
|
32
|
-
// 2. Build enhanced spec with task mappings
|
|
33
|
-
const specId = baseSpec.identifier.full || baseSpec.identifier.compact;
|
|
34
|
-
const rootDir = await findSpecWeaveRoot(specPath);
|
|
35
|
-
const mapper = new SpecIncrementMapper(rootDir);
|
|
36
|
-
const mapping = await mapper.mapSpecToIncrements(specId);
|
|
37
|
-
if (verbose) {
|
|
38
|
-
console.log(`🔗 Found ${mapping.increments.length} related increments`);
|
|
39
|
-
console.log(`📋 Mapped ${Object.keys(mapping.userStoryMappings).length} user stories to tasks`);
|
|
40
|
-
}
|
|
41
|
-
// 3. Build task mapping for EnhancedSpecContent
|
|
42
|
-
const taskMapping = buildTaskMapping(mapping.increments, owner, repo);
|
|
43
|
-
// 4. Build architecture docs references
|
|
44
|
-
const architectureDocs = await findArchitectureDocs(rootDir, specId);
|
|
45
|
-
// 5. Build source links
|
|
46
|
-
const sourceLinks = buildSourceLinks(mapping.increments[0]?.id, owner, repo);
|
|
47
|
-
// 6. Create enhanced spec content
|
|
48
|
-
const enhancedSpec = {
|
|
49
|
-
...baseSpec,
|
|
50
|
-
summary: baseSpec.description,
|
|
51
|
-
taskMapping,
|
|
52
|
-
architectureDocs,
|
|
53
|
-
sourceLinks
|
|
54
|
-
};
|
|
55
|
-
// 7. Build external description with task checkboxes
|
|
56
|
-
const builder = new EnhancedContentBuilder();
|
|
57
|
-
// NEW: Override buildTasksSection call to include checkboxes
|
|
58
|
-
const originalBuildExternal = builder.buildExternalDescription.bind(builder);
|
|
59
|
-
const description = (() => {
|
|
60
|
-
const sections = [];
|
|
61
|
-
// Summary
|
|
62
|
-
sections.push(builder.buildSummarySection(enhancedSpec));
|
|
63
|
-
// User stories
|
|
64
|
-
if (enhancedSpec.userStories && enhancedSpec.userStories.length > 0) {
|
|
65
|
-
sections.push(builder.buildUserStoriesSection(enhancedSpec.userStories));
|
|
66
|
-
}
|
|
67
|
-
// Tasks with checkboxes (NEW!)
|
|
68
|
-
if (enhancedSpec.taskMapping) {
|
|
69
|
-
sections.push(builder.buildTasksSection(enhancedSpec.taskMapping, {
|
|
70
|
-
showCheckboxes: true,
|
|
71
|
-
showProgressBar: true,
|
|
72
|
-
showCompletionStatus: true,
|
|
73
|
-
provider: 'github'
|
|
74
|
-
}));
|
|
75
|
-
}
|
|
76
|
-
// Architecture
|
|
77
|
-
if (enhancedSpec.architectureDocs && enhancedSpec.architectureDocs.length > 0) {
|
|
78
|
-
sections.push(builder.buildArchitectureSection(enhancedSpec.architectureDocs));
|
|
79
|
-
}
|
|
80
|
-
// Source links
|
|
81
|
-
if (enhancedSpec.sourceLinks) {
|
|
82
|
-
sections.push(builder.buildSourceLinksSection(enhancedSpec.sourceLinks));
|
|
83
|
-
}
|
|
84
|
-
return sections.filter(s => s.length > 0).join('\n\n---\n\n');
|
|
85
|
-
})();
|
|
86
|
-
if (verbose) {
|
|
87
|
-
console.log(`📝 Generated description: ${description.length} characters`);
|
|
88
|
-
}
|
|
89
|
-
if (dryRun) {
|
|
90
|
-
console.log('🔍 DRY RUN - Would create/update issue with:');
|
|
91
|
-
console.log(` Title: ${baseSpec.title}`);
|
|
92
|
-
console.log(` Description length: ${description.length}`);
|
|
93
|
-
console.log(` Tasks linked: ${taskMapping?.tasks.length || 0}`);
|
|
94
|
-
return {
|
|
95
|
-
success: true,
|
|
96
|
-
action: 'no-change',
|
|
97
|
-
tasksLinked: taskMapping?.tasks.length || 0
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
// 8. Create or update GitHub issue
|
|
101
|
-
if (!owner || !repo) {
|
|
102
|
-
return {
|
|
103
|
-
success: false,
|
|
104
|
-
action: 'error',
|
|
105
|
-
error: 'GitHub owner/repo not specified',
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
const client = GitHubClientV2.fromRepo(owner, repo);
|
|
109
|
-
// NEW: Detect increment type and apply labels
|
|
110
|
-
const labelDetector = new LabelDetector(undefined, false); // Use GitHub format
|
|
111
|
-
const detection = labelDetector.detectType(await fs.readFile(specPath, 'utf-8'), mapping.increments[0]?.id);
|
|
112
|
-
const githubLabels = labelDetector.getGitHubLabels(detection.type);
|
|
113
|
-
const allLabels = ['spec', ...githubLabels]; // Include both 'spec' and type labels
|
|
114
|
-
if (verbose) {
|
|
115
|
-
console.log(`🏷️ Detected type: ${detection.type} (${detection.confidence}% confidence)`);
|
|
116
|
-
console.log(` Labels: ${allLabels.join(', ')}`);
|
|
117
|
-
}
|
|
118
|
-
// Check if issue already exists
|
|
119
|
-
const existingIssue = await findExistingIssue(client, baseSpec.identifier.compact);
|
|
120
|
-
let result;
|
|
121
|
-
if (existingIssue) {
|
|
122
|
-
// Update existing issue (body + labels)
|
|
123
|
-
await client.updateIssueBody(existingIssue.number, description);
|
|
124
|
-
// Update labels if autoApplyLabels is enabled
|
|
125
|
-
// TODO: Read from config, for now always apply
|
|
126
|
-
await client.addLabels(existingIssue.number, allLabels);
|
|
127
|
-
result = {
|
|
128
|
-
success: true,
|
|
129
|
-
action: 'updated',
|
|
130
|
-
issueNumber: existingIssue.number,
|
|
131
|
-
issueUrl: existingIssue.html_url,
|
|
132
|
-
tasksLinked: taskMapping?.tasks.length || 0
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
// Create new issue with labels
|
|
137
|
-
const issue = await client.createEpicIssue(`[${baseSpec.project === '_features' ? baseSpec.identifier.display : baseSpec.identifier.compact}] ${baseSpec.title}`, description, undefined, allLabels // Apply labels at creation
|
|
138
|
-
);
|
|
139
|
-
result = {
|
|
140
|
-
success: true,
|
|
141
|
-
action: 'created',
|
|
142
|
-
issueNumber: issue.number,
|
|
143
|
-
issueUrl: issue.html_url,
|
|
144
|
-
tasksLinked: taskMapping?.tasks.length || 0
|
|
145
|
-
};
|
|
146
|
-
// Update spec with GitHub link
|
|
147
|
-
await mapper.updateSpecWithIncrementLinks(specId, mapping.increments[0]?.id);
|
|
148
|
-
}
|
|
149
|
-
if (verbose) {
|
|
150
|
-
console.log(`✅ ${result.action === 'created' ? 'Created' : 'Updated'} issue #${result.issueNumber}`);
|
|
151
|
-
console.log(` URL: ${result.issueUrl}`);
|
|
152
|
-
console.log(` Tasks linked: ${result.tasksLinked}`);
|
|
153
|
-
}
|
|
154
|
-
return result;
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
return {
|
|
158
|
-
success: false,
|
|
159
|
-
action: 'error',
|
|
160
|
-
error: error.message
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
// Helper functions
|
|
165
|
-
async function findSpecWeaveRoot(specPath) {
|
|
166
|
-
let currentDir = path.dirname(specPath);
|
|
167
|
-
while (true) {
|
|
168
|
-
const specweaveDir = path.join(currentDir, '.specweave');
|
|
169
|
-
try {
|
|
170
|
-
await fs.access(specweaveDir);
|
|
171
|
-
return currentDir;
|
|
172
|
-
}
|
|
173
|
-
catch {
|
|
174
|
-
const parentDir = path.dirname(currentDir);
|
|
175
|
-
if (parentDir === currentDir) {
|
|
176
|
-
throw new Error('.specweave directory not found');
|
|
177
|
-
}
|
|
178
|
-
currentDir = parentDir;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
function buildTaskMapping(increments, owner, repo) {
|
|
183
|
-
if (increments.length === 0)
|
|
184
|
-
return undefined;
|
|
185
|
-
const firstIncrement = increments[0];
|
|
186
|
-
const tasks = firstIncrement.tasks.map((task) => ({
|
|
187
|
-
id: task.id,
|
|
188
|
-
title: task.title,
|
|
189
|
-
userStories: task.userStories,
|
|
190
|
-
githubIssue: task.githubIssue
|
|
191
|
-
}));
|
|
192
|
-
return {
|
|
193
|
-
incrementId: firstIncrement.id,
|
|
194
|
-
tasks,
|
|
195
|
-
tasksUrl: `https://github.com/${owner}/${repo}/blob/develop/.specweave/increments/${firstIncrement.id}/tasks.md`
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
async function findArchitectureDocs(rootDir, specId) {
|
|
199
|
-
const docs = [];
|
|
200
|
-
const archDir = path.join(rootDir, '.specweave/docs/internal/architecture');
|
|
201
|
-
try {
|
|
202
|
-
// Check for ADRs
|
|
203
|
-
const adrDir = path.join(archDir, 'adr');
|
|
204
|
-
try {
|
|
205
|
-
const adrs = await fs.readdir(adrDir);
|
|
206
|
-
const relatedAdrs = adrs.filter(file => file.includes(specId.replace('spec-', '')));
|
|
207
|
-
for (const adr of relatedAdrs) {
|
|
208
|
-
docs.push({
|
|
209
|
-
type: 'adr',
|
|
210
|
-
path: path.join(adrDir, adr),
|
|
211
|
-
title: adr.replace('.md', '').replace(/-/g, ' ')
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
catch { }
|
|
216
|
-
// Check for HLD
|
|
217
|
-
const hlds = await fs.readdir(archDir);
|
|
218
|
-
const relatedHlds = hlds.filter(file => file.includes('hld') && file.includes(specId.replace('spec-', '')));
|
|
219
|
-
for (const hld of relatedHlds) {
|
|
220
|
-
docs.push({
|
|
221
|
-
type: 'hld',
|
|
222
|
-
path: path.join(archDir, hld),
|
|
223
|
-
title: hld.replace('.md', '').replace(/-/g, ' ')
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
catch { }
|
|
228
|
-
return docs;
|
|
229
|
-
}
|
|
230
|
-
function buildSourceLinks(incrementId, owner, repo) {
|
|
231
|
-
if (!incrementId)
|
|
232
|
-
return undefined;
|
|
233
|
-
const baseUrl = `https://github.com/${owner}/${repo}/blob/develop/.specweave`;
|
|
234
|
-
return {
|
|
235
|
-
spec: `${baseUrl}/docs/internal/specs/default/spec-${incrementId.replace(/^\d+-/, '')}.md`,
|
|
236
|
-
plan: `${baseUrl}/increments/${incrementId}/plan.md`,
|
|
237
|
-
tasks: `${baseUrl}/increments/${incrementId}/tasks.md`
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
async function findExistingIssue(client, specId) {
|
|
241
|
-
try {
|
|
242
|
-
const issues = await client.listIssuesInTimeRange('ALL');
|
|
243
|
-
return issues.find((issue) => issue.title.includes(`[${specId}]`) && issue.labels?.some((l) => l.name === 'spec')) || null;
|
|
244
|
-
}
|
|
245
|
-
catch {
|
|
246
|
-
return null;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
//# sourceMappingURL=enhanced-github-sync.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-github-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/enhanced-github-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced JIRA Spec Content Sync
|
|
3
|
-
*
|
|
4
|
-
* Uses EnhancedContentBuilder and SpecIncrementMapper for rich epic descriptions.
|
|
5
|
-
*
|
|
6
|
-
* NOTE: This version focuses on enhanced content building.
|
|
7
|
-
* Actual JIRA API integration requires jira-spec-sync.ts
|
|
8
|
-
*/
|
|
9
|
-
export interface EnhancedJiraSyncOptions {
|
|
10
|
-
specPath: string;
|
|
11
|
-
domain?: string;
|
|
12
|
-
project?: string;
|
|
13
|
-
dryRun?: boolean;
|
|
14
|
-
verbose?: boolean;
|
|
15
|
-
}
|
|
16
|
-
export interface EnhancedJiraSyncResult {
|
|
17
|
-
success: boolean;
|
|
18
|
-
action: 'created' | 'updated' | 'no-change' | 'error';
|
|
19
|
-
epicKey?: string;
|
|
20
|
-
epicUrl?: string;
|
|
21
|
-
error?: string;
|
|
22
|
-
tasksLinked?: number;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Enhanced sync with rich content including task mappings
|
|
26
|
-
*/
|
|
27
|
-
export declare function syncSpecToJiraWithEnhancedContent(options: EnhancedJiraSyncOptions): Promise<EnhancedJiraSyncResult>;
|
|
28
|
-
//# sourceMappingURL=enhanced-jira-sync.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-jira-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/enhanced-jira-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CA+FjC"}
|