plugins/ruflo-goals/docs/adrs/0001-goals-contract.md
ruflo-goals (v0.2.0) — the long-horizon planning + research + dossier plugin. Surface is rich:
goal-planner (GOAP A*), deep-researcher (linear question-driven), horizon-tracker (cross-session), dossier-investigator (recursive parallel multi-source, ADR-099)goal-plan, deep-research, research-synthesize, horizon-track, dossier-collect/goals)| Namespace | Used by | Convention compliance |
|---|---|---|
adr | dossier-investigator, dossier-collect | Non-compliant — should reference the canonical adr-patterns from ruflo-adr ADR-0001 |
dossier | dossier-investigator writes here | Documented exception — base-name rule (cf. federation from ruflo-federation) |
research | deep-researcher | Non-compliant — should be goals-research per kebab-case <plugin-stem>-<intent> rule |
research-sources | deep-researcher | Non-compliant — should be goals-research-sources |
horizons | horizon-tracker | Non-compliant — should be goals-horizons |
horizon-sessions | horizon-tracker | Non-compliant — should be goals-horizon-sessions |
The six namespaces predate ruflo-agentdb ADR-0001's namespace convention. Renaming them risks breaking projects that already have stored data in the legacy names. This ADR documents both:
goals-research, goals-horizons, etc.).A future ADR can propose the rename + migration once the data-portability path is designed.
dossier-collect but the plugin doesn't link out from README.0.2.0 (already at the cadence). Keywords add mcp, gop (typo: goap), legacy-namespaces, evidence-grading. Actually skipping gop — already has goap.scripts/smoke.sh — 10 structural checks: version + new keywords; all 5 skills + all 4 agents + 1 command with valid frontmatter; selection guide present (4 task patterns); ADR-099 cross-link in README; v3.6 pin; namespace coordination block with legacy mapping; ADR Proposed; no wildcard tools.Positive: legacy namespaces are now explicitly documented as legacy, with a forward-path canonical form. New plugins reading goals as a template won't replicate the non-compliant naming.
Negative: the legacy-vs-canonical split adds documentation surface. Not free, but justified given existing-data concerns.
Neutral: no functional changes. Plugin behavior unchanged.
bash plugins/ruflo-goals/scripts/smoke.sh
# Expected: "10 passed, 0 failed"
plugins/ruflo-agentdb/docs/adrs/0001-agentdb-optimization.md — namespace convention (<plugin-stem>-<intent>)plugins/ruflo-adr/docs/adrs/0001-adr-plugin-pattern.md — owns canonical adr-patterns namespaceplugins/ruflo-federation/docs/adrs/0001-federation-contract.md — base-name exception precedent (federation namespace)v3/docs/adr/ADR-099-dossier-investigator-recursive-parallel-research.md — dossier-collect spec