autonomous-coding-toolkit 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 (324) hide show
  1. package/.claude-plugin/marketplace.json +22 -0
  2. package/.claude-plugin/plugin.json +13 -0
  3. package/LICENSE +21 -0
  4. package/Makefile +21 -0
  5. package/README.md +140 -0
  6. package/SECURITY.md +28 -0
  7. package/agents/bash-expert.md +113 -0
  8. package/agents/dependency-auditor.md +138 -0
  9. package/agents/integration-tester.md +120 -0
  10. package/agents/lesson-scanner.md +149 -0
  11. package/agents/python-expert.md +179 -0
  12. package/agents/service-monitor.md +141 -0
  13. package/agents/shell-expert.md +147 -0
  14. package/benchmarks/runner.sh +147 -0
  15. package/benchmarks/tasks/01-rest-endpoint/rubric.sh +29 -0
  16. package/benchmarks/tasks/01-rest-endpoint/task.md +17 -0
  17. package/benchmarks/tasks/02-refactor-module/task.md +8 -0
  18. package/benchmarks/tasks/03-fix-integration-bug/task.md +8 -0
  19. package/benchmarks/tasks/04-add-test-coverage/task.md +8 -0
  20. package/benchmarks/tasks/05-multi-file-feature/task.md +8 -0
  21. package/bin/act.js +238 -0
  22. package/commands/autocode.md +6 -0
  23. package/commands/cancel-ralph.md +18 -0
  24. package/commands/code-factory.md +53 -0
  25. package/commands/create-prd.md +55 -0
  26. package/commands/ralph-loop.md +18 -0
  27. package/commands/run-plan.md +117 -0
  28. package/commands/submit-lesson.md +122 -0
  29. package/docs/ARCHITECTURE.md +630 -0
  30. package/docs/CONTRIBUTING.md +125 -0
  31. package/docs/lessons/0001-bare-exception-swallowing.md +34 -0
  32. package/docs/lessons/0002-async-def-without-await.md +28 -0
  33. package/docs/lessons/0003-create-task-without-callback.md +28 -0
  34. package/docs/lessons/0004-hardcoded-test-counts.md +28 -0
  35. package/docs/lessons/0005-sqlite-without-closing.md +33 -0
  36. package/docs/lessons/0006-venv-pip-path.md +27 -0
  37. package/docs/lessons/0007-runner-state-self-rejection.md +35 -0
  38. package/docs/lessons/0008-quality-gate-blind-spot.md +33 -0
  39. package/docs/lessons/0009-parser-overcount-empty-batches.md +36 -0
  40. package/docs/lessons/0010-local-outside-function-bash.md +33 -0
  41. package/docs/lessons/0011-batch-tests-for-unimplemented-code.md +36 -0
  42. package/docs/lessons/0012-api-markdown-unescaped-chars.md +33 -0
  43. package/docs/lessons/0013-export-prefix-env-parsing.md +33 -0
  44. package/docs/lessons/0014-decorator-registry-import-side-effect.md +43 -0
  45. package/docs/lessons/0015-frontend-backend-schema-drift.md +43 -0
  46. package/docs/lessons/0016-event-driven-cold-start-seeding.md +44 -0
  47. package/docs/lessons/0017-copy-paste-logic-diverges.md +43 -0
  48. package/docs/lessons/0018-layer-passes-pipeline-broken.md +45 -0
  49. package/docs/lessons/0019-systemd-envfile-ignores-export.md +41 -0
  50. package/docs/lessons/0020-persist-state-incrementally.md +44 -0
  51. package/docs/lessons/0021-dual-axis-testing.md +48 -0
  52. package/docs/lessons/0022-jsx-factory-shadowing.md +43 -0
  53. package/docs/lessons/0023-static-analysis-spiral.md +51 -0
  54. package/docs/lessons/0024-shared-pipeline-implementation.md +55 -0
  55. package/docs/lessons/0025-defense-in-depth-all-entry-points.md +65 -0
  56. package/docs/lessons/0026-linter-no-rules-false-enforcement.md +54 -0
  57. package/docs/lessons/0027-jsx-silent-prop-drop.md +64 -0
  58. package/docs/lessons/0028-no-infrastructure-in-client-code.md +49 -0
  59. package/docs/lessons/0029-never-write-secrets-to-files.md +61 -0
  60. package/docs/lessons/0030-cache-merge-not-replace.md +62 -0
  61. package/docs/lessons/0031-verify-units-at-boundaries.md +66 -0
  62. package/docs/lessons/0032-module-lifecycle-subscribe-unsubscribe.md +89 -0
  63. package/docs/lessons/0033-async-iteration-mutable-snapshot.md +72 -0
  64. package/docs/lessons/0034-caller-missing-await-silent-discard.md +65 -0
  65. package/docs/lessons/0035-duplicate-registration-silent-overwrite.md +85 -0
  66. package/docs/lessons/0036-websocket-dirty-disconnect.md +33 -0
  67. package/docs/lessons/0037-parallel-agents-worktree-corruption.md +31 -0
  68. package/docs/lessons/0038-subscribe-no-stored-ref.md +36 -0
  69. package/docs/lessons/0039-fallback-or-default-hides-bugs.md +34 -0
  70. package/docs/lessons/0040-event-firehose-filter-first.md +36 -0
  71. package/docs/lessons/0041-ambiguous-base-dir-path-nesting.md +32 -0
  72. package/docs/lessons/0042-spec-compliance-insufficient.md +36 -0
  73. package/docs/lessons/0043-exact-count-extensible-collections.md +32 -0
  74. package/docs/lessons/0044-relative-file-deps-worktree.md +39 -0
  75. package/docs/lessons/0045-iterative-design-improvement.md +33 -0
  76. package/docs/lessons/0046-plan-assertion-math-bugs.md +38 -0
  77. package/docs/lessons/0047-pytest-single-threaded-default.md +37 -0
  78. package/docs/lessons/0048-integration-wiring-batch.md +40 -0
  79. package/docs/lessons/0049-ab-verification.md +41 -0
  80. package/docs/lessons/0050-editing-sourced-files-during-execution.md +33 -0
  81. package/docs/lessons/0051-infrastructure-fixes-cant-self-heal.md +30 -0
  82. package/docs/lessons/0052-uncommitted-changes-poison-quality-gates.md +31 -0
  83. package/docs/lessons/0053-jq-compact-flag-inconsistency.md +31 -0
  84. package/docs/lessons/0054-parser-matches-inside-code-blocks.md +30 -0
  85. package/docs/lessons/0055-agents-compensate-for-garbled-prompts.md +31 -0
  86. package/docs/lessons/0056-grep-count-exit-code-on-zero.md +42 -0
  87. package/docs/lessons/0057-new-artifacts-break-git-clean-gates.md +42 -0
  88. package/docs/lessons/0058-dead-config-keys-never-consumed.md +49 -0
  89. package/docs/lessons/0059-contract-test-shared-structures.md +53 -0
  90. package/docs/lessons/0060-set-e-silent-death-in-runners.md +53 -0
  91. package/docs/lessons/0061-context-injection-dirty-state.md +50 -0
  92. package/docs/lessons/0062-sibling-bug-neighborhood-scan.md +29 -0
  93. package/docs/lessons/0063-one-flag-two-lifetimes.md +31 -0
  94. package/docs/lessons/0064-test-passes-wrong-reason.md +31 -0
  95. package/docs/lessons/0065-pipefail-grep-count-double-output.md +39 -0
  96. package/docs/lessons/0066-local-keyword-outside-function.md +37 -0
  97. package/docs/lessons/0067-stdin-hang-non-interactive-shell.md +36 -0
  98. package/docs/lessons/0068-agent-builds-wrong-thing-correctly.md +31 -0
  99. package/docs/lessons/0069-plan-quality-dominates-execution.md +30 -0
  100. package/docs/lessons/0070-spec-echo-back-prevents-drift.md +31 -0
  101. package/docs/lessons/0071-positive-instructions-outperform-negative.md +30 -0
  102. package/docs/lessons/0072-lost-in-the-middle-context-placement.md +30 -0
  103. package/docs/lessons/0073-unscoped-lessons-cause-false-positives.md +30 -0
  104. package/docs/lessons/0074-stale-context-injection-wrong-batch.md +32 -0
  105. package/docs/lessons/0075-research-artifacts-must-persist.md +32 -0
  106. package/docs/lessons/0076-wrong-decomposition-contaminates-downstream.md +30 -0
  107. package/docs/lessons/0077-cherry-pick-merges-need-manual-resolution.md +30 -0
  108. package/docs/lessons/0078-static-review-without-live-test.md +30 -0
  109. package/docs/lessons/0079-integration-wiring-batch-required.md +32 -0
  110. package/docs/lessons/FRAMEWORK.md +161 -0
  111. package/docs/lessons/SUMMARY.md +201 -0
  112. package/docs/lessons/TEMPLATE.md +85 -0
  113. package/docs/plans/2026-02-21-code-factory-v2-design.md +204 -0
  114. package/docs/plans/2026-02-21-code-factory-v2-implementation-plan.md +2189 -0
  115. package/docs/plans/2026-02-21-code-factory-v2-phase4-design.md +537 -0
  116. package/docs/plans/2026-02-21-code-factory-v2-phase4-implementation-plan.md +2012 -0
  117. package/docs/plans/2026-02-21-hardening-pass-design.md +108 -0
  118. package/docs/plans/2026-02-21-hardening-pass-plan.md +1378 -0
  119. package/docs/plans/2026-02-21-mab-research-report.md +406 -0
  120. package/docs/plans/2026-02-21-marketplace-restructure-design.md +240 -0
  121. package/docs/plans/2026-02-21-marketplace-restructure-plan.md +832 -0
  122. package/docs/plans/2026-02-21-phase4-completion-plan.md +697 -0
  123. package/docs/plans/2026-02-21-validator-suite-design.md +148 -0
  124. package/docs/plans/2026-02-21-validator-suite-plan.md +540 -0
  125. package/docs/plans/2026-02-22-mab-research-round2.md +556 -0
  126. package/docs/plans/2026-02-22-mab-run-design.md +462 -0
  127. package/docs/plans/2026-02-22-mab-run-plan.md +2046 -0
  128. package/docs/plans/2026-02-22-operations-design-methodology-research.md +681 -0
  129. package/docs/plans/2026-02-22-research-agent-failure-taxonomy.md +532 -0
  130. package/docs/plans/2026-02-22-research-code-guideline-policies.md +886 -0
  131. package/docs/plans/2026-02-22-research-codebase-audit-refactoring.md +908 -0
  132. package/docs/plans/2026-02-22-research-coding-standards-documentation.md +541 -0
  133. package/docs/plans/2026-02-22-research-competitive-landscape.md +687 -0
  134. package/docs/plans/2026-02-22-research-comprehensive-testing.md +1076 -0
  135. package/docs/plans/2026-02-22-research-context-utilization.md +459 -0
  136. package/docs/plans/2026-02-22-research-cost-quality-tradeoff.md +548 -0
  137. package/docs/plans/2026-02-22-research-lesson-transferability.md +508 -0
  138. package/docs/plans/2026-02-22-research-multi-agent-coordination.md +312 -0
  139. package/docs/plans/2026-02-22-research-phase-integration.md +602 -0
  140. package/docs/plans/2026-02-22-research-plan-quality.md +428 -0
  141. package/docs/plans/2026-02-22-research-prompt-engineering.md +558 -0
  142. package/docs/plans/2026-02-22-research-unconventional-perspectives.md +528 -0
  143. package/docs/plans/2026-02-22-research-user-adoption.md +638 -0
  144. package/docs/plans/2026-02-22-research-verification-effectiveness.md +433 -0
  145. package/docs/plans/2026-02-23-agent-suite-design.md +299 -0
  146. package/docs/plans/2026-02-23-agent-suite-plan.md +578 -0
  147. package/docs/plans/2026-02-23-phase3-cost-infrastructure-design.md +148 -0
  148. package/docs/plans/2026-02-23-phase3-cost-infrastructure-plan.md +1062 -0
  149. package/docs/plans/2026-02-23-research-bash-expert-agent.md +543 -0
  150. package/docs/plans/2026-02-23-research-dependency-auditor-agent.md +564 -0
  151. package/docs/plans/2026-02-23-research-improving-existing-agents.md +503 -0
  152. package/docs/plans/2026-02-23-research-integration-tester-agent.md +454 -0
  153. package/docs/plans/2026-02-23-research-python-expert-agent.md +429 -0
  154. package/docs/plans/2026-02-23-research-service-monitor-agent.md +425 -0
  155. package/docs/plans/2026-02-23-research-shell-expert-agent.md +533 -0
  156. package/docs/plans/2026-02-23-roadmap-to-completion.md +530 -0
  157. package/docs/plans/2026-02-24-headless-module-split-design.md +98 -0
  158. package/docs/plans/2026-02-24-headless-module-split.md +443 -0
  159. package/docs/plans/2026-02-24-lesson-scope-metadata-design.md +228 -0
  160. package/docs/plans/2026-02-24-lesson-scope-metadata-plan.md +968 -0
  161. package/docs/plans/2026-02-24-npm-packaging-design.md +841 -0
  162. package/docs/plans/2026-02-24-npm-packaging-plan.md +1965 -0
  163. package/docs/plans/audit-findings.md +186 -0
  164. package/docs/telegram-notification-format.md +98 -0
  165. package/examples/example-plan.md +51 -0
  166. package/examples/example-prd.json +72 -0
  167. package/examples/example-roadmap.md +33 -0
  168. package/examples/quickstart-plan.md +63 -0
  169. package/hooks/hooks.json +26 -0
  170. package/hooks/setup-symlinks.sh +48 -0
  171. package/hooks/stop-hook.sh +135 -0
  172. package/package.json +47 -0
  173. package/policies/bash.md +71 -0
  174. package/policies/python.md +71 -0
  175. package/policies/testing.md +61 -0
  176. package/policies/universal.md +60 -0
  177. package/scripts/analyze-report.sh +97 -0
  178. package/scripts/architecture-map.sh +145 -0
  179. package/scripts/auto-compound.sh +273 -0
  180. package/scripts/batch-audit.sh +42 -0
  181. package/scripts/batch-test.sh +101 -0
  182. package/scripts/entropy-audit.sh +221 -0
  183. package/scripts/failure-digest.sh +51 -0
  184. package/scripts/generate-ast-rules.sh +96 -0
  185. package/scripts/init.sh +112 -0
  186. package/scripts/lesson-check.sh +428 -0
  187. package/scripts/lib/common.sh +61 -0
  188. package/scripts/lib/cost-tracking.sh +153 -0
  189. package/scripts/lib/ollama.sh +60 -0
  190. package/scripts/lib/progress-writer.sh +128 -0
  191. package/scripts/lib/run-plan-context.sh +215 -0
  192. package/scripts/lib/run-plan-echo-back.sh +231 -0
  193. package/scripts/lib/run-plan-headless.sh +396 -0
  194. package/scripts/lib/run-plan-notify.sh +57 -0
  195. package/scripts/lib/run-plan-parser.sh +81 -0
  196. package/scripts/lib/run-plan-prompt.sh +215 -0
  197. package/scripts/lib/run-plan-quality-gate.sh +132 -0
  198. package/scripts/lib/run-plan-routing.sh +315 -0
  199. package/scripts/lib/run-plan-sampling.sh +170 -0
  200. package/scripts/lib/run-plan-scoring.sh +146 -0
  201. package/scripts/lib/run-plan-state.sh +142 -0
  202. package/scripts/lib/run-plan-team.sh +199 -0
  203. package/scripts/lib/telegram.sh +54 -0
  204. package/scripts/lib/thompson-sampling.sh +176 -0
  205. package/scripts/license-check.sh +74 -0
  206. package/scripts/mab-run.sh +575 -0
  207. package/scripts/module-size-check.sh +146 -0
  208. package/scripts/patterns/async-no-await.yml +5 -0
  209. package/scripts/patterns/bare-except.yml +6 -0
  210. package/scripts/patterns/empty-catch.yml +6 -0
  211. package/scripts/patterns/hardcoded-localhost.yml +9 -0
  212. package/scripts/patterns/retry-loop-no-backoff.yml +12 -0
  213. package/scripts/pipeline-status.sh +197 -0
  214. package/scripts/policy-check.sh +226 -0
  215. package/scripts/prior-art-search.sh +133 -0
  216. package/scripts/promote-mab-lessons.sh +126 -0
  217. package/scripts/prompts/agent-a-superpowers.md +29 -0
  218. package/scripts/prompts/agent-b-ralph.md +29 -0
  219. package/scripts/prompts/judge-agent.md +61 -0
  220. package/scripts/prompts/planner-agent.md +44 -0
  221. package/scripts/pull-community-lessons.sh +90 -0
  222. package/scripts/quality-gate.sh +266 -0
  223. package/scripts/research-gate.sh +90 -0
  224. package/scripts/run-plan.sh +329 -0
  225. package/scripts/scope-infer.sh +159 -0
  226. package/scripts/setup-ralph-loop.sh +155 -0
  227. package/scripts/telemetry.sh +230 -0
  228. package/scripts/tests/run-all-tests.sh +52 -0
  229. package/scripts/tests/test-act-cli.sh +46 -0
  230. package/scripts/tests/test-agents-md.sh +87 -0
  231. package/scripts/tests/test-analyze-report.sh +114 -0
  232. package/scripts/tests/test-architecture-map.sh +89 -0
  233. package/scripts/tests/test-auto-compound.sh +169 -0
  234. package/scripts/tests/test-batch-test.sh +65 -0
  235. package/scripts/tests/test-benchmark-runner.sh +25 -0
  236. package/scripts/tests/test-common.sh +168 -0
  237. package/scripts/tests/test-cost-tracking.sh +158 -0
  238. package/scripts/tests/test-echo-back.sh +180 -0
  239. package/scripts/tests/test-entropy-audit.sh +146 -0
  240. package/scripts/tests/test-failure-digest.sh +66 -0
  241. package/scripts/tests/test-generate-ast-rules.sh +145 -0
  242. package/scripts/tests/test-helpers.sh +82 -0
  243. package/scripts/tests/test-init.sh +47 -0
  244. package/scripts/tests/test-lesson-check.sh +278 -0
  245. package/scripts/tests/test-lesson-local.sh +55 -0
  246. package/scripts/tests/test-license-check.sh +109 -0
  247. package/scripts/tests/test-mab-run.sh +182 -0
  248. package/scripts/tests/test-ollama-lib.sh +49 -0
  249. package/scripts/tests/test-ollama.sh +60 -0
  250. package/scripts/tests/test-pipeline-status.sh +198 -0
  251. package/scripts/tests/test-policy-check.sh +124 -0
  252. package/scripts/tests/test-prior-art-search.sh +96 -0
  253. package/scripts/tests/test-progress-writer.sh +140 -0
  254. package/scripts/tests/test-promote-mab-lessons.sh +110 -0
  255. package/scripts/tests/test-pull-community-lessons.sh +149 -0
  256. package/scripts/tests/test-quality-gate.sh +241 -0
  257. package/scripts/tests/test-research-gate.sh +132 -0
  258. package/scripts/tests/test-run-plan-cli.sh +86 -0
  259. package/scripts/tests/test-run-plan-context.sh +305 -0
  260. package/scripts/tests/test-run-plan-e2e.sh +153 -0
  261. package/scripts/tests/test-run-plan-headless.sh +424 -0
  262. package/scripts/tests/test-run-plan-notify.sh +124 -0
  263. package/scripts/tests/test-run-plan-parser.sh +217 -0
  264. package/scripts/tests/test-run-plan-prompt.sh +254 -0
  265. package/scripts/tests/test-run-plan-quality-gate.sh +222 -0
  266. package/scripts/tests/test-run-plan-routing.sh +178 -0
  267. package/scripts/tests/test-run-plan-scoring.sh +148 -0
  268. package/scripts/tests/test-run-plan-state.sh +261 -0
  269. package/scripts/tests/test-run-plan-team.sh +157 -0
  270. package/scripts/tests/test-scope-infer.sh +150 -0
  271. package/scripts/tests/test-setup-ralph-loop.sh +63 -0
  272. package/scripts/tests/test-telegram-env.sh +38 -0
  273. package/scripts/tests/test-telegram.sh +121 -0
  274. package/scripts/tests/test-telemetry.sh +46 -0
  275. package/scripts/tests/test-thompson-sampling.sh +139 -0
  276. package/scripts/tests/test-validate-all.sh +60 -0
  277. package/scripts/tests/test-validate-commands.sh +89 -0
  278. package/scripts/tests/test-validate-hooks.sh +98 -0
  279. package/scripts/tests/test-validate-lessons.sh +150 -0
  280. package/scripts/tests/test-validate-plan-quality.sh +235 -0
  281. package/scripts/tests/test-validate-plans.sh +187 -0
  282. package/scripts/tests/test-validate-plugin.sh +106 -0
  283. package/scripts/tests/test-validate-prd.sh +184 -0
  284. package/scripts/tests/test-validate-skills.sh +134 -0
  285. package/scripts/validate-all.sh +57 -0
  286. package/scripts/validate-commands.sh +67 -0
  287. package/scripts/validate-hooks.sh +89 -0
  288. package/scripts/validate-lessons.sh +98 -0
  289. package/scripts/validate-plan-quality.sh +369 -0
  290. package/scripts/validate-plans.sh +120 -0
  291. package/scripts/validate-plugin.sh +86 -0
  292. package/scripts/validate-policies.sh +42 -0
  293. package/scripts/validate-prd.sh +118 -0
  294. package/scripts/validate-skills.sh +96 -0
  295. package/skills/autocode/SKILL.md +285 -0
  296. package/skills/autocode/ab-verification.md +51 -0
  297. package/skills/autocode/code-quality-standards.md +37 -0
  298. package/skills/autocode/competitive-mode.md +364 -0
  299. package/skills/brainstorming/SKILL.md +97 -0
  300. package/skills/capture-lesson/SKILL.md +187 -0
  301. package/skills/check-lessons/SKILL.md +116 -0
  302. package/skills/dispatching-parallel-agents/SKILL.md +110 -0
  303. package/skills/executing-plans/SKILL.md +85 -0
  304. package/skills/finishing-a-development-branch/SKILL.md +201 -0
  305. package/skills/receiving-code-review/SKILL.md +72 -0
  306. package/skills/requesting-code-review/SKILL.md +59 -0
  307. package/skills/requesting-code-review/code-reviewer.md +82 -0
  308. package/skills/research/SKILL.md +145 -0
  309. package/skills/roadmap/SKILL.md +115 -0
  310. package/skills/subagent-driven-development/SKILL.md +98 -0
  311. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +18 -0
  312. package/skills/subagent-driven-development/implementer-prompt.md +73 -0
  313. package/skills/subagent-driven-development/spec-reviewer-prompt.md +57 -0
  314. package/skills/systematic-debugging/SKILL.md +134 -0
  315. package/skills/systematic-debugging/condition-based-waiting.md +64 -0
  316. package/skills/systematic-debugging/defense-in-depth.md +32 -0
  317. package/skills/systematic-debugging/root-cause-tracing.md +55 -0
  318. package/skills/test-driven-development/SKILL.md +167 -0
  319. package/skills/using-git-worktrees/SKILL.md +219 -0
  320. package/skills/using-superpowers/SKILL.md +54 -0
  321. package/skills/verification-before-completion/SKILL.md +140 -0
  322. package/skills/verify/SKILL.md +82 -0
  323. package/skills/writing-plans/SKILL.md +128 -0
  324. package/skills/writing-skills/SKILL.md +93 -0
