specweave 1.0.581 → 1.0.583

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.
Files changed (91) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/dist/plugins/specweave/lib/vendor/core/increment/ac-status-manager.js +6 -1
  3. package/dist/plugins/specweave/lib/vendor/core/increment/ac-status-manager.js.map +1 -1
  4. package/dist/src/cli/commands/doctor.d.ts.map +1 -1
  5. package/dist/src/cli/commands/doctor.js +12 -5
  6. package/dist/src/cli/commands/doctor.js.map +1 -1
  7. package/dist/src/core/config/types.d.ts +16 -0
  8. package/dist/src/core/config/types.d.ts.map +1 -1
  9. package/dist/src/core/config/types.js.map +1 -1
  10. package/dist/src/core/doctor/checkers/plugin-currency-checker.d.ts +26 -0
  11. package/dist/src/core/doctor/checkers/plugin-currency-checker.d.ts.map +1 -0
  12. package/dist/src/core/doctor/checkers/plugin-currency-checker.js +128 -0
  13. package/dist/src/core/doctor/checkers/plugin-currency-checker.js.map +1 -0
  14. package/dist/src/core/doctor/checkers/skill-currency-checker.d.ts +25 -0
  15. package/dist/src/core/doctor/checkers/skill-currency-checker.d.ts.map +1 -0
  16. package/dist/src/core/doctor/checkers/skill-currency-checker.js +98 -0
  17. package/dist/src/core/doctor/checkers/skill-currency-checker.js.map +1 -0
  18. package/dist/src/core/doctor/doctor.d.ts.map +1 -1
  19. package/dist/src/core/doctor/doctor.js +4 -0
  20. package/dist/src/core/doctor/doctor.js.map +1 -1
  21. package/dist/src/core/doctor/types.d.ts +7 -0
  22. package/dist/src/core/doctor/types.d.ts.map +1 -1
  23. package/dist/src/core/doctor/types.js.map +1 -1
  24. package/dist/src/core/hooks/handlers/banner-check.d.ts +42 -0
  25. package/dist/src/core/hooks/handlers/banner-check.d.ts.map +1 -0
  26. package/dist/src/core/hooks/handlers/banner-check.js +180 -0
  27. package/dist/src/core/hooks/handlers/banner-check.js.map +1 -0
  28. package/dist/src/core/hooks/handlers/banner-state.d.ts +44 -0
  29. package/dist/src/core/hooks/handlers/banner-state.d.ts.map +1 -0
  30. package/dist/src/core/hooks/handlers/banner-state.js +100 -0
  31. package/dist/src/core/hooks/handlers/banner-state.js.map +1 -0
  32. package/dist/src/core/hooks/handlers/user-prompt-submit.d.ts.map +1 -1
  33. package/dist/src/core/hooks/handlers/user-prompt-submit.js +16 -0
  34. package/dist/src/core/hooks/handlers/user-prompt-submit.js.map +1 -1
  35. package/dist/src/core/increment/ac-status-manager.d.ts.map +1 -1
  36. package/dist/src/core/increment/ac-status-manager.js +6 -1
  37. package/dist/src/core/increment/ac-status-manager.js.map +1 -1
  38. package/dist/src/core/specs/spec-content-sync.d.ts.map +1 -1
  39. package/dist/src/core/specs/spec-content-sync.js +8 -4
  40. package/dist/src/core/specs/spec-content-sync.js.map +1 -1
  41. package/package.json +2 -2
  42. package/plugins/specweave/.claude-plugin/plugin.json +1 -1
  43. package/plugins/specweave/lib/vendor/core/increment/ac-status-manager.js +6 -1
  44. package/plugins/specweave/lib/vendor/core/increment/ac-status-manager.js.map +1 -1
  45. package/plugins/specweave/skills/ado-mapper/SKILL.md +1 -0
  46. package/plugins/specweave/skills/ado-multi-project/SKILL.md +1 -0
  47. package/plugins/specweave/skills/ado-resource-validator/SKILL.md +1 -0
  48. package/plugins/specweave/skills/ado-sync/SKILL.md +1 -0
  49. package/plugins/specweave/skills/analytics/SKILL.md +1 -0
  50. package/plugins/specweave/skills/architect/SKILL.md +1 -0
  51. package/plugins/specweave/skills/auto/SKILL.md +1 -0
  52. package/plugins/specweave/skills/brainstorm/SKILL.md +1 -0
  53. package/plugins/specweave/skills/close-all/SKILL.md +1 -0
  54. package/plugins/specweave/skills/code-reviewer/SKILL.md +1 -0
  55. package/plugins/specweave/skills/debug/SKILL.md +1 -0
  56. package/plugins/specweave/skills/diagrams/SKILL.md +1 -0
  57. package/plugins/specweave/skills/do/SKILL.md +1 -0
  58. package/plugins/specweave/skills/done/SKILL.md +1 -0
  59. package/plugins/specweave/skills/e2e/SKILL.md +1 -0
  60. package/plugins/specweave/skills/github-multi-project/SKILL.md +1 -0
  61. package/plugins/specweave/skills/github-sync/SKILL.md +1 -0
  62. package/plugins/specweave/skills/grill/SKILL.md +1 -0
  63. package/plugins/specweave/skills/help/SKILL.md +1 -0
  64. package/plugins/specweave/skills/image/SKILL.md +1 -0
  65. package/plugins/specweave/skills/import/SKILL.md +1 -0
  66. package/plugins/specweave/skills/increment/SKILL.md +1 -0
  67. package/plugins/specweave/skills/jira-mapper/SKILL.md +1 -0
  68. package/plugins/specweave/skills/jira-resource-validator/SKILL.md +1 -0
  69. package/plugins/specweave/skills/jira-sync/SKILL.md +1 -0
  70. package/plugins/specweave/skills/judge-llm/SKILL.md +1 -0
  71. package/plugins/specweave/skills/multi-project/SKILL.md +1 -0
  72. package/plugins/specweave/skills/npm/SKILL.md +1 -0
  73. package/plugins/specweave/skills/plan/SKILL.md +1 -0
  74. package/plugins/specweave/skills/pm/SKILL.md +1 -0
  75. package/plugins/specweave/skills/pr/SKILL.md +1 -0
  76. package/plugins/specweave/skills/pr-review/SKILL.md +1 -0
  77. package/plugins/specweave/skills/progress-sync/SKILL.md +1 -0
  78. package/plugins/specweave/skills/release-expert/SKILL.md +1 -0
  79. package/plugins/specweave/skills/remotion/SKILL.md +1 -0
  80. package/plugins/specweave/skills/skill-gen/SKILL.md +1 -0
  81. package/plugins/specweave/skills/skill-refine/SKILL.md +1 -0
  82. package/plugins/specweave/skills/sync-docs/SKILL.md +1 -0
  83. package/plugins/specweave/skills/tdd-cycle/SKILL.md +1 -0
  84. package/plugins/specweave/skills/tdd-green/SKILL.md +1 -0
  85. package/plugins/specweave/skills/tdd-red/SKILL.md +1 -0
  86. package/plugins/specweave/skills/tdd-refactor/SKILL.md +1 -0
  87. package/plugins/specweave/skills/team-build/SKILL.md +1 -0
  88. package/plugins/specweave/skills/team-lead/SKILL.md +1 -0
  89. package/plugins/specweave/skills/team-merge/SKILL.md +1 -0
  90. package/plugins/specweave/skills/validate/SKILL.md +1 -0
  91. package/plugins/specweave/skills/video/SKILL.md +1 -0
