groundswell 0.0.2 → 1.0.0

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 (554) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +26 -9
  3. package/dist/cache/cache-key.d.ts +86 -0
  4. package/dist/cache/cache-key.d.ts.map +1 -0
  5. package/dist/cache/cache-key.js +204 -0
  6. package/dist/cache/cache-key.js.map +1 -0
  7. package/dist/cache/cache.d.ts +104 -0
  8. package/dist/cache/cache.d.ts.map +1 -0
  9. package/dist/cache/cache.js +179 -0
  10. package/dist/cache/cache.js.map +1 -0
  11. package/{src/cache/index.ts → dist/cache/index.d.ts} +1 -1
  12. package/dist/cache/index.d.ts.map +1 -0
  13. package/dist/cache/index.js +6 -0
  14. package/dist/cache/index.js.map +1 -0
  15. package/dist/core/agent.d.ts +203 -0
  16. package/dist/core/agent.d.ts.map +1 -0
  17. package/dist/core/agent.js +833 -0
  18. package/dist/core/agent.js.map +1 -0
  19. package/{src/core/context.ts → dist/core/context.d.ts} +16 -67
  20. package/dist/core/context.d.ts.map +1 -0
  21. package/dist/core/context.js +80 -0
  22. package/dist/core/context.js.map +1 -0
  23. package/dist/core/event-tree.d.ts +72 -0
  24. package/dist/core/event-tree.d.ts.map +1 -0
  25. package/dist/core/event-tree.js +211 -0
  26. package/dist/core/event-tree.js.map +1 -0
  27. package/{src/core/factory.ts → dist/core/factory.d.ts} +6 -27
  28. package/dist/core/factory.d.ts.map +1 -0
  29. package/dist/core/factory.js +110 -0
  30. package/dist/core/factory.js.map +1 -0
  31. package/{src/core/index.ts → dist/core/index.d.ts} +2 -10
  32. package/dist/core/index.d.ts.map +1 -0
  33. package/dist/core/index.js +9 -0
  34. package/dist/core/index.js.map +1 -0
  35. package/dist/core/logger.d.ts +50 -0
  36. package/dist/core/logger.d.ts.map +1 -0
  37. package/dist/core/logger.js +91 -0
  38. package/dist/core/logger.js.map +1 -0
  39. package/dist/core/mcp-handler.d.ts +127 -0
  40. package/dist/core/mcp-handler.d.ts.map +1 -0
  41. package/dist/core/mcp-handler.js +323 -0
  42. package/dist/core/mcp-handler.js.map +1 -0
  43. package/dist/core/prompt.d.ts +80 -0
  44. package/dist/core/prompt.d.ts.map +1 -0
  45. package/dist/core/prompt.js +120 -0
  46. package/dist/core/prompt.js.map +1 -0
  47. package/dist/core/workflow-context.d.ts +61 -0
  48. package/dist/core/workflow-context.d.ts.map +1 -0
  49. package/dist/core/workflow-context.js +358 -0
  50. package/dist/core/workflow-context.js.map +1 -0
  51. package/dist/core/workflow.d.ts +543 -0
  52. package/dist/core/workflow.d.ts.map +1 -0
  53. package/dist/core/workflow.js +986 -0
  54. package/dist/core/workflow.js.map +1 -0
  55. package/dist/debugger/event-replayer.d.ts +422 -0
  56. package/dist/debugger/event-replayer.d.ts.map +1 -0
  57. package/dist/debugger/event-replayer.js +639 -0
  58. package/dist/debugger/event-replayer.js.map +1 -0
  59. package/dist/debugger/index.d.ts +2 -0
  60. package/dist/debugger/index.d.ts.map +1 -0
  61. package/{src/debugger/index.ts → dist/debugger/index.js} +1 -0
  62. package/dist/debugger/index.js.map +1 -0
  63. package/dist/debugger/tree-debugger.d.ts +240 -0
  64. package/dist/debugger/tree-debugger.d.ts.map +1 -0
  65. package/dist/debugger/tree-debugger.js +620 -0
  66. package/dist/debugger/tree-debugger.js.map +1 -0
  67. package/dist/decorators/index.d.ts +4 -0
  68. package/dist/decorators/index.d.ts.map +1 -0
  69. package/{src/decorators/index.ts → dist/decorators/index.js} +1 -0
  70. package/dist/decorators/index.js.map +1 -0
  71. package/dist/decorators/observed-state.d.ts +32 -0
  72. package/dist/decorators/observed-state.d.ts.map +1 -0
  73. package/dist/decorators/observed-state.js +79 -0
  74. package/dist/decorators/observed-state.js.map +1 -0
  75. package/dist/decorators/step.d.ts +15 -0
  76. package/dist/decorators/step.d.ts.map +1 -0
  77. package/dist/decorators/step.js +192 -0
  78. package/dist/decorators/step.js.map +1 -0
  79. package/dist/decorators/task.d.ts +50 -0
  80. package/dist/decorators/task.d.ts.map +1 -0
  81. package/dist/decorators/task.js +118 -0
  82. package/dist/decorators/task.js.map +1 -0
  83. package/dist/examples/index.d.ts +3 -0
  84. package/dist/examples/index.d.ts.map +1 -0
  85. package/{src/examples/index.ts → dist/examples/index.js} +1 -0
  86. package/dist/examples/index.js.map +1 -0
  87. package/dist/examples/tdd-orchestrator.d.ts +15 -0
  88. package/dist/examples/tdd-orchestrator.d.ts.map +1 -0
  89. package/dist/examples/tdd-orchestrator.js +121 -0
  90. package/dist/examples/tdd-orchestrator.js.map +1 -0
  91. package/dist/examples/test-cycle-workflow.d.ts +14 -0
  92. package/dist/examples/test-cycle-workflow.d.ts.map +1 -0
  93. package/dist/examples/test-cycle-workflow.js +116 -0
  94. package/dist/examples/test-cycle-workflow.js.map +1 -0
  95. package/dist/harnesses/claude-code-harness.d.ts +391 -0
  96. package/dist/harnesses/claude-code-harness.d.ts.map +1 -0
  97. package/dist/harnesses/claude-code-harness.js +1076 -0
  98. package/dist/harnesses/claude-code-harness.js.map +1 -0
  99. package/dist/harnesses/harness-registry.d.ts +440 -0
  100. package/dist/harnesses/harness-registry.d.ts.map +1 -0
  101. package/dist/harnesses/harness-registry.js +543 -0
  102. package/dist/harnesses/harness-registry.js.map +1 -0
  103. package/dist/harnesses/index.d.ts +12 -0
  104. package/dist/harnesses/index.d.ts.map +1 -0
  105. package/dist/harnesses/index.js +11 -0
  106. package/dist/harnesses/index.js.map +1 -0
  107. package/dist/harnesses/pi-harness.d.ts +219 -0
  108. package/dist/harnesses/pi-harness.d.ts.map +1 -0
  109. package/dist/harnesses/pi-harness.js +676 -0
  110. package/dist/harnesses/pi-harness.js.map +1 -0
  111. package/dist/harnesses/pi-schema-converter.d.ts +24 -0
  112. package/dist/harnesses/pi-schema-converter.d.ts.map +1 -0
  113. package/dist/harnesses/pi-schema-converter.js +81 -0
  114. package/dist/harnesses/pi-schema-converter.js.map +1 -0
  115. package/dist/harnesses/register-defaults.d.ts +24 -0
  116. package/dist/harnesses/register-defaults.d.ts.map +1 -0
  117. package/dist/harnesses/register-defaults.js +40 -0
  118. package/dist/harnesses/register-defaults.js.map +1 -0
  119. package/dist/harnesses/session-store.d.ts +201 -0
  120. package/dist/harnesses/session-store.d.ts.map +1 -0
  121. package/dist/harnesses/session-store.js +254 -0
  122. package/dist/harnesses/session-store.js.map +1 -0
  123. package/dist/index.d.ts +37 -0
  124. package/dist/index.d.ts.map +1 -0
  125. package/dist/index.js +57 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/reflection/index.d.ts +5 -0
  128. package/dist/reflection/index.d.ts.map +1 -0
  129. package/{src/reflection/index.ts → dist/reflection/index.js} +1 -1
  130. package/dist/reflection/index.js.map +1 -0
  131. package/dist/reflection/reflection.d.ts +84 -0
  132. package/dist/reflection/reflection.d.ts.map +1 -0
  133. package/dist/reflection/reflection.js +344 -0
  134. package/dist/reflection/reflection.js.map +1 -0
  135. package/dist/tools/index.d.ts +6 -0
  136. package/dist/tools/index.d.ts.map +1 -0
  137. package/dist/tools/index.js +11 -0
  138. package/dist/tools/index.js.map +1 -0
  139. package/dist/tools/introspection.d.ts +165 -0
  140. package/dist/tools/introspection.d.ts.map +1 -0
  141. package/dist/tools/introspection.js +324 -0
  142. package/dist/tools/introspection.js.map +1 -0
  143. package/dist/types/agent.d.ts +1317 -0
  144. package/dist/types/agent.d.ts.map +1 -0
  145. package/dist/types/agent.js +423 -0
  146. package/dist/types/agent.js.map +1 -0
  147. package/dist/types/decorators.d.ts +40 -0
  148. package/dist/types/decorators.d.ts.map +1 -0
  149. package/dist/types/decorators.js +2 -0
  150. package/dist/types/decorators.js.map +1 -0
  151. package/dist/types/error-strategy.d.ts +13 -0
  152. package/dist/types/error-strategy.d.ts.map +1 -0
  153. package/dist/types/error-strategy.js +2 -0
  154. package/dist/types/error-strategy.js.map +1 -0
  155. package/dist/types/error.d.ts +20 -0
  156. package/dist/types/error.d.ts.map +1 -0
  157. package/dist/types/error.js +2 -0
  158. package/dist/types/error.js.map +1 -0
  159. package/dist/types/events.d.ts +113 -0
  160. package/dist/types/events.d.ts.map +1 -0
  161. package/dist/types/events.js +2 -0
  162. package/dist/types/events.js.map +1 -0
  163. package/dist/types/harnesses.d.ts +474 -0
  164. package/dist/types/harnesses.d.ts.map +1 -0
  165. package/dist/types/harnesses.js +2 -0
  166. package/dist/types/harnesses.js.map +1 -0
  167. package/dist/types/index.d.ts +23 -0
  168. package/dist/types/index.d.ts.map +1 -0
  169. package/dist/types/index.js +8 -0
  170. package/dist/types/index.js.map +1 -0
  171. package/dist/types/logging.d.ts +24 -0
  172. package/dist/types/logging.d.ts.map +1 -0
  173. package/dist/types/logging.js +2 -0
  174. package/dist/types/logging.js.map +1 -0
  175. package/dist/types/observer.d.ts +18 -0
  176. package/dist/types/observer.d.ts.map +1 -0
  177. package/dist/types/observer.js +2 -0
  178. package/dist/types/observer.js.map +1 -0
  179. package/dist/types/prompt.d.ts +31 -0
  180. package/dist/types/prompt.d.ts.map +1 -0
  181. package/dist/types/prompt.js +6 -0
  182. package/dist/types/prompt.js.map +1 -0
  183. package/dist/types/providers.d.ts +691 -0
  184. package/dist/types/providers.d.ts.map +1 -0
  185. package/dist/types/providers.js +14 -0
  186. package/dist/types/providers.js.map +1 -0
  187. package/dist/types/reflection.d.ts +96 -0
  188. package/dist/types/reflection.d.ts.map +1 -0
  189. package/dist/types/reflection.js +24 -0
  190. package/dist/types/reflection.js.map +1 -0
  191. package/dist/types/restart.d.ts +132 -0
  192. package/dist/types/restart.d.ts.map +1 -0
  193. package/dist/types/restart.js +2 -0
  194. package/dist/types/restart.js.map +1 -0
  195. package/dist/types/sdk-primitives.d.ts +118 -0
  196. package/dist/types/sdk-primitives.d.ts.map +1 -0
  197. package/dist/types/sdk-primitives.js +6 -0
  198. package/dist/types/sdk-primitives.js.map +1 -0
  199. package/{src/types/snapshot.ts → dist/types/snapshot.d.ts} +5 -5
  200. package/dist/types/snapshot.d.ts.map +1 -0
  201. package/dist/types/snapshot.js +2 -0
  202. package/dist/types/snapshot.js.map +1 -0
  203. package/dist/types/streaming.d.ts +194 -0
  204. package/dist/types/streaming.d.ts.map +1 -0
  205. package/dist/types/streaming.js +67 -0
  206. package/dist/types/streaming.js.map +1 -0
  207. package/dist/types/workflow-context.d.ts +275 -0
  208. package/dist/types/workflow-context.d.ts.map +1 -0
  209. package/dist/types/workflow-context.js +8 -0
  210. package/dist/types/workflow-context.js.map +1 -0
  211. package/dist/types/workflow.d.ts +30 -0
  212. package/dist/types/workflow.d.ts.map +1 -0
  213. package/dist/types/workflow.js +2 -0
  214. package/dist/types/workflow.js.map +1 -0
  215. package/dist/utils/agent-validation.d.ts +88 -0
  216. package/dist/utils/agent-validation.d.ts.map +1 -0
  217. package/dist/utils/agent-validation.js +87 -0
  218. package/dist/utils/agent-validation.js.map +1 -0
  219. package/dist/utils/delay.d.ts +7 -0
  220. package/dist/utils/delay.d.ts.map +1 -0
  221. package/dist/utils/delay.js +9 -0
  222. package/dist/utils/delay.js.map +1 -0
  223. package/dist/utils/harness-config.d.ts +180 -0
  224. package/dist/utils/harness-config.d.ts.map +1 -0
  225. package/dist/utils/harness-config.js +311 -0
  226. package/dist/utils/harness-config.js.map +1 -0
  227. package/dist/utils/id.d.ts +6 -0
  228. package/dist/utils/id.d.ts.map +1 -0
  229. package/dist/utils/id.js +12 -0
  230. package/dist/utils/id.js.map +1 -0
  231. package/dist/utils/index.d.ts +13 -0
  232. package/dist/utils/index.d.ts.map +1 -0
  233. package/dist/utils/index.js +11 -0
  234. package/dist/utils/index.js.map +1 -0
  235. package/dist/utils/model-spec.d.ts +110 -0
  236. package/dist/utils/model-spec.d.ts.map +1 -0
  237. package/dist/utils/model-spec.js +149 -0
  238. package/dist/utils/model-spec.js.map +1 -0
  239. package/dist/utils/observable.d.ts +54 -0
  240. package/dist/utils/observable.d.ts.map +1 -0
  241. package/dist/utils/observable.js +82 -0
  242. package/dist/utils/observable.js.map +1 -0
  243. package/dist/utils/provider-config.d.ts +10 -0
  244. package/dist/utils/provider-config.d.ts.map +1 -0
  245. package/dist/utils/provider-config.js +10 -0
  246. package/dist/utils/provider-config.js.map +1 -0
  247. package/dist/utils/restart-analysis.d.ts +202 -0
  248. package/dist/utils/restart-analysis.d.ts.map +1 -0
  249. package/dist/utils/restart-analysis.js +426 -0
  250. package/dist/utils/restart-analysis.js.map +1 -0
  251. package/dist/utils/session-serialization.d.ts +118 -0
  252. package/dist/utils/session-serialization.d.ts.map +1 -0
  253. package/dist/utils/session-serialization.js +217 -0
  254. package/dist/utils/session-serialization.js.map +1 -0
  255. package/dist/utils/workflow-error-utils.d.ts +22 -0
  256. package/dist/utils/workflow-error-utils.d.ts.map +1 -0
  257. package/dist/utils/workflow-error-utils.js +45 -0
  258. package/dist/utils/workflow-error-utils.js.map +1 -0
  259. package/package.json +34 -5
  260. package/.claude/commands/subtask-planning/prp-base-create.md +0 -120
  261. package/.claude/commands/subtask-planning/prp-base-execute.md +0 -65
  262. package/.claude/commands/task-breakdown.md +0 -94
  263. package/.claude/settings.local.json +0 -9
  264. package/.claude/system_prompts/task-breakdown.md +0 -101
  265. package/CHANGELOG.md +0 -188
  266. package/PRD.md +0 -543
  267. package/PRPs/001-hierarchical-workflow-engine.md +0 -2438
  268. package/PRPs/PRDs/002-agent-prompt.md +0 -390
  269. package/PRPs/PRDs/003-agent-prompt.md +0 -943
  270. package/PRPs/PRDs/004-agent-prompt.md +0 -1136
  271. package/PRPs/PRDs/tasks-001.json +0 -492
  272. package/PRPs/README.md +0 -83
  273. package/PRPs/templates/prp_base.md +0 -222
  274. package/docs/agent.md +0 -422
  275. package/docs/prompt.md +0 -419
  276. package/docs/workflow.md +0 -600
  277. package/examples/README.md +0 -258
  278. package/examples/examples/01-basic-workflow.ts +0 -100
  279. package/examples/examples/02-decorator-options.ts +0 -217
  280. package/examples/examples/03-parent-child.ts +0 -241
  281. package/examples/examples/04-observers-debugger.ts +0 -340
  282. package/examples/examples/05-error-handling.ts +0 -387
  283. package/examples/examples/06-concurrent-tasks.ts +0 -352
  284. package/examples/examples/07-agent-loops.ts +0 -432
  285. package/examples/examples/08-sdk-features.ts +0 -667
  286. package/examples/examples/09-reflection.ts +0 -573
  287. package/examples/examples/10-introspection.ts +0 -550
  288. package/examples/examples/11-reparenting-workflows.ts +0 -269
  289. package/examples/index.ts +0 -147
  290. package/examples/utils/helpers.ts +0 -57
  291. package/package-lock.json +0 -2398
  292. package/plan/001_d3bb02af4886/TEST_RESULTS.md +0 -259
  293. package/plan/001_d3bb02af4886/backlog.json +0 -867
  294. package/plan/001_d3bb02af4886/bug_fix_tasks.json +0 -484
  295. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S1/PRP.md +0 -488
  296. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S2/PRP.md +0 -581
  297. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S3/PRP.md +0 -687
  298. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S1/PRP.md +0 -492
  299. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/PRP.md +0 -932
  300. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/concurrent_error_testing_patterns.md +0 -1109
  301. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/vitest_concurrent_testing.md +0 -802
  302. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/workflow_engine_test_references.md +0 -603
  303. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S1/PRP.md +0 -564
  304. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S3/PRP.md +0 -518
  305. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S4/PRP.md +0 -1252
  306. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/PRP.md +0 -364
  307. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/CODEBASE_INVENTORY.md +0 -114
  308. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/DECORATOR_DOCUMENTATION_PATTERNS.md +0 -205
  309. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/PRD_LOCATION_ANALYSIS.md +0 -199
  310. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/ULTRATHINK_PRP_PLAN.md +0 -134
  311. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/PRP.md +0 -495
  312. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/research/console_error_inventory.md +0 -435
  313. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S2/PRP.md +0 -506
  314. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S3/PRP.md +0 -612
  315. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/PRP.md +0 -558
  316. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/research/external_research.md +0 -788
  317. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S2/PRP.md +0 -460
  318. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S3/PRP.md +0 -454
  319. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/PRP.md +0 -520
  320. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/RECOMMENDATION.md +0 -417
  321. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/external_workflow_engines_research.md +0 -760
  322. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/security_implications_analysis.md +0 -245
  323. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S2/PRP.md +0 -792
  324. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/PRP.md +0 -535
  325. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/TEST_EXECUTION_REPORT.md +0 -190
  326. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/PRP.md +0 -654
  327. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/TEST_FIX_REPORT.md +0 -227
  328. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/KEY_FINDINGS.md +0 -345
  329. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/QUICK_REFERENCE.md +0 -193
  330. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/test_maintenance_research.md +0 -1323
  331. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/BREAKING_CHANGES_AUDIT.md +0 -1011
  332. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/PRP.md +0 -927
  333. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S2/PRP.md +0 -505
  334. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/architecture/logger_child_signature_analysis.md +0 -401
  335. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/child_implementation_research.md +0 -142
  336. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/test_patterns_research.md +0 -112
  337. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/vitest_patterns_research.md +0 -159
  338. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/PRP.md +0 -549
  339. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/VERIFICATION_REPORT.md +0 -368
  340. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/edge_case_analysis.md +0 -172
  341. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/usage_inventory.md +0 -175
  342. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S2/PRP.md +0 -696
  343. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S4/PRP.md +0 -860
  344. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/PRP.md +0 -1066
  345. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01-testing-aggregated-errors.md +0 -1103
  346. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01_typescript_error_aggregation_patterns.md +0 -789
  347. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02-error-merge-strategy-testing-guide.md +0 -1098
  348. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02_aggregate_error_patterns.md +0 -1037
  349. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03-promise-allsettled-testing-patterns.md +0 -916
  350. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03_error_merging_strategies.md +0 -1045
  351. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/04_github_stackoverflow_examples.md +0 -890
  352. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/05_comprehensive_summary.md +0 -822
  353. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/INDEX.md +0 -668
  354. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/QUICK_REFERENCE.md +0 -706
  355. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/README.md +0 -265
  356. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/RESEARCH_REPORT.md +0 -655
  357. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S4/research/vitest_testing_patterns.md +0 -1103
  358. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T3S2/PRP.md +0 -426
  359. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/PRP.md +0 -506
  360. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/QUICK_REFERENCE.md +0 -114
  361. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/RESEARCH_SUMMARY.md +0 -316
  362. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/vitest_observer_error_logging_best_practices.md +0 -754
  363. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S3/PRP.md +0 -612
  364. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/PRP.md +0 -719
  365. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/README.md +0 -215
  366. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/analysis.md +0 -765
  367. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S3/PRP.md +0 -718
  368. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/DECISION.md +0 -149
  369. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/PRP.md +0 -470
  370. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/ULTRATHINK_PLAN.md +0 -332
  371. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/codebase_workflow_name_analysis.md +0 -167
  372. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/external_best_practices.md +0 -265
  373. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/validation_patterns.md +0 -273
  374. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S1/workflow_engine_ancestry_api_research.md +0 -760
  375. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S3-PRP.md +0 -434
  376. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S1/PRP.md +0 -717
  377. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/PRP.md +0 -472
  378. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/VALIDATION_REPORT.md +0 -125
  379. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/research/ULTRATHINK_PRP_PLAN.md +0 -301
  380. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/error-logging-best-practices.md +0 -1170
  381. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/research_typescript_partial_and_overloads.md +0 -940
  382. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-quick-reference.md +0 -151
  383. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-research.md +0 -650
  384. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/prd_snapshot.md +0 -259
  385. package/plan/001_d3bb02af4886/bugfix/P1M1T1S1/PRP.md +0 -457
  386. package/plan/001_d3bb02af4886/bugfix/RESEARCH_SUMMARY.md +0 -346
  387. package/plan/001_d3bb02af4886/bugfix/architecture/codebase_structure.md +0 -311
  388. package/plan/001_d3bb02af4886/bugfix/architecture/concurrent_execution_best_practices.md +0 -1565
  389. package/plan/001_d3bb02af4886/bugfix/architecture/error_handling_patterns.md +0 -288
  390. package/plan/001_d3bb02af4886/bugfix/architecture/promise_all_analysis.md +0 -741
  391. package/plan/001_d3bb02af4886/docs/PRP/P1M1T1S4-functional-workflow-error-state-capture-test.md +0 -652
  392. package/plan/001_d3bb02af4886/docs/PRP/P1P2-PRP.md +0 -527
  393. package/plan/001_d3bb02af4886/docs/PRP/P3P4-PRP.md +0 -1388
  394. package/plan/001_d3bb02af4886/docs/PRP/P4P5-PRP.md +0 -1136
  395. package/plan/001_d3bb02af4886/docs/PRP/PRP.md +0 -527
  396. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S1-PRP.md +0 -415
  397. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S2-PRP.md +0 -378
  398. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S4-PRP.md +0 -713
  399. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M2T1S4-PRP.md +0 -370
  400. package/plan/001_d3bb02af4886/docs/PRP_P1M3T1S3.md +0 -499
  401. package/plan/001_d3bb02af4886/docs/TEST_RESULTS.md +0 -230
  402. package/plan/001_d3bb02af4886/docs/architecture/external_deps.md +0 -358
  403. package/plan/001_d3bb02af4886/docs/architecture/system_context.md +0 -242
  404. package/plan/001_d3bb02af4886/docs/bugfix/ANALYSIS_PRD_VS_IMPLEMENTATION.md +0 -1134
  405. package/plan/001_d3bb02af4886/docs/bugfix/GAP_ANALYSIS_SUMMARY.md +0 -179
  406. package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/PRP.md +0 -629
  407. package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/validation-report.md +0 -214
  408. package/plan/001_d3bb02af4886/docs/bugfix/PRP_P1M4T2S3.md +0 -629
  409. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_PRP.md +0 -529
  410. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_QUICK_REFERENCE.md +0 -142
  411. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_README.md +0 -304
  412. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_TEST_RESULTS.md +0 -558
  413. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_VALIDATION_SUMMARY.md +0 -256
  414. package/plan/001_d3bb02af4886/docs/bugfix/system_context.md +0 -346
  415. package/plan/001_d3bb02af4886/docs/bugfix-architecture/bug_analysis.md +0 -415
  416. package/plan/001_d3bb02af4886/docs/bugfix-architecture/implementation_patterns.md +0 -489
  417. package/plan/001_d3bb02af4886/docs/bugfix-architecture/system_context.md +0 -218
  418. package/plan/001_d3bb02af4886/docs/bugfix_INITIATION_SUMMARY.md +0 -380
  419. package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_PATTERNS.md +0 -1923
  420. package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_QUICK_REF.md +0 -319
  421. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/codebase-context.md +0 -115
  422. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/cycle-detection-algorithms.md +0 -134
  423. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/test-patterns.md +0 -153
  424. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/workflow-class.md +0 -132
  425. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_BEST_PRACTICES.md +0 -716
  426. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_QUICK_REF.md +0 -186
  427. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/GROUNDSWELL_DECORATOR_EXAMPLES.md +0 -604
  428. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/INDEX.md +0 -213
  429. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/codebase_structure.md +0 -30
  430. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/existing_test_pattern.md +0 -56
  431. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/getRootObservers_implementation.md +0 -53
  432. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/test_conventions.md +0 -49
  433. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/PRP.md +0 -958
  434. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/QUICK_REFERENCE.md +0 -339
  435. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/README.md +0 -305
  436. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/SUMMARY.md +0 -433
  437. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/bidirectional-tree-consistency-testing.md +0 -1574
  438. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/test-pattern-examples.md +0 -1014
  439. package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_BEST_PRACTICES.md +0 -1929
  440. package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_CODE_PATTERNS.md +0 -857
  441. package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_INTEGRATION_GUIDE.md +0 -738
  442. package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_RESEARCH_INDEX.md +0 -424
  443. package/plan/001_d3bb02af4886/docs/research/P1P2/REFLECTION_INDEX.md +0 -291
  444. package/plan/001_d3bb02af4886/docs/research/P1P2/REFLECTION_RESEARCH_REPORT.md +0 -1342
  445. package/plan/001_d3bb02af4886/docs/research/P1P2/RESEARCH_SUMMARY.md +0 -342
  446. package/plan/001_d3bb02af4886/docs/research/P1P2/anthropic-sdk.md +0 -174
  447. package/plan/001_d3bb02af4886/docs/research/P1P2/async-local-storage.md +0 -200
  448. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-code-patterns.md +0 -1205
  449. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-decision-matrix.md +0 -421
  450. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-implementation-guide.md +0 -1341
  451. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-integration-guide.md +0 -834
  452. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-patterns.md +0 -1468
  453. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-quick-reference.md +0 -558
  454. package/plan/001_d3bb02af4886/docs/research/P1P2/zod-schema.md +0 -152
  455. package/plan/001_d3bb02af4886/docs/research/P3P4/caching-lru.md +0 -116
  456. package/plan/001_d3bb02af4886/docs/research/P3P4/introspection-tools.md +0 -177
  457. package/plan/001_d3bb02af4886/docs/research/P3P4/reflection-patterns.md +0 -117
  458. package/plan/001_d3bb02af4886/docs/research/P4P5/RESEARCH_SUMMARY.md +0 -151
  459. package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_QUICK_REF.md +0 -376
  460. package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_RESEARCH.md +0 -1507
  461. package/plan/001_d3bb02af4886/docs/research/bugfix_typescript_patterns.md +0 -949
  462. package/plan/001_d3bb02af4886/docs/research/error-testing-research.md +0 -619
  463. package/plan/001_d3bb02af4886/docs/research/error_handling_patterns.md +0 -723
  464. package/plan/001_d3bb02af4886/docs/research/general/INTROSPECTION_RESEARCH_SUMMARY.md +0 -378
  465. package/plan/001_d3bb02af4886/docs/research/general/README-INTROSPECTION.md +0 -352
  466. package/plan/001_d3bb02af4886/docs/research/general/agent-introspection-patterns.md +0 -1085
  467. package/plan/001_d3bb02af4886/docs/research/general/introspection-security-guide.md +0 -984
  468. package/plan/001_d3bb02af4886/docs/research/general/introspection-tool-examples.md +0 -875
  469. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/PRP_TEMPLATE.md +0 -460
  470. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/QUICK_REFERENCE.md +0 -324
  471. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/README.md +0 -175
  472. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/RESEARCH_REPORT.md +0 -499
  473. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/SUMMARY.md +0 -163
  474. package/plan/001_d3bb02af4886/prd_snapshot.md +0 -543
  475. package/plan/bugfix/BUG_FIX_SUMMARY.md +0 -961
  476. package/scripts/generate-llms-full.ts +0 -206
  477. package/src/__tests__/adversarial/attachChild-performance.test.ts +0 -216
  478. package/src/__tests__/adversarial/circular-reference.test.ts +0 -101
  479. package/src/__tests__/adversarial/complex-circular-reference.test.ts +0 -139
  480. package/src/__tests__/adversarial/concurrent-task-failures.test.ts +0 -571
  481. package/src/__tests__/adversarial/deep-analysis.test.ts +0 -729
  482. package/src/__tests__/adversarial/deep-hierarchy-stress.test.ts +0 -213
  483. package/src/__tests__/adversarial/e2e-prd-validation.test.ts +0 -448
  484. package/src/__tests__/adversarial/edge-case.test.ts +0 -703
  485. package/src/__tests__/adversarial/error-merge-strategy.test.ts +0 -760
  486. package/src/__tests__/adversarial/incremental-performance.test.ts +0 -140
  487. package/src/__tests__/adversarial/node-map-update-benchmarks.test.ts +0 -457
  488. package/src/__tests__/adversarial/observer-propagation.test.ts +0 -487
  489. package/src/__tests__/adversarial/parent-validation.test.ts +0 -143
  490. package/src/__tests__/adversarial/prd-12-2-compliance.test.ts +0 -611
  491. package/src/__tests__/adversarial/prd-compliance.test.ts +0 -731
  492. package/src/__tests__/compatibility/backward-compatibility.test.ts +0 -1572
  493. package/src/__tests__/helpers/index.ts +0 -18
  494. package/src/__tests__/helpers/tree-verification.ts +0 -257
  495. package/src/__tests__/integration/agent-workflow.test.ts +0 -256
  496. package/src/__tests__/integration/bidirectional-consistency.test.ts +0 -847
  497. package/src/__tests__/integration/observer-logging.test.ts +0 -643
  498. package/src/__tests__/integration/tree-mirroring.test.ts +0 -151
  499. package/src/__tests__/integration/workflow-reparenting.test.ts +0 -303
  500. package/src/__tests__/unit/agent.test.ts +0 -169
  501. package/src/__tests__/unit/cache-key.test.ts +0 -182
  502. package/src/__tests__/unit/cache.test.ts +0 -172
  503. package/src/__tests__/unit/context.test.ts +0 -217
  504. package/src/__tests__/unit/decorators.test.ts +0 -100
  505. package/src/__tests__/unit/introspection-tools.test.ts +0 -277
  506. package/src/__tests__/unit/logger.test.ts +0 -293
  507. package/src/__tests__/unit/observable.test.ts +0 -321
  508. package/src/__tests__/unit/prompt.test.ts +0 -135
  509. package/src/__tests__/unit/reflection.test.ts +0 -210
  510. package/src/__tests__/unit/tree-debugger-incremental.test.ts +0 -170
  511. package/src/__tests__/unit/tree-debugger.test.ts +0 -85
  512. package/src/__tests__/unit/utils/workflow-error-utils.test.ts +0 -209
  513. package/src/__tests__/unit/workflow-detachChild.test.ts +0 -100
  514. package/src/__tests__/unit/workflow-emitEvent-childDetached.test.ts +0 -153
  515. package/src/__tests__/unit/workflow-isDescendantOf.test.ts +0 -180
  516. package/src/__tests__/unit/workflow.test.ts +0 -357
  517. package/src/cache/cache-key.ts +0 -244
  518. package/src/cache/cache.ts +0 -236
  519. package/src/core/agent.ts +0 -593
  520. package/src/core/event-tree.ts +0 -260
  521. package/src/core/logger.ts +0 -112
  522. package/src/core/mcp-handler.ts +0 -184
  523. package/src/core/prompt.ts +0 -150
  524. package/src/core/workflow-context.ts +0 -351
  525. package/src/core/workflow.ts +0 -540
  526. package/src/debugger/tree-debugger.ts +0 -255
  527. package/src/decorators/observed-state.ts +0 -95
  528. package/src/decorators/step.ts +0 -139
  529. package/src/decorators/task.ts +0 -159
  530. package/src/examples/tdd-orchestrator.ts +0 -65
  531. package/src/examples/test-cycle-workflow.ts +0 -64
  532. package/src/index.ts +0 -142
  533. package/src/reflection/reflection.ts +0 -407
  534. package/src/tools/index.ts +0 -36
  535. package/src/tools/introspection.ts +0 -464
  536. package/src/types/agent.ts +0 -90
  537. package/src/types/decorators.ts +0 -32
  538. package/src/types/error-strategy.ts +0 -13
  539. package/src/types/error.ts +0 -20
  540. package/src/types/events.ts +0 -75
  541. package/src/types/index.ts +0 -55
  542. package/src/types/logging.ts +0 -24
  543. package/src/types/observer.ts +0 -18
  544. package/src/types/prompt.ts +0 -40
  545. package/src/types/reflection.ts +0 -117
  546. package/src/types/sdk-primitives.ts +0 -128
  547. package/src/types/workflow-context.ts +0 -163
  548. package/src/types/workflow.ts +0 -37
  549. package/src/utils/id.ts +0 -11
  550. package/src/utils/index.ts +0 -4
  551. package/src/utils/observable.ts +0 -106
  552. package/src/utils/workflow-error-utils.ts +0 -56
  553. package/tsconfig.json +0 -22
  554. package/vitest.config.ts +0 -16