@@ -0,0 +1,186 @@
1
+ # Hardening Pass Audit Findings
2
+
3
+ > Generated: 2026-02-21 | Batches 1-2 of hardening pass
4
+
5
+ ---
6
+
7
+ ## Shellcheck Findings
8
+
9
+ ### Notes (SC1091 — source not followed)
10
+
11
+ These are informational — shellcheck can't follow relative `source` paths without `-x` flag. Not actionable.
12
+
13
+ | File | Line | Code | Description | Disposition |
14
+ |------|------|------|-------------|-------------|
15
+ | `scripts/run-plan.sh` | 17 | SC1091 | Not following: `./lib/run-plan-parser.sh` | SUPPRESS — relative source, use `-x` flag |
16
+ | `scripts/run-plan.sh` | 18 | SC1091 | Not following: `./lib/run-plan-state.sh` | SUPPRESS — same |
17
+ | `scripts/run-plan.sh` | 19 | SC1091 | Not following: `./lib/run-plan-quality-gate.sh` | SUPPRESS — same |
18
+ | `scripts/run-plan.sh` | 20 | SC1091 | Not following: `./lib/run-plan-notify.sh` | SUPPRESS — same |
19
+ | `scripts/run-plan.sh` | 21 | SC1091 | Not following: `./lib/run-plan-prompt.sh` | SUPPRESS — same |
20
+
21
+ ### Warnings
22
+
23
+ | File | Line | Code | Description | Disposition |
24
+ |------|------|------|-------------|-------------|
25
+ | `scripts/run-plan.sh` | 111 | SC2034 | `COMPETITIVE_BATCHES` appears unused | SUPPRESS — used by sourced lib modules |
26
+ | `scripts/run-plan.sh` | 123 | SC2034 | `MAX_BUDGET` appears unused | SUPPRESS — used by sourced lib modules |
27
+ | `scripts/run-plan.sh` | 305 | SC1007 | Remove space after `=` in `CLAUDECODE= claude` | SUPPRESS — intentional: unsetting env var for subcommand |
28
+ | `scripts/lesson-check.sh` | 20 | SC2034 | `lesson_severity` appears unused | FIX — either use it or remove from parse output |
29
+ | `scripts/entropy-audit.sh` | 28 | SC2034 | `FIX_MODE` appears unused | FIX — parsed but never checked; add `--fix` implementation or remove |
30
+ | `scripts/lib/run-plan-quality-gate.sh` | 65 | SC2034 | `passed` appears unused | FIX — declared but never read |
31
+
32
+ ### Info/Style
33
+
34
+ | File | Line | Code | Description | Disposition |
35
+ |------|------|------|-------------|-------------|
36
+ | `scripts/setup-ralph-loop.sh` | 112 | SC2086 | Double quote to prevent globbing/word splitting: `$MAX_ITERATIONS` | FIX — quote variable |
37
+ | `scripts/auto-compound.sh` | 73 | SC2012 | Use `find` instead of `ls` for non-alphanumeric filenames | FIX — replace `ls -t` with `find`+`sort` |
38
+ | `scripts/entropy-audit.sh` | 73 | SC2016 | Expressions don't expand in single quotes | SUPPRESS — intentional: regex pattern uses literal `$` |
39
+ | `scripts/entropy-audit.sh` | 201 | SC2016 | Expressions don't expand in single quotes | SUPPRESS — same, grep pattern with literal backticks |
40
+ | `scripts/entropy-audit.sh` | 214 | SC2012 | Use `find` instead of `ls` | FIX — replace `ls` with `find` |
41
+ | `scripts/lib/run-plan-parser.sh` | 32 | SC2295 | Expansions inside `${..}` need separate quoting | FIX — quote inner expansion |
42
+ | `hooks/stop-hook.sh` | 78 | SC2181 | Check exit code directly instead of `$?` | FIX — restructure to `if ! cmd; then` |
43
+
44
+ ---
45
+
46
+ ## Summary
47
+
48
+ | Severity | Total | FIX | SUPPRESS |
49
+ |----------|-------|-----|----------|
50
+ | Note (SC1091 source) | 5 | 0 | 5 |
51
+ | Warning | 6 | 3 | 3 |
52
+ | Info/Style | 7 | 5 | 2 |
53
+ | **Total** | **18** | **8** | **10** |
54
+
55
+ ---
56
+
57
+ ## Lesson Scanner Results
58
+
59
+ ### lesson-check.sh against shell scripts
60
+
61
+ ```
62
+ Target: scripts/*.sh, scripts/lib/*.sh, hooks/stop-hook.sh (15 files)
63
+ Result: lesson-check: clean
64
+ Exit code: 0
65
+ ```
66
+
67
+ All shell scripts pass — expected since lessons target Python/JS patterns.
68
+
69
+ ### lesson-check.sh against Python/JS/TS files
70
+
71
+ ```
72
+ Target: find . -name "*.py" -o -name "*.js" -o -name "*.ts"
73
+ Result: No matching files found
74
+ ```
75
+
76
+ This is a pure bash toolkit — no Python/JS/TS source files exist. Lesson scanner has no applicable targets.
77
+
78
+ ### Conclusion
79
+
80
+ No lesson violations found. The toolkit's bash-only codebase is not covered by the current syntactic lesson set (which targets Python/JS). Future work: add bash-specific lessons (e.g., unquoted variables, missing `set -euo pipefail`).
81
+
82
+ ---
83
+
84
+ ## Lesson File Schema Validation (Batch 2)
85
+
86
+ ### Method
87
+
88
+ Validated all 6 lesson files (`docs/lessons/0001-*.md` through `0006-*.md`) against the schema defined in `docs/lessons/TEMPLATE.md`.
89
+
90
+ **Required fields checked:**
91
+ - `id` (integer), `title` (non-empty), `severity` (blocker|should-fix|nice-to-have)
92
+ - `languages` (array or `all`), `category` (enum of 6 values)
93
+ - `pattern.type` (syntactic|semantic), `pattern.regex` (required if syntactic), `pattern.description`
94
+ - `fix` (non-empty), `example.bad` (non-empty), `example.good` (non-empty)
95
+
96
+ ### Schema Results
97
+
98
+ | File | id | severity | category | pattern.type | regex | All fields | Status |
99
+ |------|----|----------|----------|-------------|-------|------------|--------|
100
+ | `0001-bare-exception-swallowing.md` | 1 | blocker | silent-failures | syntactic | `^\s*except\s*:` | ✓ | PASS |
101
+ | `0002-async-def-without-await.md` | 2 | blocker | async-traps | semantic | N/A | ✓ | PASS |
102
+ | `0003-create-task-without-callback.md` | 3 | should-fix | silent-failures | semantic | N/A | ✓ | PASS |
103
+ | `0004-hardcoded-test-counts.md` | 4 | should-fix | test-anti-patterns | syntactic | `assert.*==\s*\d+\|...` | ✓ | PASS |
104
+ | `0005-sqlite-without-closing.md` | 5 | should-fix | silent-failures | syntactic | `sqlite3\.connect\(` | ✓ | PASS |
105
+ | `0006-venv-pip-path.md` | 6 | should-fix | integration-boundaries | syntactic | `\.venv/bin/pip\b` | ✓ | PASS |
106
+
107
+ **6/6 lesson files pass schema validation.** All required fields present, all enum values valid.
108
+
109
+ ### Regex Compilation Results
110
+
111
+ Tested all 4 syntactic lesson regex patterns with `grep -P`:
112
+
113
+ | Lesson | Regex | Compiles | Status |
114
+ |--------|-------|----------|--------|
115
+ | 0001 | `^\s*except\s*:` | ✓ | PASS |
116
+ | 0004 | `assert.*==\s*\d+\|expect\(.*\)\.toBe\(\d+\)\|assert_equal.*\d+` | ✓ | PASS |
117
+ | 0005 | `sqlite3\.connect\(` | ✓ | PASS |
118
+ | 0006 | `\.venv/bin/pip\b` | ✓ | PASS |
119
+
120
+ **4/4 syntactic regex patterns compile successfully** (grep -P exit code 0 or 1).
121
+
122
+ ### Observations
123
+
124
+ - All lessons use valid enum values for `severity` and `category`
125
+ - Semantic lessons (0002, 0003) correctly omit `regex` field
126
+ - ID sequence is contiguous (1-6) with no gaps
127
+ - No issues found — lesson schema is clean
128
+
129
+ ---
130
+
131
+ ## Manifest & Frontmatter Validation (Batch 2)
132
+
133
+ ### JSON Manifest Validation
134
+
135
+ | File | Valid JSON | Required Fields | Status |
136
+ |------|-----------|----------------|--------|
137
+ | `.claude-plugin/plugin.json` | ✓ | name, description, version, author | PASS |
138
+ | `.claude-plugin/marketplace.json` | ✓ | N/A (list format) | PASS |
139
+ | `hooks/hooks.json` | ✓ | N/A (event-keyed) | PASS |
140
+
141
+ **3/3 JSON files pass validation.**
142
+
143
+ ### Skill Frontmatter Validation
144
+
145
+ Checked all 15 skills for required fields: `name`, `description`, `version`.
146
+
147
+ | Skill | name | description | version | Status |
148
+ |-------|------|-------------|---------|--------|
149
+ | `brainstorming` | ✓ | ✓ | 1.0.0 | PASS |
150
+ | `dispatching-parallel-agents` | ✓ | ✓ | 1.0.0 | PASS |
151
+ | `executing-plans` | ✓ | ✓ | 1.0.0 | PASS |
152
+ | `finishing-a-development-branch` | ✓ | ✓ | 1.0.0 | PASS |
153
+ | `receiving-code-review` | ✓ | ✓ | 1.0.0 | PASS |
154
+ | `requesting-code-review` | ✓ | ✓ | 1.0.0 | PASS |
155
+ | `subagent-driven-development` | ✓ | ✓ | 1.0.0 | PASS |
156
+ | `systematic-debugging` | ✓ | ✓ | 1.0.0 | PASS |
157
+ | `test-driven-development` | ✓ | ✓ | 1.0.0 | PASS |
158
+ | `using-git-worktrees` | ✓ | ✓ | 1.0.0 | PASS |
159
+ | `using-superpowers` | ✓ | ✓ | 1.0.0 | PASS |
160
+ | `verification-before-completion` | ✓ | ✓ | 1.0.0 | PASS |
161
+ | `verify` | ✓ | ✓ | 1.0.0 | PASS |
162
+ | `writing-plans` | ✓ | ✓ | 1.0.0 | PASS |
163
+ | `writing-skills` | ✓ | ✓ | 1.0.0 | PASS |
164
+
165
+ **15/15 skills pass frontmatter validation.**
166
+
167
+ ### Command Frontmatter Validation
168
+
169
+ Checked all 6 commands for YAML frontmatter with `description` field (command name derives from filename).
170
+
171
+ | Command | Frontmatter | description | Status |
172
+ |---------|-------------|-------------|--------|
173
+ | `cancel-ralph.md` | ✓ | ✓ | PASS |
174
+ | `code-factory.md` | ✓ | ✓ | PASS |
175
+ | `create-prd.md` | ✓ | ✓ | PASS |
176
+ | `ralph-loop.md` | ✓ | ✓ | PASS |
177
+ | `run-plan.md` | ✓ | ✓ | PASS |
178
+ | `submit-lesson.md` | ✓ | ✓ | PASS |
179
+
180
+ **6/6 commands pass frontmatter validation.**
181
+
182
+ ### Observations
183
+
184
+ - All skills at version 1.0.0 — consistent versioning
185
+ - Command files use `description` (not `name`) in frontmatter — name comes from filename per Claude Code convention
186
+ - No missing or malformed frontmatter found across any file type
@@ -0,0 +1,98 @@
1
+ # Telegram Notification Format
2
+
3
+ Standard notification templates for `run-plan.sh` and Code Factory pipeline execution.
4
+
5
+ ## STARTED
6
+
7
+ Sent once at pipeline launch.
8
+
9
+ ```
10
+ 🔧 <Feature Name> - STARTED
11
+
12
+ Project: <project-name>
13
+ Plan: <plan-filename>.md
14
+ Repo: github.com/parthalon025/<repo-name>
15
+
16
+ <N> batches, <M> tasks:
17
+ - B1: <batch title>
18
+ - B2: <batch title>
19
+ - ...
20
+
21
+ Running headless with retry on failure.
22
+ ```
23
+
24
+ ## Batch Complete (Success)
25
+
26
+ Sent after each batch passes the quality gate.
27
+
28
+ ```
29
+ ✅ <Feature Name> — B<N>/<total> complete (<duration>s)
30
+
31
+ *<Batch Title>*
32
+
33
+ Tasks completed:
34
+ • T<N>: <description of what was built/changed>
35
+ • T<N+1>: <description>
36
+ • ...
37
+
38
+ Tests: <file count> files, <assertion count> assertions (↑<delta>)
39
+ Quality gate: PASSED
40
+
41
+ Errors during batch: <none | list>
42
+ Lessons triggered: <none | lesson IDs>
43
+
44
+ B<N+1> starting: <next batch title>
45
+ ```
46
+
47
+ ## Batch Complete (Failure)
48
+
49
+ Sent when a batch fails after all retries.
50
+
51
+ ```
52
+ ❌ <Feature Name> — B<N>/<total> FAILED
53
+
54
+ *<Batch Title>*
55
+
56
+ Attempt <N> of <max>:
57
+ Error: <error description>
58
+ Quality gate: FAILED (<reason>)
59
+
60
+ Errors captured:
61
+ • <specific error 1>
62
+ • <specific error 2>
63
+
64
+ Lessons triggered: <lesson IDs if applicable>
65
+ Action: <retry|stop|skip>
66
+ ```
67
+
68
+ ## COMPLETED
69
+
70
+ Sent when all batches finish.
71
+
72
+ ```
73
+ 🏁 <Feature Name> - COMPLETED
74
+
75
+ Project: <project-name>
76
+ Duration: <total time>
77
+
78
+ Batches: <N>/<N> passed
79
+ Tests: <final count> (<total delta from start>)
80
+ Commits: <commit count>
81
+
82
+ Errors during run:
83
+ • B1: <none | error summary>
84
+ • B2: <none | error summary>
85
+ • ...
86
+
87
+ Lessons triggered: <none | lesson IDs and descriptions>
88
+ ```
89
+
90
+ ## Key Fields
91
+
92
+ | Field | Source | Purpose |
93
+ |-------|--------|---------|
94
+ | Tasks completed | Batch commit diff | What was built — not what was planned |
95
+ | Tests | `run-all-tests.sh` output | File count + assertion delta |
96
+ | Errors during batch | Quality gate output, retry logs | What went wrong |
97
+ | Lessons triggered | `lesson-check.sh` output | Anti-patterns detected in new code |
98
+ | Duration | `.run-plan-state.json` durations | Wall clock per batch |
@@ -0,0 +1,51 @@
1
+ # Example Implementation Plan
2
+
3
+ > This is an example plan file that `run-plan.sh` can parse and execute.
4
+ > The parser looks for `## Batch N:` headers to split batches and `### Task M:` for individual tasks.
5
+
6
+ ## Batch 1: Project Setup
7
+
8
+ ### Task 1: Initialize project structure
9
+
10
+ Create the basic directory layout:
11
+ - `src/` — source code
12
+ - `tests/` — test files
13
+ - `pyproject.toml` with pytest configuration
14
+
15
+ ### Task 2: Add configuration module
16
+
17
+ Create `src/config.py`:
18
+ - Load settings from environment variables
19
+ - Provide defaults for development
20
+ - Add `tests/test_config.py` with basic tests
21
+
22
+ ## Batch 2: Core Implementation
23
+
24
+ ### Task 3: Implement data parser
25
+
26
+ Create `src/parser.py`:
27
+ - Parse CSV input files into structured records
28
+ - Handle malformed rows gracefully (log + skip, don't crash)
29
+ - Add `tests/test_parser.py` covering: valid input, empty input, malformed rows
30
+
31
+ ### Task 4: Implement transformer
32
+
33
+ Create `src/transformer.py`:
34
+ - Transform parsed records into output format
35
+ - Support configurable field mapping
36
+ - Add `tests/test_transformer.py`
37
+
38
+ ## Batch 3: Integration and CLI
39
+
40
+ ### Task 5: Wire components together
41
+
42
+ Create `src/pipeline.py`:
43
+ - Connect parser → transformer → output writer
44
+ - Add end-to-end test: CSV in → transformed output verified
45
+
46
+ ### Task 6: Add CLI entry point
47
+
48
+ Create `src/cli.py`:
49
+ - Accept input file and output file arguments
50
+ - Report progress to stderr
51
+ - Add `tests/test_cli.py` testing argument parsing and error cases
@@ -0,0 +1,72 @@
1
+ [
2
+ {
3
+ "id": 1,
4
+ "title": "Create project structure",
5
+ "description": "Initialize directory layout with src/, tests/, and pyproject.toml",
6
+ "acceptance_criteria": [
7
+ "test -d src",
8
+ "test -d tests",
9
+ "test -f pyproject.toml",
10
+ "grep -q 'pytest' pyproject.toml"
11
+ ],
12
+ "passes": false,
13
+ "blocked_by": []
14
+ },
15
+ {
16
+ "id": 2,
17
+ "title": "Add configuration module",
18
+ "description": "Create src/config.py that loads settings from environment variables with sensible defaults",
19
+ "acceptance_criteria": [
20
+ "test -f src/config.py",
21
+ "python3 -c 'from src.config import Settings; s = Settings(); assert s is not None'",
22
+ "pytest tests/test_config.py -x"
23
+ ],
24
+ "passes": false,
25
+ "blocked_by": [1]
26
+ },
27
+ {
28
+ "id": 3,
29
+ "title": "Implement data parser",
30
+ "description": "Parse CSV input files into structured records with graceful error handling",
31
+ "acceptance_criteria": [
32
+ "test -f src/parser.py",
33
+ "pytest tests/test_parser.py -x",
34
+ "pytest tests/test_parser.py -k 'malformed' -x"
35
+ ],
36
+ "passes": false,
37
+ "blocked_by": [1]
38
+ },
39
+ {
40
+ "id": 4,
41
+ "title": "Implement transformer",
42
+ "description": "Transform parsed records into output format with configurable field mapping",
43
+ "acceptance_criteria": [
44
+ "test -f src/transformer.py",
45
+ "pytest tests/test_transformer.py -x"
46
+ ],
47
+ "passes": false,
48
+ "blocked_by": [3]
49
+ },
50
+ {
51
+ "id": 5,
52
+ "title": "Wire end-to-end pipeline",
53
+ "description": "Connect parser, transformer, and output writer into a single pipeline",
54
+ "acceptance_criteria": [
55
+ "test -f src/pipeline.py",
56
+ "pytest tests/test_pipeline.py -x"
57
+ ],
58
+ "passes": false,
59
+ "blocked_by": [3, 4]
60
+ },
61
+ {
62
+ "id": 6,
63
+ "title": "Run full quality gate",
64
+ "description": "Ensure all tests pass and no anti-patterns exist in the codebase",
65
+ "acceptance_criteria": [
66
+ "pytest tests/ -x",
67
+ "scripts/lesson-check.sh src/*.py"
68
+ ],
69
+ "passes": false,
70
+ "blocked_by": [1, 2, 3, 4, 5]
71
+ }
72
+ ]
@@ -0,0 +1,33 @@
1
+ # Roadmap: User Management System
2
+
3
+ Generated: 2026-02-24
4
+
5
+ ## Features (dependency order)
6
+
7
+ ### Phase 1: Foundation
8
+ | # | Feature | Complexity | Risk | Dependencies |
9
+ |---|---------|-----------|------|-------------|
10
+ | 1 | Database schema and migrations | moderate | low | none |
11
+ | 2 | Authentication API (JWT) | moderate | medium | none |
12
+
13
+ ### Phase 2: Core
14
+ | # | Feature | Complexity | Risk | Dependencies |
15
+ |---|---------|-----------|------|-------------|
16
+ | 3 | User CRUD endpoints | moderate | low | #1 |
17
+ | 4 | Role-based access control | complex | medium | #2, #3 |
18
+
19
+ ### Phase 3: Polish
20
+ | # | Feature | Complexity | Risk | Dependencies |
21
+ |---|---------|-----------|------|-------------|
22
+ | 5 | Admin dashboard UI | moderate | low | #3, #4 |
23
+
24
+ ## Dependency Graph
25
+ ```
26
+ 1 ──→ 3 ──→ 4 ──→ 5
27
+ 2 ──────→ 4
28
+ ```
29
+
30
+ ## Total Estimate
31
+ - Features: 5
32
+ - Phases: 3
33
+ - Estimated sessions: 5-8
@@ -0,0 +1,63 @@
1
+ # Quickstart Plan: Hello World with Quality Gate
2
+
3
+ A minimal 2-batch plan demonstrating the toolkit's core loop: write test → implement → quality gate → next batch.
4
+
5
+ ## Batch 1: Setup and first test
6
+
7
+ ### Task 1: Create project structure
8
+
9
+ Create the following files:
10
+
11
+ - `src/hello.sh` — a bash script that prints "Hello, World!"
12
+ - `tests/test-hello.sh` — a test that verifies the output
13
+
14
+ ```bash
15
+ # src/hello.sh
16
+ #!/usr/bin/env bash
17
+ echo "Hello, World!"
18
+ ```
19
+
20
+ ```bash
21
+ # tests/test-hello.sh
22
+ #!/usr/bin/env bash
23
+ set -euo pipefail
24
+
25
+ output=$(bash src/hello.sh)
26
+ if [[ "$output" == "Hello, World!" ]]; then
27
+ echo "PASS: hello output correct"
28
+ else
29
+ echo "FAIL: expected 'Hello, World!', got '$output'"
30
+ exit 1
31
+ fi
32
+ ```
33
+
34
+ Make both executable: `chmod +x src/hello.sh tests/test-hello.sh`
35
+
36
+ Run: `bash tests/test-hello.sh` — expect PASS.
37
+
38
+ ## Batch 2: Add parameterized greeting
39
+
40
+ ### Task 2: Accept a name argument
41
+
42
+ Update `src/hello.sh` to accept an optional name argument:
43
+ - `bash src/hello.sh` → "Hello, World!"
44
+ - `bash src/hello.sh Alice` → "Hello, Alice!"
45
+
46
+ ### Task 3: Add test for parameterized greeting
47
+
48
+ Add a second test case to `tests/test-hello.sh` that verifies `bash src/hello.sh Alice` outputs "Hello, Alice!".
49
+
50
+ Run: `bash tests/test-hello.sh` — expect both PASS.
51
+
52
+ ## Running This Plan
53
+
54
+ ```bash
55
+ # Headless (fully autonomous)
56
+ scripts/run-plan.sh examples/quickstart-plan.md
57
+
58
+ # In-session (with review between batches)
59
+ /run-plan examples/quickstart-plan.md
60
+
61
+ # Resume if interrupted
62
+ scripts/run-plan.sh --resume
63
+ ```
@@ -0,0 +1,26 @@
1
+ {
2
+ "description": "Autonomous Coding Toolkit hooks — setup and Ralph loop",
3
+ "hooks": {
4
+ "SessionStart": [
5
+ {
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/setup-symlinks.sh",
10
+ "timeout": 5
11
+ }
12
+ ]
13
+ }
14
+ ],
15
+ "Stop": [
16
+ {
17
+ "hooks": [
18
+ {
19
+ "type": "command",
20
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/stop-hook.sh"
21
+ }
22
+ ]
23
+ }
24
+ ]
25
+ }
26
+ }
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env bash
2
+ # setup-symlinks.sh — Auto-create ~/.local/bin symlinks on first session
3
+ # Runs via SessionStart hook. Guard file prevents re-running after initial setup.
4
+ set -euo pipefail
5
+
6
+ PLUGIN_ROOT="$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")/.." && pwd)"
7
+ GUARD_FILE="${PLUGIN_ROOT}/.symlinks-installed"
8
+ BIN_DIR="${HOME}/.local/bin"
9
+
10
+ # Skip if already done
11
+ [[ -f "$GUARD_FILE" ]] && exit 0
12
+
13
+ # Ensure bin dir exists
14
+ mkdir -p "$BIN_DIR"
15
+
16
+ # Scripts to expose on PATH (user-facing CLI tools only)
17
+ SCRIPTS=(
18
+ run-plan
19
+ quality-gate
20
+ lesson-check
21
+ policy-check
22
+ research-gate
23
+ auto-compound
24
+ entropy-audit
25
+ batch-audit
26
+ batch-test
27
+ mab-run
28
+ scope-infer
29
+ pipeline-status
30
+ setup-ralph-loop
31
+ )
32
+
33
+ installed=0
34
+ for name in "${SCRIPTS[@]}"; do
35
+ script="${PLUGIN_ROOT}/scripts/${name}.sh"
36
+ link="${BIN_DIR}/${name}"
37
+ if [[ -f "$script" ]] && [[ ! -e "$link" ]]; then
38
+ ln -sf "$script" "$link"
39
+ installed=$((installed + 1))
40
+ fi
41
+ done
42
+
43
+ # Mark as done
44
+ touch "$GUARD_FILE"
45
+
46
+ if [[ $installed -gt 0 ]]; then
47
+ echo "Autonomous Coding Toolkit: installed $installed commands to ~/.local/bin"
48
+ fi