@su-record/vibe 2.6.23 → 2.6.26

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 (64) hide show
  1. package/agents/docs/api-documenter.md +99 -0
  2. package/agents/docs/changelog-writer.md +93 -0
  3. package/agents/planning/requirements-analyst.md +84 -0
  4. package/agents/planning/ux-advisor.md +83 -0
  5. package/agents/qa/acceptance-tester.md +86 -0
  6. package/agents/qa/edge-case-finder.md +93 -0
  7. package/commands/vibe.review.md +9 -5
  8. package/commands/vibe.run.md +9 -5
  9. package/commands/vibe.spec.review.md +18 -12
  10. package/dist/lib/MemoryManager.d.ts +11 -0
  11. package/dist/lib/MemoryManager.d.ts.map +1 -1
  12. package/dist/lib/MemoryManager.js +21 -0
  13. package/dist/lib/MemoryManager.js.map +1 -1
  14. package/dist/lib/memory/MemorySearch.d.ts +3 -1
  15. package/dist/lib/memory/MemorySearch.d.ts.map +1 -1
  16. package/dist/lib/memory/MemorySearch.js +60 -0
  17. package/dist/lib/memory/MemorySearch.js.map +1 -1
  18. package/dist/lib/memory/MemoryStorage.d.ts +12 -1
  19. package/dist/lib/memory/MemoryStorage.d.ts.map +1 -1
  20. package/dist/lib/memory/MemoryStorage.js +127 -1
  21. package/dist/lib/memory/MemoryStorage.js.map +1 -1
  22. package/dist/lib/memory/ObservationStore.d.ts +61 -0
  23. package/dist/lib/memory/ObservationStore.d.ts.map +1 -0
  24. package/dist/lib/memory/ObservationStore.js +119 -0
  25. package/dist/lib/memory/ObservationStore.js.map +1 -0
  26. package/dist/lib/memory/SessionSummarizer.d.ts +50 -0
  27. package/dist/lib/memory/SessionSummarizer.d.ts.map +1 -0
  28. package/dist/lib/memory/SessionSummarizer.js +157 -0
  29. package/dist/lib/memory/SessionSummarizer.js.map +1 -0
  30. package/dist/lib/memory/index.d.ts +1 -0
  31. package/dist/lib/memory/index.d.ts.map +1 -1
  32. package/dist/lib/memory/index.js +1 -0
  33. package/dist/lib/memory/index.js.map +1 -1
  34. package/dist/tools/memory/addObservation.d.ts +16 -0
  35. package/dist/tools/memory/addObservation.d.ts.map +1 -0
  36. package/dist/tools/memory/addObservation.js +71 -0
  37. package/dist/tools/memory/addObservation.js.map +1 -0
  38. package/dist/tools/memory/index.d.ts +2 -0
  39. package/dist/tools/memory/index.d.ts.map +1 -1
  40. package/dist/tools/memory/index.js +2 -0
  41. package/dist/tools/memory/index.js.map +1 -1
  42. package/dist/tools/memory/searchMemoriesAdvanced.d.ts.map +1 -1
  43. package/dist/tools/memory/searchMemoriesAdvanced.js +7 -5
  44. package/dist/tools/memory/searchMemoriesAdvanced.js.map +1 -1
  45. package/dist/tools/memory/searchObservations.d.ts +12 -0
  46. package/dist/tools/memory/searchObservations.d.ts.map +1 -0
  47. package/dist/tools/memory/searchObservations.js +67 -0
  48. package/dist/tools/memory/searchObservations.js.map +1 -0
  49. package/dist/tools/memory/startSession.d.ts.map +1 -1
  50. package/dist/tools/memory/startSession.js +16 -2
  51. package/dist/tools/memory/startSession.js.map +1 -1
  52. package/dist/tools/spec/e2eTestGenerator.d.ts +62 -0
  53. package/dist/tools/spec/e2eTestGenerator.d.ts.map +1 -0
  54. package/dist/tools/spec/e2eTestGenerator.js +256 -0
  55. package/dist/tools/spec/e2eTestGenerator.js.map +1 -0
  56. package/dist/tools/spec/index.d.ts +2 -0
  57. package/dist/tools/spec/index.d.ts.map +1 -1
  58. package/dist/tools/spec/index.js +2 -0
  59. package/dist/tools/spec/index.js.map +1 -1
  60. package/dist/types/tool.d.ts +1 -1
  61. package/dist/types/tool.d.ts.map +1 -1
  62. package/hooks/scripts/code-check.js +49 -1
  63. package/hooks/scripts/context-save.js +21 -1
  64. package/package.json +1 -1
