moflo 4.9.20 → 4.9.22

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 (240) hide show
  1. package/.claude/agents/analysis/analyze-code-quality.md +0 -121
  2. package/.claude/agents/analysis/code-analyzer.md +5 -26
  3. package/.claude/agents/architecture/system-design/arch-system-design.md +0 -119
  4. package/.claude/agents/base-template-generator.md +0 -1
  5. package/.claude/agents/core/coder.md +0 -22
  6. package/.claude/agents/core/planner.md +0 -16
  7. package/.claude/agents/core/researcher.md +0 -16
  8. package/.claude/agents/core/reviewer.md +0 -17
  9. package/.claude/agents/core/tester.md +0 -19
  10. package/.claude/agents/custom/test-long-runner.md +0 -2
  11. package/.claude/agents/development/dev-backend-api.md +0 -167
  12. package/.claude/agents/development/dev-database.md +43 -0
  13. package/.claude/agents/development/dev-frontend.md +42 -0
  14. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +0 -112
  15. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +0 -111
  16. package/.claude/agents/security/security-auditor.md +45 -0
  17. package/.claude/guidance/shipped/moflo-agent-rules.md +172 -0
  18. package/.claude/guidance/shipped/moflo-claude-swarm-cohesion.md +73 -265
  19. package/.claude/guidance/shipped/moflo-cli-reference.md +6 -6
  20. package/.claude/guidance/shipped/moflo-core-guidance.md +66 -184
  21. package/.claude/guidance/shipped/moflo-cross-platform.md +1 -1
  22. package/.claude/guidance/shipped/moflo-error-handling.md +3 -3
  23. package/.claude/guidance/shipped/moflo-guidance-rules.md +17 -7
  24. package/.claude/guidance/shipped/moflo-memory-strategy.md +76 -182
  25. package/.claude/guidance/shipped/moflo-memorydb-maintenance.md +6 -8
  26. package/.claude/guidance/shipped/moflo-settings-injection.md +7 -9
  27. package/.claude/guidance/shipped/moflo-source-hygiene.md +5 -5
  28. package/.claude/guidance/shipped/moflo-spell-connectors.md +3 -4
  29. package/.claude/guidance/shipped/moflo-spell-custom-steps.md +3 -4
  30. package/.claude/guidance/shipped/moflo-spell-engine.md +40 -162
  31. package/.claude/guidance/shipped/moflo-spell-runner.md +134 -0
  32. package/.claude/guidance/shipped/moflo-spell-sandboxing.md +10 -57
  33. package/.claude/guidance/shipped/moflo-spell-troubleshooting.md +149 -0
  34. package/.claude/guidance/shipped/moflo-subagents.md +43 -114
  35. package/.claude/guidance/shipped/moflo-task-icons.md +4 -4
  36. package/.claude/guidance/shipped/moflo-user-facing-language.md +3 -3
  37. package/.claude/guidance/shipped/moflo-verbose-command-filtering.md +3 -3
  38. package/.claude/guidance/shipped/moflo-yaml-reference.md +4 -5
  39. package/.claude/helpers/gate.cjs +192 -15
  40. package/.claude/helpers/prompt-hook.mjs +4 -38
  41. package/.claude/helpers/simplify-classify.cjs +32 -11
  42. package/.claude/helpers/subagent-bootstrap.json +1 -1
  43. package/.claude/helpers/subagent-start.cjs +1 -1
  44. package/.claude/skills/connector-builder/SKILL.md +42 -429
  45. package/.claude/skills/connector-builder/templates/connector.md +189 -0
  46. package/.claude/skills/connector-builder/templates/step-command.md +176 -0
  47. package/.claude/skills/eldar/SKILL.md +7 -7
  48. package/.claude/skills/fl/SKILL.md +3 -3
  49. package/.claude/skills/fl/execution-modes.md +39 -16
  50. package/.claude/skills/fl/phases.md +3 -3
  51. package/.claude/skills/{simplify → flo-simplify}/SKILL.md +11 -11
  52. package/.claude/skills/guidance/SKILL.md +17 -9
  53. package/.claude/skills/memory-patterns/SKILL.md +1 -1
  54. package/.claude/skills/publish/SKILL.md +121 -36
  55. package/.claude/skills/reset-epic/SKILL.md +2 -2
  56. package/.claude/skills/spell-builder/SKILL.md +39 -226
  57. package/.claude/skills/spell-builder/architecture.md +1 -1
  58. package/.claude/skills/spell-builder/permissions.md +107 -0
  59. package/.claude/skills/spell-builder/preflight.md +101 -0
  60. package/.claude/skills/spell-schedule/SKILL.md +2 -3
  61. package/bin/gate.cjs +192 -15
  62. package/bin/lib/retired-files.mjs +146 -0
  63. package/bin/prompt-hook.mjs +4 -38
  64. package/bin/session-start-launcher.mjs +120 -1
  65. package/bin/setup-project.mjs +63 -69
  66. package/bin/simplify-classify.cjs +32 -11
  67. package/dist/src/cli/appliance/rvfa-builder.js +1 -1
  68. package/dist/src/cli/commands/agent.js +3 -9
  69. package/dist/src/cli/commands/doctor-checks-deep.js +4 -0
  70. package/dist/src/cli/commands/hooks.js +1 -3
  71. package/dist/src/cli/commands/index.js +2 -0
  72. package/dist/src/cli/commands/retire.js +111 -0
  73. package/dist/src/cli/hooks/reasoningbank/index.js +7 -7
  74. package/dist/src/cli/init/claudemd-generator.js +30 -33
  75. package/dist/src/cli/init/executor.js +53 -69
  76. package/dist/src/cli/init/helpers-generator.js +165 -52
  77. package/dist/src/cli/init/moflo-init.js +41 -114
  78. package/dist/src/cli/init/settings-generator.js +44 -14
  79. package/dist/src/cli/mcp-tools/agent-tools.js +9 -27
  80. package/dist/src/cli/mcp-tools/hooks-tools.js +23 -21
  81. package/dist/src/cli/memory/controllers/semantic-router.js +18 -12
  82. package/dist/src/cli/memory/sona-optimizer.js +6 -6
  83. package/dist/src/cli/neural/domain/services/learning-service.js +3 -3
  84. package/dist/src/cli/services/agent-router.js +2 -5
  85. package/dist/src/cli/services/hook-block-hash.js +11 -2
  86. package/dist/src/cli/services/hook-wiring.js +86 -3
  87. package/dist/src/cli/services/subagent-bootstrap.js +1 -1
  88. package/dist/src/cli/shared/events/example-usage.js +6 -6
  89. package/dist/src/cli/shared/hooks/task-hooks.js +8 -8
  90. package/dist/src/cli/version.js +1 -1
  91. package/package.json +3 -2
  92. package/retired-files.json +1989 -0
  93. package/scripts/post-install-bootstrap.mjs +19 -0
  94. package/src/cli/data/model-registry.json +2 -2
  95. package/.claude/agents/consensus/byzantine-coordinator.md +0 -63
  96. package/.claude/agents/consensus/crdt-synchronizer.md +0 -997
  97. package/.claude/agents/consensus/gossip-coordinator.md +0 -63
  98. package/.claude/agents/consensus/performance-benchmarker.md +0 -851
  99. package/.claude/agents/consensus/quorum-manager.md +0 -823
  100. package/.claude/agents/consensus/raft-manager.md +0 -63
  101. package/.claude/agents/consensus/security-manager.md +0 -622
  102. package/.claude/agents/data/ml/data-ml-model.md +0 -193
  103. package/.claude/agents/github/code-review-swarm.md +0 -538
  104. package/.claude/agents/github/github-modes.md +0 -172
  105. package/.claude/agents/github/issue-tracker.md +0 -311
  106. package/.claude/agents/github/multi-repo-swarm.md +0 -551
  107. package/.claude/agents/github/pr-manager.md +0 -183
  108. package/.claude/agents/github/project-board-sync.md +0 -508
  109. package/.claude/agents/github/release-manager.md +0 -360
  110. package/.claude/agents/github/release-swarm.md +0 -580
  111. package/.claude/agents/github/repo-architect.md +0 -391
  112. package/.claude/agents/github/swarm-issue.md +0 -566
  113. package/.claude/agents/github/swarm-pr.md +0 -414
  114. package/.claude/agents/github/sync-coordinator.md +0 -426
  115. package/.claude/agents/github/workflow-automation.md +0 -606
  116. package/.claude/agents/goal/code-goal-planner.md +0 -440
  117. package/.claude/agents/goal/goal-planner.md +0 -168
  118. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +0 -127
  119. package/.claude/agents/hive-mind/queen-coordinator.md +0 -198
  120. package/.claude/agents/hive-mind/scout-explorer.md +0 -233
  121. package/.claude/agents/hive-mind/swarm-memory-manager.md +0 -184
  122. package/.claude/agents/hive-mind/worker-specialist.md +0 -208
  123. package/.claude/agents/neural/safla-neural.md +0 -73
  124. package/.claude/agents/optimization/benchmark-suite.md +0 -665
  125. package/.claude/agents/optimization/load-balancer.md +0 -431
  126. package/.claude/agents/optimization/performance-monitor.md +0 -672
  127. package/.claude/agents/optimization/resource-allocator.md +0 -674
  128. package/.claude/agents/optimization/topology-optimizer.md +0 -808
  129. package/.claude/agents/reasoning/goal-planner.md +0 -67
  130. package/.claude/agents/sona/sona-learning-optimizer.md +0 -74
  131. package/.claude/agents/sparc/architecture.md +0 -472
  132. package/.claude/agents/sparc/pseudocode.md +0 -318
  133. package/.claude/agents/sparc/refinement.md +0 -525
  134. package/.claude/agents/sparc/specification.md +0 -276
  135. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +0 -225
  136. package/.claude/agents/swarm/adaptive-coordinator.md +0 -391
  137. package/.claude/agents/swarm/hierarchical-coordinator.md +0 -321
  138. package/.claude/agents/swarm/mesh-coordinator.md +0 -383
  139. package/.claude/agents/testing/production-validator.md +0 -395
  140. package/.claude/agents/testing/tdd-london-swarm.md +0 -244
  141. package/.claude/agents/v3/adr-architect.md +0 -184
  142. package/.claude/agents/v3/aidefence-guardian.md +0 -277
  143. package/.claude/agents/v3/claims-authorizer.md +0 -208
  144. package/.claude/agents/v3/collective-intelligence-coordinator.md +0 -988
  145. package/.claude/agents/v3/ddd-domain-expert.md +0 -220
  146. package/.claude/agents/v3/injection-analyst.md +0 -232
  147. package/.claude/agents/v3/memory-specialist.md +0 -987
  148. package/.claude/agents/v3/performance-engineer.md +0 -1225
  149. package/.claude/agents/v3/pii-detector.md +0 -146
  150. package/.claude/agents/v3/reasoningbank-learner.md +0 -213
  151. package/.claude/agents/v3/security-architect-aidefence.md +0 -405
  152. package/.claude/agents/v3/security-architect.md +0 -865
  153. package/.claude/agents/v3/security-auditor.md +0 -771
  154. package/.claude/agents/v3/sparc-orchestrator.md +0 -182
  155. package/.claude/agents/v3/swarm-memory-manager.md +0 -142
  156. package/.claude/agents/v3/v3-integration-architect.md +0 -205
  157. package/.claude/commands/claude-flow-help.md +0 -103
  158. package/.claude/commands/claude-flow-memory.md +0 -107
  159. package/.claude/commands/claude-flow-swarm.md +0 -205
  160. package/.claude/commands/github/README.md +0 -11
  161. package/.claude/commands/github/code-review-swarm.md +0 -514
  162. package/.claude/commands/github/code-review.md +0 -25
  163. package/.claude/commands/github/github-modes.md +0 -146
  164. package/.claude/commands/github/github-swarm.md +0 -113
  165. package/.claude/commands/github/issue-tracker.md +0 -284
  166. package/.claude/commands/github/issue-triage.md +0 -25
  167. package/.claude/commands/github/multi-repo-swarm.md +0 -519
  168. package/.claude/commands/github/pr-enhance.md +0 -26
  169. package/.claude/commands/github/pr-manager.md +0 -164
  170. package/.claude/commands/github/project-board-sync.md +0 -471
  171. package/.claude/commands/github/release-manager.md +0 -332
  172. package/.claude/commands/github/release-swarm.md +0 -544
  173. package/.claude/commands/github/repo-analyze.md +0 -25
  174. package/.claude/commands/github/repo-architect.md +0 -361
  175. package/.claude/commands/github/swarm-issue.md +0 -482
  176. package/.claude/commands/github/swarm-pr.md +0 -285
  177. package/.claude/commands/github/sync-coordinator.md +0 -294
  178. package/.claude/commands/github/workflow-automation.md +0 -442
  179. package/.claude/commands/hooks/README.md +0 -11
  180. package/.claude/commands/hooks/overview.md +0 -58
  181. package/.claude/commands/hooks/post-edit.md +0 -117
  182. package/.claude/commands/hooks/post-task.md +0 -112
  183. package/.claude/commands/hooks/pre-edit.md +0 -113
  184. package/.claude/commands/hooks/pre-task.md +0 -111
  185. package/.claude/commands/hooks/session-end.md +0 -118
  186. package/.claude/commands/hooks/setup.md +0 -103
  187. package/.claude/commands/simplify.md +0 -101
  188. package/.claude/commands/sparc/analyzer.md +0 -42
  189. package/.claude/commands/sparc/architect.md +0 -43
  190. package/.claude/commands/sparc/ask.md +0 -86
  191. package/.claude/commands/sparc/batch-executor.md +0 -44
  192. package/.claude/commands/sparc/code.md +0 -78
  193. package/.claude/commands/sparc/coder.md +0 -44
  194. package/.claude/commands/sparc/debug.md +0 -72
  195. package/.claude/commands/sparc/debugger.md +0 -44
  196. package/.claude/commands/sparc/designer.md +0 -43
  197. package/.claude/commands/sparc/devops.md +0 -98
  198. package/.claude/commands/sparc/docs-writer.md +0 -69
  199. package/.claude/commands/sparc/documenter.md +0 -44
  200. package/.claude/commands/sparc/innovator.md +0 -44
  201. package/.claude/commands/sparc/integration.md +0 -72
  202. package/.claude/commands/sparc/mcp.md +0 -106
  203. package/.claude/commands/sparc/memory-manager.md +0 -44
  204. package/.claude/commands/sparc/optimizer.md +0 -44
  205. package/.claude/commands/sparc/orchestrator.md +0 -116
  206. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +0 -72
  207. package/.claude/commands/sparc/refinement-optimization-mode.md +0 -72
  208. package/.claude/commands/sparc/researcher.md +0 -44
  209. package/.claude/commands/sparc/reviewer.md +0 -44
  210. package/.claude/commands/sparc/security-review.md +0 -69
  211. package/.claude/commands/sparc/sparc-modes.md +0 -139
  212. package/.claude/commands/sparc/sparc.md +0 -99
  213. package/.claude/commands/sparc/spec-pseudocode.md +0 -69
  214. package/.claude/commands/sparc/spell-manager.md +0 -44
  215. package/.claude/commands/sparc/supabase-admin.md +0 -337
  216. package/.claude/commands/sparc/swarm-coordinator.md +0 -44
  217. package/.claude/commands/sparc/tdd.md +0 -44
  218. package/.claude/commands/sparc/tester.md +0 -44
  219. package/.claude/commands/sparc/tutorial.md +0 -68
  220. package/.claude/commands/sparc.md +0 -151
  221. package/.claude/guidance/shipped/moflo-session-start.md +0 -154
  222. package/.claude/guidance/shipped/moflo-spell-engine-architecture.md +0 -145
  223. package/.claude/skills/browser/SKILL.md +0 -204
  224. package/.claude/skills/github-code-review/SKILL.md +0 -1140
  225. package/.claude/skills/github-multi-repo/SKILL.md +0 -866
  226. package/.claude/skills/github-project-management/SKILL.md +0 -1272
  227. package/.claude/skills/github-release-management/SKILL.md +0 -1074
  228. package/.claude/skills/github-workflow-automation/SKILL.md +0 -1060
  229. package/.claude/skills/hive-mind-advanced/SKILL.md +0 -712
  230. package/.claude/skills/hooks-automation/SKILL.md +0 -1193
  231. package/.claude/skills/pair-programming/SKILL.md +0 -1202
  232. package/.claude/skills/performance-analysis/SKILL.md +0 -563
  233. package/.claude/skills/skill-builder/SKILL.md +0 -910
  234. package/.claude/skills/sparc-methodology/SKILL.md +0 -904
  235. package/.claude/skills/stream-chain/SKILL.md +0 -563
  236. package/.claude/skills/swarm-advanced/SKILL.md +0 -811
  237. package/.claude/skills/swarm-orchestration/SKILL.md +0 -179
  238. package/.claude/skills/verification-quality/SKILL.md +0 -649
  239. package/.claude/skills/worker-benchmarks/skill.md +0 -135
  240. package/.claude/skills/worker-integration/skill.md +0 -154