@@ -1,364 +0,0 @@
1
- # PRP: Locate PRD Section for @Step Decorator Options (P1.M2.T3.S1)
2
-
3
- ---
4
-
5
- ## Goal
6
-
7
- **Feature Goal**: Locate and document the exact location of PRD Section 8.1 (@Step Decorator Options) containing the trackTiming option specification.
8
-
9
- **Deliverable**: Research report identifying the exact file path (`PRD.md`), line numbers (177-189), and specific line (183) for the trackTiming option, along with confirmation of the documentation gap.
10
-
11
- **Success Definition**: The exact location of @Step decorator options in the PRD is documented, the documentation gap (missing default value for trackTiming) is confirmed, and research findings are stored for the next subtask (P1.M2.T3.S2) to use when updating the PRD.
12
-
13
- ## User Persona
14
-
15
- **Target User**: Documentation maintainer / Developer responsible for updating PRD documentation
16
-
17
- **Use Case**: Need to find where in the PRD to add the trackTiming default value documentation as part of fixing Issue 4 from the bug report
18
-
19
- **User Journey**:
20
- 1. Receive task to locate PRD Section 8.1 for @Step decorator options
21
- 2. Search codebase for PRD files containing @Step decorator documentation
22
- 3. Identify exact file path and line numbers for trackTiming option
23
- 4. Verify implementation behavior to confirm default value
24
- 5. Document findings for next task (S2) to update PRD
25
-
26
- **Pain Points Addressed**:
27
- - PRD is a large file (500+ lines) - difficult to locate specific sections manually
28
- - Documentation gap causes confusion about default behavior (implementation defaults to true but PRD doesn't state it)
29
- - Next task (S2) needs precise location information to make the update efficiently
30
-
31
- ## Why
32
-
33
- - **Documentation Quality**: The PRD should match the implementation - currently it doesn't explicitly state the trackTiming default value
34
- - **Developer Experience**: Developers reading the PRD should understand default behavior without digging into source code
35
- - **Bug Fix Context**: Part of Issue 4 from the bug report - "trackTiming should be documented as defaulting to true"
36
- - **Dependency for S2**: This research task provides the exact location needed for P1.M2.T3.S2 to update the PRD
37
-
38
- ## What
39
-
40
- This is a **pure research task** with no code changes. The deliverable is a research report documenting:
41
-
42
- 1. Exact location of PRD Section 8.1 (@Step Decorator Options)
43
- 2. Line number for trackTiming option
44
- 3. Confirmation that default value is NOT documented in PRD
45
- 4. Verification that implementation defaults to true
46
- 5. Comparison with other documentation sources (README, type definitions)
47
-
48
- ### Success Criteria
49
-
50
- - [ ] Exact file path for PRD Section 8.1 identified: `/home/dustin/projects/groundswell/PRD.md`
51
- - [ ] Line numbers for @Step Decorator Options documented: lines 177-189
52
- - [ ] Specific line for trackTiming documented: line 183
53
- - [ ] Documentation gap confirmed: PRD shows `trackTiming?: boolean` without default value
54
- - [ ] Implementation default verified: code uses `if (opts.trackTiming !== false)` meaning default is true
55
- - [ ] Research findings stored in `P1M2T3S1/research/` subdirectory
56
- - [ ] Clear path provided for next task (S2) to update the PRD
57
-
58
- ## All Needed Context
59
-
60
- ### Context Completeness Check
61
-
62
- _Before writing this PRP, validated: "If someone knew nothing about this codebase, would they have everything needed to locate the PRD section and document the findings?"_
63
-
64
- **Answer**: YES - The PRD location is exact, implementation details are provided, and external research patterns are documented.
65
-
66
- ### Documentation & References
67
-
68
- ```yaml
69
- # MUST READ - PRD Location (Primary Target)
70
- - file: /home/dustin/projects/groundswell/PRD.md
71
- lines: 177-189
72
- why: Contains Section 8.1 @Step Decorator Options definition with trackTiming option
73
- pattern: TypeScript interface StepOptions with all 5 options
74
- gotcha: Default value NOT documented in PRD - only shows "trackTiming?: boolean"
75
- critical: This is the file that needs to be updated in subtask S2
76
-
77
- # MUST READ - Type Definition (Has Default Value in JSDoc)
78
- - file: /home/dustin/projects/groundswell/src/types/decorators.ts
79
- lines: 6-17
80
- why: Contains JSDoc comment showing "Track and emit step duration (default: true)"
81
- pattern: JSDoc comments above interface properties document behavior
82
- gotcha: Type definitions are correct but PRD doesn't match this documentation
83
- critical: Confirms that the default value should be documented as true
84
-
85
- # MUST READ - Implementation (Confirms Default Behavior)
86
- - file: /home/dustin/projects/groundswell/src/decorators/step.ts
87
- lines: 94-101
88
- why: Contains implementation showing default behavior with negation pattern
89
- pattern: "if (opts.trackTiming !== false)" means default is true
90
- gotcha: This is an "opt-out" pattern - timing is tracked unless explicitly disabled
91
- critical: Implementation proof that default is true
92
-
93
- # MUST READ - User Documentation (Correctly Documents Default)
94
- - file: /home/dustin/projects/groundswell/README.md
95
- lines: 129-136
96
- why: User-facing table correctly shows trackTiming default: true
97
- pattern: Markdown table with columns: Option | Type | Default | Description
98
- gotcha: User docs are correct, PRD is the only source missing this information
99
- critical: Shows how default values should be documented
100
-
101
- # Research Files (Stored During This Task)
102
- - docfile: plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/PRD_LOCATION_ANALYSIS.md
103
- why: Detailed analysis of PRD location, current content, and documentation gap
104
- section: Conclusion (has exact file path and line numbers)
105
-
106
- - docfile: plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/DECORATOR_DOCUMENTATION_PATTERNS.md
107
- why: External research on documentation best practices for default values
108
- section: Recommended Patterns for Groundswell PRD
109
-
110
- - docfile: plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/CODEBASE_INVENTORY.md
111
- why: Complete inventory of all trackTiming references across the codebase
112
- section: Summary Table (shows PRD is only file without default value)
113
-
114
- # External Documentation References
115
- - url: https://jsdoc.app/
116
- why: JSDoc @default tag is industry standard for documenting default values
117
- critical: Shows TypeScript/JSDoc patterns for default value documentation
118
- ```
119
-
120
- ### Current Codebase tree (relevant portion)
121
-
122
- ```bash
123
- groundswell/
124
- ├── PRD.md # MAIN TARGET - Section 8.1 @Step Decorator Options (lines 177-189)
125
- ├── README.md # User docs with correct default value table (lines 129-136)
126
- ├── src/
127
- │ ├── types/
128
- │ │ └── decorators.ts # StepOptions interface with JSDoc showing default: true (lines 6-17)
129
- │ └── decorators/
130
- │ └── step.ts # Implementation: if (opts.trackTiming !== false) (line 94)
131
- └── plan/
132
- └── 001_d3bb02af4886/
133
- └── bugfix/
134
- └── 001_e8e04329daf3/
135
- └── P1M2T3S1/
136
- ├── PRP.md # This file
137
- └── research/
138
- ├── PRD_LOCATION_ANALYSIS.md
139
- ├── DECORATOR_DOCUMENTATION_PATTERNS.md
140
- ├── CODEBASE_INVENTORY.md
141
- └── ULTRATHINK_PRP_PLAN.md
142
- ```
143
-
144
- ### Known Gotchas of our codebase & Library Quirks
145
-
146
- ```typescript
147
- // CRITICAL: PRD.md uses a simple TypeScript interface format
148
- // The interface definition doesn't include inline comments for default values
149
- // This is different from src/types/decorators.ts which has JSDoc comments
150
-
151
- // CURRENT PRD FORMAT (lines 177-189):
152
- export interface StepOptions {
153
- name?: string;
154
- snapshotState?: boolean;
155
- trackTiming?: boolean; // ❌ No default value documented
156
- logStart?: boolean;
157
- logFinish?: boolean;
158
- }
159
-
160
- // GOTCHA: The implementation uses negation pattern
161
- // if (opts.trackTiming !== false) means default is TRUE, not undefined
162
- // This is an "opt-out" pattern - feature is enabled by default
163
- ```
164
-
165
- ## Implementation Blueprint
166
-
167
- ### Data models and structure
168
-
169
- This is a research task - no data models needed.
170
-
171
- ### Implementation Tasks (ordered by dependencies)
172
-
173
- ```yaml
174
- Task 1: LOCATE PRD Section 8.1 (@Step Decorator Options)
175
- - FIND: File path /home/dustin/projects/groundswell/PRD.md
176
- - READ: Lines 177-189 for @Step Decorator Options section
177
- - IDENTIFY: Line 183 containing "trackTiming?: boolean"
178
- - CONFIRM: Default value is NOT documented in PRD (only shows optional boolean)
179
- - OUTPUT: Note exact file path and line numbers for next task
180
-
181
- Task 2: VERIFY Implementation Default Behavior
182
- - READ: src/decorators/step.ts at line 94
183
- - ANALYZE: "if (opts.trackTiming !== false)" pattern
184
- - CONFIRM: Default is TRUE (this is an opt-out pattern, not opt-in)
185
- - UNDERSTAND: Timing is tracked unless user explicitly sets trackTiming: false
186
- - OUTPUT: Document implementation behavior for PRD update
187
-
188
- Task 3: COMPARE All Documentation Sources
189
- - CHECK: src/types/decorators.ts lines 11-12 (JSDoc says "default: true")
190
- - CHECK: README.md lines 129-136 (table shows default: true)
191
- - IDENTIFY: PRD is the ONLY source missing this information
192
- - OUTPUT: Documentation gap analysis showing inconsistency
193
-
194
- Task 4: CREATE Research Report Files
195
- - WRITE: PRD_LOCATION_ANALYSIS.md with exact file paths and line numbers
196
- - WRITE: CODEBASE_INVENTORY.md with all trackTiming references
197
- - WRITE: DECORATOR_DOCUMENTATION_PATTERNS.md with best practices
198
- - STORE: All files in P1M2T3S1/research/ subdirectory
199
- - OUTPUT: Research documentation for next task to reference
200
-
201
- Task 5: DOCUMENT Findings for Next Task (S2)
202
- - PROVIDE: Exact location (PRD.md, line 183) for PRD update
203
- - RECOMMEND: Documentation pattern to use (inline comment or JSDoc)
204
- - OUTPUT: Clear guidance for P1.M2.T3.S2 to update PRD efficiently
205
- ```
206
-
207
- ### Implementation Patterns & Key Details
208
-
209
- ```typescript
210
- // KEY FINDING: Implementation uses negation pattern
211
- // File: src/decorators/step.ts, Line 94
212
-
213
- if (opts.trackTiming !== false) {
214
- wf.emitEvent({
215
- type: 'stepEnd',
216
- node: wf.node,
217
- step: stepName,
218
- duration,
219
- });
220
- }
221
-
222
- // PATTERN: "!== false" means default is TRUE
223
- // Timing is tracked unless explicitly disabled
224
- // This is an "opt-out" pattern, not "opt-in"
225
-
226
- // DOCUMENTATION PATTERN from src/types/decorators.ts:
227
- /** Track and emit step duration (default: true) */
228
- trackTiming?: boolean;
229
-
230
- // DOCUMENTATION PATTERN from README.md (table format):
231
- | Option | Type | Default | Description |
232
- |--------|------|---------|-------------|
233
- | `trackTiming` | `boolean` | `true` | Include duration in `stepEnd` event |
234
-
235
- // RECOMMENDED PRD UPDATE (for S2 to implement):
236
- // Option 1 - Inline comment:
237
- // trackTiming?: boolean; // default: true
238
-
239
- // Option 2 - JSDoc-style comment:
240
- // /** Track and emit step duration (default: true) */
241
- // trackTiming?: boolean;
242
- ```
243
-
244
- ### Integration Points
245
-
246
- ```yaml
247
- NEXT_TASK (P1.M2.T3.S2):
248
- - will_use: This research report
249
- - needs: Exact location (PRD.md line 183)
250
- - action: Update PRD to add "default: true" documentation
251
- - guidance: Use inline comment or JSDoc-style comment pattern
252
-
253
- DOCUMENTATION ECOSYSTEM:
254
- - PRD.md: Missing default value (needs update in S2)
255
- - src/types/decorators.ts: Has JSDoc with default (correct)
256
- - README.md: Has table with default (correct)
257
- - Implementation: Uses !== false pattern (confirms default is true)
258
- ```
259
-
260
- ## Validation Loop
261
-
262
- ### Level 1: Research Completeness (Immediate Feedback)
263
-
264
- ```bash
265
- # Verify research files were created
266
- ls -la plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/
267
-
268
- # Expected output:
269
- # PRD_LOCATION_ANALYSIS.md
270
- # DECORATOR_DOCUMENTATION_PATTERNS.md
271
- # CODEBASE_INVENTORY.md
272
- # ULTRATHINK_PRP_PLAN.md
273
-
274
- # Verify PRD location
275
- grep -n "trackTiming" PRD.md
276
-
277
- # Expected: Line 183 shows "trackTiming?: boolean"
278
- ```
279
-
280
- ### Level 2: Location Verification (Confirm PRD Section)
281
-
282
- ```bash
283
- # Read PRD Section 8.1 to verify content
284
- sed -n '177,189p' PRD.md
285
-
286
- # Expected output: Section 8.1 @Step() Decorator with StepOptions interface
287
- # Should show trackTiming?: boolean on line 183
288
- ```
289
-
290
- ### Level 3: Documentation Gap Confirmation
291
-
292
- ```bash
293
- # Confirm default value is NOT in PRD
294
- grep -A2 -B2 "trackTiming" PRD.md | grep -i "default"
295
-
296
- # Expected: No results (confirms documentation gap exists)
297
-
298
- # Verify implementation has default behavior
299
- grep "trackTiming !== false" src/decorators/step.ts
300
-
301
- # Expected: Line 94 shows the negation pattern
302
- ```
303
-
304
- ### Level 4: Cross-Reference Verification
305
-
306
- ```bash
307
- # Verify type definitions have default value
308
- grep -A1 "Track and emit step duration" src/types/decorators.ts
309
-
310
- # Expected: Shows "(default: true)" in JSDoc comment
311
-
312
- # Verify README has default value
313
- sed -n '129,136p' README.md
314
-
315
- # Expected: Table showing trackTiming | boolean | true
316
- ```
317
-
318
- ## Final Validation Checklist
319
-
320
- ### Research Validation
321
-
322
- - [ ] All 4 research files created in P1M2T3S1/research/
323
- - [ ] PRD location documented: `/home/dustin/projects/groundswell/PRD.md`
324
- - [ ] PRD line numbers documented: 177-189 for Section 8.1
325
- - [ ] trackTiming specific line documented: Line 183
326
- - [ ] Documentation gap confirmed: PRD doesn't show default value
327
- - [ ] Implementation default verified: true (via !== false pattern)
328
-
329
- ### Documentation Quality
330
-
331
- - [ ] Research files provide clear guidance for next task (S2)
332
- - [ ] Recommended documentation patterns provided for PRD update
333
- - [ ] All file paths are exact and verifiable
334
- - [ ] Line numbers are accurate and tested
335
-
336
- ### Handoff Quality
337
-
338
- - [ ] P1.M2.T3.S2 has everything needed to update PRD
339
- - [ ] Exact update location specified (PRD.md line 183)
340
- - [ ] Recommended format provided (inline or JSDoc comment)
341
- - [ ] External best practices documented for reference
342
-
343
- ---
344
-
345
- ## Anti-Patterns to Avoid
346
-
347
- - ❌ Don't modify PRD.md in this task (that's S2's job)
348
- - ❌ Don't assume line numbers without verifying with actual file reads
349
- - ❌ Don't skip verifying the implementation behavior
350
- - ❌ Don't forget to store research findings for the next task
351
- - ❌ Don't confuse opt-out (default true) vs opt-in (default false) patterns
352
- - ❌ Don't overlook that README already correctly documents this - PRD is the gap
353
-
354
- ---
355
-
356
- ## Confidence Score
357
-
358
- **10/10** - This is straightforward research with clear deliverables. The exact file path, line numbers, and documentation gap are easily verifiable. All context is provided for the next task to update the PRD efficiently.
359
-
360
- ## Success Metrics
361
-
362
- **Completion**: When P1.M2.T3.S2 receives this research report and can immediately update PRD.md line 183 to add "default: true" documentation.
363
-
364
- **Validation**: Run `grep -A2 -B2 "trackTiming" PRD.md` after S2 completes to verify default value is documented.
@@ -1,114 +0,0 @@
1
- # Codebase Inventory: @Step Decorator trackTiming
2
-
3
- ## Files Containing trackTiming References
4
-
5
- ### Type Definition
6
- **File**: `/home/dustin/projects/groundswell/src/types/decorators.ts`
7
- **Lines**: 11-12
8
- ```typescript
9
- /** Track and emit step duration (default: true) */
10
- trackTiming?: boolean;
11
- ```
12
- Status: ✅ Default value documented in JSDoc
13
-
14
- ### Implementation
15
- **File**: `/home/dustin/projects/groundswell/src/decorators/step.ts`
16
- **Lines**: 94-101
17
- ```typescript
18
- if (opts.trackTiming !== false) {
19
- wf.emitEvent({
20
- type: 'stepEnd',
21
- node: wf.node,
22
- step: stepName,
23
- duration,
24
- });
25
- }
26
- ```
27
- Status: ✅ Default behavior implemented (true unless false)
28
-
29
- ### PRD Documentation
30
- **File**: `/home/dustin/projects/groundswell/PRD.md`
31
- **Lines**: 177-189
32
- ```typescript
33
- export interface StepOptions {
34
- name?: string;
35
- snapshotState?: boolean;
36
- trackTiming?: boolean; // ❌ No default value documented
37
- logStart?: boolean;
38
- logFinish?: boolean;
39
- }
40
- ```
41
- Status: ❌ Default value NOT documented
42
-
43
- ### User Documentation
44
- **File**: `/home/dustin/projects/groundswell/README.md`
45
- **Lines**: 129-136
46
- ```markdown
47
- | Option | Type | Default | Description |
48
- |--------|------|---------|-------------|
49
- | `trackTiming` | `boolean` | `true` | Include duration in `stepEnd` event. |
50
- ```
51
- Status: ✅ Default value correctly documented in table
52
-
53
- ## Examples Using trackTiming
54
-
55
- ### Example File
56
- **File**: `/home/dustin/projects/groundswell/examples/examples/02-decorator-options.ts`
57
- **Lines**: 9-10, 69-74, 85-91
58
-
59
- Documents usage with both default and explicit settings:
60
- ```typescript
61
- // Default behavior - timing tracked
62
- @Step()
63
- async basicStep() { }
64
-
65
- // Explicit disable
66
- @Step({ trackTiming: false })
67
- async highFrequencyStep() { }
68
-
69
- // Explicit enable
70
- @Step({ trackTiming: true })
71
- async monitoredStep() { }
72
- ```
73
-
74
- ## Test Coverage
75
-
76
- ### Edge Case Tests
77
- **File**: `/home/dustin/projects/groundswell/src/__tests__/adversarial/edge-case.test.ts`
78
- **Lines**: 17-84
79
-
80
- Tests verify:
81
- - Default behavior (timing tracked when not specified)
82
- - Explicit false (timing NOT tracked)
83
- - stepEnd event emission behavior
84
-
85
- ### PRD Validation Tests
86
- **File**: `/home/dustin/projects/groundswell/src/__tests__/adversarial/e2e-prd-validation.test.ts`
87
- **Lines**: 137-318
88
-
89
- Tests verify PRD compliance for trackTiming default behavior.
90
-
91
- ## Documentation Files
92
-
93
- ### Research Documentation
94
- **File**: `/home/dustin/projects/groundswell/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_QUICK_REF.md`
95
- Contains recommendations for improving @Step decorator documentation with default values.
96
-
97
- ## Summary Table
98
-
99
- | File | Has Default | Format | Status |
100
- |------|-------------|--------|--------|
101
- | `src/types/decorators.ts` | ✅ Yes | JSDoc comment | Correct |
102
- | `src/decorators/step.ts` | ✅ Yes | Code logic | Correct |
103
- | `PRD.md` (Section 8.1) | ❌ No | TypeScript interface | **Needs Update** |
104
- | `README.md` | ✅ Yes | Table | Correct |
105
- | `examples/02-decorator-options.ts` | ✅ Yes | Examples | Correct |
106
-
107
- ## Key Code Locations
108
-
109
- | Purpose | File | Line | Description |
110
- |---------|------|------|-------------|
111
- | Type definition | `src/types/decorators.ts` | 11-12 | Interface with JSDoc |
112
- | Implementation | `src/decorators/step.ts` | 94 | Default logic |
113
- | PRD definition | `PRD.md` | 183 | Interface (no default) |
114
- | User table | `README.md` | 132 | Table with default |
@@ -1,205 +0,0 @@
1
- # Decorator Documentation Patterns Research
2
-
3
- ## External Best Practices for Documenting Default Values
4
-
5
- ### 1. JSDoc @default Tag Pattern (Industry Standard)
6
-
7
- The most common and standardized pattern for documenting default values:
8
-
9
- ```typescript
10
- /**
11
- * If true, tracks execution timing for the step.
12
- * @default true
13
- */
14
- trackTiming?: boolean;
15
-
16
- /**
17
- * If true, logs a message when the step finishes.
18
- * @default false
19
- */
20
- logFinish?: boolean;
21
- ```
22
-
23
- ### 2. In-Description Pattern
24
-
25
- Many libraries include default values directly in the description:
26
-
27
- ```typescript
28
- /**
29
- * Track and emit step duration (defaults to true).
30
- */
31
- trackTiming?: boolean;
32
-
33
- /**
34
- * Capture state snapshot after step completion (disabled by default).
35
- */
36
- snapshotState?: boolean;
37
- ```
38
-
39
- ### 3. Table Format with Default Column
40
-
41
- Used in user-facing documentation (README, API docs):
42
-
43
- ```markdown
44
- | Option | Type | Default | Description |
45
- |--------|------|---------|-------------|
46
- | `trackTiming` | `boolean` | `true` | Include duration in stepEnd event |
47
- | `snapshotState` | `boolean` | `false` | Capture state snapshot |
48
- ```
49
-
50
- ### 4. Inline Comment Pattern
51
-
52
- ```typescript
53
- export interface StepOptions {
54
- name?: string; // defaults to method name
55
- snapshotState?: boolean; // defaults to false
56
- trackTiming?: boolean; // defaults to true
57
- logStart?: boolean; // defaults to false
58
- logFinish?: boolean; // defaults to false
59
- }
60
- ```
61
-
62
- ## Communicating True vs False Defaults
63
-
64
- ### For Options Defaulting to TRUE
65
-
66
- ```typescript
67
- /**
68
- * Track execution timing and emit duration in stepEnd events.
69
- * Enabled by default. Set to false to eliminate timing overhead.
70
- * @default true
71
- */
72
- trackTiming?: boolean;
73
- ```
74
-
75
- Key phrases:
76
- - "Enabled by default"
77
- - "Set to false to disable"
78
- - "Set to false to eliminate overhead"
79
-
80
- ### For Options Defaulting to FALSE
81
-
82
- ```typescript
83
- /**
84
- * Capture state snapshot after step completion.
85
- * Disabled by default to minimize overhead.
86
- * @default false
87
- */
88
- snapshotState?: boolean;
89
- ```
90
-
91
- Key phrases:
92
- - "Disabled by default"
93
- - "Set to true to enable"
94
- - "Disabled to minimize overhead"
95
-
96
- ## Examples from Popular Libraries
97
-
98
- ### TypeScript @types/node
99
-
100
- ```typescript
101
- /**
102
- * If true, a diagnostic report is generated on uncaught exception.
103
- * @default false
104
- */
105
- reportOnUncaughtException: boolean;
106
-
107
- /**
108
- * Indicates whether half-opened TCP connections are allowed.
109
- * @default false
110
- */
111
- allowHalfOpen?: boolean;
112
- ```
113
-
114
- ### Zod Validation Library
115
-
116
- ```typescript
117
- /**
118
- * @default "insensitive"
119
- */
120
- case?: "sensitive" | "insensitive";
121
- ```
122
-
123
- ### Benchmark Libraries
124
-
125
- ```typescript
126
- /**
127
- * Time needed for running a benchmark task (milliseconds)
128
- * @default 500
129
- */
130
- time?: number;
131
- ```
132
-
133
- ## Recommended Patterns for Groundswell PRD
134
-
135
- Based on external best practices and the codebase style, here are recommended patterns:
136
-
137
- ### Pattern 1: Inline Comment (Simplest)
138
-
139
- ```typescript
140
- export interface StepOptions {
141
- name?: string; // default: method name
142
- snapshotState?: boolean; // default: false
143
- trackTiming?: boolean; // default: true
144
- logStart?: boolean; // default: false
145
- logFinish?: boolean; // default: false
146
- }
147
- ```
148
-
149
- ### Pattern 2: JSDoc Comment (Most Complete)
150
-
151
- ```typescript
152
- /**
153
- * Configuration options for the @Step decorator
154
- */
155
- export interface StepOptions {
156
- /** Custom step name (default: method name) */
157
- name?: string;
158
- /** Capture state snapshot after step completion (default: false) */
159
- snapshotState?: boolean;
160
- /** Track and emit step duration (default: true) */
161
- trackTiming?: boolean;
162
- /** Log message at step start (default: false) */
163
- logStart?: boolean;
164
- /** Log message at step end (default: false) */
165
- logFinish?: boolean;
166
- }
167
- ```
168
-
169
- ### Pattern 3: Description Table After Interface (Most Comprehensive)
170
-
171
- ```typescript
172
- export interface StepOptions {
173
- name?: string;
174
- snapshotState?: boolean;
175
- trackTiming?: boolean;
176
- logStart?: boolean;
177
- logFinish?: boolean;
178
- }
179
-
180
- /*
181
- * Default values:
182
- * | Option | Default | Description |
183
- * |--------|---------|-------------|
184
- * | name | method name | Custom step name |
185
- * | snapshotState | false | Capture state snapshot |
186
- * | trackTiming | true | Track and emit step duration |
187
- * | logStart | false | Log at step start |
188
- * | logFinish | false | Log at step end |
189
- */
190
- ```
191
-
192
- ## Best Practices Summary
193
-
194
- 1. **Always include the default value** for optional boolean parameters
195
- 2. **Be explicit about true vs false** - avoid ambiguity
196
- 3. **Explain the implications** of changing the default (performance, overhead, etc.)
197
- 4. **Use consistent wording** across all options
198
- 5. **Follow TypeScript conventions** (JSDoc @default tag for code, tables for user docs)
199
- 6. **For boolean options**, explain WHY one might want to disable an enabled-by-default feature
200
-
201
- ## Additional Resources
202
-
203
- - JSDoc Documentation: https://jsdoc.app/
204
- - TypeScript Deep Dive: https://basarat.gitbook.io/typescript/
205
- - Angular Style Guide: https://angular.io/guide/styleguide