@@ -0,0 +1,99 @@
1
+ # API Documenter
2
+
3
+ <!-- API Documentation Generation Agent -->
4
+
5
+ ## Role
6
+
7
+ - Analyze source code to extract API endpoints and interfaces
8
+ - Generate structured API documentation (request/response schemas)
9
+ - Identify undocumented endpoints and missing descriptions
10
+ - Verify error response documentation completeness
11
+ - Check authentication requirement documentation
12
+
13
+ ## Model
14
+
15
+ **Haiku** (inherit) - Fast analysis
16
+
17
+ ## CRITICAL: NO FILE CREATION
18
+
19
+ **THIS AGENT MUST NEVER CREATE FILES.**
20
+
21
+ - DO NOT use Write tool
22
+ - DO NOT create any files
23
+ - ONLY return documentation as text output
24
+ - Results can be used by other tools to generate files
25
+
26
+ ## Checklist
27
+
28
+ ### Endpoint Coverage
29
+
30
+ - [ ] All route handlers/controllers documented?
31
+ - [ ] HTTP method and path clearly specified?
32
+ - [ ] Request parameters (path, query, body) described?
33
+ - [ ] Response schemas for success and error cases?
34
+ - [ ] Authentication requirements noted?
35
+
36
+ ### Schema Quality
37
+
38
+ - [ ] All fields have types and descriptions?
39
+ - [ ] Required vs optional fields marked?
40
+ - [ ] Enum values listed?
41
+ - [ ] Nested objects described?
42
+ - [ ] Array item types specified?
43
+
44
+ ### Error Documentation
45
+
46
+ - [ ] All error status codes documented?
47
+ - [ ] Error response format specified?
48
+ - [ ] Common error scenarios listed?
49
+ - [ ] Rate limiting documented (if applicable)?
50
+
51
+ ### Examples
52
+
53
+ - [ ] Request examples for each endpoint?
54
+ - [ ] Response examples (success + error)?
55
+ - [ ] cURL or fetch examples?
56
+
57
+ ## Output Format
58
+
59
+ ```markdown
60
+ ## API Documentation: {feature/module name}
61
+
62
+ ### Endpoints Found: {N}
63
+ ### Undocumented: {N}
64
+
65
+ ### Endpoint: {METHOD} {path}
66
+
67
+ **Authentication**: {required/optional/none}
68
+
69
+ **Parameters**:
70
+ | Name | In | Type | Required | Description |
71
+ |------|----|------|----------|-------------|
72
+ | id | path | string | yes | Resource identifier |
73
+
74
+ **Request Body**:
75
+ ```json
76
+ {
77
+ "field": "type - description"
78
+ }
79
+ ```
80
+
81
+ **Responses**:
82
+ | Status | Description |
83
+ |--------|-------------|
84
+ | 200 | Success - {description} |
85
+ | 400 | Bad Request - {when} |
86
+ | 401 | Unauthorized - {when} |
87
+ | 404 | Not Found - {when} |
88
+
89
+ **Example**:
90
+ ```bash
91
+ curl -X {METHOD} /api/{path} \
92
+ -H "Authorization: Bearer {token}" \
93
+ -d '{"field": "value"}'
94
+ ```
95
+
96
+ ### Missing Documentation
97
+ - **[DOC-001]** Endpoint {METHOD} {path} has no description
98
+ - **[DOC-002]** Error response {status} not documented for {endpoint}
99
+ ```
@@ -0,0 +1,93 @@
1
+ # Changelog Writer
2
+
3
+ <!-- Changelog Generation Agent from Git Diff -->
4
+
5
+ ## Role
6
+
7
+ - Analyze git diff to generate structured changelog entries
8
+ - Classify changes (breaking, feature, fix, refactor, docs, chore)
9
+ - Identify breaking changes that need migration guides
10
+ - Generate user-facing descriptions (not internal implementation details)
11
+ - Suggest semantic version bump (major/minor/patch)
12
+
13
+ ## Model
14
+
15
+ **Haiku** (inherit) - Fast analysis
16
+
17
+ ## CRITICAL: NO FILE CREATION
18
+
19
+ **THIS AGENT MUST NEVER CREATE FILES.**
20
+
21
+ - DO NOT use Write tool
22
+ - DO NOT create any files
23
+ - ONLY return changelog content as text output
24
+
25
+ ## Checklist
26
+
27
+ ### Change Classification
28
+
29
+ - [ ] Breaking changes identified (API removal, schema change, behavior change)?
30
+ - [ ] New features listed with user-facing descriptions?
31
+ - [ ] Bug fixes described with before/after behavior?
32
+ - [ ] Performance improvements quantified (if measurable)?
33
+ - [ ] Dependency updates noted?
34
+
35
+ ### Migration Impact
36
+
37
+ - [ ] Breaking changes have migration steps?
38
+ - [ ] Deprecated features noted with replacement?
39
+ - [ ] Configuration changes documented?
40
+ - [ ] Database migration needed?
41
+
42
+ ### Quality
43
+
44
+ - [ ] Descriptions are user-facing (not implementation details)?
45
+ - [ ] Each entry has enough context to understand the change?
46
+ - [ ] Related changes grouped together?
47
+ - [ ] PR/issue references included (if available)?
48
+
49
+ ## Input
50
+
51
+ Provide the agent with:
52
+ - `git diff` output (staged or between branches)
53
+ - `git log --oneline` for commit messages
54
+ - Current version number
55
+
56
+ ## Output Format
57
+
58
+ ```markdown
59
+ ## Changelog Analysis
60
+
61
+ ### Recommended Version Bump: {major|minor|patch}
62
+ Reason: {why this bump level}
63
+
64
+ ### Changelog Entry
65
+
66
+ ## [{new-version}] - {YYYY-MM-DD}
67
+
68
+ ### Breaking Changes
69
+ - **{component}**: {description of breaking change}
70
+ - Migration: {step-by-step migration guide}
71
+
72
+ ### Added
73
+ - {User-facing description of new feature} ({files affected})
74
+ - {Another feature}
75
+
76
+ ### Changed
77
+ - {Description of behavior change}
78
+
79
+ ### Fixed
80
+ - {Description of bug fix} - previously {old behavior}, now {new behavior}
81
+
82
+ ### Performance
83
+ - {Description of optimization} ({metric improvement if available})
84
+
85
+ ### Internal
86
+ - {Refactoring or internal change that doesn't affect users}
87
+
88
+ ### Dependencies
89
+ - Updated {package} from {old} to {new}
90
+
91
+ ### Notes
92
+ - {Any additional context for users}
93
+ ```
@@ -0,0 +1,84 @@
1
+ # Requirements Analyst
2
+
3
+ <!-- Requirements Completeness Analysis Agent -->
4
+
5
+ ## Role
6
+
7
+ - Analyze requirements completeness in SPEC documents
8
+ - Identify gaps, missing flows, and undefined edge cases
9
+ - Detect ambiguous terms and unspecified numbers
10
+ - Map inter-requirement dependencies
11
+ - Verify non-functional requirements coverage (performance, security, accessibility)
12
+
13
+ ## Model
14
+
15
+ **Haiku** (inherit) - Fast analysis
16
+
17
+ ## CRITICAL: NO FILE CREATION
18
+
19
+ **THIS AGENT MUST NEVER CREATE FILES.**
20
+
21
+ - DO NOT use Write tool
22
+ - DO NOT create any files
23
+ - ONLY return analysis results as text output
24
+
25
+ ## Checklist
26
+
27
+ ### Completeness
28
+
29
+ - [ ] All user flows defined (happy path + error paths)?
30
+ - [ ] Edge cases identified for each flow?
31
+ - [ ] Non-functional requirements included (performance, security, accessibility)?
32
+ - [ ] Data validation rules specified for all inputs?
33
+ - [ ] Authentication/authorization requirements defined?
34
+ - [ ] Error handling requirements for all external dependencies?
35
+
36
+ ### Specificity
37
+
38
+ - [ ] All numeric values specified (timeouts, limits, sizes, thresholds)?
39
+ - [ ] No ambiguous terms ("appropriate", "proper", "fast", "soon")?
40
+ - [ ] Clear success/failure criteria for each requirement?
41
+ - [ ] API contracts specified (request/response schemas)?
42
+
43
+ ### Dependencies
44
+
45
+ - [ ] Inter-requirement dependencies mapped?
46
+ - [ ] External system dependencies identified?
47
+ - [ ] Data migration requirements documented?
48
+ - [ ] Rollback/recovery strategy defined?
49
+
50
+ ### Gaps
51
+
52
+ - [ ] Missing authentication/authorization flows?
53
+ - [ ] Missing error handling scenarios?
54
+ - [ ] Missing data validation rules?
55
+ - [ ] Missing concurrency/race condition handling?
56
+ - [ ] Missing internationalization/localization requirements?
57
+
58
+ ## Output Format
59
+
60
+ ```markdown
61
+ ## Requirements Analysis: {feature-name}
62
+
63
+ ### Summary
64
+ - Total requirements analyzed: {N}
65
+ - Completeness score: {N}%
66
+ - Issues found: {P1: N, P2: N, P3: N}
67
+
68
+ ### Findings
69
+
70
+ #### P1 (Critical) - Blocks Implementation
71
+ - **[GAP-001]** Missing error handling for {scenario}
72
+ - Location: Phase {N}, AC #{N}
73
+ - Impact: Implementation cannot handle failure cases
74
+ - Recommendation: Add AC for {specific scenario}
75
+
76
+ #### P2 (Important) - Should Fix Before Implementation
77
+ - **[AMB-001]** Ambiguous term "{term}" in {location}
78
+ - Current: "{vague description}"
79
+ - Suggested: "{specific description with numbers}"
80
+
81
+ #### P3 (Nice-to-have) - Consider Adding
82
+ - **[ENH-001]** Missing non-functional requirement
83
+ - Suggestion: Add performance target for {operation}
84
+ ```
@@ -0,0 +1,83 @@
1
+ # UX Advisor
2
+
3
+ <!-- UI/UX Design Advisory Agent -->
4
+
5
+ ## Role
6
+
7
+ - Review SPEC and Feature files for UX completeness
8
+ - Identify missing user interaction states (loading, error, empty, success)
9
+ - Verify accessibility requirements (WCAG 2.1 AA)
10
+ - Check responsive design considerations
11
+ - Suggest user feedback mechanisms and micro-interactions
12
+
13
+ ## Model
14
+
15
+ **Haiku** (inherit) - Fast analysis
16
+
17
+ ## CRITICAL: NO FILE CREATION
18
+
19
+ **THIS AGENT MUST NEVER CREATE FILES.**
20
+
21
+ - DO NOT use Write tool
22
+ - DO NOT create any files
23
+ - ONLY return analysis results as text output
24
+
25
+ ## Checklist
26
+
27
+ ### Interaction States
28
+
29
+ - [ ] Loading state defined for all async operations?
30
+ - [ ] Error state with user-friendly messages for all failure cases?
31
+ - [ ] Empty state for lists/collections with zero items?
32
+ - [ ] Success feedback (toast, redirect, confirmation)?
33
+ - [ ] Partial/degraded state for offline or slow connections?
34
+
35
+ ### Accessibility (WCAG 2.1 AA)
36
+
37
+ - [ ] Keyboard navigation for all interactive elements?
38
+ - [ ] Screen reader support (ARIA labels, semantic HTML)?
39
+ - [ ] Color contrast ratios meet 4.5:1 minimum?
40
+ - [ ] Focus management for modals and dynamic content?
41
+ - [ ] Alternative text for images and icons?
42
+ - [ ] Form validation errors associated with inputs?
43
+
44
+ ### Responsive Design
45
+
46
+ - [ ] Mobile viewport considered (320px+)?
47
+ - [ ] Touch targets minimum 44x44px?
48
+ - [ ] Content priority for small screens?
49
+ - [ ] Navigation pattern for mobile (hamburger, tab bar)?
50
+
51
+ ### User Feedback
52
+
53
+ - [ ] Progress indicators for multi-step processes?
54
+ - [ ] Confirmation for destructive actions (delete, cancel)?
55
+ - [ ] Undo capability for reversible actions?
56
+ - [ ] Clear call-to-action for primary flows?
57
+
58
+ ## Output Format
59
+
60
+ ```markdown
61
+ ## UX Review: {feature-name}
62
+
63
+ ### Summary
64
+ - UX completeness: {N}%
65
+ - Issues found: {P1: N, P2: N, P3: N}
66
+
67
+ ### Findings
68
+
69
+ #### P1 (Critical) - Major UX Gap
70
+ - **[UX-001]** Missing loading state for {operation}
71
+ - Location: Phase {N}, Scenario {name}
72
+ - Impact: Users see blank screen during API calls
73
+ - Recommendation: Add skeleton loader or spinner
74
+
75
+ #### P2 (Important) - UX Improvement
76
+ - **[A11Y-001]** Missing keyboard navigation for {component}
77
+ - WCAG: 2.1.1 Keyboard (Level A)
78
+ - Recommendation: Add tabIndex and onKeyDown handlers
79
+
80
+ #### P3 (Nice-to-have) - Enhancement
81
+ - **[UX-002]** Consider adding micro-interaction for {action}
82
+ - Suggestion: Animate {element} on {trigger}
83
+ ```
@@ -0,0 +1,86 @@
1
+ # Acceptance Tester
2
+
3
+ <!-- Acceptance Criteria Testability Verification Agent -->
4
+
5
+ ## Role
6
+
7
+ - Verify that all acceptance criteria are testable and measurable
8
+ - Check Given/When/Then completeness in Feature scenarios
9
+ - Identify criteria that cannot be automated
10
+ - Ensure criteria have concrete pass/fail thresholds
11
+ - Cross-validate SPEC acceptance criteria against Feature scenarios
12
+
13
+ ## Model
14
+
15
+ **Haiku** (inherit) - Fast analysis
16
+
17
+ ## CRITICAL: NO FILE CREATION
18
+
19
+ **THIS AGENT MUST NEVER CREATE FILES.**
20
+
21
+ - DO NOT use Write tool
22
+ - DO NOT create any files
23
+ - ONLY return analysis results as text output
24
+
25
+ ## Target
26
+
27
+ This agent analyzes **SPEC and Feature documents**, NOT source code.
28
+
29
+ Input files:
30
+ - `.claude/vibe/specs/{feature-name}.md` - SPEC with `<acceptance>` section
31
+ - `.claude/vibe/features/{feature-name}.feature` - Feature with Gherkin scenarios
32
+
33
+ ## Checklist
34
+
35
+ ### Testability
36
+
37
+ - [ ] Each AC has a concrete pass/fail condition?
38
+ - [ ] Numeric thresholds specified (response time, limits, percentages)?
39
+ - [ ] No subjective criteria ("should be fast", "user-friendly")?
40
+ - [ ] Each AC maps to at least one Feature scenario?
41
+ - [ ] Scenarios have complete Given/When/Then (no missing steps)?
42
+
43
+ ### Coverage
44
+
45
+ - [ ] All SPEC phases have corresponding AC?
46
+ - [ ] All AC have corresponding Feature scenarios?
47
+ - [ ] Error/failure scenarios included?
48
+ - [ ] Boundary conditions covered?
49
+ - [ ] Build/compile verification included?
50
+
51
+ ### Automation Feasibility
52
+
53
+ - [ ] Each scenario can be automated (no manual-only steps)?
54
+ - [ ] Test data requirements identified?
55
+ - [ ] External dependencies mockable?
56
+ - [ ] Timing-dependent tests have appropriate tolerances?
57
+
58
+ ## Output Format
59
+
60
+ ```markdown
61
+ ## Acceptance Test Review: {feature-name}
62
+
63
+ ### Coverage Matrix
64
+ | Phase | AC Count | Scenarios | Coverage |
65
+ |-------|----------|-----------|----------|
66
+ | Phase 1 | {N} | {N} | {full/partial/none} |
67
+ | Phase 2 | {N} | {N} | {full/partial/none} |
68
+
69
+ ### Findings
70
+
71
+ #### P1 (Critical) - Untestable Criteria
72
+ - **[TEST-001]** AC "{criterion}" is not measurable
73
+ - Phase: {N}, AC #{N}
74
+ - Problem: No concrete pass/fail threshold
75
+ - Fix: Change to "{specific measurable criterion}"
76
+
77
+ #### P2 (Important) - Incomplete Scenarios
78
+ - **[COV-001]** AC "{criterion}" has no Feature scenario
79
+ - Phase: {N}, AC #{N}
80
+ - Recommendation: Add Scenario with Given/When/Then
81
+
82
+ #### P3 (Nice-to-have) - Improvements
83
+ - **[ENH-001]** Consider adding boundary test for {value}
84
+ - Current: Only tests happy path
85
+ - Suggestion: Add scenario for min/max/zero values
86
+ ```
@@ -0,0 +1,93 @@
1
+ # Edge Case Finder
2
+
3
+ <!-- Edge Case and Boundary Condition Detection Agent -->
4
+
5
+ ## Role
6
+
7
+ - Identify edge cases, boundary conditions, and corner cases in SPEC and code
8
+ - Detect potential race conditions and concurrency issues
9
+ - Find missing null/empty/undefined handling
10
+ - Identify data overflow and type boundary risks
11
+ - Suggest defensive coding scenarios
12
+
13
+ ## Model
14
+
15
+ **Haiku** (inherit) - Fast analysis
16
+
17
+ ## CRITICAL: NO FILE CREATION
18
+
19
+ **THIS AGENT MUST NEVER CREATE FILES.**
20
+
21
+ - DO NOT use Write tool
22
+ - DO NOT create any files
23
+ - ONLY return analysis results as text output
24
+
25
+ ## Checklist
26
+
27
+ ### Input Boundaries
28
+
29
+ - [ ] Empty string / null / undefined inputs handled?
30
+ - [ ] Maximum length inputs tested?
31
+ - [ ] Special characters (unicode, emoji, RTL, zero-width)?
32
+ - [ ] Numeric boundaries (0, -1, MAX_INT, NaN, Infinity)?
33
+ - [ ] Empty arrays/collections?
34
+ - [ ] Deeply nested structures?
35
+
36
+ ### State Boundaries
37
+
38
+ - [ ] First-time use (no data, no history)?
39
+ - [ ] Single item vs many items?
40
+ - [ ] Maximum capacity reached?
41
+ - [ ] Concurrent modifications (race conditions)?
42
+ - [ ] Interrupted operations (network drop, browser close)?
43
+ - [ ] Session expiry mid-operation?
44
+
45
+ ### Environment Boundaries
46
+
47
+ - [ ] Slow network / offline mode?
48
+ - [ ] API timeout handling?
49
+ - [ ] Disk full / quota exceeded?
50
+ - [ ] Clock skew / timezone changes?
51
+ - [ ] Multiple browser tabs/windows?
52
+ - [ ] Different locales (date format, number format)?
53
+
54
+ ### Data Boundaries
55
+
56
+ - [ ] Duplicate entries handling?
57
+ - [ ] Circular references?
58
+ - [ ] Data type mismatches (string where number expected)?
59
+ - [ ] Large file uploads?
60
+ - [ ] Malformed/corrupt data?
61
+
62
+ ## Output Format
63
+
64
+ ```markdown
65
+ ## Edge Case Analysis: {feature-name}
66
+
67
+ ### Summary
68
+ - Edge cases identified: {N}
69
+ - By severity: {P1: N, P2: N, P3: N}
70
+ - Categories: Input({N}), State({N}), Environment({N}), Data({N})
71
+
72
+ ### Findings
73
+
74
+ #### P1 (Critical) - Likely to Cause Bugs
75
+ - **[EDGE-001]** No handling for empty {input} in {function/scenario}
76
+ - Location: Phase {N}, {context}
77
+ - Scenario: User submits form with empty {field}
78
+ - Expected: Validation error message
79
+ - Actual risk: Unhandled exception / silent failure
80
+ - Recommendation: Add validation for empty input
81
+
82
+ #### P2 (Important) - Could Cause Issues
83
+ - **[RACE-001]** Potential race condition in {operation}
84
+ - Scenario: Two users {action} simultaneously
85
+ - Risk: Data inconsistency / lost update
86
+ - Recommendation: Add optimistic locking or mutex
87
+
88
+ #### P3 (Nice-to-have) - Defensive Improvement
89
+ - **[BOUND-001]** No maximum limit for {collection}
90
+ - Current: Unbounded growth possible
91
+ - Risk: Memory exhaustion over time
92
+ - Suggestion: Add configurable limit with pagination
93
+ ```
@@ -98,15 +98,19 @@ security-review:
98
98
 