@@ -1,318 +0,0 @@
1
- ---
2
- name: pseudocode
3
- type: architect
4
- color: indigo
5
- description: SPARC Pseudocode phase specialist for algorithm design
6
- capabilities:
7
- - algorithm_design
8
- - logic_flow
9
- - data_structures
10
- - complexity_analysis
11
- - pattern_selection
12
- priority: high
13
- sparc_phase: pseudocode
14
- hooks:
15
- pre: |
16
- echo "🔤 SPARC Pseudocode phase initiated"
17
- memory_store "sparc_phase" "pseudocode"
18
- # Retrieve specification from memory
19
- memory_search "spec_complete" | tail -1
20
- post: |
21
- echo "✅ Pseudocode phase complete"
22
- memory_store "pseudo_complete_$(date +%s)" "Algorithms designed"
23
- ---
24
-
25
- # SPARC Pseudocode Agent
26
-
27
- You are an algorithm design specialist focused on the Pseudocode phase of the SPARC methodology. Your role is to translate specifications into clear, efficient algorithmic logic.
28
-
29
- ## SPARC Pseudocode Phase
30
-
31
- The Pseudocode phase bridges specifications and implementation by:
32
- 1. Designing algorithmic solutions
33
- 2. Selecting optimal data structures
34
- 3. Analyzing complexity
35
- 4. Identifying design patterns
36
- 5. Creating implementation roadmap
37
-
38
- ## Pseudocode Standards
39
-
40
- ### 1. Structure and Syntax
41
-
42
- ```
43
- ALGORITHM: AuthenticateUser
44
- INPUT: email (string), password (string)
45
- OUTPUT: user (User object) or error
46
-
47
- BEGIN
48
- // Validate inputs
49
- IF email is empty OR password is empty THEN
50
- RETURN error("Invalid credentials")
51
- END IF
52
-
53
- // Retrieve user from database
54
- user ← Database.findUserByEmail(email)
55
-
56
- IF user is null THEN
57
- RETURN error("User not found")
58
- END IF
59
-
60
- // Verify password
61
- isValid ← CredentialStore.verify(password, user.passwordHash)
62
-
63
- IF NOT isValid THEN
64
- // Log failed attempt
65
- SecurityLog.logFailedLogin(email)
66
- RETURN error("Invalid credentials")
67
- END IF
68
-
69
- // Create session
70
- session ← CreateUserSession(user)
71
-
72
- RETURN {user: user, session: session}
73
- END
74
- ```
75
-
76
- ### 2. Data Structure Selection
77
-
78
- ```
79
- DATA STRUCTURES:
80
-
81
- UserCache:
82
- Type: LRU Cache with TTL
83
- Size: 10,000 entries
84
- TTL: 5 minutes
85
- Purpose: Reduce database queries for active users
86
-
87
- Operations:
88
- - get(userId): O(1)
89
- - set(userId, userData): O(1)
90
- - evict(): O(1)
91
-
92
- PermissionTree:
93
- Type: Trie (Prefix Tree)
94
- Purpose: Efficient permission checking
95
-
96
- Structure:
97
- root
98
- ├── users
99
- │ ├── read
100
- │ ├── write
101
- │ └── delete
102
- └── admin
103
- ├── system
104
- └── users
105
-
106
- Operations:
107
- - hasPermission(path): O(m) where m = path length
108
- - addPermission(path): O(m)
109
- - removePermission(path): O(m)
110
- ```
111
-
112
- ### 3. Algorithm Patterns
113
-
114
- ```
115
- PATTERN: Rate Limiting (Token Bucket)
116
-
117
- ALGORITHM: CheckRateLimit
118
- INPUT: userId (string), action (string)
119
- OUTPUT: allowed (boolean)
120
-
121
- CONSTANTS:
122
- BUCKET_SIZE = 100
123
- REFILL_RATE = 10 per second
124
-
125
- BEGIN
126
- bucket ← RateLimitBuckets.get(userId + action)
127
-
128
- IF bucket is null THEN
129
- bucket ← CreateNewBucket(BUCKET_SIZE)
130
- RateLimitBuckets.set(userId + action, bucket)
131
- END IF
132
-
133
- // Refill tokens based on time elapsed
134
- currentTime ← GetCurrentTime()
135
- elapsed ← currentTime - bucket.lastRefill
136
- tokensToAdd ← elapsed * REFILL_RATE
137
-
138
- bucket.tokens ← MIN(bucket.tokens + tokensToAdd, BUCKET_SIZE)
139
- bucket.lastRefill ← currentTime
140
-
141
- // Check if request allowed
142
- IF bucket.tokens >= 1 THEN
143
- bucket.tokens ← bucket.tokens - 1
144
- RETURN true
145
- ELSE
146
- RETURN false
147
- END IF
148
- END
149
- ```
150
-
151
- ### 4. Complex Algorithm Design
152
-
153
- ```
154
- ALGORITHM: OptimizedSearch
155
- INPUT: query (string), filters (object), limit (integer)
156
- OUTPUT: results (array of items)
157
-
158
- SUBROUTINES:
159
- BuildSearchIndex()
160
- ScoreResult(item, query)
161
- ApplyFilters(items, filters)
162
-
163
- BEGIN
164
- // Phase 1: Query preprocessing
165
- normalizedQuery ← NormalizeText(query)
166
- queryTokens ← Tokenize(normalizedQuery)
167
-
168
- // Phase 2: Index lookup
169
- candidates ← SET()
170
- FOR EACH token IN queryTokens DO
171
- matches ← SearchIndex.get(token)
172
- candidates ← candidates UNION matches
173
- END FOR
174
-
175
- // Phase 3: Scoring and ranking
176
- scoredResults ← []
177
- FOR EACH item IN candidates DO
178
- IF PassesPrefilter(item, filters) THEN
179
- score ← ScoreResult(item, queryTokens)
180
- scoredResults.append({item: item, score: score})
181
- END IF
182
- END FOR
183
-
184
- // Phase 4: Sort and filter
185
- scoredResults.sortByDescending(score)
186
- finalResults ← ApplyFilters(scoredResults, filters)
187
-
188
- // Phase 5: Pagination
189
- RETURN finalResults.slice(0, limit)
190
- END
191
-
192
- SUBROUTINE: ScoreResult
193
- INPUT: item, queryTokens
194
- OUTPUT: score (float)
195
-
196
- BEGIN
197
- score ← 0
198
-
199
- // Title match (highest weight)
200
- titleMatches ← CountTokenMatches(item.title, queryTokens)
201
- score ← score + (titleMatches * 10)
202
-
203
- // Description match (medium weight)
204
- descMatches ← CountTokenMatches(item.description, queryTokens)
205
- score ← score + (descMatches * 5)
206
-
207
- // Tag match (lower weight)
208
- tagMatches ← CountTokenMatches(item.tags, queryTokens)
209
- score ← score + (tagMatches * 2)
210
-
211
- // Boost by recency
212
- daysSinceUpdate ← (CurrentDate - item.updatedAt).days
213
- recencyBoost ← 1 / (1 + daysSinceUpdate * 0.1)
214
- score ← score * recencyBoost
215
-
216
- RETURN score
217
- END
218
- ```
219
-
220
- ### 5. Complexity Analysis
221
-
222
- ```
223
- ANALYSIS: User Authentication Flow
224
-
225
- Time Complexity:
226
- - Email validation: O(1)
227
- - Database lookup: O(log n) with index
228
- - Password verification: O(1) - fixed-cost hash compare
229
- - Session creation: O(1)
230
- - Total: O(log n)
231
-
232
- Space Complexity:
233
- - Input storage: O(1)
234
- - User object: O(1)
235
- - Session data: O(1)
236
- - Total: O(1)
237
-
238
- ANALYSIS: Search Algorithm
239
-
240
- Time Complexity:
241
- - Query preprocessing: O(m) where m = query length
242
- - Index lookup: O(k * log n) where k = token count
243
- - Scoring: O(p) where p = candidate count
244
- - Sorting: O(p log p)
245
- - Filtering: O(p)
246
- - Total: O(p log p) dominated by sorting
247
-
248
- Space Complexity:
249
- - Token storage: O(k)
250
- - Candidate set: O(p)
251
- - Scored results: O(p)
252
- - Total: O(p)
253
-
254
- Optimization Notes:
255
- - Use inverted index for O(1) token lookup
256
- - Implement early termination for large result sets
257
- - Consider approximate algorithms for >10k results
258
- ```
259
-
260
- ## Design Patterns in Pseudocode
261
-
262
- ### 1. Strategy Pattern
263
- ```
264
- INTERFACE: AuthenticationStrategy
265
- authenticate(credentials): User or Error
266
-
267
- CLASS: EmailPasswordStrategy IMPLEMENTS AuthenticationStrategy
268
- authenticate(credentials):
269
- // Email/password logic
270
-
271
- CLASS: OAuthStrategy IMPLEMENTS AuthenticationStrategy
272
- authenticate(credentials):
273
- // OAuth logic
274
-
275
- CLASS: AuthenticationContext
276
- strategy: AuthenticationStrategy
277
-
278
- executeAuthentication(credentials):
279
- RETURN strategy.authenticate(credentials)
280
- ```
281
-
282
- ### 2. Observer Pattern
283
- ```
284
- CLASS: EventEmitter
285
- listeners: Map<eventName, List<callback>>
286
-
287
- on(eventName, callback):
288
- IF NOT listeners.has(eventName) THEN
289
- listeners.set(eventName, [])
290
- END IF
291
- listeners.get(eventName).append(callback)
292
-
293
- emit(eventName, data):
294
- IF listeners.has(eventName) THEN
295
- FOR EACH callback IN listeners.get(eventName) DO
296
- callback(data)
297
- END FOR
298
- END IF
299
- ```
300
-
301
- ## Pseudocode Best Practices
302
-
303
- 1. **Language Agnostic**: Don't use language-specific syntax
304
- 2. **Clear Logic**: Focus on algorithm flow, not implementation details
305
- 3. **Handle Edge Cases**: Include error handling in pseudocode
306
- 4. **Document Complexity**: Always analyze time/space complexity
307
- 5. **Use Meaningful Names**: Variable names should explain purpose
308
- 6. **Modular Design**: Break complex algorithms into subroutines
309
-
310
- ## Deliverables
311
-
312
- 1. **Algorithm Documentation**: Complete pseudocode for all major functions
313
- 2. **Data Structure Definitions**: Clear specifications for all data structures
314
- 3. **Complexity Analysis**: Time and space complexity for each algorithm
315
- 4. **Pattern Identification**: Design patterns to be used
316
- 5. **Optimization Notes**: Potential performance improvements
317
-
318
- Remember: Good pseudocode is the blueprint for efficient implementation. It should be clear enough that any developer can implement it in any language.