Roadmap: see
docs/ROADMAP.mdfor full gap analysis by category (Architecture 85%, UX 70%, Performance 80%, Distribution 65%, Docs 60%, Integrations 55%).
Recent releases (authoritative: git tag --sort=-v:refname | head + Cargo.toml):
-
v0.34.0 (released 2026-08-17) — artifact integrity: R_eff scores current evidence only (ADR-020, breaking) + git-delta provenance for code-claiming Evidence (PRD-082/#360) + identity/collision hardening (
update --statusgated,reindexduplicate-id detection,unbacked_displacementdetector, anomalies 140 → 34). Security: RUSTSEC-2026-0204 + quinn-proto HIGH + serde_with. -
v0.33.0 (released 2026-06-04) — MCP worktree-aware routing (PRD-078) + CRITICAL #350
@fileexpansion + PROB-078 refuted. -
v0.32.1 / v0.32.0 (released 2026-05-21) — Windows binary hotfix; Epic #287 brownfield surface + PROB-074 stale-handle hardening.
-
v0.31.0 (released 2026-05-12, sync PR #285) — Wave 9 quality closure.
-
v0.30.0 (released 2026-05-06, sync PR #262) — PROB-060 slug-canonical identity marathon (PR #255..#274) + Phase 2.5 resolver wire-up.
-
v0.29.0 (released 2026-05-05, sync PR #250) — verdict aggregator typed errors (PROB-049 H-class), claude --print dispatch refactor (PROB-050 A-4..A-15), CWE-426 binary substitution closed.
-
v0.28.0 (released 2026-05-04, sync PR #223) — file-first invariant compile-enforced (PRD-073) + claude --print dispatchers (ADR-011) + canonical playbooks (release/brownfield-docs).
In-flight на dev к v0.31.0 (PRs merged after v0.30.0 tag):
- PR #275 — PROB-060 Phase 2.5 test coverage extension — merged 2026-05-10.
- PR #277 — PROB-063 verdict aggregator excludes
advisory_phase_mismatches(Closes #276) — open, awaiting CI green at время этой записи.
Bundles 14 merge-PR (#224..#237) since v0.27.0 (2026-04-28). Three load-bearing themes:
- PRD-073 file-first invariant compile-enforced (ADR-003) —
LanceStore::*mutating methods stалиpub(crate), file-first projection wrappers — единственная mutation surface. EVID-094 R_eff=0.80 grade A. PROB-048 deprecated. - ADR-011 Phase B Wave 1 — Plugin/Agent dispatchers shell out to
claude --printна realclaude2.1.126. Replaces fictional task-tool из ADR-010. EVID-093 + EVID-096 + EVID-097, R_eff=0.70 grade B. Real-E2E verified. - Track 4-A8 canonical playbooks —
release.yaml+brownfield-docs.yamlship как REFERENCE templates для marketplace skill/mapping authors.audit.yamlmigrated к Plugin variant + budget_usd=$5 (PROB-050 A-28 closed).
- Phase 3a: 15 projection helpers
- Phase 3b: 16 mutation helpers migrated к
MutationResult<T> - Phase 3c: typed errors (R1 + R2 audit closures)
- Phase 4:
LanceStore::*mutating methods →pub(crate)lockdown - EVID-094 (PRD-073 closure) + EVID-095 (Phase 3c sprint closure)
- PROB-048 deprecated as resolved
- PluginDispatcher + AgentDispatcher rewritten для
claude --print - Step.budget_usd + Step.allowed_tools fields (SPEC-003 1.2)
- R1 audit closure (4 CRITICAL + 18 HIGH/MEDIUM)
- EVID-093 spike + EVID-096 closure measurement
- PR 1 (NOTE-049 + EVID-097) — real-E2E на production binary, 5 invocations, ~$0.98
- A-28 closure (audit.yaml type:agent → type:plugin) + real chain run ~$3.50
- CHANGELOG
[Unreleased]→[0.28.0]promotion - Cargo.toml workspace 0.27.0 → 0.28.0 + 4 internal crate refs
- Pre-flight: cargo fmt + cargo clippy
-D warnings+ cargo test (1940 PASS) - Audit (architect + code-analyzer adversarial): 11 findings closed inline
- Audit round 2 (security + code-analyzer на PR 1 verification): 11 findings closed
- Dependabot triage round 3 (18 alerts unchanged from round 2)
- EVID-098 readiness measurement (R_eff propagation to PRD-073 grade A)
- AI docs accessibility: robots.txt + llms.txt
- MCP tool count drift swept (63 canonical, 18 doc locations updated)
- Push
release/v0.28.0 → main(PR #238 merged 2026-05-04) - Tag v0.28.0 + cargo-dist + brew publish (released 2026-05-04)
- Post-release sync PR
chore/sync-main-to-dev-after-v0.28.0(PR #223 merged 2026-04-28 — predecessor; v0.28.0 sync через cascade)
- PR 3: PROB-049 top-4 (StoreError split, # Errors rustdoc, MutationContext, let-else)
- PR 4: PROB-050 top-5 (SPEC-003 1.2 doc, claude_print::invoke() extract, cross-file ENV lock, API surface tighten, integration test gated by CLAUDE_BIN_AVAILABLE)
- PROB-050 A-21..A-29: real-E2E findings (discovery, exit codes already-OK, version disambiguation, budget tier, audit.yaml budget=$5, methodology hardening)
EPIC-007 Phase 6 — engine layer (v0.26.0) переходит в user-facing activation.
PRD-072 / RFC-007 / ADR-010 закрывают Phase 5 deferral: 5 production
Dispatcher impls (real subprocess через tokio::process + ForgeplanCore
direct call), forgeplan init теперь эмитит recommendation hints, и
greenfield-kickoff.yaml доступен в marketplace. 3 waves × 8 agents,
~5000 LOC, +60 unit + 5 integration tests.
- FR-1
PluginDispatcher(claude-code-plugin subprocess, default 600s) - FR-2
AgentDispatcher(task-tool agent-invoke, default 300s) - FR-3
SkillDispatcher(in-process v1 stub — Wave 5 real registry) - FR-4
CommandDispatcher(security-hardened: env_clear, no shell, --yes) - FR-5
ForgeplanCoreDispatcher(direct internal call) - FR-6
commands::init::runrecommendation wiring - FR-7
marketplace/playbooks/greenfield-kickoff.yamlcanonical (7 steps) - FR-9 Subprocess lifecycle (tokio::process + kill_on_drop + Stdio::piped + 10 MiB cap)
- FR-10 Security (env_clear, allow-list, no shell expansion, --yes gate)
- AC-3..AC-7 init recommendation hints (закрывает PRD-067)
- AC-7 + AC-8 greenfield-kickoff validate + dry-run pass
- AC-9 regression-free (1384+ lib + 372+ integration tests PASS)
- FR-8 Per-step
timeout_secondsoverride (schema landed; executor wiring partial — Wave 5) - AC-1, AC-2 real brownfield E2E run on real c4-architecture installed plugin (Wave 5)
- AC-10 kill -9 mid-step resumability E2E (Wave 5)
-
docs/operations/PLAYBOOK-AUTHORING.ru.mdSubprocess lifecycle section (Wave 4) -
docs/operations/INGEST-MAPPINGS.ru.mdWorkflow integration update (Wave 4) -
marketplace/playbooks/greenfield-kickoff.yamlcanonical (Wave 3) - CHANGELOG.md v0.27.0 section (Wave 4)
- EVID-091 — Phase 6 closure evidence pack (Wave 4)
- Per-step
timeout_secondsoverride fully wired through executor - Real
SkillDispatcherregistry (replace trace-only stub) - Per-step
env:allow-list with whitelist mapping - AC-1/AC-2/AC-10 real brownfield-code E2E + kill -9 resumability
- /audit Round 1+2 на Phase 6 (security focus subprocess execution surface)
- Activate PRD-072 / RFC-007 / ADR-010 (post-audit, R_eff ≥ 0.7 with EVID-090 + EVID-091)
- Tag v0.27.0 + cargo-dist Release workflow
- PR feat/phase6-real-dispatchers → dev (after audit)
EPIC-007 Phase 2 — Forgeplan становится оркестратором. ADR-009 implementation-complete: playbook runtime + ingest engine + plugin detection + canonical marketplace mapping/playbook. 4-wave sprint, 9 agents, ~9000 LOC.
- FR-1 Rust module
forgeplan-core::playbook::{types,loader,executor,dispatch,journal} - FR-2 JSON Schema
docs/schemas/playbook.schema.yaml - FR-3 CLI
forgeplan playbook {list|show|run|validate} - FR-4 5-variant typed Delegation enum
- FR-5 Step output capture via
produces_at+mapping - FR-6 Journal
.forgeplan/journal/playbook-runs.jsonl - FR-7 Progress reporting (TTY-aware stderr)
- FR-8 Hint contract integration (PRD-071)
- AC-1..AC-6 acceptance criteria covered (Wave 4 E2E)
- Real Plugin/Agent/Skill subprocess dispatchers (closed by Phase 6 / PRD-072 FR-1..FR-5)
- FR-1 Rust module
forgeplan-core::ingest::{types,sources,template,engine,idempotency} - FR-2 JSON Schema
docs/schemas/mapping.schema.yaml - FR-3 CLI
forgeplan ingest --mapping --source --dry-run - FR-4 Source-ref format
{path}:{line_start}-{line_end} - FR-5 Idempotency via
source_hash - FR-6 Canonical
marketplace/mappings/c4-to-forge.yaml(Wave 4) - FR-7
forgeplan doctor --sourcesinvariant validation - AC-1..AC-6 acceptance criteria covered (Wave 4 E2E)
- MCP
forgeplan_ingestwrapper (deferred — CLI cover viaforgeplan serve) - 4 additional canonical mappings (autoresearch/git/ddd/spec → forge) — follow-up
- FR-1 Rust module
forgeplan-core::plugins::{detection,registry,hints} - FR-2 Detection scanner paths (
.claude/plugins/cache/,.agentskills/, etc.) - FR-3 Plugin registry с known plugins
- FR-4 Project signal detector
- FR-5 Playbook recommendation engine (signals × plugins → applicable)
- FR-6 CLI
forgeplan plugins {list|doctor|info} - FR-7 Hint extension (ADR-008 pattern +
recommended_playbook) - AC-1, AC-2, AC-6 закрыты в Phase 5
- AC-3 —
forgeplan initempty repo →recommended: greenfield-kickoff(closed by Phase 6 / PRD-072 FR-6) - AC-4 —
forgeplan init.obsidian/→recommended: brownfield-docs(closed by Phase 6) - AC-5 —
forgeplan initlegacy code >100 commits →recommended: brownfield-code(closed by Phase 6) - AC-7 — backward compat (FORGEPLAN_HINTS=0 / non-TTY) (closed by Phase 6)
-
docs/operations/PLAYBOOK-AUTHORING.ru.md(Wave 4 W4B) -
docs/operations/INGEST-MAPPINGS.ru.md(Wave 4 W4B) -
marketplace/mappings/c4-to-forge.yamlcanonical (Wave 4 W4B) -
marketplace/playbooks/brownfield-code.yamlcanonical (Wave 4 W4B) -
docs/README.md+docs/README.ru.mdindex entries (Wave 4 W4B) - CHANGELOG.md v0.26.0 section
- EVID-089 — Phase 5 evidence pack
- Real subprocess dispatch for
delegate_to: plugin/agent/skill(closed by PRD-072 FR-1..FR-3 / Phase 6 Wave 1) - Canonical playbook
greenfield-kickoff.yaml(closed by PRD-072 FR-7 / Phase 6 Wave 3) - MCP
forgeplan_ingestwrapper (still deferred — CLI cover viaforgeplan serve) - Canonical mappings: autoresearch / git-log / ddd / sparc → forge (still backlog)
- Canonical playbooks:
brownfield-docs.yaml,audit.yaml,release.yaml(3 of 4 still backlog) - Parallel step execution (DAG planner) — Non-Goals v1
- Tag v0.26.0 + cargo-dist Release workflow (released in branch — pending tag)
PRD-071 unified 5-rule hint contract shipped. Audit coverage 0% → 100% (70/70 CLI). 36 integration tests + drift-prevention audit script. Awaiting PR #212 review.
- PRD-071 5-cycle multi-agent sprint complete (9 agents, 90 files)
- EVID-086 linked, PRD-071 + PROB-046 active
- CHANGELOG.md + docs/README + SKILL.md + agent-protocol.md updated
- PR #212 merged to dev (awaiting review)
- Tag v0.25.0 after release PR
- FR-013:
forgeplan healthadd "Hint coverage" metric (audit script sufficient for now) - FR-011: separate
forgeplan-mcp/tests/hint_contract.rsintegration test file (covered via unit tests + dogfood) - FR-014: RU localization for hints (backlog)
- PROB-047 (potential):
scan-importshould dedupe by title/content hash — current behavior creates duplicate PRDs from doc files
- Sprint A: Public Presence — Website (PRD-024) + README + crates.io + Docker
- Sprint B: CI/CD Integration — validate/health --ci + GH Action
- Sprint C: Desktop App — EPIC-004 (Tauri + React)
- Sprint D: Ecosystem — VS Code ext + GitHub Issues bridge
- PROB-026: tag canonicalization (PR #169 pending merge)
- PROB-027: reindex without lance/ (PR #169 pending merge)
- PROB-035 remainder: code-fence awareness in extract_field
- PROB-030 BM25 prefix fallback (smart.rs
max(bm25_norm, kw)) - PROB-031 score.rs imports core parser (deleted local duplicate with CL0 default)
- PROB-032 breakdown display (auto-fixed by PROB-030)
- PROB-033
new evidencephase-agnostic (no session warning) - PROB-034 CRITICAL multi-line HTML comment state machine in extract_field
- F1 fail-closed on unclosed
<!--(unclosed → CL0 + warn) - F2 fail-closed on unparseable congruence_level (garbage → CL0 + warn)
- evidence template simplified (single-line comments only, no booby-trap)
- 12 new regression tests (total 1143 pass, +12 from 1131)
- Cargo.toml workspace + cross-crate refs → 0.17.2
- CHANGELOG.md v0.17.2 entry
- CLAUDE.md status block updated to v0.17.2
- TODO.md updated (this block)
- 4-agent audit completed (A code, B tests, C security, D docs)
- All audit blockers addressed in-scope
- PROB-034 card + EVID-068..072 created
- EVID-068..072 Interpretation + CL Justification filled (audit D)
- PROB-030..034 + EVID-068..072 activated
- PR release/v0.17.2 → main (#163 merged)
- Tag v0.17.2 + push (cargo-dist Release workflow success, brew formula published)
- Sync main → dev via PR (#164 merged)
- Health debt cleaned: 8 stubs deprecated/superseded, 5 dup EVIDs deprecated, 3 orphan NOTEs linked
- Hindsight retain v0.17.2 finale
- PROB-035 "extract_field hardening" filed for follow-up sprint (code-fence, token-boundary substring)
- PROB-028 phantom rows (PRD-044)
- PROB-029 health verdict (PRD-045)
- CHANGELOG + tag + cargo-dist + sync done
- ~56 CLI commands, ~47 MCP tools, 1109 tests (+280 from v0.16)
- Workspace: 0 warnings on both default and
--features semantic-search - ~13.8K LOC added across EPIC-003 (Sprints 13.0 → 13.7 + post-closeout hotfix)
- PRs #141-#156
- E2E: sprint-13.6-regression.sh (16 checks) + sprint-13.7-regression.sh (16 + SEMANTIC_E2E opt-in), 0 failures
- LLM: gemini-3-flash-preview
- Distribution: cargo-dist v0.31.0, 5 targets, brew + install.sh + checksums
- Pipeline: Shape→Validate→ADI→Code→Test→Fmt→Lint→Audit→Fix→Re-audit→Manual UX→Closeout
- Sprint Checklist Framework (NOTE-044) landed 2026-04-08 as reusable quality gate
- ADI mandatory for Standard+ depth (CLAUDE.md methodology update)
- Sprint 13.0 Security + ADR-007 (2h, no artifact)
- Sprint 13.1 PRD-043 Methodology Integrity — EVID-058, PR #145
- Sprint 13.1.5/.7 Hardening + integrity config wiring — EVID-059
- Sprint 13.2 PRD-039 Smart Search v2 (BM25 + filter DSL + graph expansion) — EVID-065 (backfill during final audit)
- Sprint 13.3 PRD-035 p1 Tags + Source Tier — EVID-060
- Sprint 13.4 PRD-035 p2 Discover MCP tools + CLI — EVID-061
- Sprint 13.5 PRD-040 Scoring Intelligence (Skills Memory + R_eff CI) — EVID-062, PR #153
- Sprint 13.6 PRD-041 FPF Rules CLI + MCP — EVID-063, PR #154
- Sprint 13.7 PRD-042 FPF KB Vector Search (supersedes PRD-018) — EVID-064, PR #155
- Sprint 13.7 post-closeout hotfix — 19 debts triaged, 11 fixed, NOTE-044/045 (PR #156)
- Final release audit — 4 parallel auditors, version bump, CHANGELOG, bugfix agent
- PRD-018 superseded by PRD-042, EPIC-003 activated
- Cargo.toml version bump 0.16.0 → 0.17.0 (workspace + 3 path deps)
- CHANGELOG.md created with full v0.17.0 entry
- 7 EVIDs activated (058..064) + EVID-065 backfill for Sprint 13.2
- PRD-039 activated (R_eff=1.00, F-G-R=0.88 A)
- EPIC-003 activated
- Title validation bugfix (fa97f10, tag-prep-bugfix agent)
- Commit tag-prep changes (6a1904f)
- PR release/v0.17.0 → main (merge commit)
- Tag v0.17.0 + push
- Sync main → dev
- Hindsight memory_retain EPIC-003 finale
- ADI reasoning: H2 Two-tier Rules selected (FPF B.5.2 Abductive Loop)
- ext/rules.rs: Rule engine with expressions, graph-aware, time-aware (~600 LOC)
- Dashboard integration: rule engine replaces explore::suggest, HashMap O(N+R)
- Bounded context in reason output (CLI + MCP)
- Config template with rule examples in forgeplan init
- FpfConfig.rules field (empty = default 5 rules)
- 4 audit agents: code review, bounded context, Rust expert, security
- Audit fixes: NaN rejection, empty condition guard, circular scoring, TOCTOU, O(N+R)
- 38 rule engine tests (unit + scenario + negative + corner), 829 total
- EVID-057 linked, R_eff=1.00, PRs #133 + #135 merged
- KB vector search — deferred to Phase 3+ (keyword works, NOTE-039 DSL idea)
- EPIC-002 shaped + activated (PR #128)
- RFC-001 shaped: 3 options, ADI confirmed Option C (Layered Core+Ext)
- fpf/core/ module: config.rs, trust.rs, adi.rs, model.rs (34 tests)
- FpfConfig wired into CLI scoring (score, fgr, context, dashboard)
- Config templates in init + current config.yaml (all 6 sections)
- Audit: 3 agents, 3H + 1M fixed, NaN validation, reliability clamp
- EVID-055, R_eff=1.00, RFC-001 activated
- Housekeeping: 12 orphans linked, SPRINTS.md updated
- 1.5: AdiRecord wiring — reason --save creates structured JSON in Note body
- 11.3: CI/CD Linter — health --ci + validate --ci + GH Actions workflow (PR #132)
- PR #131 merged + progress synced
- PRD-023 shaped + validated (8 FR, 4 journeys, 4 AC, Deep depth)
- ADI reasoning: 3 hypotheses → H1 cargo-dist selected (High confidence)
- cargo-dist v0.31.0 integrated (dist-workspace.toml, release.yml generated)
- 5 targets: macOS arm64/x86, Linux x86/musl, Windows x86
- Installers: shell (install.sh) + Homebrew (AiDogfood/homebrew-tap)
- Cargo.toml metadata: homepage, keywords, categories for crates.io
- 2-agent audit: 4C + 3H + 3M findings → all fixed
- Action versions @v6/@v7 → @v4 (cargo-dist v0.31.0 bug)
- .gitignore: dist manifest files added
- Embed fix resolved: fastembed v5.13.0 compiles (upstream fixed)
- EVID-050 active, R_eff=0.80, PR #97 merged
- 753 tests, 0 failures, project healthy
- PROB-021: ADI prompt enriched (metadata, relations+titles, architecture hint)
- System prompt: justified confidence, project context awareness
- reason_temperature config field, architecture hint from file
- evidence_needed → CLI "Next steps" UX
- Model benchmark: 4 models × 7 artifacts → gemini-3-flash-preview selected
- E2E Wave 8 (LLM): 10/10 pass (generate, reason, decompose, capture, context)
- Draft cleanup: 34→12 (7 deleted, 15 deprecated)
- cargo fmt entire codebase (122 files) + pre-commit-fmt.sh hook
- Pipeline updated: +Fmt step, ADI mandatory for Standard+
- 6 new E2E integration tests (cascade delete, lifecycle, deprecated blocking)
- EVID-048 active, R_eff=0.90, PR #96 merged
- 753 tests, 0 failures, project healthy
- BUG-1 (P1): blocked/order treated deprecated as blockers → resolved_ids
- BUG-2 (P1): delete cascade relations + phantom PROB-013 cleanup
- BUG-2b: unlink resilient for phantom relations
- 5-agent audit: 2 critical + 5 warnings → all fixed
- 2 new MCP tools: forgeplan_blocked + forgeplan_order
- validate_id_for_filter() whitelist, DRY common::resolved_ids()
- O(n²)→O(n) order.rs, double scan eliminated, TOCTOU fixed
- route "" rejects empty, memory excluded from orphan detection
- 83 E2E commands tested, E2E-TEST-PLAN.md created
- PROB-020 active, EVID-047 linked, R_eff=1.00, PR #95
- BUG-001 (P1 Security):
scan --path /tmppath traversal — added project root boundary validation (coverage.rs) - BUG-002 (P2):
unlinkне проверяет существование связи — added existence check (link.rs) - BUG-003 (P3): lifecycle transition message "draft → active" hardcoded — uses old_status (activate.rs)
- 2 new unit tests for delete_relation (store.rs)
- Create Evidence EVID-040 + link to PROB-018
- Audit (4-agent: logic+security+rust+task) + PR #85 merged
- ADR-005 shaped + validated (new state machine design)
- Phase 1: stale status + terminal deprecated/superseded (transitions.rs, 15 tests)
- Phase 2: renew() + reopen() core logic (lifecycle/mod.rs, 10 tests)
- Phase 3: CLI commands (renew.rs, reopen.rs)
- PROB-019: self-link guard (store.rs + in_memory.rs, 4 tests)
- 5-agent audit: 8 findings fixed (date validation, reason sanitization, atomicity)
- EVID-041 (PROB-019) + EVID-042 (ADR-005) linked + activated
- ADR-005 activated, R_eff = 0.80
- PR #85 merged
- PRD-022 shaped + validated (8 FR, 3 journeys)
- RFC-005 architecture (3 phases, 12 tasks)
- ADR-004 hybrid approach (rule-based L0 + LLM L1)
- Phase 1: types, extractor, scorer, calculator, display (35 tests)
- Phase 2: confidence, CLI estimate command (39 tests)
- 2-agent audit: 2 CRITICAL + 4 HIGH fixed (50 tests)
- Config integration: grade_profile, multipliers, --my-grade
- FORGEPLAN-GUIDE: Estimate Engine section
- Evidence EVID-036 linked, PRD-022 + RFC-005 + ADR-004 activated
- remember/recall CLI commands
- ArtifactKind::Memory with mem- prefix
- DRY helpers in common.rs + 3 tests
- 17 MUST gaps → 0 (enable --depth update)
- Evidence parser: ignores template placeholders (CL0→CL3)
- LLM scorer (RFC-005 Phase 3): --llm-score flag, PR #79
- Hints system: 9 commands, 11 tests, shared hints.rs
- Domain inference: frontmatter → keywords → LLM (3-level)
- Manual complexity override: --complexity "FR-001=8"
- Spec/Evidence confidence boost: +15%/+20%
- forgeplan link body reset fix (PR #75)
- dotenvy for .env API keys
- Template FR filtering, keyword TaskType improvements
- 40 commands smoke-tested
- Release v0.12.0 tagged + installed
- Semantic search broken — feature flag propagated CLI→core via Cargo.toml
- R_eff divergence — update_r_eff_score() persists to LanceDB, NaN guard
- health vs journal inconsistency — expanded blind spots + decision kinds aligned
- coverage 0% — Affected Files section added to templates + backfilled 18 active PRD/RFC/ADR
- route underestimates — 4 keyword triggers + 2 heuristics added
Fixed in commit d84bc69 (fix/prob-012-integrity-remediation). 2 audit rounds, 403 tests.
- changelog commit_hash: LanceDB schema migration — old workspaces lack
commit_hashcolumn.forgeplan updatelogs warning. Fix: reinit workspace or add column migration. - RFC-005 3.2: estimate MCP tool — grade param wired (Sprint 1 housekeeping).
- 1 STUB artifact: unidentified, low priority.
- e2e_coverage_backfill test: pre-existing failure, unrelated to v0.12 changes.
- Self-link guard (PROB-019):
link X Xrejected with "Self-link not allowed" (Sprint 3). - Runbook outdated (NOTE-031): deprecated — file doesn't exist in repo, discrepancies noted in TODO.
- LLM tests: Wave 8 (10 commands) passed with gemini-3-flash-preview. Wave 10 edge cases still pending.
- --semantic feature flag:
search --semanticfails at runtime if not compiled withsemantic-search.
| ID | Priority | Title | Status |
|---|---|---|---|
| PROB-001 | Done | Data loss → solved by PRD-009 export/import | ✅ |
| PROB-002 | P2 | Auth reuse — separate API key barrier | Open |
| PROB-003 | Done | Dead statuses → solved by PRD-007 lifecycle | ✅ |
| PROB-004 | Done | Agent drift → solved by PRD-010 hooks | ✅ |
| PROB-005 | Done | Cold start → solved by PRD-012 init --scan | ✅ |
| PROB-006 | Deprecated | Routing misses UX scope → fixed v0.11, keywords expanded | ✅ |
| PROB-009 | Deprecated | F-G-R Granularity → future PRD scope | |
| PROB-010 | Deprecated | Markdown projections → fixed by RFC-004 files-first | ✅ |
| PROB-012 | Deprecated | Feature integrity gap → 5 fixes, 2 audit rounds | ✅ |
| PROB-013 | Deleted | R_eff skip non-active → implemented in ADR-002, deleted | ✅ |
| PROB-014 | Deprecated | Smart search gaps → fixed v0.12, real cosine | ✅ |
| PROB-016 | Deprecated | CLI quality → 13 fixes, 6-agent audit | ✅ |
| PROB-018 | Done | E2E Smoke Test Findings — 3 bugs fixed, 4-agent audit, PR #85 | ✅ |
| PROB-019 | Deprecated | Self-link guard added — case-insensitive check, 4 tests | ✅ |
| PROB-020 | Done | Graph integrity — 10 bugs, 5-agent audit, cascade delete, PR #95 | ✅ |
| PROB-021 | Done | ADI quality — enriched prompt, model benchmark, fmt hooks, PR #96 | ✅ |
- Tag v0.13.0 → trigger first automated release via GH Actions
- Verify brew install + install.sh on clean machine
-
cargo publish(manual, safety hook blocks)
- Embed feature fix — fastembed v5.13.0 compiles, upstream resolved
- Distribution — cargo-dist v0.31.0, PR #97 merged (Sprint 10)
- Read-back verify in update_r_eff_score — pre-check with get_record before update
- DRY decision_kinds — DECISION_KINDS_EVIDENCE + DECISION_KINDS_JOURNAL in types.rs
- Coverage batch-update —
forgeplan coverage --backfill(18 artifacts updated) - PROB-013 — R_eff skip deprecated/draft in recursive chain (ADR-002)
- Tree visual — evidence/note show
··instead of0.00 - METHODOLOGY-COURSE.md — Chapter 8 added (tree, coverage, hooks, R_eff rules)
- PRD-019 Layer 3 — MCP session state machine (backlog, PRD-019 activated)
- Route gap: added "new command/feature" keywords (English)
- Batch score CLI:
forgeplan score --allimplemented - LLM-first route: 3-level routing (L0 keywords, L1 LLM classify, L2 FPF ADI reasoning) — PRD-020, 444 tests
- PRD-019 Layer 3: MCP session state machine — агент не может пропустить Shape phase
- Duplicate notes cleanup: NOTE-004 deprecated (duplicate of NOTE-005)
- F1 (P0): Embed title + body snippet — embedding_text() + forgeplan embed command
- F2 (P0): Graph walk shows relation types — neighbors_with_relations()
- F3 (P1):
forgeplan embed— batch embed all artifacts (persistent in LanceDB) - F4 (P1): Smart search — text-first + boosters (Algolia-style, not weighted sum). EVID-033.
- F5 (P1):
forgeplan gaps— 18 MUST gaps found on real data! Audit: 4 fixes. - F6 (P2): Fix evidence blind spots (EVID-015, EVID-025, EVID-026, EVID-027)
-
forgeplan search --semantic— vector-only search -
forgeplan search— smart by default (keyword + semantic + R_eff + status + graph boosters) -
forgeplan search --keyword— forced keyword grep - Configurable embedding model via config.yaml (BGE-M3 default)
- Configurable chunk_size via config.yaml (default 2000)
- Future: Reciprocal Rank Fusion (RRF) for production-grade hybrid search
Wave 1 — BROKEN (6-agent team sprint, PR #65):
- B1:
deprecate --reasonstores reason in body (## Deprecation section) - B2:
update --status activeblocked — must useforgeplan activate - B3: 4 LLM commands — pre-flight API key check via
require_llm_config() - B4:
reviewchecks evidence+stub gates (same as activate)
Wave 2 — SAFETY:
- N1:
deletechecks dependents, warns + requires --yes - N7:
supportsadded to VALID_RELATIONS - N8:
init --forcewarns about data loss - N9:
unlinkupdates projection
Wave 3 — CORRECTNESS:
- N2:
newdepth=tactical for note/evidence/problem/solution/refresh - N3:
supersedewarns if replacement already superseded/deprecated - N4:
score --all --jsonclean JSON output - N5:
update --depthbails with error - N6:
order/blockedstructural relations only (informs doesn't block)
EVID-034. 532 tests. Deferred: fgr/blindspots redundancy, graph filtering, drift adoption, export embeddings
- Phase 1: StorageDriver trait + LanceDriver + InMemoryStore + factory — PR #61 merged
- Phase 1 audit: 3 agents, 13 findings, 7 fixed (C1-C3, H1, H3, M1, M2)
- Phase 1 deferred (PROB-015): H2 EmbedDriver, H4 ISP split, M3-M5, test gaps
- Phase 2: MemoryDriver (remember/recall) — PR #72 merged
- Phase 3: SQLite driver + feature flags
- Phase 4: Config-driven selection + forgeplan init shows drivers
- Invert direction: .md files = truth, LanceDB = index (RFC-004 Phase 1, PR #67)
- File watcher (notify crate) for auto-reindex (RFC-004 Phase 2, PR #69)
-
forgeplan reindex— one-time full re-sync from .md files (PR #71) - R_eff computed on-the-fly from evidence files (not stored)
- Links in frontmatter
related:field (RFC-004 Phase 1) - Change log tracking (RFC-004 Phase 3, PR #69)
- Git-sync integration (RFC-004 Phase 4, PRs #80-#81)
- Binary size optimization — release profile 163MB→41MB (-75%)
- fpf.rs миграция на common::store() (6 functions)
- coverage.rs, scan_import.rs миграция на common::open_store()
-
forgeplan links PRD-001— show all relations for an artifact (1 day) -
forgeplan validate --ci— exit 1 on MUST errors for CI/CD (1 day) -
forgeplan doctor— check workspace, LLM key, feature flags (2 days) - Document
captureas LLM-dependent in --help - Error consistency: choose idempotent vs strict philosophy
- Document case-sensitive IDs
- Test
forgeplan serveas MCP server in Claude Code - Claude Code plugin: /fp-validate, /fp-context, /fp-score skills
-
captureoffline mode (create Note/ADR without LLM) -
forgeplan watch --emit-events— JSON event stream for agents
-
forgeplan health --fail-on— configurable thresholds - GitHub Action:
uses: forgeplan/action@v1
- MCP config example for Ruflo (.agents/config.toml)
- Architecture-guardian custom agent YAML
- Gastown directive template
- Bidirectional sync with task trackers (Linear, Jira, Orchestra)
- Export to GitHub Issues / Linear tasks
- Webhook on activate/supersede events
- Tauri 2.0 + React frontend (shared Rust core)
- v0.10.1 — Hotfix: bidirectional R_eff evidence lookup
- v0.10.0 — scan-import, --json x14, CLI UX, audit fixes, security hardening
- v0.9.0 — PRD-016..021: R_eff recursive, BMAD v2, OpenSpec DAG, FPF KB, codebase awareness, decision contracts
- v0.8.0 — CLI UX: cliclack init, styled output, setup-skill
- v0.7.0 — EPIC-001 complete, FPF engine, lifecycle, /forge skill
- v0.6.0 — Methodology Engine: routing, lifecycle, F-G-R
- v0.5.0 — Health, Journal, Validation v2
- Phase 4 — MCP Server + AI Features + CRUD
- Phase 3 — Core CLI + LanceDB Primary
- Phase 1 — Schemas, Templates & Docs
- Phase 0 — Foundation & Research
- PRD-012: Project Onboarding — init --scan, scan-import, 3-tier detection
- PRD-008: CLI UX — 8 ui helpers, --json for 14 commands, common::store() (-128 LOC)
- 4-agent Rust audit: UTF-8 safety, symlink protection, file size limits, import validation
- R_eff bidirectional evidence fix (get_incoming_relations)
- All blind spots (3), orphans (8), at risk (11) → resolved
- 14 draft evidence → activated