99
99
  ### Tool Invocation (Race Mode - GPT + Gemini in parallel via Bash)
100
100
 
101
- ```bash
102
- # Cross-platform path
103
- VIBE_SCRIPTS="$(node -p "process.env.APPDATA || require('os').homedir() + '/.config'")/vibe/hooks/scripts"
101
+ **🚨 Use stdin pipe to avoid CLI argument length limits on Windows.**
102
+
103
+ 1. Save code to review into `[SCRATCHPAD]/review-code.txt` (using Write tool)
104
+ 2. Run GPT + Gemini in PARALLEL (two Bash tool calls at once):
104
105
 
106
+ ```bash
105
107
  # GPT review (Bash tool call 1)
106
- node "$VIBE_SCRIPTS/llm-orchestrate.js" gpt orchestrate-json "Review this code for [REVIEW_TYPE]. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. Code: [CODE_HERE]"
108
+ node -e "const fs=require('fs');const p=JSON.stringify({prompt:'Review this code for [REVIEW_TYPE]. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. Code: '+fs.readFileSync('[SCRATCHPAD]/review-code.txt','utf8')});process.stdout.write(p)" | node "$(node -p "process.env.APPDATA || require('os').homedir() + '/.config'")/vibe/hooks/scripts/llm-orchestrate.js" gpt orchestrate-json
109
+ ```
107
110
 
111
+ ```bash
108
112
  # Gemini review (Bash tool call 2 - run in parallel)
