mindforge-cc 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/.agent/CLAUDE.md +462 -0
  2. package/.agent/forge/help.md +7 -0
  3. package/.agent/forge/init-project.md +32 -0
  4. package/.agent/forge/plan-phase.md +30 -0
  5. package/.agent/mindforge/approve.md +18 -0
  6. package/.agent/mindforge/audit.md +30 -0
  7. package/.agent/mindforge/benchmark.md +33 -0
  8. package/.agent/mindforge/complete-milestone.md +18 -0
  9. package/.agent/mindforge/debug.md +126 -0
  10. package/.agent/mindforge/discuss-phase.md +138 -0
  11. package/.agent/mindforge/execute-phase.md +165 -0
  12. package/.agent/mindforge/health.md +21 -0
  13. package/.agent/mindforge/help.md +23 -0
  14. package/.agent/mindforge/init-org.md +131 -0
  15. package/.agent/mindforge/init-project.md +155 -0
  16. package/.agent/mindforge/install-skill.md +15 -0
  17. package/.agent/mindforge/map-codebase.md +298 -0
  18. package/.agent/mindforge/metrics.md +22 -0
  19. package/.agent/mindforge/migrate.md +40 -0
  20. package/.agent/mindforge/milestone.md +12 -0
  21. package/.agent/mindforge/next.md +105 -0
  22. package/.agent/mindforge/plan-phase.md +125 -0
  23. package/.agent/mindforge/plugins.md +40 -0
  24. package/.agent/mindforge/pr-review.md +41 -0
  25. package/.agent/mindforge/profile-team.md +23 -0
  26. package/.agent/mindforge/publish-skill.md +19 -0
  27. package/.agent/mindforge/quick.md +135 -0
  28. package/.agent/mindforge/release.md +10 -0
  29. package/.agent/mindforge/retrospective.md +26 -0
  30. package/.agent/mindforge/review.md +157 -0
  31. package/.agent/mindforge/security-scan.md +233 -0
  32. package/.agent/mindforge/ship.md +100 -0
  33. package/.agent/mindforge/skills.md +141 -0
  34. package/.agent/mindforge/status.md +104 -0
  35. package/.agent/mindforge/sync-confluence.md +11 -0
  36. package/.agent/mindforge/sync-jira.md +12 -0
  37. package/.agent/mindforge/tokens.md +8 -0
  38. package/.agent/mindforge/update.md +42 -0
  39. package/.agent/mindforge/verify-phase.md +62 -0
  40. package/.agent/mindforge/workspace.md +29 -0
  41. package/.claude/CLAUDE.md +462 -0
  42. package/.claude/commands/forge/help.md +7 -0
  43. package/.claude/commands/forge/init-project.md +32 -0
  44. package/.claude/commands/forge/plan-phase.md +30 -0
  45. package/.claude/commands/mindforge/approve.md +18 -0
  46. package/.claude/commands/mindforge/audit.md +30 -0
  47. package/.claude/commands/mindforge/benchmark.md +33 -0
  48. package/.claude/commands/mindforge/complete-milestone.md +18 -0
  49. package/.claude/commands/mindforge/debug.md +126 -0
  50. package/.claude/commands/mindforge/discuss-phase.md +138 -0
  51. package/.claude/commands/mindforge/execute-phase.md +165 -0
  52. package/.claude/commands/mindforge/health.md +21 -0
  53. package/.claude/commands/mindforge/help.md +23 -0
  54. package/.claude/commands/mindforge/init-org.md +131 -0
  55. package/.claude/commands/mindforge/init-project.md +155 -0
  56. package/.claude/commands/mindforge/install-skill.md +15 -0
  57. package/.claude/commands/mindforge/map-codebase.md +298 -0
  58. package/.claude/commands/mindforge/metrics.md +22 -0
  59. package/.claude/commands/mindforge/migrate.md +40 -0
  60. package/.claude/commands/mindforge/milestone.md +12 -0
  61. package/.claude/commands/mindforge/next.md +105 -0
  62. package/.claude/commands/mindforge/plan-phase.md +125 -0
  63. package/.claude/commands/mindforge/plugins.md +40 -0
  64. package/.claude/commands/mindforge/pr-review.md +41 -0
  65. package/.claude/commands/mindforge/profile-team.md +23 -0
  66. package/.claude/commands/mindforge/publish-skill.md +19 -0
  67. package/.claude/commands/mindforge/quick.md +135 -0
  68. package/.claude/commands/mindforge/release.md +10 -0
  69. package/.claude/commands/mindforge/retrospective.md +26 -0
  70. package/.claude/commands/mindforge/review.md +157 -0
  71. package/.claude/commands/mindforge/security-scan.md +233 -0
  72. package/.claude/commands/mindforge/ship.md +100 -0
  73. package/.claude/commands/mindforge/skills.md +141 -0
  74. package/.claude/commands/mindforge/status.md +104 -0
  75. package/.claude/commands/mindforge/sync-confluence.md +11 -0
  76. package/.claude/commands/mindforge/sync-jira.md +12 -0
  77. package/.claude/commands/mindforge/tokens.md +8 -0
  78. package/.claude/commands/mindforge/update.md +42 -0
  79. package/.claude/commands/mindforge/verify-phase.md +62 -0
  80. package/.claude/commands/mindforge/workspace.md +29 -0
  81. package/.forge/org/CONVENTIONS.md +0 -0
  82. package/.forge/org/ORG.md +0 -0
  83. package/.forge/org/SECURITY.md +0 -0
  84. package/.forge/org/TOOLS.md +0 -0
  85. package/.forge/personas/analyst.md +0 -0
  86. package/.forge/personas/architect.md +0 -0
  87. package/.forge/personas/debug-specialist.md +0 -0
  88. package/.forge/personas/developer.md +26 -0
  89. package/.forge/personas/qa-engineer.md +0 -0
  90. package/.forge/personas/release-manager.md +0 -0
  91. package/.forge/personas/security-reviewer.md +33 -0
  92. package/.forge/personas/tech-writer.md +0 -0
  93. package/.forge/skills/api-design/SKILL.md +0 -0
  94. package/.forge/skills/code-quality/SKILL.md +0 -0
  95. package/.forge/skills/documentation/SKILL.md +0 -0
  96. package/.forge/skills/security-review/SKILL.md +23 -0
  97. package/.forge/skills/testing-standards/SKILL.md +27 -0
  98. package/.github/workflows/mindforge-ci.yml +224 -0
  99. package/.gitlab-ci-mindforge.yml +18 -0
  100. package/.mindforge/MINDFORGE-SCHEMA.json +165 -0
  101. package/.mindforge/audit/AUDIT-SCHEMA.md +451 -0
  102. package/.mindforge/ci/ci-config-schema.md +21 -0
  103. package/.mindforge/ci/ci-mode.md +179 -0
  104. package/.mindforge/ci/github-actions-adapter.md +224 -0
  105. package/.mindforge/ci/gitlab-ci-adapter.md +31 -0
  106. package/.mindforge/ci/jenkins-adapter.md +44 -0
  107. package/.mindforge/distribution/registry-client.md +166 -0
  108. package/.mindforge/distribution/registry-schema.md +96 -0
  109. package/.mindforge/distribution/skill-publisher.md +44 -0
  110. package/.mindforge/distribution/skill-validator.md +74 -0
  111. package/.mindforge/engine/compaction-protocol.md +182 -0
  112. package/.mindforge/engine/context-injector.md +128 -0
  113. package/.mindforge/engine/dependency-parser.md +113 -0
  114. package/.mindforge/engine/skills/conflict-resolver.md +69 -0
  115. package/.mindforge/engine/skills/loader.md +184 -0
  116. package/.mindforge/engine/skills/registry.md +98 -0
  117. package/.mindforge/engine/skills/versioning.md +75 -0
  118. package/.mindforge/engine/verification-pipeline.md +111 -0
  119. package/.mindforge/engine/wave-executor.md +235 -0
  120. package/.mindforge/governance/GOVERNANCE-CONFIG.md +17 -0
  121. package/.mindforge/governance/approval-workflow.md +37 -0
  122. package/.mindforge/governance/change-classifier.md +63 -0
  123. package/.mindforge/governance/compliance-gates.md +31 -0
  124. package/.mindforge/integrations/confluence.md +27 -0
  125. package/.mindforge/integrations/connection-manager.md +163 -0
  126. package/.mindforge/integrations/github.md +25 -0
  127. package/.mindforge/integrations/gitlab.md +13 -0
  128. package/.mindforge/integrations/jira.md +102 -0
  129. package/.mindforge/integrations/slack.md +41 -0
  130. package/.mindforge/intelligence/antipattern-detector.md +75 -0
  131. package/.mindforge/intelligence/difficulty-scorer.md +55 -0
  132. package/.mindforge/intelligence/health-engine.md +208 -0
  133. package/.mindforge/intelligence/skill-gap-analyser.md +40 -0
  134. package/.mindforge/intelligence/smart-compaction.md +71 -0
  135. package/.mindforge/metrics/METRICS-SCHEMA.md +42 -0
  136. package/.mindforge/metrics/quality-tracker.md +32 -0
  137. package/.mindforge/monorepo/cross-package-planner.md +114 -0
  138. package/.mindforge/monorepo/dependency-graph-builder.md +32 -0
  139. package/.mindforge/monorepo/workspace-detector.md +129 -0
  140. package/.mindforge/org/CONVENTIONS.md +62 -0
  141. package/.mindforge/org/ORG.md +51 -0
  142. package/.mindforge/org/SECURITY.md +50 -0
  143. package/.mindforge/org/TOOLS.md +53 -0
  144. package/.mindforge/org/integrations/INTEGRATIONS-CONFIG.md +58 -0
  145. package/.mindforge/org/skills/MANIFEST.md +38 -0
  146. package/.mindforge/personas/analyst.md +52 -0
  147. package/.mindforge/personas/architect.md +75 -0
  148. package/.mindforge/personas/debug-specialist.md +52 -0
  149. package/.mindforge/personas/developer.md +85 -0
  150. package/.mindforge/personas/overrides/README.md +85 -0
  151. package/.mindforge/personas/qa-engineer.md +61 -0
  152. package/.mindforge/personas/release-manager.md +76 -0
  153. package/.mindforge/personas/security-reviewer.md +91 -0
  154. package/.mindforge/personas/tech-writer.md +51 -0
  155. package/.mindforge/plugins/PLUGINS-MANIFEST.md +23 -0
  156. package/.mindforge/plugins/plugin-loader.md +93 -0
  157. package/.mindforge/plugins/plugin-registry.md +44 -0
  158. package/.mindforge/plugins/plugin-schema.md +68 -0
  159. package/.mindforge/pr-review/ai-reviewer.md +266 -0
  160. package/.mindforge/pr-review/finding-formatter.md +46 -0
  161. package/.mindforge/pr-review/review-prompt-templates.md +44 -0
  162. package/.mindforge/production/compatibility-layer.md +39 -0
  163. package/.mindforge/production/migration-engine.md +52 -0
  164. package/.mindforge/production/production-checklist.md +165 -0
  165. package/.mindforge/production/token-optimiser.md +68 -0
  166. package/.mindforge/skills/accessibility/SKILL.md +106 -0
  167. package/.mindforge/skills/api-design/SKILL.md +98 -0
  168. package/.mindforge/skills/code-quality/SKILL.md +88 -0
  169. package/.mindforge/skills/data-privacy/SKILL.md +126 -0
  170. package/.mindforge/skills/database-patterns/SKILL.md +192 -0
  171. package/.mindforge/skills/documentation/SKILL.md +91 -0
  172. package/.mindforge/skills/incident-response/SKILL.md +180 -0
  173. package/.mindforge/skills/performance/SKILL.md +120 -0
  174. package/.mindforge/skills/security-review/SKILL.md +83 -0
  175. package/.mindforge/skills/testing-standards/SKILL.md +97 -0
  176. package/.mindforge/team/TEAM-PROFILE.md +42 -0
  177. package/.mindforge/team/multi-handoff.md +23 -0
  178. package/.mindforge/team/profiles/README.md +13 -0
  179. package/.mindforge/team/session-merger.md +18 -0
  180. package/.planning/ARCHITECTURE.md +0 -0
  181. package/.planning/AUDIT.jsonl +0 -0
  182. package/.planning/HANDOFF.json +28 -0
  183. package/.planning/PROJECT.md +33 -0
  184. package/.planning/RELEASE-CHECKLIST.md +68 -0
  185. package/.planning/REQUIREMENTS.md +0 -0
  186. package/.planning/ROADMAP.md +0 -0
  187. package/.planning/STATE.md +31 -0
  188. package/.planning/approvals/.gitkeep +1 -0
  189. package/.planning/archive/.gitkeep +1 -0
  190. package/.planning/audit-archive/.gitkeep +1 -0
  191. package/.planning/decisions/.gitkeep +0 -0
  192. package/.planning/decisions/ADR-001-handoff-tracking.md +41 -0
  193. package/.planning/decisions/ADR-002-markdown-commands.md +46 -0
  194. package/.planning/decisions/ADR-003-skills-trigger-model.md +37 -0
  195. package/.planning/decisions/ADR-004-wave-parallelism-model.md +45 -0
  196. package/.planning/decisions/ADR-005-append-only-audit-log.md +51 -0
  197. package/.planning/decisions/ADR-006-tiered-skills-system.md +22 -0
  198. package/.planning/decisions/ADR-007-trigger-keyword-model.md +22 -0
  199. package/.planning/decisions/ADR-008-just-in-time-skill-loading.md +29 -0
  200. package/.planning/decisions/ADR-009-enterprise-integration-retry-policy.md +8 -0
  201. package/.planning/decisions/ADR-010-governance-tier-escalation.md +8 -0
  202. package/.planning/decisions/ADR-011-multi-developer-handoff-contract.md +8 -0
  203. package/.planning/decisions/ADR-012-intelligence-feedback-loops.md +19 -0
  204. package/.planning/decisions/ADR-013-mindforge-md-constitution.md +16 -0
  205. package/.planning/decisions/ADR-014-metrics-as-signals-not-evaluation.md +15 -0
  206. package/.planning/decisions/ADR-015-npm-based-skill-registry.md +26 -0
  207. package/.planning/decisions/ADR-016-ci-exit-code-0-on-timeout.md +27 -0
  208. package/.planning/decisions/ADR-017-sdk-localhost-only.md +28 -0
  209. package/.planning/decisions/ADR-018-installer-self-install-detection.md +15 -0
  210. package/.planning/decisions/ADR-019-self-update-scope-preservation.md +14 -0
  211. package/.planning/decisions/ADR-020-v1.0.0-stable-interface-contract.md +23 -0
  212. package/.planning/jira-sync.json +9 -0
  213. package/.planning/milestones/.gitkeep +1 -0
  214. package/.planning/phases/day1/REVIEW-DAY1.md +50 -0
  215. package/.planning/phases/day1/SECURITY-REVIEW-DAY1.md +15 -0
  216. package/.planning/phases/day2/REVIEW-DAY2.md +521 -0
  217. package/.planning/phases/day3/REVIEW-DAY3.md +234 -0
  218. package/.planning/slack-threads.json +6 -0
  219. package/CHANGELOG.md +175 -0
  220. package/LICENSE +21 -0
  221. package/MINDFORGE.md +76 -0
  222. package/README.md +182 -0
  223. package/RELEASENOTES.md +41 -0
  224. package/SECURITY.md +4 -0
  225. package/bin/install.js +120 -0
  226. package/bin/installer-core.js +292 -0
  227. package/bin/migrations/0.1.0-to-0.5.0.js +37 -0
  228. package/bin/migrations/0.5.0-to-0.6.0.js +17 -0
  229. package/bin/migrations/0.6.0-to-1.0.0.js +100 -0
  230. package/bin/migrations/migrate.js +151 -0
  231. package/bin/migrations/schema-versions.js +64 -0
  232. package/bin/updater/changelog-fetcher.js +62 -0
  233. package/bin/updater/self-update.js +169 -0
  234. package/bin/updater/version-comparator.js +68 -0
  235. package/bin/validate-config.js +92 -0
  236. package/bin/wizard/config-generator.js +112 -0
  237. package/bin/wizard/environment-detector.js +76 -0
  238. package/bin/wizard/setup-wizard.js +237 -0
  239. package/docs/Context/Master-Context.md +701 -0
  240. package/docs/architecture/README.md +35 -0
  241. package/docs/architecture/decision-records-index.md +26 -0
  242. package/docs/ci-cd-integration.md +30 -0
  243. package/docs/ci-quickstart.md +78 -0
  244. package/docs/commands-reference.md +11 -0
  245. package/docs/contributing/CONTRIBUTING.md +38 -0
  246. package/docs/contributing/plugin-authoring.md +50 -0
  247. package/docs/contributing/skill-authoring.md +41 -0
  248. package/docs/enterprise-setup.md +25 -0
  249. package/docs/faq.md +38 -0
  250. package/docs/getting-started.md +36 -0
  251. package/docs/governance-guide.md +23 -0
  252. package/docs/mindforge-md-reference.md +53 -0
  253. package/docs/monorepo-guide.md +26 -0
  254. package/docs/persona-customisation.md +56 -0
  255. package/docs/quick-verify.md +33 -0
  256. package/docs/reference/audit-events.md +53 -0
  257. package/docs/reference/commands.md +82 -0
  258. package/docs/reference/config-reference.md +64 -0
  259. package/docs/reference/sdk-api.md +48 -0
  260. package/docs/reference/skills-api.md +57 -0
  261. package/docs/release-checklist-guide.md +37 -0
  262. package/docs/requirements.md +29 -0
  263. package/docs/sdk-reference.md +27 -0
  264. package/docs/security/SECURITY.md +42 -0
  265. package/docs/security/penetration-test-results.md +31 -0
  266. package/docs/security/threat-model.md +142 -0
  267. package/docs/skills-authoring-guide.md +119 -0
  268. package/docs/skills-publishing-guide.md +21 -0
  269. package/docs/team-setup-guide.md +21 -0
  270. package/docs/troubleshooting.md +119 -0
  271. package/docs/tutorial.md +195 -0
  272. package/docs/upgrade.md +44 -0
  273. package/docs/user-guide.md +131 -0
  274. package/docs/usp-features.md +214 -0
  275. package/eslint.config.mjs +31 -0
  276. package/examples/starter-project/.planning/AUDIT.jsonl +1 -0
  277. package/examples/starter-project/.planning/HANDOFF.json +23 -0
  278. package/examples/starter-project/.planning/PROJECT.md +27 -0
  279. package/examples/starter-project/.planning/STATE.md +10 -0
  280. package/examples/starter-project/MINDFORGE.md +40 -0
  281. package/examples/starter-project/README.md +14 -0
  282. package/implementation-roadmap/day-1-imp/DAY1-HARDEN.md +823 -0
  283. package/implementation-roadmap/day-1-imp/DAY1-IMPLEMENT.md +2459 -0
  284. package/implementation-roadmap/day-1-imp/DAY1-REVIEW.md +288 -0
  285. package/implementation-roadmap/day-2-imp/DAY2-HARDEN.md +954 -0
  286. package/implementation-roadmap/day-2-imp/DAY2-IMPLEMENT.md +2347 -0
  287. package/implementation-roadmap/day-2-imp/DAY2-REVIEW.md +422 -0
  288. package/implementation-roadmap/day-3-imp/DAY3-HARDEN.md +870 -0
  289. package/implementation-roadmap/day-3-imp/DAY3-IMPLEMENT.md +2798 -0
  290. package/implementation-roadmap/day-3-imp/DAY3-REVIEW.md +484 -0
  291. package/implementation-roadmap/day-4-imp/DAY4-HARDEN.md +1087 -0
  292. package/implementation-roadmap/day-4-imp/DAY4-IMPLEMENT.md +2874 -0
  293. package/implementation-roadmap/day-4-imp/DAY4-REVIEW.md +386 -0
  294. package/implementation-roadmap/day-5-imp/DAY5-HARDEN.md +1078 -0
  295. package/implementation-roadmap/day-5-imp/DAY5-IMPLEMENT.md +3151 -0
  296. package/implementation-roadmap/day-5-imp/DAY5-REVIEW.md +345 -0
  297. package/implementation-roadmap/day-6-imp/DAY6-COMPLETE.md +3919 -0
  298. package/implementation-roadmap/day-7-imp-prod/DAY7-PRODUCTION-FINAL.md +4513 -0
  299. package/package.json +31 -0
  300. package/sdk/README.md +69 -0
  301. package/sdk/eslint.config.mjs +34 -0
  302. package/sdk/package-lock.json +1507 -0
  303. package/sdk/package.json +30 -0
  304. package/sdk/src/client.ts +133 -0
  305. package/sdk/src/commands.ts +63 -0
  306. package/sdk/src/events.ts +166 -0
  307. package/sdk/src/index.ts +22 -0
  308. package/sdk/src/types.ts +87 -0
  309. package/sdk/tsconfig.json +13 -0
  310. package/tests/audit.test.js +206 -0
  311. package/tests/ci-mode.test.js +162 -0
  312. package/tests/compaction.test.js +161 -0
  313. package/tests/distribution.test.js +205 -0
  314. package/tests/e2e.test.js +618 -0
  315. package/tests/governance.test.js +130 -0
  316. package/tests/install.test.js +209 -0
  317. package/tests/integrations.test.js +128 -0
  318. package/tests/intelligence.test.js +117 -0
  319. package/tests/metrics.test.js +96 -0
  320. package/tests/migration.test.js +309 -0
  321. package/tests/production.test.js +416 -0
  322. package/tests/sdk.test.js +200 -0
  323. package/tests/skills-platform.test.js +403 -0
  324. package/tests/wave-engine.test.js +338 -0
