mindforge-cc 2.2.0 → 2.3.5
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.
- package/.agent/CLAUDE.md +14 -0
- package/.agent/forge/help.md +4 -0
- package/.agent/forge/init-project.md +4 -0
- package/.agent/forge/plan-phase.md +4 -0
- package/.agent/mindforge/approve.md +4 -0
- package/.agent/mindforge/audit.md +4 -0
- package/.agent/mindforge/auto.md +4 -0
- package/.agent/mindforge/benchmark.md +4 -0
- package/.agent/mindforge/browse.md +4 -0
- package/.agent/mindforge/complete-milestone.md +4 -0
- package/.agent/mindforge/costs.md +4 -0
- package/.agent/mindforge/cross-review.md +4 -0
- package/.agent/mindforge/dashboard.md +4 -0
- package/.agent/mindforge/debug.md +4 -0
- package/.agent/mindforge/discuss-phase.md +4 -0
- package/.agent/mindforge/execute-phase.md +4 -0
- package/.agent/mindforge/health.md +4 -0
- package/.agent/mindforge/help.md +4 -0
- package/.agent/mindforge/init-org.md +4 -0
- package/.agent/mindforge/init-project.md +4 -0
- package/.agent/mindforge/install-skill.md +4 -0
- package/.agent/mindforge/learn.md +4 -0
- package/.agent/mindforge/map-codebase.md +4 -0
- package/.agent/mindforge/marketplace.md +4 -0
- package/.agent/mindforge/metrics.md +4 -0
- package/.agent/mindforge/migrate.md +4 -0
- package/.agent/mindforge/milestone.md +4 -0
- package/.agent/mindforge/new-runtime.md +4 -0
- package/.agent/mindforge/next.md +4 -0
- package/.agent/mindforge/plan-phase.md +4 -0
- package/.agent/mindforge/plugins.md +4 -0
- package/.agent/mindforge/pr-review.md +4 -0
- package/.agent/mindforge/profile-team.md +4 -0
- package/.agent/mindforge/publish-skill.md +4 -0
- package/.agent/mindforge/qa.md +4 -0
- package/.agent/mindforge/quick.md +4 -0
- package/.agent/mindforge/release.md +4 -0
- package/.agent/mindforge/remember.md +4 -0
- package/.agent/mindforge/research.md +4 -0
- package/.agent/mindforge/retrospective.md +4 -0
- package/.agent/mindforge/review.md +4 -0
- package/.agent/mindforge/security-scan.md +4 -0
- package/.agent/mindforge/ship.md +4 -0
- package/.agent/mindforge/skills.md +4 -0
- package/.agent/mindforge/status.md +4 -0
- package/.agent/mindforge/steer.md +4 -0
- package/.agent/mindforge/sync-confluence.md +4 -0
- package/.agent/mindforge/sync-jira.md +4 -0
- package/.agent/mindforge/tokens.md +4 -0
- package/.agent/mindforge/update.md +4 -0
- package/.agent/mindforge/verify-phase.md +4 -0
- package/.agent/mindforge/workspace.md +4 -0
- package/.agent/workflows/forge:help.md +10 -0
- package/.agent/workflows/forge:init-project.md +35 -0
- package/.agent/workflows/forge:plan-phase.md +33 -0
- package/.agent/workflows/mindforge:add-backlog.md +24 -0
- package/.agent/workflows/mindforge:agent.md +25 -0
- package/.agent/workflows/mindforge:approve.md +21 -0
- package/.agent/workflows/mindforge:audit.md +33 -0
- package/.agent/workflows/mindforge:auto.md +25 -0
- package/.agent/workflows/mindforge:benchmark.md +36 -0
- package/.agent/workflows/mindforge:browse.md +29 -0
- package/.agent/workflows/mindforge:complete-milestone.md +21 -0
- package/.agent/workflows/mindforge:costs.md +14 -0
- package/.agent/workflows/mindforge:cross-review.md +20 -0
- package/.agent/workflows/mindforge:dashboard.md +101 -0
- package/.agent/workflows/mindforge:debug.md +129 -0
- package/.agent/workflows/mindforge:discuss-phase.md +141 -0
- package/.agent/workflows/mindforge:do.md +25 -0
- package/.agent/workflows/mindforge:execute-phase.md +193 -0
- package/.agent/workflows/mindforge:health.md +24 -0
- package/.agent/workflows/mindforge:help.md +26 -0
- package/.agent/workflows/mindforge:init-org.md +134 -0
- package/.agent/workflows/mindforge:init-project.md +169 -0
- package/.agent/workflows/mindforge:install-skill.md +27 -0
- package/.agent/workflows/mindforge:learn.md +146 -0
- package/.agent/workflows/mindforge:map-codebase.md +301 -0
- package/.agent/workflows/mindforge:marketplace.md +123 -0
- package/.agent/workflows/mindforge:metrics.md +25 -0
- package/.agent/workflows/mindforge:migrate.md +43 -0
- package/.agent/workflows/mindforge:milestone.md +15 -0
- package/.agent/workflows/mindforge:new-runtime.md +22 -0
- package/.agent/workflows/mindforge:next.md +108 -0
- package/.agent/workflows/mindforge:note.md +27 -0
- package/.agent/workflows/mindforge:plan-phase.md +128 -0
- package/.agent/workflows/mindforge:plant-seed.md +24 -0
- package/.agent/workflows/mindforge:plugins.md +43 -0
- package/.agent/workflows/mindforge:pr-review.md +44 -0
- package/.agent/workflows/mindforge:profile-team.md +26 -0
- package/.agent/workflows/mindforge:publish-skill.md +22 -0
- package/.agent/workflows/mindforge:qa.md +19 -0
- package/.agent/workflows/mindforge:quick.md +138 -0
- package/.agent/workflows/mindforge:release.md +13 -0
- package/.agent/workflows/mindforge:remember.md +29 -0
- package/.agent/workflows/mindforge:research.md +15 -0
- package/.agent/workflows/mindforge:retrospective.md +29 -0
- package/.agent/workflows/mindforge:review-backlog.md +26 -0
- package/.agent/workflows/mindforge:review.md +160 -0
- package/.agent/workflows/mindforge:security-scan.md +236 -0
- package/.agent/workflows/mindforge:session-report.md +31 -0
- package/.agent/workflows/mindforge:ship.md +103 -0
- package/.agent/workflows/mindforge:skills.md +144 -0
- package/.agent/workflows/mindforge:status.md +107 -0
- package/.agent/workflows/mindforge:steer.md +16 -0
- package/.agent/workflows/mindforge:sync-confluence.md +14 -0
- package/.agent/workflows/mindforge:sync-jira.md +15 -0
- package/.agent/workflows/mindforge:tokens.md +11 -0
- package/.agent/workflows/mindforge:ui-phase.md +27 -0
- package/.agent/workflows/mindforge:ui-review.md +28 -0
- package/.agent/workflows/mindforge:update.md +45 -0
- package/.agent/workflows/mindforge:validate-phase.md +25 -0
- package/.agent/workflows/mindforge:verify-phase.md +65 -0
- package/.agent/workflows/mindforge:workspace.md +32 -0
- package/.agent/workflows/mindforge:workstreams.md +27 -0
- package/.claude/CLAUDE.md +14 -0
- package/.mindforge/memory/knowledge-base.jsonl +11 -0
- package/.mindforge/memory/pattern-library.jsonl +2 -0
- package/.mindforge/memory/team-preferences.jsonl +5 -0
- package/.planning/AUDIT.jsonl +1 -1
- package/.planning/HANDOFF.json +6 -26
- package/.planning/ROADMAP.md +3 -1
- package/.planning/jira-sync.json +3 -7
- package/.planning/phases/.gitkeep +0 -0
- package/.planning/research/.gitkeep +0 -0
- package/.planning/screenshots/.gitkeep +0 -0
- package/.planning/slack-threads.json +1 -4
- package/CHANGELOG.md +69 -9
- package/README.md +1 -1
- package/RELEASENOTES.md +1 -1
- package/bin/installer-core.js +204 -63
- package/bin/wizard/theme.js +4 -2
- package/package.json +1 -1
- package/.planning/approvals/v2-architecture-approval.json +0 -15
- package/.planning/decisions/ADR-001-handoff-tracking.md +0 -41
- package/.planning/decisions/ADR-002-markdown-commands.md +0 -46
- package/.planning/decisions/ADR-003-skills-trigger-model.md +0 -37
- package/.planning/decisions/ADR-004-wave-parallelism-model.md +0 -45
- package/.planning/decisions/ADR-005-append-only-audit-log.md +0 -51
- package/.planning/decisions/ADR-006-tiered-skills-system.md +0 -22
- package/.planning/decisions/ADR-007-trigger-keyword-model.md +0 -22
- package/.planning/decisions/ADR-008-just-in-time-skill-loading.md +0 -29
- package/.planning/decisions/ADR-009-enterprise-integration-retry-policy.md +0 -8
- package/.planning/decisions/ADR-010-governance-tier-escalation.md +0 -8
- package/.planning/decisions/ADR-011-multi-developer-handoff-contract.md +0 -8
- package/.planning/decisions/ADR-012-intelligence-feedback-loops.md +0 -19
- package/.planning/decisions/ADR-013-mindforge-md-constitution.md +0 -16
- package/.planning/decisions/ADR-014-metrics-as-signals-not-evaluation.md +0 -15
- package/.planning/decisions/ADR-015-npm-based-skill-registry.md +0 -26
- package/.planning/decisions/ADR-016-ci-exit-code-0-on-timeout.md +0 -27
- package/.planning/decisions/ADR-017-sdk-localhost-only.md +0 -28
- package/.planning/decisions/ADR-018-installer-self-install-detection.md +0 -15
- package/.planning/decisions/ADR-019-self-update-scope-preservation.md +0 -14
- package/.planning/decisions/ADR-020-v1.0.0-stable-interface-contract.md +0 -23
- package/.planning/decisions/ADR-021-autonomy-boundary.md +0 -17
- package/.planning/decisions/ADR-022-node-repair-hierarchy.md +0 -19
- package/.planning/decisions/ADR-023-gate-3-timing.md +0 -15
- package/.planning/decisions/ADR-036-learn-command-docs-as-skill-source.md +0 -26
- package/.planning/decisions/ADR-037-auto-capture-frequency-threshold.md +0 -26
- package/.planning/decisions/ADR-038-skill-quality-minimum-60.md +0 -27
- package/.planning/phases/day1/REVIEW-DAY1.md +0 -50
- package/.planning/phases/day1/SECURITY-REVIEW-DAY1.md +0 -15
- package/.planning/phases/day2/REVIEW-DAY2.md +0 -521
- package/.planning/phases/day3/REVIEW-DAY3.md +0 -234
- /package/{.planning/phases/01-migrate-gsd-to-mindforge/.gitkeep → .mindforge/memory/decision-library.jsonl} +0 -0
- /package/docs/{Context → context}/Master-Context.md +0 -0
- /package/docs/{References → references}/audit-events.md +0 -0
- /package/docs/{References → references}/checkpoints.md +0 -0
- /package/docs/{References → references}/commands.md +0 -0
- /package/docs/{References → references}/config-reference.md +0 -0
- /package/docs/{References → references}/continuation-format.md +0 -0
- /package/docs/{References → references}/decimal-phase-calculation.md +0 -0
- /package/docs/{References → references}/git-integration.md +0 -0
- /package/docs/{References → references}/git-planning-commit.md +0 -0
- /package/docs/{References → references}/model-profile-resolution.md +0 -0
- /package/docs/{References → references}/model-profiles.md +0 -0
- /package/docs/{References → references}/phase-argument-parsing.md +0 -0
- /package/docs/{References → references}/planning-config.md +0 -0
- /package/docs/{References → references}/questioning.md +0 -0
- /package/docs/{References → references}/sdk-api.md +0 -0
- /package/docs/{References → references}/skills-api.md +0 -0
- /package/docs/{References → references}/tdd.md +0 -0
- /package/docs/{References → references}/ui-brand.md +0 -0
- /package/docs/{References → references}/user-profiling.md +0 -0
- /package/docs/{References → references}/verification-patterns.md +0 -0
- /package/docs/{References → references}/workstream-flag.md +0 -0
- /package/docs/{Templates → templates}/Agents/CLAUDE-MD.md +0 -0
- /package/docs/{Templates → templates}/Agents/COPILOT-INSTRUCTIONS.md +0 -0
- /package/docs/{Templates → templates}/Agents/DEBUGGER-PROMPT.md +0 -0
- /package/docs/{Templates → templates}/Agents/PLANNER-PROMPT.md +0 -0
- /package/docs/{Templates → templates}/Execution/CONTINUE-HERE.md +0 -0
- /package/docs/{Templates → templates}/Execution/DISCUSSION-LOG.md +0 -0
- /package/docs/{Templates → templates}/Execution/PHASE-PROMPT.md +0 -0
- /package/docs/{Templates → templates}/Execution/STATE.md +0 -0
- /package/docs/{Templates → templates}/Execution/SUMMARY-COMPLEX.md +0 -0
- /package/docs/{Templates → templates}/Execution/SUMMARY-MINIMAL.md +0 -0
- /package/docs/{Templates → templates}/Execution/SUMMARY-STANDARD.md +0 -0
- /package/docs/{Templates → templates}/Execution/SUMMARY.md +0 -0
- /package/docs/{Templates → templates}/Profile/DEV-PREFERENCES.md +0 -0
- /package/docs/{Templates → templates}/Profile/USER-PROFILE.md +0 -0
- /package/docs/{Templates → templates}/Profile/USER-SETUP.md +0 -0
- /package/docs/{Templates → templates}/Project/DISCOVERY.md +0 -0
- /package/docs/{Templates → templates}/Project/MILESTONE-ARCHIVE.md +0 -0
- /package/docs/{Templates → templates}/Project/MILESTONE.md +0 -0
- /package/docs/{Templates → templates}/Project/PROJECT.md +0 -0
- /package/docs/{Templates → templates}/Project/REQUIREMENTS.md +0 -0
- /package/docs/{Templates → templates}/Project/RETROSPECTIVE.md +0 -0
- /package/docs/{Templates → templates}/Project/ROADMAP.md +0 -0
- /package/docs/{Templates → templates}/Quality/DEBUG.md +0 -0
- /package/docs/{Templates → templates}/Quality/UAT.md +0 -0
- /package/docs/{Templates → templates}/Quality/UI-SPEC.md +0 -0
- /package/docs/{Templates → templates}/Quality/VALIDATION.md +0 -0
- /package/docs/{Templates → templates}/Quality/VERIFICATION-REPORT.md +0 -0
- /package/docs/{Templates → templates}/System/CONFIG.json +0 -0
- /package/docs/{Templates → templates}/System/CONTEXT.md +0 -0
- /package/docs/{Templates/Codebase → templates/codebase}/architecture.md +0 -0
- /package/docs/{Templates/Codebase → templates/codebase}/concerns.md +0 -0
- /package/docs/{Templates/Codebase → templates/codebase}/conventions.md +0 -0
- /package/docs/{Templates/Codebase → templates/codebase}/integrations.md +0 -0
- /package/docs/{Templates/Codebase → templates/codebase}/stack.md +0 -0
- /package/docs/{Templates/Codebase → templates/codebase}/structure.md +0 -0
- /package/docs/{Templates/Codebase → templates/codebase}/testing.md +0 -0
- /package/docs/{Templates/Research → templates/research}/ARCHITECTURE.md +0 -0
- /package/docs/{Templates/Research → templates/research}/FEATURES.md +0 -0
- /package/docs/{Templates/Research → templates/research}/PITFALLS.md +0 -0
- /package/docs/{Templates/Research → templates/research}/STACK.md +0 -0
- /package/docs/{Templates/Research → templates/research}/SUMMARY.md +0 -0
|
@@ -1,41 +0,0 @@
|
|
|
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.
|
|
@@ -1,46 +0,0 @@
|
|
|
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.
|
|
@@ -1,37 +0,0 @@
|
|
|
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.
|
|
@@ -1,45 +0,0 @@
|
|
|
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.
|
|
@@ -1,51 +0,0 @@
|
|
|
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.
|
|
@@ -1,22 +0,0 @@
|
|
|
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
|
|
@@ -1,22 +0,0 @@
|
|
|
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.
|
|
@@ -1,29 +0,0 @@
|
|
|
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
|
|
@@ -1,8 +0,0 @@
|
|
|
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.
|
|
@@ -1,8 +0,0 @@
|
|
|
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.
|
|
@@ -1,19 +0,0 @@
|
|
|
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.
|
|
@@ -1,16 +0,0 @@
|
|
|
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.
|
|
@@ -1,15 +0,0 @@
|
|
|
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.
|
|
@@ -1,26 +0,0 @@
|
|
|
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)
|
|
@@ -1,27 +0,0 @@
|
|
|
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
|
|
@@ -1,28 +0,0 @@
|
|
|
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
|
|
@@ -1,15 +0,0 @@
|
|
|
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.
|
|
@@ -1,14 +0,0 @@
|
|
|
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.
|
|
@@ -1,23 +0,0 @@
|
|
|
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.
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# ADR-021: Autonomy Boundary
|
|
2
|
-
|
|
3
|
-
## Status: Proposed
|
|
4
|
-
## Deciders: MindForge Architecture Team
|
|
5
|
-
## Date: 2026-03-22
|
|
6
|
-
|
|
7
|
-
## Context
|
|
8
|
-
MindForge v2 introduces an Autonomous Execution Engine. We need to define where the human's role ends and the agent's role begins to prevent loss of control while maximizing efficiency.
|
|
9
|
-
|
|
10
|
-
## Decision
|
|
11
|
-
We define the **Autonomy Boundary** as:
|
|
12
|
-
1. **Human = Mission Control**: Humans define the phase objectives, approve the initial plan, and provide mid-execution steering.
|
|
13
|
-
2. **Agent = Execution Engine**: The agent handles the mechanics of wave execution, parallel task dispatch, automated verification, and self-repair for low-risk failures.
|
|
14
|
-
|
|
15
|
-
## Consequences
|
|
16
|
-
- The agent will not ask for permission for individual tasks in a wave once the phase is started in `:auto` mode.
|
|
17
|
-
- Any decision involving security, payments, or PII (Tier 3) MUST escalate to the human, as it lies outside the autonomy boundary.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# ADR-022: Node Repair Hierarchy
|
|
2
|
-
|
|
3
|
-
## Status: Proposed
|
|
4
|
-
## Deciders: MindForge Architecture Team
|
|
5
|
-
## Date: 2026-03-22
|
|
6
|
-
|
|
7
|
-
## Context
|
|
8
|
-
Tasks in autonomous mode can fail due to various reasons (timeouts, lint errors, logic bugs). Sequential retrying is often insufficient.
|
|
9
|
-
|
|
10
|
-
## Decision
|
|
11
|
-
We implement a tiered **Node Repair Hierarchy**:
|
|
12
|
-
1. **RETRY**: Re-execute the same plan with a fresh context + error injection. (Budget: 1)
|
|
13
|
-
2. **DECOMPOSE**: Split a failing multi-domain or high-token task into smaller sub-tasks.
|
|
14
|
-
3. **PRUNE**: Skip non-critical path tasks and defer them to a `DEFERRED-ITEMS.md`.
|
|
15
|
-
4. **ESCALATE**: Stop execution, save state, and notify the human.
|
|
16
|
-
|
|
17
|
-
## Consequences
|
|
18
|
-
- Increases the survival rate of autonomous sessions without human intervention for trivial errors.
|
|
19
|
-
- Ensures complex failures are handled by human experts.
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# ADR-023: Gate 3 Timing
|
|
2
|
-
|
|
3
|
-
## Status: Proposed
|
|
4
|
-
## Deciders: MindForge Architecture Team
|
|
5
|
-
## Date: 2026-03-22
|
|
6
|
-
|
|
7
|
-
## Context
|
|
8
|
-
Gate 3 (Secret Detection) used to run post-wave. In autonomous mode, the agent makes multiple commits per wave. A secret committed to git history is an immediate security incident even if never pushed.
|
|
9
|
-
|
|
10
|
-
## Decision
|
|
11
|
-
Gate 3 must run **PRE-COMMIT** on the staged diff for every task in autonomous mode. If a secret pattern is detected, the commit is blocked, the changes are unstaged, and the engine ESCALATES immediately.
|
|
12
|
-
|
|
13
|
-
## Consequences
|
|
14
|
-
- Prevents accidental leakage of credentials into the local git history.
|
|
15
|
-
- Adds slight latency to the commit process, which is acceptable for the security gain.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# ADR-036: Documentation is the authoritative source for skill content
|
|
2
|
-
|
|
3
|
-
**Status:** Accepted | **Date:** v2.0.0 | **Day:** 13
|
|
4
|
-
|
|
5
|
-
## Context
|
|
6
|
-
Where should skill content come from — human-authored or AI-generated?
|
|
7
|
-
|
|
8
|
-
## Decision
|
|
9
|
-
Skill content is AI-generated from authoritative documentation (official docs,
|
|
10
|
-
internal runbooks, npm READMEs, or session analysis). The AI reads the docs
|
|
11
|
-
and writes down what it learned, following the SKILL.md authoring template.
|
|
12
|
-
|
|
13
|
-
## Rationale
|
|
14
|
-
Documentation is the authoritative, maintained, versioned source of truth for
|
|
15
|
-
any technology. Human-authored skills get stale and diverge from reality.
|
|
16
|
-
Documentation-sourced skills automatically reflect the current state of the
|
|
17
|
-
technology when regenerated.
|
|
18
|
-
|
|
19
|
-
The AI's role: transform documentation into the MindForge SKILL.md format
|
|
20
|
-
(structured rules, trigger keywords, code examples, checklist) — not to
|
|
21
|
-
invent patterns that don't exist in the documentation.
|
|
22
|
-
|
|
23
|
-
## Consequences
|
|
24
|
-
Skills should be regenerated when documentation is updated (major versions).
|
|
25
|
-
The quality of skills depends on the quality of source documentation.
|
|
26
|
-
Internal documentation produces the most project-specific, valuable skills.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# ADR-037: Pattern frequency ≥ 2 tasks as the auto-capture threshold
|
|
2
|
-
|
|
3
|
-
**Status:** Accepted | **Date:** v2.0.0 | **Day:** 13
|
|
4
|
-
|
|
5
|
-
## Context
|
|
6
|
-
What frequency of pattern appearance should trigger auto-capture?
|
|
7
|
-
|
|
8
|
-
## Decision
|
|
9
|
-
Auto-capture triggers when a pattern appears in ≥ 2 tasks (default).
|
|
10
|
-
Exception: a pattern in 1 task can also qualify if difficulty = "high" AND
|
|
11
|
-
generality ≠ "low" (important patterns worth capturing even on first occurrence).
|
|
12
|
-
|
|
13
|
-
Configurable via AUTO_CAPTURE_MIN_PATTERN_COUNT in MINDFORGE.md.
|
|
14
|
-
|
|
15
|
-
## Rationale
|
|
16
|
-
A single occurrence is high-noise — it could be a one-off approach or
|
|
17
|
-
something specific to that task's edge case. Two occurrences strongly
|
|
18
|
-
suggest a reusable pattern. The exception for "high difficulty + non-low
|
|
19
|
-
generality" catches important one-time discoveries (security patterns, tricky
|
|
20
|
-
library APIs) that are hard to rediscover and broadly applicable.
|
|
21
|
-
|
|
22
|
-
## Consequences
|
|
23
|
-
Most phases will produce 0-3 capture candidates (not noisy).
|
|
24
|
-
High-activity phases with many similar tasks may produce more.
|
|
25
|
-
The user always approves before any skill is created — auto-capture is a
|
|
26
|
-
suggestion, never automatic skill creation.
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# ADR-038: Minimum quality score of 60 for skill registration
|
|
2
|
-
|
|
3
|
-
**Status:** Accepted | **Date:** v2.0.0 | **Day:** 13
|
|
4
|
-
|
|
5
|
-
## Context
|
|
6
|
-
What quality score should be required before a skill can be registered?
|
|
7
|
-
|
|
8
|
-
## Decision
|
|
9
|
-
Minimum score of 60/100 for project/org registration.
|
|
10
|
-
Minimum score of 80/100 for community marketplace publication.
|
|
11
|
-
Injection check failure (dimension 5 = 0) = absolute block regardless of total score.
|
|
12
|
-
|
|
13
|
-
## Rationale
|
|
14
|
-
60 is the "minimum viable" threshold — a skill at 60 has enough triggers,
|
|
15
|
-
content, and examples to be useful, but is below the "good" tier (80).
|
|
16
|
-
The gap between 60 and 80 allows registration for internal use while protecting
|
|
17
|
-
the public marketplace from mediocre skills.
|
|
18
|
-
|
|
19
|
-
The injection check is absolute — a skill that contains "IGNORE ALL PREVIOUS
|
|
20
|
-
INSTRUCTIONS" must NEVER be registered regardless of its other quality dimensions.
|
|
21
|
-
Even a score of 95 with an injection pattern is blocked. This is the same
|
|
22
|
-
non-negotiable principle as Gate 3 (secret detection) in compliance-gates.md.
|
|
23
|
-
|
|
24
|
-
## Consequences
|
|
25
|
-
The AI-generated learn pipeline is tuned to produce skills scoring ≥ 80.
|
|
26
|
-
Skills below 60 get improvement suggestions but cannot be registered.
|
|
27
|
-
Teams can lower this threshold via SKILL_QUALITY_MIN_SCORE in MINDFORGE.md.
|