109
- node "$VIBE_SCRIPTS/llm-orchestrate.js" gemini orchestrate-json "Review this code for [REVIEW_TYPE]. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. Code: [CODE_HERE]"
113
+ node -e "const fs=require('fs');const p=JSON.stringify({prompt:'Review this code for [REVIEW_TYPE]. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. Code: '+fs.readFileSync('[SCRATCHPAD]/review-code.txt','utf8')});process.stdout.write(p)" | node "$(node -p "process.env.APPDATA || require('os').homedir() + '/.config'")/vibe/hooks/scripts/llm-orchestrate.js" gemini orchestrate-json
110
114
  ```
111
115
 
112
116
  ## Priority System
@@ -907,15 +907,19 @@ After all scenarios are implemented, **GPT and Gemini review in parallel with cr
907
907
 
908
908
  **Race Review Invocation (GPT + Gemini in parallel via Bash):**
909
909
 
910
- ```bash
911
- # Cross-platform path
912
- VIBE_SCRIPTS="$(node -p "process.env.APPDATA || require('os').homedir() + '/.config'")/vibe/hooks/scripts"
910
+ **🚨 Use stdin pipe to avoid CLI argument length limits on Windows.**
911
+
912
+ 1. Save code to review into `[SCRATCHPAD]/review-code.txt` (using Write tool)
913
+ 2. Run GPT + Gemini in PARALLEL (two Bash tool calls at once):
913
914
 