@@ -0,0 +1,14 @@
1
+ # ADR-019: Self-update preserves the original installation scope
2
+
3
+ **Status:** Accepted | **Date:** v1.0.0 | **Day:** 7
4
+
5
+ ## Context
6
+ `/mindforge:update --apply` must update the correct installation.
7
+
8
+ ## Decision
9
+ Detect original scope from filesystem (local before global per priority).
10
+ Apply update using the detected scope. Per ADR-019.
11
+
12
+ ## Rationale
13
+ Principle of least surprise. A local install user should get a local update.
14
+ Unexpected global install is confusing and may affect other projects.
@@ -0,0 +1,23 @@
1
+ # ADR-020: v1.0.0 stable interface contract
2
+
3
+ **Status:** Accepted | **Date:** v1.0.0 | **Day:** 7
4
+
5
+ ## Context
6
+ MindForge reaches v1.0.0. "Stable" must be precisely defined.
7
+
8
+ ## Decision
9
+ Stable public interfaces (additions require MINOR, removals/changes require MAJOR):
10
+ - All 36 command names and their flag interfaces
11
+ - HANDOFF.json schema fields
12
+ - AUDIT.jsonl event types and required fields
13
+ - All 10 core skill name values
14
+ - MINDFORGE.md setting keys
15
+ - @mindforge/sdk exported types and functions
16
+ - plugin.json manifest format
17
+
18
+ Governance primitives are permanently fixed and cannot become configurable
19
+ in any future version without a MAJOR bump and explicit RFC process.
20
+
21
+ ## Consequences
22
+ Plugin authors and SDK consumers can build on v1.0.0 with confidence.
23
+ The MindForge team is committed to backwards compatibility in 1.x.x releases.
@@ -0,0 +1,9 @@
1
+ {
2
+ "schema_version": "1.0.0",
3
+ "last_sync": null,
4
+ "project_key": null,
5
+ "phase_mappings": {},
6
+ "transition_cache": {},
7
+ "security_bugs": [],
8
+ "_warning": "Do not store credentials in this file."
9
+ }
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,50 @@
1
+ # Day 1 Review — MindForge Foundation
2
+
3
+ ## Summary
4
+ Overall structure matches the Day 1 specification and is consistent across Claude and Antigravity.
5
+ However, several blocking and major issues remain around ambiguity, safety, and hardening.
6
+
7
+ ## BLOCKING findings
8
+ 1. **CLAUDE.md missing explicit missing-file handling and plan validation**
9
+ - Impact: Agents can proceed with undefined state or malformed plans.
10
+ - Evidence: CLAUDE.md lacks required missing-file handling and plan validation steps.
11
+ - Recommendation: Add explicit missing-file handling, plan validation, and quality gate enforcement (see HARDEN 2).
12
+
13
+ 2. **HANDOFF.json lacks anti-secret warning and expanded schema fields**
14
+ - Impact: Risk of secrets being recorded in tracked state files.
15
+ - Evidence: HANDOFF.json template has no warning and minimal fields.
16
+ - Recommendation: Add `_warning`, `session_summary`, `recent_files`, `recent_commits` (see HARDEN 6).
17
+
18
+ 3. **Installer lacks node version guard, CLAUDE.md backup, and install verification**
19
+ - Impact: Silent failures and risk of overwriting user CLAUDE.md.
20
+ - Evidence: bin/install.js has no version check or backup of non-MindForge CLAUDE.md.
21
+ - Recommendation: Implement version guard, safe copy, and post-install verification (see HARDEN 5).
22
+
23
+ ## MAJOR findings
24
+ 1. **Slash commands missing explicit edge-case handling**
25
+ - Impact: execute-phase does not define behaviour for malformed XML or missing test suite.
26
+ - Evidence: execute-phase.md does not address malformed XML or missing test runner.
27
+ - Recommendation: Add explicit failure handling in execute-phase.md.
28
+
29
+ 2. **State updates inconsistent**
30
+ - Impact: ship command does not update STATE.md at end.
31
+ - Evidence: ship.md does not specify state update.
32
+ - Recommendation: Add explicit STATE.md update to ship.md.
33
+
34
+ 3. **.gitignore missing key/cert patterns**
35
+ - Impact: risk of accidental commit of private keys.
36
+ - Evidence: no *.key or *.pem patterns.
37
+ - Recommendation: add *.key and *.pem to .gitignore.
38
+
39
+ ## MINOR findings
40
+ 1. **CLAUDE.md lacks explicit guidance for corrupt HANDOFF.json**
41
+ - Impact: ambiguous recovery path on parse errors.
42
+ - Recommendation: include guidance (HARDEN 2 section).
43
+
44
+ 2. **Help command lacks pre-check**
45
+ - Impact: minimal, but review spec expects pre-checks for all commands.
46
+ - Recommendation: Add a lightweight pre-check (e.g., read STATE.md if present).
47
+
48
+ ## Decision required
49
+ - HANDOFF.json tracking: Should it be tracked or gitignored?
50
+ Recommendation: Track in git with explicit anti-secret warning and ADR (HARDEN 7).
@@ -0,0 +1,15 @@
1
+ # Day 1 Security Review — MindForge Foundation
2
+
3
+ ## Findings
4
+
5
+ ### MEDIUM — HANDOFF.json could capture secrets
6
+ - Risk: Session state files are tracked in git; secrets could be recorded.
7
+ - Recommendation: Add `_warning` field and explicit note in STATE.md. Add ADR documenting tracking decision.
8
+
9
+ ### MEDIUM — .gitignore missing key/cert patterns
10
+ - Risk: Private keys or certs can be committed accidentally.
11
+ - Recommendation: Add `*.key` and `*.pem` to .gitignore.
12
+
13
+ ### LOW — Installer overwrites CLAUDE.md without backup
14
+ - Risk: User's existing agent config could be lost.
15
+ - Recommendation: Add CLAUDE.md backup when overwriting non-MindForge files.
@@ -0,0 +1,521 @@
1
+ ## Finding 1 — BLOCKING: HANDOFF.json schema mismatch across docs
2
+
3
+ **File:** .mindforge/engine/compaction-protocol.md
4
+ **Category:** Consistency
5
+ **Severity:** BLOCKING
6
+
7
+ **Issue:**
8
+ Compaction protocol writes a HANDOFF.json schema with fields like `plan_step`, `in_progress`, `recent_commits`, `recent_files`, and `agent_notes`, but the init-project template and base HANDOFF.json do not include these fields. This creates conflicting expectations between commands and engine specs.
9
+
10
+ **Impact:**
11
+ Session restart logic can break or silently drop fields. Different agents will write incompatible HANDOFF.json files.
12
+
13
+ **Recommendation:**
14
+ Update the canonical HANDOFF.json template and init-project command to include all fields required by compaction-protocol.md.
15
+
16
+ ---
17
+ ## Finding 2 — BLOCKING: AUDIT schema missing events used by execute-phase
18
+
19
+ **File:** .mindforge/audit/AUDIT-SCHEMA.md
20
+ **Category:** Audit
21
+ **Severity:** BLOCKING
22
+
23
+ **Issue:**
24
+ The execute-phase command writes `phase_execution_started` and `phase_execution_completed`, but these event types are not defined in AUDIT-SCHEMA.md.
25
+
26
+ **Impact:**
27
+ Audit log becomes inconsistent and unverifiable. Consumers parsing AUDIT.jsonl cannot validate these events.
28
+
29
+ **Recommendation:**
30
+ Add explicit schema entries for `phase_execution_started` and `phase_execution_completed` (with required fields).
31
+
32
+ ---
33
+ ## Finding 3 — MAJOR: Dependency report lacks explicit wave assignments
34
+
35
+ **File:** .mindforge/engine/dependency-parser.md
36
+ **Category:** Wave Engine
37
+ **Severity:** MAJOR
38
+
39
+ **Issue:**
40
+ DEPENDENCY-GRAPH template does not include wave assignments per plan. It only lists tasks and a generic "Wave 1 → Wave 2" note.
41
+
42
+ **Impact:**
43
+ execute-phase cannot consume the dependency report without re-running wave grouping. Operators cannot verify the planned wave layout.
44
+
45
+ **Recommendation:**
46
+ Add a "Wave" column to the task table and/or add a dedicated "Wave assignments" section listing each wave's plan IDs.
47
+
48
+ ---
49
+ ## Finding 4 — MAJOR: Wave executor lacks subagent invocation guidance
50
+
51
+ **File:** .mindforge/engine/wave-executor.md
52
+ **Category:** Wave Engine
53
+ **Severity:** MAJOR
54
+
55
+ **Issue:**
56
+ The spec says "spawn a subagent" but does not describe how to do this in Claude Code vs Antigravity. This is runtime-specific and currently ambiguous.
57
+
58
+ **Impact:**
59
+ Different agents will interpret this differently, causing inconsistent execution across runtimes.
60
+
61
+ **Recommendation:**
62
+ Add a short runtime-agnostic protocol for subagent invocation or a dedicated section with Claude Code vs Antigravity guidance.
63
+
64
+ ---
65
+ ## Finding 5 — MAJOR: Wave executor missing timeout / hang handling
66
+
67
+ **File:** .mindforge/engine/wave-executor.md
68
+ **Category:** Wave Engine
69
+ **Severity:** MAJOR
70
+
71
+ **Issue:**
72
+ No guidance on what to do if a subagent never returns or a SUMMARY file is never written.
73
+
74
+ **Impact:**
75
+ Wave execution can hang indefinitely.
76
+
77
+ **Recommendation:**
78
+ Add a timeout rule (e.g., if no SUMMARY after N minutes, mark task blocked and stop wave).
79
+
80
+ ---
81
+ ## Finding 6 — MAJOR: Wave executor assumes tests exist
82
+
83
+ **File:** .mindforge/engine/wave-executor.md
84
+ **Category:** Wave Engine
85
+ **Severity:** MAJOR
86
+
87
+ **Issue:**
88
+ It mandates full test suite after each wave but does not define behavior if no test suite exists yet.
89
+
90
+ **Impact:**
91
+ Early projects may block with no clear next action.
92
+
93
+ **Recommendation:**
94
+ Define a fallback: if no test command exists, stop and instruct user to add tests or define the test command.
95
+
96
+ ---
97
+ ## Finding 7 — MAJOR: WAVE-REPORT template lacks failure representation
98
+
99
+ **File:** .mindforge/engine/wave-executor.md
100
+ **Category:** Wave Engine
101
+ **Severity:** MAJOR
102
+
103
+ **Issue:**
104
+ WAVE-REPORT template only shows successful rows. No explicit failure row format or error capture.
105
+
106
+ **Impact:**
107
+ Failed waves are hard to audit; execution history becomes misleading.
108
+
109
+ **Recommendation:**
110
+ Add explicit failure row format with error output and status icon.
111
+
112
+ ---
113
+ ## Finding 8 — MAJOR: Context injector does not define completion signal
114
+
115
+ **File:** .mindforge/engine/context-injector.md
116
+ **Category:** Wave Engine
117
+ **Severity:** MAJOR
118
+
119
+ **Issue:**
120
+ The spec says "report completion status" but does not define the mechanism (file path, message format).
121
+
122
+ **Impact:**
123
+ Orchestrator cannot reliably detect task completion across runtimes.
124
+
125
+ **Recommendation:**
126
+ Define completion signal as the presence of SUMMARY-[N]-[M].md plus explicit status line inside it.
127
+
128
+ ---
129
+ ## Finding 9 — MAJOR: Context injector lacks placeholder detection
130
+
131
+ **File:** .mindforge/engine/context-injector.md
132
+ **Category:** Security
133
+ **Severity:** MAJOR
134
+
135
+ **Issue:**
136
+ SECURITY.md is injected but may still contain placeholder text. No warning or validation exists.
137
+
138
+ **Impact:**
139
+ Subagents assume security requirements are defined when they are not.
140
+
141
+ **Recommendation:**
142
+ Add a check: if SECURITY.md contains placeholders, warn the user to fill it in before sensitive work.
143
+
144
+ ---
145
+ ## Finding 10 — MAJOR: Context injector path traversal risk in ADR references
146
+
147
+ **File:** .mindforge/engine/context-injector.md
148
+ **Category:** Security
149
+ **Severity:** MAJOR
150
+
151
+ **Issue:**
152
+ Plans can reference ADR paths; no validation ensures referenced files are within repo.
153
+
154
+ **Impact:**
155
+ Potential path traversal or unintended file disclosure.
156
+
157
+ **Recommendation:**
158
+ Validate that all referenced paths are under project root before inclusion.
159
+
160
+ ---
161
+ ## Finding 11 — MAJOR: Verification pipeline Stage 1 failure has no remediation path
162
+
163
+ **File:** .mindforge/engine/verification-pipeline.md
164
+ **Category:** Wave Engine
165
+ **Severity:** MAJOR
166
+
167
+ **Issue:**
168
+ Stage 1 says "stop" but does not describe whether to create fix plans or how to proceed.
169
+
170
+ **Impact:**
171
+ Users have no defined remediation workflow.
172
+
173
+ **Recommendation:**
174
+ Add explicit instruction to create fix plans when Stage 1 fails.
175
+
176
+ ---
177
+ ## Finding 12 — MAJOR: AUDIT schema missing additional event types
178
+
179
+ **File:** .mindforge/audit/AUDIT-SCHEMA.md
180
+ **Category:** Audit
181
+ **Severity:** MAJOR
182
+
183
+ **Issue:**
184
+ Missing event definitions for: `quick_task_completed`, `debug_completed`, `uat_started`, `uat_completed`, `ship_started`, `ship_completed`, `session_started`.
185
+
186
+ **Impact:**
187
+ Audit log coverage is incomplete for key lifecycle actions.
188
+
189
+ **Recommendation:**
190
+ Add schema entries for all missing events.
191
+
192
+ ---
193
+ ## Finding 13 — MAJOR: AUDIT schema lacks corruption recovery guidance
194
+
195
+ **File:** .mindforge/audit/AUDIT-SCHEMA.md
196
+ **Category:** Audit
197
+ **Severity:** MAJOR
198
+
199
+ **Issue:**
200
+ No guidance for handling corrupted AUDIT.jsonl or long-term file growth.
201
+
202
+ **Impact:**
203
+ Audit system can become unusable over time without a recovery path.
204
+
205
+ **Recommendation:**
206
+ Add brief guidance: restore from git history, and archive to AUDIT-archive-YYYY.jsonl when size exceeds threshold.
207
+
208
+ ---
209
+ ## Finding 14 — MAJOR: Compaction protocol missing mid-wave handling
210
+
211
+ **File:** .mindforge/engine/compaction-protocol.md
212
+ **Category:** Compaction
213
+ **Severity:** MAJOR
214
+
215
+ **Issue:**
216
+ No guidance for compaction when a subagent is still running in the current wave.
217
+
218
+ **Impact:**
219
+ Compaction could interrupt or duplicate work.
220
+
221
+ **Recommendation:**
222
+ Specify: wait for running subagents to complete before compacting.
223
+
224
+ ---
225
+ ## Finding 15 — MAJOR: Compaction protocol WIP commits do not address hooks
226
+
227
+ **File:** .mindforge/engine/compaction-protocol.md
228
+ **Category:** Compaction
229
+ **Severity:** MAJOR
230
+
231
+ **Issue:**
232
+ WIP commit step does not address pre-commit hooks.
233
+
234
+ **Impact:**
235
+ Compaction can fail if hooks require lint/tests.
236
+
237
+ **Recommendation:**
238
+ Use `git commit --no-verify` for compaction WIP checkpoints and document it in STATE.md.
239
+
240
+ ---
241
+ ## Finding 16 — MAJOR: Compaction protocol lacks HANDOFF staleness handling
242
+
243
+ **File:** .mindforge/engine/compaction-protocol.md
244
+ **Category:** Compaction
245
+ **Severity:** MAJOR
246
+
247
+ **Issue:**
248
+ No staleness check for old HANDOFF.json.
249
+
250
+ **Impact:**
251
+ Agents may continue from outdated state without warning.
252
+
253
+ **Recommendation:**
254
+ Warn if `updated_at` is older than 48 hours and confirm continuation.
255
+
256
+ ---
257
+ ## Finding 17 — MAJOR: Compaction protocol lacks concurrent session warning
258
+
259
+ **File:** .mindforge/engine/compaction-protocol.md
260
+ **Category:** Compaction
261
+ **Severity:** MAJOR
262
+
263
+ **Issue:**
264
+ No mention of multiple agents using the same HANDOFF.json concurrently.
265
+
266
+ **Impact:**
267
+ Race conditions and state corruption.
268
+
269
+ **Recommendation:**
270
+ Add a warning that concurrent sessions are unsupported and require manual coordination.
271
+
272
+ ---
273
+ ## Finding 18 — MAJOR: /mindforge:next prioritizes HANDOFF.json too late
274
+
275
+ **File:** .claude/commands/mindforge/next.md
276
+ **Category:** Commands
277
+ **Severity:** MAJOR
278
+
279
+ **Issue:**
280
+ HANDOFF.json handling is described after the decision tree, not as a priority path.
281
+
282
+ **Impact:**
283
+ The system may ignore an interrupted session and start a new flow.
284
+
285
+ **Recommendation:**
286
+ Move HANDOFF.json handling to the top: if it exists and is recent, prompt user before normal state detection.
287
+
288
+ ---
289
+ ## Finding 19 — MAJOR: /mindforge:quick lacks numbering collision prevention
290
+
291
+ **File:** .claude/commands/mindforge/quick.md
292
+ **Category:** Commands
293
+ **Severity:** MAJOR
294
+
295
+ **Issue:**
296
+ No rule for choosing next quick task number; concurrent runs may both use 001.
297
+
298
+ **Impact:**
299
+ Directory collisions and overwritten plans.
300
+
301
+ **Recommendation:**
302
+ Define numbering: scan `.planning/quick/`, take max + 1, and require `--force` if collision.
303
+
304
+ ---
305
+ ## Finding 20 — MAJOR: /mindforge:quick missing security auto-trigger
306
+
307
+ **File:** .claude/commands/mindforge/quick.md
308
+ **Category:** Security
309
+ **Severity:** MAJOR
310
+
311
+ **Issue:**
312
+ Quick tasks do not auto-trigger the security-review skill for security-sensitive keywords.
313
+
314
+ **Impact:**
315
+ Security-sensitive quick fixes can bypass security review.
316
+
317
+ **Recommendation:**
318
+ Add rule: if task description contains security keywords, load security-review skill regardless of flags.
319
+
320
+ ---
321
+ ## Finding 21 — MAJOR: /mindforge:debug lacks full test-suite verification
322
+
323
+ **File:** .claude/commands/mindforge/debug.md
324
+ **Category:** Commands
325
+ **Severity:** MAJOR
326
+
327
+ **Issue:**
328
+ Debug protocol does not require running full test suite after fix.
329
+
330
+ **Impact:**
331
+ Fix could introduce regressions unnoticed.
332
+
333
+ **Recommendation:**
334
+ Add step to run full test suite after fix, before marking done.
335
+
336
+ ---
337
+ ## Finding 22 — MINOR: /mindforge:status progress counts failed tasks
338
+
339
+ **File:** .claude/commands/mindforge/status.md
340
+ **Category:** Commands
341
+ **Severity:** MINOR
342
+
343
+ **Issue:**
344
+ Progress calculation uses SUMMARY count without checking `Status: Completed ✅`.
345
+
346
+ **Impact:**
347
+ Failed tasks could inflate progress.
348
+
349
+ **Recommendation:**
350
+ Count only SUMMARY files with explicit completed status.
351
+
352
+ ---
353
+ ## Finding 23 — MINOR: /mindforge:status does not address empty AUDIT.jsonl
354
+
355
+ **File:** .claude/commands/mindforge/status.md
356
+ **Category:** Commands
357
+ **Severity:** MINOR
358
+
359
+ **Issue:**
360
+ No guidance for empty audit log on fresh projects.
361
+
362
+ **Impact:**
363
+ Potential confusing output.
364
+
365
+ **Recommendation:**
366
+ Add "No activity logged yet" when AUDIT.jsonl is empty.
367
+
368
+ ---
369
+ ## Finding 24 — MINOR: /mindforge:status requirements coverage assumes VERIFICATION.md exists
370
+
371
+ **File:** .claude/commands/mindforge/status.md
372
+ **Category:** Commands
373
+ **Severity:** MINOR
374
+
375
+ **Issue:**
376
+ No fallback if VERIFICATION.md does not exist yet.
377
+
378
+ **Impact:**
379
+ Incomplete status output.
380
+
381
+ **Recommendation:**
382
+ Add "In progress" state when verification is missing.
383
+
384
+ ---
385
+ ## Finding 25 — MINOR: /mindforge:quick does not mention STATE.md update policy
386
+
387
+ **File:** .claude/commands/mindforge/quick.md
388
+ **Category:** Commands
389
+ **Severity:** MINOR
390
+
391
+ **Issue:**
392
+ No guidance on whether quick tasks update STATE.md.
393
+
394
+ **Impact:**
395
+ State consistency varies by operator.
396
+
397
+ **Recommendation:**
398
+ Specify: quick tasks do not change phase status; note quick task in STATE.md if no active phase.
399
+
400
+ ---
401
+ ## Finding 26 — MINOR: Dependency parser does not address duplicate task names
402
+
403
+ **File:** .mindforge/engine/dependency-parser.md
404
+ **Category:** Wave Engine
405
+ **Severity:** MINOR
406
+
407
+ **Issue:**
408
+ No rule for duplicate `<n>` values across different plan IDs.
409
+
410
+ **Impact:**
411
+ Potential confusion in summaries and audit entries.
412
+
413
+ **Recommendation:**
414
+ Require uniqueness or prefix summaries with plan ID.
415
+
416
+ ---
417
+ ## Finding 27 — MINOR: Verification pipeline grep false negatives
418
+
419
+ **File:** .mindforge/engine/verification-pipeline.md
420
+ **Category:** Wave Engine
421
+ **Severity:** MINOR
422
+
423
+ **Issue:**
424
+ Stage 2 relies on exact text matches; does not define fallback for false negatives.
425
+
426
+ **Impact:**
427
+ Requirements may be marked ⚠️ or ❌ incorrectly.
428
+
429
+ **Recommendation:**
430
+ Add a manual confirmation step when grep finds nothing.
431
+
432
+ ---
433
+ ## Finding 28 — MINOR: Audit schema lacks note about sensitive rationale text
434
+
435
+ **File:** .mindforge/audit/AUDIT-SCHEMA.md
436
+ **Category:** Security
437
+ **Severity:** MINOR
438
+
439
+ **Issue:**
440
+ `decision_recorded.rationale` could contain secrets if a user pastes credentials.
441
+
442
+ **Impact:**
443
+ Sensitive data leakage into AUDIT.jsonl.
444
+
445
+ **Recommendation:**
446
+ Add warning to schema: never include secrets in rationale fields.
447
+
448
+ ---
449
+ ## Finding 29 — SUGGESTION: Add missing tests for edge cases
450
+
451
+ **File:** tests/wave-engine.test.js
452
+ **Category:** Test Suite
453
+ **Severity:** SUGGESTION
454
+
455
+ **Issue:**
456
+ Wave engine tests lack cases for empty graph, self-dependency, missing dependency, and 3+ plan conflicts.
457
+
458
+ **Impact:**
459
+ Edge case regressions may go unnoticed.
460
+
461
+ **Recommendation:**
462
+ Add the missing tests listed in DAY2-REVIEW.md.
463
+
464
+ ---
465
+ ## Finding 30 — SUGGESTION: Add audit tests for UUID format and mixed JSONL
466
+
467
+ **File:** tests/audit.test.js
468
+ **Category:** Test Suite
469
+ **Severity:** SUGGESTION
470
+
471
+ **Issue:**
472
+ Audit tests do not explicitly test invalid UUID formats or mixed valid/invalid lines.
473
+
474
+ **Impact:**
475
+ Parser may accept malformed entries.
476
+
477
+ **Recommendation:**
478
+ Add explicit tests for invalid UUID format and mixed JSONL lines.
479
+
480
+ ---
481
+ ## Finding 31 — SUGGESTION: Add compaction tests for recent_commits and in_progress
482
+
483
+ **File:** tests/compaction.test.js
484
+ **Category:** Test Suite
485
+ **Severity:** SUGGESTION
486
+
487
+ **Issue:**
488
+ Compaction tests do not verify `recent_commits` or `in_progress` fields exist.
489
+
490
+ **Impact:**
491
+ HANDOFF schema could drift without detection.
492
+
493
+ **Recommendation:**
494
+ Add tests for `recent_commits` and `in_progress` fields.
495
+
496
+ ---
497
+ ## Day 2 Review Summary
498
+
499
+ | Category | BLOCKING | MAJOR | MINOR | SUGGESTION |
500
+ |---------------|----------|-------|-------|------------|
501
+ | Wave Engine | 0 | 6 | 2 | 1 |
502
+ | Audit System | 1 | 2 | 1 | 1 |
503
+ | Compaction | 0 | 4 | 0 | 1 |
504
+ | Commands | 0 | 5 | 4 | 0 |
505
+ | Test Suite | 0 | 0 | 0 | 3 |
506
+ | Consistency | 1 | 0 | 0 | 0 |
507
+ | Security | 0 | 2 | 1 | 0 |
508
+ | **TOTAL** | 2 | 19 | 8 | 6 |
509
+
510
+ ## Verdict
511
+ [ ] ✅ APPROVED — Proceed to DAY2-HARDEN.md
512
+ [ ] ⚠️ APPROVED WITH CONDITIONS — Fix [N] major findings first
513
+ [x] ❌ NOT APPROVED — 2 blocking findings. Fix and re-review.
514
+
515
+ ## Estimated fix time
516
+ 3–5 hours
517
+ ## Review Status
518
+ **Approved after fixes — 2026-03-20**
519
+
520
+ All BLOCKING and MAJOR findings below have been addressed in subsequent hardening commits.
521
+ This document preserves the original review record.