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,28 @@
1
+ {
2
+ "schema_version": "1.0.0",
3
+ "project": null,
4
+ "phase": null,
5
+ "plan": null,
6
+ "plan_step": null,
7
+ "last_completed_task": {
8
+ "description": null,
9
+ "commit_sha": null,
10
+ "verified": null
11
+ },
12
+ "next_task": "Run /mindforge:init-project",
13
+ "in_progress": {
14
+ "file": null,
15
+ "intent": null,
16
+ "completed_steps": [],
17
+ "remaining_steps": []
18
+ },
19
+ "blockers": [],
20
+ "decisions_needed": [],
21
+ "context_refs": [],
22
+ "agent_notes": "",
23
+ "session_summary": "",
24
+ "recent_files": [],
25
+ "recent_commits": [],
26
+ "updated_at": null,
27
+ "_warning": "Never store secrets, tokens, or passwords in this file. It is tracked in git."
28
+ }
@@ -0,0 +1,33 @@
1
+ # [Project Name]
2
+
3
+ > One sentence describing what this project does and for whom.
4
+
5
+ ## Status
6
+ 🚧 In development — Phase 0 (not started)
7
+
8
+ ## Problem statement
9
+ [What pain does this solve? Be specific.]
10
+
11
+ ## Target users
12
+ [Who uses this? Describe them precisely. Avoid "developers" — say "solo developers
13
+ building production apps with Claude Code who want structured AI workflows."]
14
+
15
+ ## Tech stack
16
+ | Layer | Technology | Version | Rationale |
17
+ |------------|-------------|---------|----------------------------------|
18
+ | | | | |
19
+
20
+ ## v1 Scope — IN
21
+ - [ ] [Feature 1]
22
+ - [ ] [Feature 2]
23
+
24
+ ## v1 Scope — OUT (explicitly excluded)
25
+ - [Item 1] — reason: [why not v1]
26
+ - [Item 2] — reason: [why not v1]
27
+
28
+ ## Success criteria
29
+ [How will you know v1 is done? Be specific and measurable.]
30
+
31
+ ## Key constraints
32
+ - [Constraint 1]
33
+ - [Constraint 2]
@@ -0,0 +1,68 @@
1
+ # MindForge v1.0.0 — Release Checklist
2
+
3
+ Use this file to record verification results for the 50-point production
4
+ readiness checklist in `.mindforge/production/production-checklist.md`.
5
+
6
+ ## Metadata
7
+ - Target version: v1.0.0
8
+ - Release date: 2026-03-22
9
+ - Release manager: [name]
10
+
11
+ ## Verification log
12
+ | Item | Result | Verified by | Date | Notes |
13
+ |---|---|---|---|---|
14
+ | A01 | | | | |
15
+ | A02 | | | | |
16
+ | A03 | | | | |
17
+ | A04 | | | | |
18
+ | A05 | | | | |
19
+ | A06 | | | | |
20
+ | A07 | | | | |
21
+ | A08 | | | | |
22
+ | A09 | | | | |
23
+ | A10 | | | | |
24
+ | B01 | | | | |
25
+ | B02 | | | | |
26
+ | B03 | | | | |
27
+ | B04 | | | | |
28
+ | B05 | | | | |
29
+ | B06 | | | | |
30
+ | B07 | | | | |
31
+ | B08 | | | | |
32
+ | B09 | | | | |
33
+ | B10 | | | | |
34
+ | C01 | | | | |
35
+ | C02 | | | | |
36
+ | C03 | | | | |
37
+ | C04 | | | | |
38
+ | C05 | | | | |
39
+ | C06 | | | | |
40
+ | C07 | | | | |
41
+ | C08 | | | | |
42
+ | C09 | | | | |
43
+ | C10 | | | | |
44
+ | D01 | | | | |
45
+ | D02 | | | | |
46
+ | D03 | | | | |
47
+ | D04 | | | | |
48
+ | D05 | | | | |
49
+ | D06 | | | | |
50
+ | D07 | | | | |
51
+ | D08 | | | | |
52
+ | D09 | | | | |
53
+ | D10 | | | | |
54
+ | E01 | | | | |
55
+ | E02 | | | | |
56
+ | E03 | | | | |
57
+ | E04 | | | | |
58
+ | E05 | | | | |
59
+ | E06 | | | | |
60
+ | E07 | | | | |
61
+ | E08 | | | | |
62
+ | E09 | | | | |
63
+ | E10 | | | | |
64
+ | F01 | | | | |
65
+ | F02 | | | | |
66
+ | F03 | | | | |
67
+ | F04 | | | | |
68
+ | F05 | | | | |
File without changes
File without changes
@@ -0,0 +1,31 @@
1
+ # MindForge — Project State
2
+
3
+ ## Status
4
+ 🔴 Not started
5
+
6
+ ## IMPORTANT
7
+ HANDOFF.json is committed to git. Never write secrets or credentials into it.
8
+ Write "see .env" or "stored in secrets manager" if a note needs to reference credentials.
9
+
10
+
11
+ ## Current phase
12
+ None
13
+
14
+ ## Last completed task
15
+ None — project not yet initialised.
16
+
17
+ ## Next action
18
+ Run `/mindforge:init-project` to initialise this project.
19
+
20
+ ## Decisions made
21
+ None yet.
22
+
23
+ ## Active blockers
24
+ None.
25
+
26
+ ## Context for next session
27
+ Fresh MindForge install. No project has been initialised yet.
28
+ Start by running `/mindforge:init-project`.
29
+
30
+ ## Last updated
31
+ [ISO 8601 timestamp on first use]
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
File without changes
@@ -0,0 +1,41 @@
1
+ # ADR-001: Track HANDOFF.json in git
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+ **Deciders:** MindForge core team
6
+
7
+ ## Context
8
+ HANDOFF.json stores the current session state for agent continuity.
9
+ It needs to be readable by the next agent session. The question is whether
10
+ it should be committed to git (team-visible) or gitignored (local-only).
11
+
12
+ ## Decision
13
+ Track HANDOFF.json in git.
14
+
15
+ ## Options considered
16
+
17
+ ### Option A — Track in git (chosen)
18
+ Pros:
19
+ - Any team member or new machine can pick up where the last session left off
20
+ - Git history shows the evolution of session state
21
+ - No risk of losing state on machine failure
22
+
23
+ Cons:
24
+ - File changes create noise in git history
25
+ - Risk of accidentally committing sensitive session data
26
+
27
+ Mitigations:
28
+ - Added `_warning` field to prevent accidental secret storage
29
+ - SUMMARY.md captures human-readable history; HANDOFF.json is machine state only
30
+
31
+ ### Option B — Gitignore
32
+ Pros: No git noise, no secret exposure risk
33
+ Cons: State lost on machine switch or re-clone; breaks team continuity
34
+
35
+ ## Rationale
36
+ Team continuity outweighs the git noise concern. The warning field and
37
+ documentation mitigate the secret exposure risk sufficiently.
38
+
39
+ ## Consequences
40
+ Team must be educated to never write secrets into HANDOFF.json.
41
+ CI should include a secret-scanning step that checks HANDOFF.json.
@@ -0,0 +1,46 @@
1
+ # ADR-002: Use Markdown files for slash commands (not TypeScript)
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+ **Deciders:** MindForge core team
6
+
7
+ ## Context
8
+ MindForge slash commands could be implemented as:
9
+ A) Markdown instruction files (what we chose)
10
+ B) TypeScript/JavaScript executable scripts
11
+ C) A mix of both
12
+
13
+ ## Decision
14
+ Markdown instruction files for all commands.
15
+
16
+ ## Options considered
17
+
18
+ ### Option A — Markdown instruction files (chosen)
19
+ Pros:
20
+ - Readable and editable without a build step
21
+ - Can be updated directly by modifying text — no recompile
22
+ - Agents can read and follow them natively
23
+ - Community can contribute without TypeScript knowledge
24
+ - Work identically across all runtimes (Claude Code, Antigravity, OpenCode)
25
+
26
+ Cons:
27
+ - No type safety for command logic
28
+ - Cannot run unit tests on individual steps
29
+ - Edge case handling is described in prose, not enforced in code
30
+
31
+ ### Option B — TypeScript scripts
32
+ Pros: Type safety, unit testable, programmatic edge case handling
33
+ Cons: Build step required, runtime-specific, harder to contribute to,
34
+ loses the "human-readable instructions" quality that makes them good agent prompts
35
+
36
+ ### Option C — Mix
37
+ Assessed as worst of both: complexity of both without full benefit of either.
38
+
39
+ ## Rationale
40
+ MindForge commands are agent prompts, not programs. Their primary consumer is
41
+ an AI agent reading natural language. Markdown is the best format for that use case.
42
+ Logic enforcement happens through agent quality gates, not code compilation.
43
+
44
+ ## Consequences
45
+ Command edge cases must be described carefully in prose.
46
+ A future "command validator" tool could parse and verify command files statically.
@@ -0,0 +1,37 @@
1
+ # ADR-003: Keyword-trigger model for skill discovery
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+ **Deciders:** MindForge core team
6
+
7
+ ## Context
8
+ Skills need to be loaded by the agent at the right time. The question is
9
+ how the agent knows which skills are relevant for a given task.
10
+
11
+ ## Decision
12
+ Keyword matching against a `triggers:` list in skill frontmatter.
13
+
14
+ ## Options considered
15
+
16
+ ### Option A — Keyword triggers in frontmatter (chosen)
17
+ Pros: Simple, transparent, editable by anyone, no dependency on AI judgment
18
+ Cons: Can miss contextual relevance; false positives on common words
19
+
20
+ ### Option B — AI decides which skills to load
21
+ Pros: Contextually accurate matching
22
+ Cons: Non-deterministic; different sessions might load different skills
23
+ for the same task; hard to debug; requires extra model call
24
+
25
+ ### Option C — Explicit user invocation only
26
+ Pros: Precise control
27
+ Cons: Loses the "just-in-time" benefit; users forget to invoke skills
28
+
29
+ ## Rationale
30
+ Determinism is more valuable than perfect accuracy for a framework.
31
+ Teams need to be able to predict what skills will activate. Keyword triggers
32
+ provide that predictability. False positives are acceptable — loading a skill
33
+ unnecessarily has low cost; missing a needed skill has high cost.
34
+
35
+ ## Consequences
36
+ Trigger keyword lists must be maintained as skills evolve.
37
+ A skill with too-narrow triggers will be missed. Err on the side of more triggers.
@@ -0,0 +1,45 @@
1
+ # ADR-004: Wave-based parallel execution over full parallelism
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+ **Deciders:** MindForge core team
6
+
7
+ ## Context
8
+ When executing multiple tasks in a phase, we can choose:
9
+ A) Run all tasks simultaneously (maximum parallelism)
10
+ B) Run tasks in dependency-ordered waves (wave parallelism — chosen)
11
+ C) Run tasks sequentially (no parallelism)
12
+
13
+ ## Decision
14
+ Wave-based parallel execution. Tasks within a wave run in parallel.
15
+ Waves execute sequentially.
16
+
17
+ ## Options considered
18
+
19
+ ### Option A — Full parallelism
20
+ Pros: Maximum speed
21
+ Cons: Cannot handle dependencies safely. If Plan 03 depends on Plan 01's output
22
+ and both run simultaneously, Plan 03 reads stale data. Produces corrupt output.
23
+
24
+ ### Option B — Wave parallelism (chosen)
25
+ Pros: Safely parallel within dependency constraints. Significantly faster than
26
+ sequential. Dependency correctness is guaranteed by wave ordering.
27
+ Cons: Some tasks that could theoretically run in parallel must wait for their
28
+ dependency wave to complete.
29
+
30
+ ### Option C — Sequential
31
+ Pros: Simplest to implement and reason about.
32
+ Cons: Discards the primary quality advantage of parallel subagents — isolated
33
+ 200K token contexts per task. In sequential mode, the orchestrator's context
34
+ fills up across tasks, degrading output quality over time.
35
+
36
+ ## Rationale
37
+ Wave parallelism gives the correctness of sequential execution (dependency order
38
+ respected) with the quality benefits of parallel isolation (each task gets a
39
+ fresh 200K context). This is the optimal tradeoff.
40
+
41
+ ## Consequences
42
+ - Plan authors must declare dependencies accurately — incorrect dependencies
43
+ can cause parallel tasks to conflict.
44
+ - The dependency parser must catch cycles and conflicts before execution starts.
45
+ - A small planning overhead (building the wave graph) is incurred per phase.
@@ -0,0 +1,51 @@
1
+ # ADR-005: Append-only JSONL audit log over structured database
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+ **Deciders:** MindForge core team
6
+
7
+ ## Context
8
+ MindForge needs an audit trail of agent actions. The storage format choices are:
9
+ A) Append-only JSONL file (chosen)
10
+ B) SQLite database
11
+ C) In-memory log (written to JSON on session end)
12
+
13
+ ## Decision
14
+ Append-only JSONL file: `.planning/AUDIT.jsonl`
15
+
16
+ ## Options considered
17
+
18
+ ### Option A — Append-only JSONL (chosen)
19
+ Pros:
20
+ - Zero dependencies (no SQLite driver needed)
21
+ - Readable with standard Unix tools (grep, jq, tail)
22
+ - Git-trackable — history of history
23
+ - Tamper-evident via git (any deletion or modification is visible in `git diff`)
24
+ - Works identically across all platforms and environments
25
+
26
+ Cons:
27
+ - No query language — filtering requires grep/jq
28
+ - File grows unboundedly (mitigated by archiving strategy)
29
+ - No transactions — a crash mid-write could produce a partial line
30
+
31
+ ### Option B — SQLite
32
+ Pros: Full SQL query capability, transactional writes
33
+ Cons: Binary file — not readable without tooling, not meaningfully git-diffable,
34
+ adds a native dependency, harder to inspect in CI/CD environments
35
+
36
+ ### Option C — In-memory log
37
+ Pros: No I/O overhead during session
38
+ Cons: Lost entirely if session crashes mid-execution — exactly when the audit log
39
+ is most needed.
40
+
41
+ ## Rationale
42
+ For a framework targeting solo developers and small teams, readability and
43
+ zero-dependency simplicity outweigh query sophistication. The primary audit use
44
+ case is "what happened in this phase?" which grep handles well.
45
+
46
+ ## Consequences
47
+ - A partial-line recovery tool should be built in a future hardening pass.
48
+ (Run `python3 -c "import sys,json;[print(l.strip()) for l in sys.stdin if json.loads(l)]"`
49
+ to filter clean lines from a corrupted AUDIT.jsonl)
50
+ - An archiving strategy (rotate after 10,000 lines) will be added in Day 4.
51
+ - The `status` command reads AUDIT.jsonl from the tail for performance.
@@ -0,0 +1,22 @@
1
+ # ADR-006: Three-tier skills architecture (Core → Org → Project)
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+
6
+ ## Context
7
+ Skills need to be distributed at three scopes: universal best practices,
8
+ organisation-specific standards, and project-specific patterns.
9
+
10
+ ## Decision
11
+ Three-tier architecture with explicit priority: Project (T3) > Org (T2) > Core (T1).
12
+
13
+ ## Rationale
14
+ The tier system solves the key tension: MindForge provides sensible defaults
15
+ (Core), organisations customise for their standards (Org), and projects fine-tune
16
+ for their specific context (Project). Higher tiers override lower tiers by same name,
17
+ enabling intentional, documented overrides without modifying shared core skills.
18
+
19
+ ## Consequences
20
+ - Skill authors must understand which tier is appropriate for their skill
21
+ - Conflict resolution rules must be well-documented (see conflict-resolver.md)
22
+ - Org-tier skills should be maintained in a shared repo, not per-project
@@ -0,0 +1,22 @@
1
+ # ADR-007: Keyword-trigger model over AI-decided skill selection
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+
6
+ ## Context
7
+ How should the agent decide which skills to load for a given task?
8
+ Options: keyword triggers in frontmatter vs. AI-decided relevance.
9
+
10
+ ## Decision
11
+ Keyword triggers in frontmatter (same model as Day 1 ADR-003, confirmed at Day 3 scale).
12
+
13
+ ## Additional rationale at Day 3 scale
14
+ With 10+ skills, AI-decided selection has a higher risk of selecting wrong skills
15
+ due to hallucinated relevance. Keyword triggers are deterministic — identical tasks
16
+ always load identical skills, enabling reproducible results across sessions.
17
+ The added specificity of file-name matching (not just text matching) improves
18
+ trigger accuracy without sacrificing determinism.
19
+
20
+ ## Consequences
21
+ Trigger keyword lists require ongoing maintenance as skill content evolves.
22
+ The conflict resolver handles cases where multiple skills match.
@@ -0,0 +1,29 @@
1
+ # ADR-008: Just-in-time skill loading over session-start loading
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+
6
+ ## Context
7
+ When should skills be loaded — at session start (front-loaded) or at task time (JIT)?
8
+
9
+ ## Decision
10
+ Just-in-time loading: skills are loaded immediately before the task that needs them.
11
+ Skills are not loaded at session start.
12
+
13
+ ## Rationale
14
+ Front-loading all skills at session start would:
15
+ - Consume 30K+ tokens for 10 skills before any work begins
16
+ - Load skills irrelevant to the current task (e.g., loading incident-response
17
+ skills for a UI component task)
18
+ - Pollute the agent's context with contradictory guidance from multiple domains
19
+
20
+ JIT loading means:
21
+ - Each task starts with only the relevant skills in context
22
+ - Context budget is spent on relevant expertise, not irrelevant policies
23
+ - Skills load at the moment they are most useful to the agent
24
+
25
+ ## Consequences
26
+ - Skills must be re-loaded for each task (no session-level caching)
27
+ - The trigger index is built once at session start (inexpensive: reads frontmatter only)
28
+ - Skills that need to be available across multiple tasks should use the
29
+ minimal context injection (trigger + mandatory actions only) to save budget
@@ -0,0 +1,8 @@
1
+ # ADR-009: Standardized retry/backoff policy for enterprise integrations
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+
6
+ ## Decision
7
+ Use bounded exponential backoff with jitter for integration APIs and stop retrying
8
+ on explicit authorization failures.
@@ -0,0 +1,8 @@
1
+ # ADR-010: Governance tier escalation by path, content, and history
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+
6
+ ## Decision
7
+ Classify changes using path signals, code-content risk signals, and recent audit
8
+ history so risk is not underestimated by filename-only matching.
@@ -0,0 +1,8 @@
1
+ # ADR-011: Multi-developer handoff must remain append-only and conflict-aware
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+
6
+ ## Decision
7
+ Use append-only handoff records with staleness checks and explicit ownership of
8
+ files/plans to reduce merge-time coordination failures.
@@ -0,0 +1,19 @@
1
+ # ADR-012: Intelligence outputs must feed back into behavior
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+
6
+ ## Context
7
+ Day 5 introduces difficulty scoring, retrospectives, compaction quality, and
8
+ session metrics. Without explicit feedback connectors these become passive
9
+ reports.
10
+
11
+ ## Decision
12
+ Use explicit loops:
13
+ - difficulty -> planning granularity
14
+ - retrospective -> MINDFORGE updates
15
+ - quality metrics -> session behavior adjustments
16
+ - compaction -> richer handoff continuity
17
+
18
+ ## Consequences
19
+ Every intelligence artifact must define its downstream behavioral effect.
@@ -0,0 +1,16 @@
1
+ # ADR-013: MINDFORGE.md is configurable but cannot disable governance primitives
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+
6
+ ## Context
7
+ Project-level customization is required, but unrestricted overrides would allow
8
+ accidental or malicious disabling of core safety guarantees.
9
+
10
+ ## Decision
11
+ Allow MINDFORGE overrides only for configurable preferences and thresholds.
12
+ Keep secret detection, security auto-trigger, plan-first, and audit-writing
13
+ as non-overridable primitives.
14
+
15
+ ## Consequences
16
+ Customization remains flexible while governance stays enforceable.
@@ -0,0 +1,15 @@
1
+ # ADR-014: Metrics are process signals, not developer performance metrics
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-20
5
+
6
+ ## Context
7
+ Session and phase quality metrics can be misused as individual performance
8
+ scores, which undermines reliability and psychological safety.
9
+
10
+ ## Decision
11
+ Use metrics solely for system/process improvement and personalization.
12
+ Do not use them for individual performance evaluation.
13
+
14
+ ## Consequences
15
+ Documentation and profile policy must explicitly prohibit evaluative use.
@@ -0,0 +1,26 @@
1
+ # ADR-015: npm as the MindForge Skills Registry
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-21
5
+
6
+ ## Context
7
+ MindForge needs a way to distribute community and organisation skills.
8
+ Options: custom registry server, GitHub releases, npm registry.
9
+
10
+ ## Decision
11
+ Use the standard npm registry with `mindforge-skill-` package naming convention.
12
+
13
+ ## Rationale
14
+ npm is the world's largest package registry with existing infrastructure for:
15
+ versioning, authentication, access control, search, and deprecation.
16
+ Building a custom registry duplicates all of this at significant cost.
17
+ The npm ecosystem's supply chain security tooling (npm audit, Dependabot,
18
+ Snyk) works natively. Private registries (Verdaccio, Artifactory, GitHub Packages)
19
+ are npm-compatible — organisations with private skills don't need separate tooling.
20
+
21
+ ## Consequences
22
+ - Skill names follow npm conventions (lowercase, hyphens)
23
+ - Version management follows npm semver conventions
24
+ - Private skills require a compatible private npm registry
25
+ - The injection guard and validation pipeline are the primary
26
+ supply chain security controls (npm audit is insufficient alone for SKILL.md content)
@@ -0,0 +1,27 @@
1
+ # ADR-016: CI timeout exits with code 0 (soft stop)
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-21
5
+
6
+ ## Context
7
+ MindForge CI may run out of time before completing all phases.
8
+ The question is: should timeout exit with code 0 (success) or non-zero (failure)?
9
+
10
+ ## Decision
11
+ Timeout exits with code 0. State is saved. Next CI run resumes.
12
+
13
+ ## Rationale
14
+ A MindForge CI timeout is not a code failure — it is a resource limit.
15
+ Failing the build on timeout would:
16
+ 1. Block the PR with a failure that has no fix (the code is fine — time ran out)
17
+ 2. Force teams to either increase CI limits or split phases artificially
18
+ 3. Make MindForge feel unreliable ("it randomly fails when there's a lot to do")
19
+
20
+ The correct behaviour: save progress, exit cleanly, let the next run continue.
21
+ The CI pipeline is designed for continuation, not completion in a single run.
22
+
23
+ ## Consequences
24
+ - CI pipelines may run multiple times for a single phase
25
+ - HANDOFF.json must be committed during CI runs (CI has write access)
26
+ - Teams must monitor CI for timeout patterns (frequent timeouts → split phases)
27
+ - GitHub Actions step summary provides visibility into timeout state
@@ -0,0 +1,28 @@
1
+ # ADR-017: MindForge SDK event stream is localhost-only
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-03-21
5
+
6
+ ## Context
7
+ The MindForge SDK includes an SSE event stream for real-time progress.
8
+ The question is whether it should bind to all interfaces or localhost only.
9
+
10
+ ## Decision
11
+ The event stream binds to 127.0.0.1 (localhost) only.
12
+
13
+ ## Rationale
14
+ The event stream exposes:
15
+ - AUDIT.jsonl entries (which contain sensitive project state)
16
+ - Task completion events (which reveal code structure and timing)
17
+ - Security finding events (which reveal vulnerability information)
18
+
19
+ Exposing this to all network interfaces in a shared development environment
20
+ (VMs, shared cloud desktops, containers) would allow other users to monitor
21
+ another developer's project state in real-time.
22
+ Localhost binding provides adequate protection for the primary use case
23
+ (local developer tooling) without requiring authentication infrastructure.
24
+
25
+ ## Consequences
26
+ - Remote integrations cannot use the event stream directly
27
+ - For remote monitoring: use the audit log query API via SSH tunnel
28
+ - Container environments: map the port explicitly if remote access is needed
@@ -0,0 +1,15 @@
1
+ # ADR-018: Installer detects and handles self-install scenario
2
+
3
+ **Status:** Accepted | **Date:** v1.0.0 | **Day:** 7
4
+
5
+ ## Context
6
+ Running `npx mindforge-cc --claude --local` inside the MindForge repo itself
7
+ would copy `.mindforge/` to `.mindforge/` (source = destination).
8
+
9
+ ## Decision
10
+ Detect self-install by checking `package.json.name === 'mindforge-cc'`.
11
+ If self-install: skip framework file copies. Only install commands.
12
+
13
+ ## Rationale
14
+ Core team runs the installer locally for testing frequently.
15
+ Silent no-op with a clear warning is better than a cryptic error or accidental self-overwrite.