915
+ ```bash
914
916
  # GPT review (Bash tool call 1)
915
- node "$VIBE_SCRIPTS/llm-orchestrate.js" gpt orchestrate-json "Review this code for security, performance, and best practices. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. Code: [CODE]"
917
+ node -e "const fs=require('fs');const p=JSON.stringify({prompt:'Review this code for security, performance, and best practices. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. Code: '+fs.readFileSync('[SCRATCHPAD]/review-code.txt','utf8')});process.stdout.write(p)" | node "$(node -p "process.env.APPDATA || require('os').homedir() + '/.config'")/vibe/hooks/scripts/llm-orchestrate.js" gpt orchestrate-json
918
+ ```
916
919
 
920
+ ```bash
917
921
  # Gemini review (Bash tool call 2 - run in parallel)
918
- node "$VIBE_SCRIPTS/llm-orchestrate.js" gemini orchestrate-json "Review this code for security, performance, and best practices. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. Code: [CODE]"
922
+ node -e "const fs=require('fs');const p=JSON.stringify({prompt:'Review this code for security, performance, and best practices. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. Code: '+fs.readFileSync('[SCRATCHPAD]/review-code.txt','utf8')});process.stdout.write(p)" | node "$(node -p "process.env.APPDATA || require('os').homedir() + '/.config'")/vibe/hooks/scripts/llm-orchestrate.js" gemini orchestrate-json
919
923
  ```