@@ -34,6 +34,13 @@ export interface DoctorOptions {
34
34
  fix?: boolean;
35
35
  quick?: boolean;
36
36
  skipExternal?: boolean;
37
+ /**
38
+ * Suppress all stdout output (preserves exit code from summary.failures).
39
+ * Used by the session-start banner hook (increment 0796) which calls
40
+ * doctor for its side-effect (`runDoctor` returns a report) but doesn't
41
+ * want to pollute the user's terminal. ADR 0796-04.
42
+ */
43
+ quiet?: boolean;
37
44
  }
38
45
  export interface HealthChecker {
39
46
  category: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/doctor/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAKzE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/doctor/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAKzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/doctor/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8CH;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAqB;IAC1D,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3D,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3D,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5D,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/doctor/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqDH;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAqB;IAC1D,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3D,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3D,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5D,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Session-Start Banner Check (increment 0796 / T-004)
3
+ *
4
+ * Decides whether to surface a one-line update banner to the user at the
5
+ * start of a Claude Code session. Wraps the 0794 doctor checkers
6
+ * (PluginCurrencyChecker, SkillCurrencyChecker), throttles to once per
7
+ * the configured window (default 24h), and silently degrades on every
8
+ * imaginable failure mode (network, parse error, missing files, timeout).
9
+ * Hook callers must NEVER block prompt submission on this — see
10
+ * ADR 0796-03 (failure-mode policy).
11
+ */
12
+ import { type BannerState } from './banner-state.js';
13
+ import type { HookContext } from './types.js';
14
+ interface BannerConfig {
15
+ disabled?: boolean;
16
+ throttleHours?: number;
17
+ }
18
+ /**
19
+ * Returns true when the cached banner state should be discarded and
20
+ * `specweave doctor` re-run. ADR 0796-02 — Decision 2 lists six conditions
21
+ * any of which forces a re-check.
22
+ */
23
+ export declare function isThrottleExpired(state: BannerState | null, context: HookContext, config?: BannerConfig): boolean;
24
+ /**
25
+ * Format a banner string from the cached doctor result. Returns null when
26
+ * neither plugins nor skills have updates (no banner needed).
27
+ */
28
+ export declare function formatBanner(result: BannerState['lastResult']): string | null;
29
+ /**
30
+ * Orchestrate the banner check:
31
+ * 1. Read cached state.
32
+ * 2. If throttle not expired → return cached banner immediately (~10ms).
33
+ * 3. Otherwise run `specweave doctor --quick --skip-external --quiet`
34
+ * under an 800ms timeout, count warn/fail in the two new currency
35
+ * categories, persist the state, and return the formatted banner.
36
+ *
37
+ * Every error path returns null silently — the user's prompt is never
38
+ * blocked on a failure (ADR 0796-03).
39
+ */
40
+ export declare function checkBanner(context: HookContext, config?: BannerConfig): Promise<string | null>;
41
+ export {};
42
+ //# sourceMappingURL=banner-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner-check.d.ts","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/banner-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAO9C,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,GAAG,IAAI,EACzB,OAAO,EAAE,WAAW,EACpB,MAAM,GAAE,YAAiB,GACxB,OAAO,CA8BT;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,MAAM,GAAG,IAAI,CAsB7E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,MAAM,GAAE,YAAiB,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqDxB"}
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Session-Start Banner Check (increment 0796 / T-004)
3
+ *
4
+ * Decides whether to surface a one-line update banner to the user at the
5
+ * start of a Claude Code session. Wraps the 0794 doctor checkers
6
+ * (PluginCurrencyChecker, SkillCurrencyChecker), throttles to once per
7
+ * the configured window (default 24h), and silently degrades on every
8
+ * imaginable failure mode (network, parse error, missing files, timeout).
9
+ * Hook callers must NEVER block prompt submission on this — see
10
+ * ADR 0796-03 (failure-mode policy).
11
+ */
12
+ import { existsSync, statSync } from 'node:fs';
13
+ import { join } from 'node:path';
14
+ import { homedir } from 'node:os';
15
+ import { runDoctor } from '../../doctor/doctor.js';
16
+ import { readBannerState, writeBannerStateAtomic, } from './banner-state.js';
17
+ const DEFAULT_THROTTLE_HOURS = 24;
18
+ const MIN_THROTTLE_HOURS = 1;
19
+ const MAX_THROTTLE_HOURS = 168;
20
+ const DOCTOR_TIMEOUT_MS = 800;
21
+ /**
22
+ * Returns true when the cached banner state should be discarded and
23
+ * `specweave doctor` re-run. ADR 0796-02 — Decision 2 lists six conditions
24
+ * any of which forces a re-check.
25
+ */
26
+ export function isThrottleExpired(state, context, config = {}) {
27
+ if (!state)
28
+ return true;
29
+ if (state.version !== 1)
30
+ return true;
31
+ const throttleHours = clampThrottleHours(config.throttleHours ?? DEFAULT_THROTTLE_HOURS);
32
+ const throttleMs = throttleHours * 3600 * 1000;
33
+ const lastCheckMs = Date.parse(state.lastCheckAt);
34
+ if (Number.isNaN(lastCheckMs))
35
+ return true;
36
+ // Math.abs — treat clock skew (negative elapsed) as expired
37
+ if (Math.abs(Date.now() - lastCheckMs) > throttleMs)
38
+ return true;
39
+ // Watch the three files that can change update visibility outside the
40
+ // throttle window. Missing files are tolerated (skip the comparison).
41
+ const watchPaths = [
42
+ context.configPath,
43
+ join(homedir(), '.claude', 'plugins', 'installed_plugins.json'),
44
+ join(context.projectRoot, 'vskill.lock'),
45
+ ];
46
+ for (const p of watchPaths) {
47
+ if (!existsSync(p))
48
+ continue;
49
+ try {
50
+ if (statSync(p).mtimeMs > lastCheckMs)
51
+ return true;
52
+ }
53
+ catch {
54
+ // Stat failure → re-check to be safe
55
+ return true;
56
+ }
57
+ }
58
+ return false;
59
+ }
60
+ /**
61
+ * Format a banner string from the cached doctor result. Returns null when
62
+ * neither plugins nor skills have updates (no banner needed).
63
+ */
64
+ export function formatBanner(result) {
65
+ const total = (result.pluginUpdates ?? 0) + (result.skillUpdates ?? 0);
66
+ if (total <= 0)
67
+ return null;
68
+ const parts = [];
69
+ if (result.pluginUpdates > 0) {
70
+ parts.push(`${result.pluginUpdates} plugin${result.pluginUpdates === 1 ? '' : 's'}`);
71
+ }
72
+ if (result.skillUpdates > 0) {
73
+ parts.push(`${result.skillUpdates} skill${result.skillUpdates === 1 ? '' : 's'}`);
74
+ }
75
+ const lead = `[SpecWeave] ${parts.join(' and ')} have updates available.`;
76
+ const apply = [];
77
+ if (result.pluginUpdates > 0)
78
+ apply.push('specweave refresh-plugins');
79
+ if (result.skillUpdates > 0)
80
+ apply.push('vskill update --all');
81
+ return [
82
+ lead,
83
+ ` Run: specweave doctor (full report)`,
84
+ ` Or: ${apply.join(' && ')} (apply)`,
85
+ ` Disable banner: set hooks.banner.disabled = true in .specweave/config.json`,
86
+ ].join('\n');
87
+ }
88
+ /**
89
+ * Orchestrate the banner check:
90
+ * 1. Read cached state.
91
+ * 2. If throttle not expired → return cached banner immediately (~10ms).
92
+ * 3. Otherwise run `specweave doctor --quick --skip-external --quiet`
93
+ * under an 800ms timeout, count warn/fail in the two new currency
94
+ * categories, persist the state, and return the formatted banner.
95
+ *
96
+ * Every error path returns null silently — the user's prompt is never
97
+ * blocked on a failure (ADR 0796-03).
98
+ */
99
+ export async function checkBanner(context, config = {}) {
100
+ if (config.disabled === true)
101
+ return null;
102
+ let state = null;
103
+ try {
104
+ state = readBannerState(context.stateDir);
105
+ }
106
+ catch {
107
+ state = null;
108
+ }
109
+ if (!isThrottleExpired(state, context, config)) {
110
+ return state ? formatBanner(state.lastResult) : null;
111
+ }
112
+ // Cold path: run doctor under timeout
113
+ const doctorPromise = runDoctor(context.projectRoot, {
114
+ quick: true,
115
+ skipExternal: true,
116
+ quiet: true,
117
+ }).catch(() => null);
118
+ const timeoutPromise = new Promise((resolve) => setTimeout(() => resolve(null), DOCTOR_TIMEOUT_MS));
119
+ let report = null;
120
+ try {
121
+ report = await Promise.race([doctorPromise, timeoutPromise]);
122
+ }
123
+ catch {
124
+ report = null;
125
+ }
126
+ if (!report)
127
+ return null;
128
+ const pluginUpdates = countOutdatedInCategory(report, 'Plugin Currency');
129
+ const skillUpdates = countOutdatedInCategory(report, 'Skill Currency');
130
+ const newState = {
131
+ version: 1,
132
+ lastCheckAt: new Date().toISOString(),
133
+ lastResult: {
134
+ pluginUpdates,
135
+ skillUpdates,
136
+ doctorStatus: pickStatus(report),
137
+ },
138
+ lastBannerShownAt: pluginUpdates + skillUpdates > 0 ? new Date().toISOString() : (state?.lastBannerShownAt ?? null),
139
+ };
140
+ try {
141
+ writeBannerStateAtomic(context.stateDir, newState);
142
+ }
143
+ catch {
144
+ // Persist failure — still return the banner this turn so we don't lose the signal
145
+ }
146
+ return formatBanner(newState.lastResult);
147
+ }
148
+ function clampThrottleHours(h) {
149
+ if (!Number.isFinite(h))
150
+ return DEFAULT_THROTTLE_HOURS;
151
+ return Math.min(Math.max(h, MIN_THROTTLE_HOURS), MAX_THROTTLE_HOURS);
152
+ }
153
+ function countOutdatedInCategory(report, categoryName) {
154
+ const cat = report.categories.find((c) => c.category === categoryName);
155
+ if (!cat)
156
+ return 0;
157
+ // Parse the message: "N plugin install(s) outdated" / "N skill(s) outdated"
158
+ // Fall back to "1 if status is warn" — count is informational, banner only
159
+ // distinguishes zero vs non-zero for the printing decision.
160
+ for (const check of cat.checks) {
161
+ if (check.status !== 'warn' && check.status !== 'fail')
162
+ continue;
163
+ const m = /^(\d+)\s/.exec(check.message);
164
+ if (m)
165
+ return parseInt(m[1], 10);
166
+ return 1; // warn/fail without a number → at least 1 outdated
167
+ }
168
+ return 0;
169
+ }
170
+ function pickStatus(report) {
171
+ const interesting = report.categories.filter((c) => c.category === 'Plugin Currency' || c.category === 'Skill Currency');
172
+ if (interesting.some((c) => c.status === 'fail'))
173
+ return 'fail';
174
+ if (interesting.some((c) => c.status === 'warn'))
175
+ return 'warn';
176
+ if (interesting.every((c) => c.status === 'skip'))
177
+ return 'skip';
178
+ return 'pass';
179
+ }
180
+ //# sourceMappingURL=banner-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner-check.js","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/banner-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Banner Throttle State (increment 0796 / T-003)
3
+ *
4
+ * Persists the result of the most recent session-start banner check to
5
+ * `<.specweave/state>/banner-last-check.json`. Used by the
6
+ * UserPromptSubmit hook to short-circuit subsequent prompts within the
7
+ * configured throttle window without re-running `specweave doctor`.
8
+ *
9
+ * Atomic write semantics: the new state is written to `*.tmp` first, then
10
+ * `fs.renameSync` is used to swap it into place. This prevents partial
11
+ * reads when multiple Claude Code windows fire UserPromptSubmit hooks
12
+ * concurrently. Reads are tolerant — any malformed or schema-mismatched
13
+ * file is treated as "never checked" so a corrupt state file can never
14
+ * block prompt submission. ADR 0796-02 (throttle semantics), ADR 0796-03
15
+ * (failure-mode policy).
16
+ */
17
+ declare const SCHEMA_VERSION: 1;
18
+ export interface BannerState {
19
+ version: typeof SCHEMA_VERSION;
20
+ lastCheckAt: string;
21
+ lastResult: {
22
+ pluginUpdates: number;
23
+ skillUpdates: number;
24
+ doctorStatus: 'pass' | 'warn' | 'fail' | 'skip';
25
+ };
26
+ /** ISO timestamp the banner was last shown to the user, or null if never. */
27
+ lastBannerShownAt: string | null;
28
+ }
29
+ export declare function bannerStatePath(stateDir: string): string;
30
+ /**
31
+ * Read the throttle state. Returns null when the file is missing,
32
+ * unparseable, or carries a schema version we don't understand. Never
33
+ * throws — this is the hot path for every UserPromptSubmit and must
34
+ * degrade silently.
35
+ */
36
+ export declare function readBannerState(stateDir: string): BannerState | null;
37
+ /**
38
+ * Write the throttle state atomically. Creates the parent directory if
39
+ * missing. The temp file is removed on success (only the final file
40
+ * remains).
41
+ */
42
+ export declare function writeBannerStateAtomic(stateDir: string, state: BannerState): void;
43
+ export {};
44
+ //# sourceMappingURL=banner-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner-state.d.ts","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/banner-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,QAAA,MAAM,cAAc,EAAG,CAAU,CAAC;AAElC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,cAAc,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;KACjD,CAAC;IACF,6EAA6E;IAC7E,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAiBpE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAcjF"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Banner Throttle State (increment 0796 / T-003)
3
+ *
4
+ * Persists the result of the most recent session-start banner check to
5
+ * `<.specweave/state>/banner-last-check.json`. Used by the
6
+ * UserPromptSubmit hook to short-circuit subsequent prompts within the
7
+ * configured throttle window without re-running `specweave doctor`.
8
+ *
9
+ * Atomic write semantics: the new state is written to `*.tmp` first, then
10
+ * `fs.renameSync` is used to swap it into place. This prevents partial
11
+ * reads when multiple Claude Code windows fire UserPromptSubmit hooks
12
+ * concurrently. Reads are tolerant — any malformed or schema-mismatched
13
+ * file is treated as "never checked" so a corrupt state file can never
14
+ * block prompt submission. ADR 0796-02 (throttle semantics), ADR 0796-03
15
+ * (failure-mode policy).
16
+ */
17
+ import { existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from 'node:fs';
18
+ import { join } from 'node:path';
19
+ const FILE_NAME = 'banner-last-check.json';
20
+ const SCHEMA_VERSION = 1;
21
+ export function bannerStatePath(stateDir) {
22
+ return join(stateDir, FILE_NAME);
23
+ }
24
+ /**
25
+ * Read the throttle state. Returns null when the file is missing,
26
+ * unparseable, or carries a schema version we don't understand. Never
27
+ * throws — this is the hot path for every UserPromptSubmit and must
28
+ * degrade silently.
29
+ */
30
+ export function readBannerState(stateDir) {
31
+ const filePath = bannerStatePath(stateDir);
32
+ if (!existsSync(filePath))
33
+ return null;
34
+ let raw;
35
+ try {
36
+ raw = readFileSync(filePath, 'utf8');
37
+ }
38
+ catch {
39
+ return null;
40
+ }
41
+ let parsed;
42
+ try {
43
+ parsed = JSON.parse(raw);
44
+ }
45
+ catch {
46
+ return null;
47
+ }
48
+ if (!isBannerState(parsed))
49
+ return null;
50
+ return parsed;
51
+ }
52
+ /**
53
+ * Write the throttle state atomically. Creates the parent directory if
54
+ * missing. The temp file is removed on success (only the final file
55
+ * remains).
56
+ */
57
+ export function writeBannerStateAtomic(stateDir, state) {
58
+ if (!existsSync(stateDir)) {
59
+ mkdirSync(stateDir, { recursive: true });
60
+ }
61
+ const finalPath = bannerStatePath(stateDir);
62
+ const tmpPath = finalPath + '.tmp';
63
+ writeFileSync(tmpPath, JSON.stringify(state, null, 2) + '\n');
64
+ try {
65
+ renameSync(tmpPath, finalPath);
66
+ }
67
+ catch (err) {
68
+ // Best-effort cleanup so we don't leave orphaned .tmp files behind
69
+ try {
70
+ unlinkSync(tmpPath);
71
+ }
72
+ catch { /* ignore */ }
73
+ throw err;
74
+ }
75
+ }
76
+ function isBannerState(value) {
77
+ if (typeof value !== 'object' || value === null)
78
+ return false;
79
+ const v = value;
80
+ if (v.version !== SCHEMA_VERSION)
81
+ return false;
82
+ if (typeof v.lastCheckAt !== 'string')
83
+ return false;
84
+ if (!('lastBannerShownAt' in v))
85
+ return false;
86
+ if (v.lastBannerShownAt !== null && typeof v.lastBannerShownAt !== 'string')
87
+ return false;
88
+ if (typeof v.lastResult !== 'object' || v.lastResult === null)
89
+ return false;
90
+ const r = v.lastResult;
91
+ if (typeof r.pluginUpdates !== 'number')
92
+ return false;
93
+ if (typeof r.skillUpdates !== 'number')
94
+ return false;
95
+ const status = r.doctorStatus;
96
+ if (status !== 'pass' && status !== 'warn' && status !== 'fail' && status !== 'skip')
97
+ return false;
98
+ return true;
99
+ }
100
+ //# sourceMappingURL=banner-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner-state.js","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/banner-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-prompt-submit.d.ts","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/user-prompt-submit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,SAAS,EAA2B,MAAM,YAAY,CAAC;AAyHrE,eAAO,MAAM,MAAM,EAAE,SAsDpB,CAAC"}
1
+ {"version":3,"file":"user-prompt-submit.d.ts","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/user-prompt-submit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,SAAS,EAA2B,MAAM,YAAY,CAAC;AA0HrE,eAAO,MAAM,MAAM,EAAE,SAoEpB,CAAC"}
@@ -12,6 +12,7 @@
12
12
  import * as fs from 'fs';
13
13
  import * as path from 'path';
14
14
  import { logHook } from './utils.js';
15
+ import { checkBanner } from './banner-check.js';
15
16
  /** Built-in Claude Code commands that should bypass all SpecWeave processing */
16
17
  const BUILTIN_COMMANDS = [
17
18
  '/help', '/clear', '/config', '/status', '/context', '/compact', '/cost',
@@ -162,6 +163,21 @@ export const handle = async (input, context) => {
162
163
  const tddCtx = buildTddContext(context);
163
164
  if (tddCtx)
164
165
  contextParts.push(tddCtx);
166
+ // 0796 / T-005 — session-start banner for plugin/skill updates.
167
+ // Throttled, opt-out via hooks.banner.disabled. Errors NEVER block
168
+ // the prompt: any exception inside checkBanner is caught and logged.
169
+ try {
170
+ const cfg = readJsonSafe(context.configPath, context);
171
+ const bannerCfg = cfg?.hooks?.banner;
172
+ if (bannerCfg?.disabled !== true) {
173
+ const banner = await checkBanner(context, bannerCfg ?? {});
174
+ if (banner)
175
+ contextParts.push(banner);
176
+ }
177
+ }
178
+ catch (err) {
179
+ logHook(context, 'user-prompt-submit', `banner check error: ${err instanceof Error ? err.message : String(err)}`);
180
+ }
165
181
  const combined = contextParts.join('\n');
166
182
  if (combined) {
167
183
  logHook(context, 'user-prompt-submit', 'Injecting context');
@@ -1 +1 @@
1
- {"version":3,"file":"user-prompt-submit.js","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/user-prompt-submit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-prompt-submit.js","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/user-prompt-submit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ac-status-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/increment/ac-status-manager.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAI5B;;;;;OAKG;IACH,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAmF5E;;OAEG;IACH,OAAO,CAAC,cAAc;IAmCtB;;;;;OAKG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IA+B/D;;;;;OAKG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA4F9D;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IA4CpB;;;;;OAKG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB;IAmDxD;;;;;OAKG;IACH,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB;CAoCjE"}
1
+ {"version":3,"file":"ac-status-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/increment/ac-status-manager.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAI5B;;;;;OAKG;IACH,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAmF5E;;OAEG;IACH,OAAO,CAAC,cAAc;IAmCtB;;;;;OAKG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAoC/D;;;;;OAKG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA4F9D;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IA4CpB;;;;;OAKG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB;IAmDxD;;;;;OAKG;IACH,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB;CAoCjE"}
@@ -129,7 +129,12 @@ export class ACStatusManager {
129
129
  // Match AC checkbox pattern: - [ ] AC-ID: Description
130
130
  // or: - [x] AC-ID: Description
131
131
  // Also handles bold format: - [ ] **AC-ID**: Description
132
- const acMatch = line.match(/^-\s+\[([ x])\]\s+\*{0,2}(AC-[A-Z0-9-]+)\*{0,2}:\s*(.+)/);
132
+ // 0708 wrap-up: also accept a parenthetical annotation between the
133
+ // closing bold and the colon — e.g. `**AC-US1-01** (P0): description`
134
+ // or `**AC-US1-01** (NFR-002): …`. Without this branch the sync hook
135
+ // logs 23+ false-positive `acSyncEvents` warnings on increments that
136
+ // adopt the parenthetical priority/annotation style.
137
+ const acMatch = line.match(/^-\s+\[([ x])\]\s+\*{0,2}(AC-[A-Z0-9-]+)\*{0,2}\s*(?:\([^)]*\))?\s*:\s*(.+)/);
133
138
  if (acMatch) {
134
139
  const checked = acMatch[1] === 'x';
135
140
  const acId = acMatch[2];
@@ -1 +1 @@
1
- {"version":3,"file":"ac-status-manager.js","sourceRoot":"","sources":["../../../../src/core/increment/ac-status-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ac-status-manager.js","sourceRoot":"","sources":["../../../../src/core/increment/ac-status-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spec-content-sync.d.ts","sourceRoot":"","sources":["../../../../src/core/specs/spec-content-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,UAAU,EAAE,cAAc,CAAC;IAE3B,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,QAAQ,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,uBAAuB,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,qBAAqB,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;IAC1F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAoN7B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,WAAW,EACtB,eAAe,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAiB5C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAgClE;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAClC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAexB;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,EACnC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7E;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,IAAI,GAClB,OAAO,CAAC,OAAO,CAAC,CAIlB"}
1
+ {"version":3,"file":"spec-content-sync.d.ts","sourceRoot":"","sources":["../../../../src/core/specs/spec-content-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,UAAU,EAAE,cAAc,CAAC;IAE3B,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,QAAQ,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,uBAAuB,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,qBAAqB,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;IAC1F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAoN7B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,WAAW,EACtB,eAAe,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAiB5C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAgClE;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAClC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAexB;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,EACnC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7E;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,IAAI,GAClB,OAAO,CAAC,OAAO,CAAC,CAIlB"}
@@ -51,7 +51,11 @@ function extractACsFromSection(content, usNumberPattern, priority) {
51
51
  const acSectionMatch = content.match(/##\s+Acceptance Criteria\s*\n([\s\S]*?)(?=\n##|\n---|\z)/);
52
52
  if (!acSectionMatch)
53
53
  return [];
54
- const acRegex = new RegExp(`- \\[([ x])\\] \\*\\*AC-US0*${usNumberPattern}-(\\d+)\\*\\*:\\s*([^\\n]+)`, 'g');
54
+ // 0708 wrap-up: tolerate a parenthetical annotation between the closing
55
+ // bold and the colon, e.g. `**AC-US1-01** (P0): …`. Without the optional
56
+ // `\\([^)]*\\)?` branch the sync hook misses parenthetical-format ACs and
57
+ // logs false-positive desync warnings.
58
+ const acRegex = new RegExp(`- \\[([ x])\\] \\*\\*AC-US0*${usNumberPattern}-(\\d+)\\*\\*\\s*(?:\\([^)]*\\))?\\s*:\\s*([^\\n]+)`, 'g');
55
59
  return [...acSectionMatch[1].matchAll(acRegex)].map(acMatch => ({
56
60
  id: `AC-US${usNumberPattern}-${acMatch[2]}`,
57
61
  description: acMatch[3].trim(),
@@ -131,11 +135,11 @@ export async function parseSpecContent(specPath, options = {}) {
131
135
  // Pattern 3: AC-US-{prefix}-{number}-{seq} (e.g., AC-US-FE-001-01)
132
136
  const patterns = [
133
137
  // Legacy: AC-US1-01, AC-US001-01 → matches US-001
134
- new RegExp(`- \\[([ x])\\] \\*\\*AC-US0*(${usIdPattern.replace(/^0+/, '')})-(\\d+)\\*\\*:\\s*([^(\\n]+)(?:\\(([^)]+)\\))?`, 'g'),
138
+ new RegExp(`- \\[([ x])\\] \\*\\*AC-US0*(${usIdPattern.replace(/^0+/, '')})-(\\d+)\\*\\*\\s*(?:\\([^)]*\\))?\\s*:\\s*([^(\\n]+)(?:\\(([^)]+)\\))?`, 'g'),
135
139
  // Prefixed: AC-API-US2-01 → matches US-API-002
136
- new RegExp(`- \\[([ x])\\] \\*\\*AC-([A-Z]+)-US0*(${usIdPattern.replace(/^[A-Z]+-0*/, '')})-(\\d+)\\*\\*:\\s*([^(\\n]+)(?:\\(([^)]+)\\))?`, 'g'),
140
+ new RegExp(`- \\[([ x])\\] \\*\\*AC-([A-Z]+)-US0*(${usIdPattern.replace(/^[A-Z]+-0*/, '')})-(\\d+)\\*\\*\\s*(?:\\([^)]*\\))?\\s*:\\s*([^(\\n]+)(?:\\(([^)]+)\\))?`, 'g'),
137
141
  // Full match for flexible IDs
138
- new RegExp(`- \\[([ x])\\] \\*\\*AC-(?:[A-Z]+-)?US(?:[A-Z]*)?-?0*${usIdPattern.replace(/^[A-Z]+-0*/, '')}-(\\d+)\\*\\*:\\s*([^(\\n]+)(?:\\(([^)]+)\\))?`, 'g'),
142
+ new RegExp(`- \\[([ x])\\] \\*\\*AC-(?:[A-Z]+-)?US(?:[A-Z]*)?-?0*${usIdPattern.replace(/^[A-Z]+-0*/, '')}-(\\d+)\\*\\*\\s*(?:\\([^)]*\\))?\\s*:\\s*([^(\\n]+)(?:\\(([^)]+)\\))?`, 'g'),
139
143
  ];
140
144
  for (const acRegex of patterns) {
141
145
  const acMatches = [...searchContent.matchAll(acRegex)];