specweave 1.0.29 → 1.0.31
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 +140 -1196
- package/bin/specweave.js +23 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +3 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-client-v2.js +39 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
- package/dist/src/cli/commands/set-sync-target.d.ts +41 -0
- package/dist/src/cli/commands/set-sync-target.d.ts.map +1 -0
- package/dist/src/cli/commands/set-sync-target.js +126 -0
- package/dist/src/cli/commands/set-sync-target.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js +5 -8
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -1
- package/dist/src/core/hooks/HookScanner.d.ts +32 -0
- package/dist/src/core/hooks/HookScanner.d.ts.map +1 -1
- package/dist/src/core/hooks/HookScanner.js +125 -1
- package/dist/src/core/hooks/HookScanner.js.map +1 -1
- package/dist/src/core/hooks/types.d.ts +10 -1
- package/dist/src/core/hooks/types.d.ts.map +1 -1
- package/dist/src/core/increment/metadata-manager.d.ts +67 -1
- package/dist/src/core/increment/metadata-manager.d.ts.map +1 -1
- package/dist/src/core/increment/metadata-manager.js +93 -0
- package/dist/src/core/increment/metadata-manager.js.map +1 -1
- package/dist/src/core/project/index.d.ts +21 -0
- package/dist/src/core/project/index.d.ts.map +1 -0
- package/dist/src/core/project/index.js +22 -0
- package/dist/src/core/project/index.js.map +1 -0
- package/dist/src/core/project/project-service.d.ts +122 -0
- package/dist/src/core/project/project-service.d.ts.map +1 -0
- package/dist/src/core/project/project-service.js +334 -0
- package/dist/src/core/project/project-service.js.map +1 -0
- package/dist/src/core/sync/external-tool-resolver.d.ts +171 -0
- package/dist/src/core/sync/external-tool-resolver.d.ts.map +1 -0
- package/dist/src/core/sync/external-tool-resolver.js +569 -0
- package/dist/src/core/sync/external-tool-resolver.js.map +1 -0
- package/dist/src/core/types/increment-metadata.d.ts +92 -0
- package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
- package/dist/src/hooks/processor.d.ts +7 -3
- package/dist/src/hooks/processor.d.ts.map +1 -1
- package/dist/src/hooks/processor.js +11 -5
- package/dist/src/hooks/processor.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave/commands/check-hooks.md +43 -0
- package/plugins/specweave/hooks/hooks.json +78 -0
- package/plugins/specweave/hooks/lib/circuit-breaker.sh +381 -0
- package/plugins/specweave/hooks/lib/logging.sh +231 -0
- package/plugins/specweave/hooks/lib/metrics.sh +347 -0
- package/plugins/specweave/hooks/lib/semaphore.sh +216 -0
- package/plugins/specweave/hooks/universal/fail-fast-wrapper.sh +156 -22
- package/plugins/specweave/hooks/v2/handlers/project-bridge-handler.sh +96 -0
- package/plugins/specweave/hooks/v2/queue/processor.sh +13 -5
- package/plugins/specweave/lib/hooks/project-bridge.js +76 -0
- package/plugins/specweave/lib/hooks/update-tasks-md.js +0 -0
- package/plugins/specweave/lib/hooks/us-completion-orchestrator.js +0 -0
- package/plugins/specweave/lib/vendor/core/increment/metadata-manager.d.ts +67 -1
- package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +93 -0
- package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
- package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +92 -0
- package/plugins/specweave/scripts/hook-health.sh +441 -0
- package/plugins/specweave-ado/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-alternatives/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-backend/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-confluent/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-cost-optimizer/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-diagrams/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-docs/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-figma/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-frontend/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-github/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-github/lib/github-client-v2.js +39 -0
- package/plugins/specweave-github/lib/github-client-v2.ts +44 -0
- package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-jira/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kafka/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kafka-streams/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kubernetes/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-ml/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-mobile/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-n8n/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-payments/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-plugin-dev/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-release/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-testing/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-ui/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave/hooks/docs-changed.sh +0 -87
- package/plugins/specweave/hooks/hooks.json.bak +0 -147
- package/plugins/specweave/hooks/human-input-required.sh +0 -83
- package/plugins/specweave/hooks/post-edit-write-consolidated.sh +0 -428
- package/plugins/specweave/hooks/post-first-increment.sh +0 -61
- package/plugins/specweave/hooks/post-increment-change.sh +0 -103
- package/plugins/specweave/hooks/post-increment-completion.sh +0 -513
- package/plugins/specweave/hooks/post-increment-planning.sh +0 -1204
- package/plugins/specweave/hooks/post-increment-status-change.sh +0 -243
- package/plugins/specweave/hooks/post-metadata-change.sh +0 -246
- package/plugins/specweave/hooks/post-spec-update.sh +0 -158
- package/plugins/specweave/hooks/post-task-completion.sh +0 -557
- package/plugins/specweave/hooks/post-task-edit.sh +0 -47
- package/plugins/specweave/hooks/post-user-story-complete.sh +0 -230
- package/plugins/specweave/hooks/pre-command-deduplication.sh +0 -68
- package/plugins/specweave/hooks/pre-edit-write-consolidated.sh +0 -225
- package/plugins/specweave/hooks/pre-implementation.sh +0 -75
- package/plugins/specweave/hooks/pre-increment-start.sh +0 -173
- package/plugins/specweave/hooks/pre-task-completion-edit.sh +0 -355
- package/plugins/specweave/hooks/pre-task-completion.sh +0 -269
- package/plugins/specweave/hooks/pre-tool-use.sh +0 -137
- package/plugins/specweave/hooks/session-start-reconcile.sh +0 -139
- package/plugins/specweave/hooks/shared/bulk-operation-detector.sh +0 -167
- package/plugins/specweave/hooks/test-pretooluse-env.sh +0 -72
- package/plugins/specweave/hooks/validate-increment-completion.sh +0 -113
- package/plugins/specweave/lib/hooks/consolidated-sync.js +0 -288
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-manager.js","sourceRoot":"","sources":["../../../../src/core/increment/metadata-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metadata-manager.js","sourceRoot":"","sources":["../../../../src/core/increment/metadata-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -273,6 +273,74 @@ export interface USExternalRefsMap {
|
|
|
273
273
|
ado?: USExternalRef;
|
|
274
274
|
};
|
|
275
275
|
}
|
|
276
|
+
/**
|
|
277
|
+
* How the sync target was determined
|
|
278
|
+
* Used for debugging and audit trails
|
|
279
|
+
*/
|
|
280
|
+
export type SyncTargetDerivation = 'user-selection' | 'project-mapping' | 'default-profile' | 'auto-detected';
|
|
281
|
+
/**
|
|
282
|
+
* External tool sync target for an increment
|
|
283
|
+
*
|
|
284
|
+
* Explicitly specifies which external tool profile this increment syncs with.
|
|
285
|
+
* Stored in metadata.json to provide audit trail and deterministic sync behavior.
|
|
286
|
+
*
|
|
287
|
+
* @since v1.0.31 (ADR-0211)
|
|
288
|
+
*
|
|
289
|
+
* @example
|
|
290
|
+
* ```json
|
|
291
|
+
* {
|
|
292
|
+
* "syncTarget": {
|
|
293
|
+
* "profileId": "github-frontend",
|
|
294
|
+
* "provider": "github",
|
|
295
|
+
* "derivedFrom": "project-mapping",
|
|
296
|
+
* "setAt": "2025-12-18T10:30:00Z"
|
|
297
|
+
* }
|
|
298
|
+
* }
|
|
299
|
+
* ```
|
|
300
|
+
*/
|
|
301
|
+
export interface SyncTarget {
|
|
302
|
+
/**
|
|
303
|
+
* Profile ID from config.sync.profiles
|
|
304
|
+
* This is the key that links to the full profile configuration
|
|
305
|
+
*
|
|
306
|
+
* @example "github-frontend", "jira-backend", "ado-main"
|
|
307
|
+
*/
|
|
308
|
+
profileId: string;
|
|
309
|
+
/**
|
|
310
|
+
* Provider type for quick filtering without loading full config
|
|
311
|
+
*/
|
|
312
|
+
provider: 'github' | 'jira' | 'ado';
|
|
313
|
+
/**
|
|
314
|
+
* How this target was determined (for debugging/audit)
|
|
315
|
+
*/
|
|
316
|
+
derivedFrom: SyncTargetDerivation;
|
|
317
|
+
/**
|
|
318
|
+
* Timestamp when target was set (ISO 8601)
|
|
319
|
+
*/
|
|
320
|
+
setAt: string;
|
|
321
|
+
/**
|
|
322
|
+
* Optional: Source project ID that led to this target
|
|
323
|
+
* Useful when derivedFrom is 'project-mapping'
|
|
324
|
+
*/
|
|
325
|
+
sourceProjectId?: string;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Validation result for external tool configuration
|
|
329
|
+
*
|
|
330
|
+
* @since v1.0.31
|
|
331
|
+
*/
|
|
332
|
+
export interface ExternalToolValidationResult {
|
|
333
|
+
/** Whether the configuration is valid */
|
|
334
|
+
valid: boolean;
|
|
335
|
+
/** Resolved sync target (if valid) */
|
|
336
|
+
syncTarget?: SyncTarget;
|
|
337
|
+
/** List of validation errors */
|
|
338
|
+
errors: string[];
|
|
339
|
+
/** List of validation warnings (non-blocking) */
|
|
340
|
+
warnings: string[];
|
|
341
|
+
/** Suggested fixes for errors */
|
|
342
|
+
suggestions?: string[];
|
|
343
|
+
}
|
|
276
344
|
/**
|
|
277
345
|
* Extended increment metadata with multi-project support (v0.29.0+)
|
|
278
346
|
*
|
|
@@ -296,5 +364,29 @@ export interface IncrementMetadataV2 extends IncrementMetadata {
|
|
|
296
364
|
* Maps: US-001 → { github: {...}, jira: {...} }
|
|
297
365
|
*/
|
|
298
366
|
externalRefs?: USExternalRefsMap;
|
|
367
|
+
/**
|
|
368
|
+
* External tool sync target (v1.0.31+ - ADR-0211)
|
|
369
|
+
*
|
|
370
|
+
* Explicitly specifies which external tool profile this increment syncs with.
|
|
371
|
+
* Provides deterministic sync behavior and audit trail.
|
|
372
|
+
*
|
|
373
|
+
* Resolution priority:
|
|
374
|
+
* 1. This field (explicit)
|
|
375
|
+
* 2. **Project**: field in spec.md → config.projectMappings
|
|
376
|
+
* 3. config.sync.defaultProfile (fallback)
|
|
377
|
+
*
|
|
378
|
+
* @example
|
|
379
|
+
* ```json
|
|
380
|
+
* {
|
|
381
|
+
* "syncTarget": {
|
|
382
|
+
* "profileId": "github-frontend",
|
|
383
|
+
* "provider": "github",
|
|
384
|
+
* "derivedFrom": "project-mapping",
|
|
385
|
+
* "setAt": "2025-12-18T10:30:00Z"
|
|
386
|
+
* }
|
|
387
|
+
* }
|
|
388
|
+
* ```
|
|
389
|
+
*/
|
|
390
|
+
syncTarget?: SyncTarget;
|
|
299
391
|
}
|
|
300
392
|
//# sourceMappingURL=increment-metadata.d.ts.map
|
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# hook-health.sh - Hook Health Dashboard
|
|
3
|
+
#
|
|
4
|
+
# Provides comprehensive visibility into hook system health:
|
|
5
|
+
# - Circuit breaker states
|
|
6
|
+
# - Semaphore utilization
|
|
7
|
+
# - Metrics and performance stats
|
|
8
|
+
# - Recent failures and errors
|
|
9
|
+
#
|
|
10
|
+
# Usage:
|
|
11
|
+
# bash hook-health.sh # Full dashboard
|
|
12
|
+
# bash hook-health.sh --status # Quick status check
|
|
13
|
+
# bash hook-health.sh --metrics # Detailed metrics
|
|
14
|
+
# bash hook-health.sh --reset # Reset all circuit breakers
|
|
15
|
+
# bash hook-health.sh --clean # Clean up stale state
|
|
16
|
+
#
|
|
17
|
+
# v1.0.0 - Initial implementation (2025-12-17)
|
|
18
|
+
|
|
19
|
+
set -uo pipefail
|
|
20
|
+
|
|
21
|
+
# === Configuration ===
|
|
22
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
23
|
+
HOOK_LIB_DIR="${SCRIPT_DIR}/../hooks/lib"
|
|
24
|
+
STATE_DIR="${SPECWEAVE_STATE_DIR:-.specweave/state}"
|
|
25
|
+
LOG_DIR="${SPECWEAVE_LOG_DIR:-.specweave/logs/hooks}"
|
|
26
|
+
|
|
27
|
+
# Colors
|
|
28
|
+
RED='\033[0;31m'
|
|
29
|
+
GREEN='\033[0;32m'
|
|
30
|
+
YELLOW='\033[1;33m'
|
|
31
|
+
BLUE='\033[0;34m'
|
|
32
|
+
CYAN='\033[0;36m'
|
|
33
|
+
NC='\033[0m'
|
|
34
|
+
BOLD='\033[1m'
|
|
35
|
+
|
|
36
|
+
# === Source libraries ===
|
|
37
|
+
source_lib() {
|
|
38
|
+
local lib="$1"
|
|
39
|
+
if [[ -f "$HOOK_LIB_DIR/$lib" ]]; then
|
|
40
|
+
source "$HOOK_LIB_DIR/$lib" 2>/dev/null
|
|
41
|
+
return 0
|
|
42
|
+
fi
|
|
43
|
+
return 1
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
# === Print helpers ===
|
|
47
|
+
print_header() {
|
|
48
|
+
echo ""
|
|
49
|
+
echo -e "${BOLD}${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
50
|
+
echo -e "${BOLD}${BLUE} $1${NC}"
|
|
51
|
+
echo -e "${BOLD}${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
print_section() {
|
|
55
|
+
echo ""
|
|
56
|
+
echo -e "${CYAN}▸ $1${NC}"
|
|
57
|
+
echo -e "${CYAN}─────────────────────────────────────${NC}"
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
print_status() {
|
|
61
|
+
local status="$1"
|
|
62
|
+
local label="$2"
|
|
63
|
+
case "$status" in
|
|
64
|
+
healthy|CLOSED|success)
|
|
65
|
+
echo -e " ${GREEN}●${NC} $label"
|
|
66
|
+
;;
|
|
67
|
+
degraded|HALF_OPEN|warning)
|
|
68
|
+
echo -e " ${YELLOW}●${NC} $label"
|
|
69
|
+
;;
|
|
70
|
+
unhealthy|OPEN|error)
|
|
71
|
+
echo -e " ${RED}●${NC} $label"
|
|
72
|
+
;;
|
|
73
|
+
*)
|
|
74
|
+
echo -e " ○ $label"
|
|
75
|
+
;;
|
|
76
|
+
esac
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
# === Circuit Breaker Status ===
|
|
80
|
+
show_circuit_breakers() {
|
|
81
|
+
print_section "Circuit Breakers"
|
|
82
|
+
|
|
83
|
+
if ! source_lib "circuit-breaker.sh"; then
|
|
84
|
+
echo " Circuit breaker library not found"
|
|
85
|
+
return
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
local cb_dir="$STATE_DIR/circuit-breakers"
|
|
89
|
+
if [[ ! -d "$cb_dir" ]] || [[ -z "$(ls -A "$cb_dir" 2>/dev/null)" ]]; then
|
|
90
|
+
echo " No circuit breakers active (all hooks healthy)"
|
|
91
|
+
return
|
|
92
|
+
fi
|
|
93
|
+
|
|
94
|
+
local found=false
|
|
95
|
+
for state_file in "$cb_dir"/*.state; do
|
|
96
|
+
[[ ! -f "$state_file" ]] && continue
|
|
97
|
+
found=true
|
|
98
|
+
|
|
99
|
+
local name
|
|
100
|
+
name=$(basename "$state_file" .state)
|
|
101
|
+
local status
|
|
102
|
+
status=$(cb_get_status "$name")
|
|
103
|
+
|
|
104
|
+
local state failures
|
|
105
|
+
state=$(echo "$status" | grep -o '"state":"[^"]*"' | cut -d'"' -f4)
|
|
106
|
+
failures=$(echo "$status" | grep -o '"failures":[0-9]*' | cut -d':' -f2)
|
|
107
|
+
|
|
108
|
+
print_status "$state" "$name: $state (failures: $failures)"
|
|
109
|
+
done
|
|
110
|
+
[[ "$found" == "false" ]] && echo " All circuits healthy (no breakers active)"
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
# === Semaphore Status ===
|
|
114
|
+
show_semaphore_status() {
|
|
115
|
+
print_section "Semaphore Status"
|
|
116
|
+
|
|
117
|
+
if ! source_lib "semaphore.sh"; then
|
|
118
|
+
echo " Semaphore library not found"
|
|
119
|
+
return
|
|
120
|
+
fi
|
|
121
|
+
|
|
122
|
+
local max_concurrent="${HOOK_MAX_CONCURRENT:-15}"
|
|
123
|
+
local status
|
|
124
|
+
status=$(get_semaphore_status "hooks" "$max_concurrent")
|
|
125
|
+
|
|
126
|
+
local active available
|
|
127
|
+
active=$(echo "$status" | grep -o '"active":[0-9]*' | cut -d':' -f2)
|
|
128
|
+
available=$(echo "$status" | grep -o '"available":[0-9]*' | cut -d':' -f2)
|
|
129
|
+
|
|
130
|
+
echo " Max concurrent: $max_concurrent"
|
|
131
|
+
echo " Active slots: $active"
|
|
132
|
+
echo " Available: $available"
|
|
133
|
+
|
|
134
|
+
# Show utilization bar
|
|
135
|
+
local pct=$((active * 100 / max_concurrent))
|
|
136
|
+
local bar_width=30
|
|
137
|
+
local filled=$((pct * bar_width / 100))
|
|
138
|
+
|
|
139
|
+
printf " Utilization: ["
|
|
140
|
+
for ((i=0; i<bar_width; i++)); do
|
|
141
|
+
if [[ $i -lt $filled ]]; then
|
|
142
|
+
if [[ $pct -gt 80 ]]; then
|
|
143
|
+
printf "${RED}█${NC}"
|
|
144
|
+
elif [[ $pct -gt 60 ]]; then
|
|
145
|
+
printf "${YELLOW}█${NC}"
|
|
146
|
+
else
|
|
147
|
+
printf "${GREEN}█${NC}"
|
|
148
|
+
fi
|
|
149
|
+
else
|
|
150
|
+
printf "░"
|
|
151
|
+
fi
|
|
152
|
+
done
|
|
153
|
+
printf "] %d%%\n" "$pct"
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
# === Metrics Summary ===
|
|
157
|
+
show_metrics() {
|
|
158
|
+
print_section "Hook Metrics"
|
|
159
|
+
|
|
160
|
+
if ! source_lib "metrics.sh"; then
|
|
161
|
+
echo " Metrics library not found"
|
|
162
|
+
return
|
|
163
|
+
fi
|
|
164
|
+
|
|
165
|
+
local metrics_dir="$STATE_DIR/metrics"
|
|
166
|
+
if [[ ! -d "$metrics_dir" ]] || [[ -z "$(ls -A "$metrics_dir" 2>/dev/null)" ]]; then
|
|
167
|
+
echo " No metrics collected yet"
|
|
168
|
+
return
|
|
169
|
+
fi
|
|
170
|
+
|
|
171
|
+
# System health
|
|
172
|
+
local system_health
|
|
173
|
+
system_health=$(metrics_system_health)
|
|
174
|
+
local status total_hooks healthy degraded unhealthy
|
|
175
|
+
status=$(echo "$system_health" | grep -o '"status":"[^"]*"' | cut -d'"' -f4)
|
|
176
|
+
total_hooks=$(echo "$system_health" | grep -o '"total_hooks":[0-9]*' | cut -d':' -f2)
|
|
177
|
+
healthy=$(echo "$system_health" | grep -o '"healthy":[0-9]*' | cut -d':' -f2)
|
|
178
|
+
degraded=$(echo "$system_health" | grep -o '"degraded":[0-9]*' | cut -d':' -f2)
|
|
179
|
+
unhealthy=$(echo "$system_health" | grep -o '"unhealthy":[0-9]*' | cut -d':' -f2)
|
|
180
|
+
|
|
181
|
+
print_status "$status" "System Health: $status"
|
|
182
|
+
echo " Total hooks tracked: $total_hooks"
|
|
183
|
+
echo " Healthy: ${GREEN}$healthy${NC}"
|
|
184
|
+
echo " Degraded: ${YELLOW}$degraded${NC}"
|
|
185
|
+
echo " Unhealthy: ${RED}$unhealthy${NC}"
|
|
186
|
+
|
|
187
|
+
# Per-hook metrics
|
|
188
|
+
if [[ "${1:-}" == "--detailed" ]]; then
|
|
189
|
+
echo ""
|
|
190
|
+
echo " Per-Hook Metrics:"
|
|
191
|
+
echo " ────────────────────────────────────────────────────────────────"
|
|
192
|
+
printf " %-25s %8s %8s %8s %8s\n" "Hook" "Total" "Success%" "Avg(ms)" "P95(ms)"
|
|
193
|
+
echo " ────────────────────────────────────────────────────────────────"
|
|
194
|
+
|
|
195
|
+
for stats_file in "$metrics_dir"/*.stats; do
|
|
196
|
+
[[ ! -f "$stats_file" ]] && continue
|
|
197
|
+
|
|
198
|
+
local name
|
|
199
|
+
name=$(basename "$stats_file" .stats)
|
|
200
|
+
local metrics
|
|
201
|
+
metrics=$(metrics_get "$name")
|
|
202
|
+
|
|
203
|
+
local total success_rate avg_ms p95_ms
|
|
204
|
+
total=$(echo "$metrics" | grep -o '"total":[0-9]*' | cut -d':' -f2)
|
|
205
|
+
success_rate=$(echo "$metrics" | grep -o '"success_rate":[0-9]*' | cut -d':' -f2)
|
|
206
|
+
avg_ms=$(echo "$metrics" | grep -o '"avg_ms":[0-9]*' | cut -d':' -f2)
|
|
207
|
+
p95_ms=$(echo "$metrics" | grep -o '"p95_ms":[0-9]*' | cut -d':' -f2)
|
|
208
|
+
|
|
209
|
+
printf " %-25s %8s %7s%% %8s %8s\n" "$name" "$total" "$success_rate" "$avg_ms" "$p95_ms"
|
|
210
|
+
done
|
|
211
|
+
fi
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
# === Recent Failures ===
|
|
215
|
+
show_recent_failures() {
|
|
216
|
+
print_section "Recent Failures"
|
|
217
|
+
|
|
218
|
+
local failure_log="$HOME/.claude/hook-failures.log"
|
|
219
|
+
if [[ ! -f "$failure_log" ]]; then
|
|
220
|
+
echo " No failures recorded"
|
|
221
|
+
return
|
|
222
|
+
fi
|
|
223
|
+
|
|
224
|
+
local count
|
|
225
|
+
count=$(wc -l < "$failure_log" 2>/dev/null | tr -d ' ')
|
|
226
|
+
|
|
227
|
+
if [[ "$count" -eq 0 ]]; then
|
|
228
|
+
echo " No failures recorded"
|
|
229
|
+
return
|
|
230
|
+
fi
|
|
231
|
+
|
|
232
|
+
echo " Total failures recorded: $count"
|
|
233
|
+
echo ""
|
|
234
|
+
echo " Last 5 failures:"
|
|
235
|
+
tail -5 "$failure_log" | while read -r line; do
|
|
236
|
+
echo " $line"
|
|
237
|
+
done
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
# === Hook Logs ===
|
|
241
|
+
show_recent_logs() {
|
|
242
|
+
print_section "Recent Hook Logs"
|
|
243
|
+
|
|
244
|
+
if [[ ! -d "$LOG_DIR" ]] || [[ -z "$(ls -A "$LOG_DIR" 2>/dev/null)" ]]; then
|
|
245
|
+
echo " No hook logs found"
|
|
246
|
+
return
|
|
247
|
+
fi
|
|
248
|
+
|
|
249
|
+
echo " Log files:"
|
|
250
|
+
for log_file in "$LOG_DIR"/*.log; do
|
|
251
|
+
[[ ! -f "$log_file" ]] && continue
|
|
252
|
+
local name size lines
|
|
253
|
+
name=$(basename "$log_file")
|
|
254
|
+
size=$(du -h "$log_file" 2>/dev/null | cut -f1)
|
|
255
|
+
lines=$(wc -l < "$log_file" 2>/dev/null | tr -d ' ')
|
|
256
|
+
echo " $name: $lines lines, $size"
|
|
257
|
+
done
|
|
258
|
+
|
|
259
|
+
echo ""
|
|
260
|
+
echo " Recent errors (last 5):"
|
|
261
|
+
grep '"level":"ERROR"' "$LOG_DIR"/*.log 2>/dev/null | tail -5 | while read -r line; do
|
|
262
|
+
local msg
|
|
263
|
+
msg=$(echo "$line" | grep -o '"msg":"[^"]*"' | cut -d'"' -f4)
|
|
264
|
+
echo " ERROR: $msg"
|
|
265
|
+
done || echo " No errors found"
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
# === Quick Status ===
|
|
269
|
+
show_quick_status() {
|
|
270
|
+
echo -e "${BOLD}Hook System Status${NC}"
|
|
271
|
+
echo ""
|
|
272
|
+
|
|
273
|
+
# Check libraries
|
|
274
|
+
local libs_ok=true
|
|
275
|
+
for lib in semaphore.sh circuit-breaker.sh metrics.sh logging.sh; do
|
|
276
|
+
if [[ -f "$HOOK_LIB_DIR/$lib" ]]; then
|
|
277
|
+
echo -e " ${GREEN}✓${NC} $lib"
|
|
278
|
+
else
|
|
279
|
+
echo -e " ${RED}✗${NC} $lib (missing)"
|
|
280
|
+
libs_ok=false
|
|
281
|
+
fi
|
|
282
|
+
done
|
|
283
|
+
|
|
284
|
+
echo ""
|
|
285
|
+
|
|
286
|
+
# System health
|
|
287
|
+
if source_lib "metrics.sh"; then
|
|
288
|
+
local health
|
|
289
|
+
health=$(metrics_system_health)
|
|
290
|
+
local status
|
|
291
|
+
status=$(echo "$health" | grep -o '"status":"[^"]*"' | cut -d'"' -f4)
|
|
292
|
+
print_status "$status" "System health: $status"
|
|
293
|
+
fi
|
|
294
|
+
|
|
295
|
+
# Semaphore
|
|
296
|
+
if source_lib "semaphore.sh"; then
|
|
297
|
+
local sem_status
|
|
298
|
+
sem_status=$(get_semaphore_status "hooks" 15)
|
|
299
|
+
local active
|
|
300
|
+
active=$(echo "$sem_status" | grep -o '"active":[0-9]*' | cut -d':' -f2)
|
|
301
|
+
echo " Active hooks: $active/15"
|
|
302
|
+
fi
|
|
303
|
+
|
|
304
|
+
# Recent failures
|
|
305
|
+
local failure_log="$HOME/.claude/hook-failures.log"
|
|
306
|
+
if [[ -f "$failure_log" ]]; then
|
|
307
|
+
local recent_failures
|
|
308
|
+
recent_failures=$(tail -100 "$failure_log" 2>/dev/null | grep -c "$(date +%Y-%m-%d)" 2>/dev/null) || recent_failures=0
|
|
309
|
+
if [[ "$recent_failures" -gt 0 ]]; then
|
|
310
|
+
echo -e " ${YELLOW}⚠${NC} Today's failures: $recent_failures"
|
|
311
|
+
fi
|
|
312
|
+
fi
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
# === Reset Circuit Breakers ===
|
|
316
|
+
reset_circuit_breakers() {
|
|
317
|
+
print_section "Resetting Circuit Breakers"
|
|
318
|
+
|
|
319
|
+
if ! source_lib "circuit-breaker.sh"; then
|
|
320
|
+
echo " Circuit breaker library not found"
|
|
321
|
+
return 1
|
|
322
|
+
fi
|
|
323
|
+
|
|
324
|
+
local cb_dir="$STATE_DIR/circuit-breakers"
|
|
325
|
+
if [[ ! -d "$cb_dir" ]]; then
|
|
326
|
+
echo " No circuit breakers to reset"
|
|
327
|
+
return 0
|
|
328
|
+
fi
|
|
329
|
+
|
|
330
|
+
for state_file in "$cb_dir"/*.state; do
|
|
331
|
+
[[ ! -f "$state_file" ]] && continue
|
|
332
|
+
|
|
333
|
+
local name
|
|
334
|
+
name=$(basename "$state_file" .state)
|
|
335
|
+
cb_reset "$name"
|
|
336
|
+
echo " ✓ Reset: $name"
|
|
337
|
+
done
|
|
338
|
+
|
|
339
|
+
echo ""
|
|
340
|
+
echo " All circuit breakers reset to CLOSED state"
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
# === Cleanup Stale State ===
|
|
344
|
+
cleanup_state() {
|
|
345
|
+
print_section "Cleaning Up Stale State"
|
|
346
|
+
|
|
347
|
+
# Clean semaphore locks
|
|
348
|
+
local sem_dir="$STATE_DIR/semaphores"
|
|
349
|
+
if [[ -d "$sem_dir" ]]; then
|
|
350
|
+
local stale_count=0
|
|
351
|
+
for lock_dir in "$sem_dir"/*; do
|
|
352
|
+
[[ ! -d "$lock_dir" ]] && continue
|
|
353
|
+
if source_lib "semaphore.sh"; then
|
|
354
|
+
local name
|
|
355
|
+
name=$(basename "$lock_dir")
|
|
356
|
+
cleanup_stale_locks "$name"
|
|
357
|
+
stale_count=$((stale_count + 1))
|
|
358
|
+
fi
|
|
359
|
+
done
|
|
360
|
+
echo " ✓ Cleaned semaphore locks ($stale_count pools)"
|
|
361
|
+
fi
|
|
362
|
+
|
|
363
|
+
# Clean old metrics
|
|
364
|
+
local metrics_dir="$STATE_DIR/metrics"
|
|
365
|
+
if [[ -d "$metrics_dir" ]]; then
|
|
366
|
+
# Remove hourly files older than 24 hours
|
|
367
|
+
find "$metrics_dir" -name "*.hourly.*" -mtime +1 -delete 2>/dev/null || true
|
|
368
|
+
echo " ✓ Cleaned old hourly metrics"
|
|
369
|
+
fi
|
|
370
|
+
|
|
371
|
+
# Rotate log files
|
|
372
|
+
if [[ -d "$LOG_DIR" ]]; then
|
|
373
|
+
for log_file in "$LOG_DIR"/*.log; do
|
|
374
|
+
[[ ! -f "$log_file" ]] && continue
|
|
375
|
+
local lines
|
|
376
|
+
lines=$(wc -l < "$log_file" 2>/dev/null | tr -d ' ')
|
|
377
|
+
if [[ "$lines" -gt 10000 ]]; then
|
|
378
|
+
tail -5000 "$log_file" > "${log_file}.tmp" && mv "${log_file}.tmp" "$log_file"
|
|
379
|
+
echo " ✓ Rotated $(basename "$log_file") ($lines -> 5000 lines)"
|
|
380
|
+
fi
|
|
381
|
+
done
|
|
382
|
+
fi
|
|
383
|
+
|
|
384
|
+
echo ""
|
|
385
|
+
echo " Cleanup complete"
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
# === Full Dashboard ===
|
|
389
|
+
show_dashboard() {
|
|
390
|
+
print_header "SpecWeave Hook Health Dashboard"
|
|
391
|
+
echo " $(date)"
|
|
392
|
+
|
|
393
|
+
show_circuit_breakers
|
|
394
|
+
show_semaphore_status
|
|
395
|
+
show_metrics
|
|
396
|
+
show_recent_failures
|
|
397
|
+
show_recent_logs
|
|
398
|
+
|
|
399
|
+
echo ""
|
|
400
|
+
echo -e "${CYAN}Commands:${NC}"
|
|
401
|
+
echo " bash hook-health.sh --status Quick status check"
|
|
402
|
+
echo " bash hook-health.sh --metrics Detailed metrics"
|
|
403
|
+
echo " bash hook-health.sh --reset Reset circuit breakers"
|
|
404
|
+
echo " bash hook-health.sh --clean Clean stale state"
|
|
405
|
+
echo ""
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
# === Main ===
|
|
409
|
+
main() {
|
|
410
|
+
case "${1:-}" in
|
|
411
|
+
--status|-s)
|
|
412
|
+
show_quick_status
|
|
413
|
+
;;
|
|
414
|
+
--metrics|-m)
|
|
415
|
+
source_lib "metrics.sh" && show_metrics "--detailed"
|
|
416
|
+
;;
|
|
417
|
+
--reset|-r)
|
|
418
|
+
reset_circuit_breakers
|
|
419
|
+
;;
|
|
420
|
+
--clean|-c)
|
|
421
|
+
cleanup_state
|
|
422
|
+
;;
|
|
423
|
+
--help|-h)
|
|
424
|
+
echo "Usage: hook-health.sh [option]"
|
|
425
|
+
echo ""
|
|
426
|
+
echo "Options:"
|
|
427
|
+
echo " --status, -s Quick status check"
|
|
428
|
+
echo " --metrics, -m Detailed metrics"
|
|
429
|
+
echo " --reset, -r Reset circuit breakers"
|
|
430
|
+
echo " --clean, -c Clean stale state"
|
|
431
|
+
echo " --help, -h Show this help"
|
|
432
|
+
echo ""
|
|
433
|
+
echo "No option: Full dashboard"
|
|
434
|
+
;;
|
|
435
|
+
*)
|
|
436
|
+
show_dashboard
|
|
437
|
+
;;
|
|
438
|
+
esac
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
main "$@"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sw-backend",
|
|
3
3
|
"description": "Backend API development for Node.js, Python, and .NET stacks. Includes Express, NestJS, FastAPI, Django, Flask, ASP.NET Core, and Entity Framework Core. Focus on REST APIs, authentication, database operations, and background services.",
|
|
4
|
-
"version": "1.0.0
|
|
4
|
+
"version": "1.0.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "SpecWeave Team",
|
|
7
7
|
"url": "https://spec-weave.com"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sw-confluent",
|
|
3
3
|
"description": "Confluent Cloud integration for SpecWeave - Schema Registry, ksqlDB, Kafka Connect, Flink, stream processing, and enterprise Kafka features",
|
|
4
|
-
"version": "1.0.0
|
|
4
|
+
"version": "1.0.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "SpecWeave Team",
|
|
7
7
|
"url": "https://spec-weave.com"
|