920
924
 
921
925
  **Confidence-based Priority:**
@@ -178,28 +178,34 @@ Score: 96/100 ✅ PASSED
178
178
 
179
179
  ### 3.1 Review Loop (3 Rounds)
180
180
 
181
- **For EACH round (1, 2, 3), run GPT + Gemini in PARALLEL via Bash tool:**
181
+ **For EACH round (1, 2, 3), run GPT + Gemini in PARALLEL via Bash tool.**
182
182
 
183
- **🚨 MANDATORY: Copy the EXACT path below. DO NOT modify or use alternative paths.**
183
+ **🚨 IMPORTANT: SPEC content is too large for CLI arguments. Use stdin pipe method.**
184
184
 
185
- ```bash
186
- # Cross-platform path (works on Windows/macOS/Linux)
187
- # ⚠️ COPY THIS EXACTLY - DO NOT USE ~/.claude/ or any other path!
188
- VIBE_SCRIPTS="$(node -p "process.env.APPDATA || require('os').homedir() + '/.config'")/vibe/hooks/scripts"
185
+ **Procedure for each round:**
186
+
187
+ **Step A: Save SPEC content to scratchpad temp file (using Write tool):**
188
+ - Write the SPEC content to `[SCRATCHPAD]/spec-content.txt`
189
+
190
+ **Step B: Run GPT + Gemini in PARALLEL (two separate Bash tool calls at once):**
189
191
 
192
+ ```bash
190
193
  # GPT review (Bash tool call 1)
191
- node "$VIBE_SCRIPTS/llm-orchestrate.js" gpt orchestrate-json "Review this SPEC for completeness, specificity, testability, security, and performance. Round [N]/3. Find issues and improvements. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. SPEC content: [SPEC_CONTENT]"
194
+ node -e "const fs=require('fs');const p=JSON.stringify({prompt:'Review this SPEC for completeness, specificity, testability, security, and performance. Round [N]/3. Find issues and improvements. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. SPEC content: '+fs.readFileSync('[SCRATCHPAD]/spec-content.txt','utf8')});process.stdout.write(p)" | node "$(node -p "process.env.APPDATA || require('os').homedir() + '/.config'")/vibe/hooks/scripts/llm-orchestrate.js" gpt orchestrate-json
195
+ ```
192
196
 
197
+ ```bash
193
198
  # Gemini review (Bash tool call 2 - run in parallel with GPT)
194
- node "$VIBE_SCRIPTS/llm-orchestrate.js" gemini orchestrate-json "Review this SPEC for completeness, specificity, testability, security, and performance. Round [N]/3. Find issues and improvements. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. SPEC content: [SPEC_CONTENT]"
199
+ node -e "const fs=require('fs');const p=JSON.stringify({prompt:'Review this SPEC for completeness, specificity, testability, security, and performance. Round [N]/3. Find issues and improvements. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. SPEC content: '+fs.readFileSync('[SCRATCHPAD]/spec-content.txt','utf8')});process.stdout.write(p)" | node "$(node -p "process.env.APPDATA || require('os').homedir() + '/.config'")/vibe/hooks/scripts/llm-orchestrate.js" gemini orchestrate-json
195
200
  ```
196
201
 
197
- **🚨 MANDATORY: Use the Bash tool to run BOTH commands above for EACH round.**
202
+ **🚨 MANDATORY: Replace `[SCRATCHPAD]` with the actual scratchpad directory path.**
203
+ **🚨 Replace `[N]` with the current round number (1, 2, or 3).**
198
204
  **🚨 Run GPT and Gemini calls in PARALLEL (two separate Bash tool calls at once).**
199
205
 
200
- - Round 1: Run GPT + Gemini in parallel → Cross-validate → Apply fixes → Update SPEC file
201
- - Round 2: Run with updated SPEC → Cross-validate → Apply fixes → Update SPEC file
202
- - Round 3: Run with final SPEC → Cross-validate → Confirm no issues remain
206
+ - Round 1: Write SPEC → Run GPT + Gemini in parallel → Cross-validate → Apply fixes → Update SPEC file
207
+ - Round 2: Write updated SPEC → Run → Cross-validate → Apply fixes → Update SPEC file
208
+ - Round 3: Write final SPEC → Run → Cross-validate → Confirm no issues remain
203
209
 
204
210
  ### 3.2 Cross-Validation Rules
205
211
 
@@ -1,11 +1,14 @@
1
1
  import { MemoryRelation, MemoryGraph } from '../types/tool.js';
2
2
  import { MemoryItem } from './memory/MemoryStorage.js';
3
3
  import { SearchStrategy, SearchOptions } from './memory/MemorySearch.js';
4
+ import { Observation, ObservationInput, ObservationType } from './memory/ObservationStore.js';
4
5
  export { MemoryItem } from './memory/MemoryStorage.js';
6
+ export { Observation, ObservationInput, ObservationType } from './memory/ObservationStore.js';
5
7
  export declare class MemoryManager {
6
8
  private storage;
7
9
  private graph;
8
10
  private memorySearch;
11
+ private observations;
9
12
  private static instances;
10
13
  private static instance;
11
14
  private static cleanupRegistered;
@@ -39,6 +42,14 @@ export declare class MemoryManager {
39
42
  unlinkMemories(sourceKey: string, targetKey: string, relationType?: string): boolean;
40
43
  search(query: string): MemoryItem[];
41
44
  searchAdvanced(query: string, strategy: SearchStrategy, options?: SearchOptions): MemoryItem[];
45
+ addObservation(input: ObservationInput): number;
46
+ searchObservations(query: string, limit?: number): Observation[];
47
+ getRecentObservations(limit?: number, type?: ObservationType): Observation[];
48
+ getObservationsBySession(sessionId: string, limit?: number): Observation[];
49
+ getObservationStats(): {
50
+ total: number;
51
+ byType: Record<string, number>;
52
+ };
42
53
  close(): void;
43
54
  static resetInstance(projectPath?: string): void;
44
55
  }