Roadmap & backlog tracking
Roadmap & backlog tracking
How the v1 roadmap and backlog are tracked, and how git and the Fibery planning layer stay in sync.
| Purpose | Define where the roadmap/backlog live, what each system is authoritative for, and how status is reconciled. |
| Audience | All developers, Tech Lead, Product Owner |
| Typical owner | Tech Lead |
| Phase | 4 |
| Stream | Internal |
Two systems, one source of truth
| System | Authoritative for | Not authoritative for |
|---|---|---|
| Git (this repo) | The plan itself: items, IDs, MoSCoW buckets, phases, FR/NFR refs, acceptance criteria | Live operational status |
Fibery (Rymflux space) |
Live operational state: status, owner, sprint/phase assignment | The plan’s content |
- Git is the source of truth. If a backlog item is added, renamed, split,
or re-bucketed, the change lands in
backlog.md(androadmap.mdwhen the phases shift) via a PR. Fibery follows. - Fibery is the day-to-day working view. Team members move status and set owners there between gates. Fibery never drives changes back into the plan — its only write-back is operational status at phase gates.
The files
internal/requirements/roadmap.md— themes and phases; the direction.internal/requirements/backlog.md— the MoSCoW-prioritized item list; the canonical status snapshot at each gate.user/roadmap.md— public-facing summary; keep in step with the internal roadmap (see sync policy).
Item identity
- Every backlog item has a stable ID:
M1–M17,S1–S8,C1–C7,W1–W12. (S3was skipped historically; do not renumber.) - The same ID exists in Fibery as the
Rymflux/IDfield. Match on ID, never on name. - Every item also carries a
Rymflux/Docs linkto its rendered page onhttps://rymflux-docs.pages.dev/...so Fibery rows deep-link to the spec.
Fibery planning layer
The Fibery Rymflux space mirrors the backlog:
Rymflux/Backlog Items— one row per item, keyed byRymflux/ID.Rymflux/Status(single-select):Not started/In progress/Done/Blocked/Deferred.Rymflux/Owner(relation to user),Rymflux/Phase(relation to Roadmap Phases),Rymflux/FR-NFR(multi-select),Rymflux/Docs link(text).
Rymflux/Roadmap Phases— the five v1 phases (0 · Foundation…4 · Hardening & release) with start/end dates.
Status vocabulary
| Value | Meaning |
|---|---|
| Not started | Backlog item is not being worked |
| In progress | Actively being worked; owner set in the planning layer |
| Done | Acceptance criteria met and verified |
| Blocked | Work stopped pending an external dependency or decision |
| Deferred | Excluded from the current v1 phase path (default for Won’t) |
Sync policy
- Plan changes → git first. New/renamed/split/re-bucketed items are edited
in
backlog.md/roadmap.mdand merged before Fibery is touched. - Fibery reflects plan changes. When a merged change alters an existing
item (or adds one), update the matching
Rymflux/IDrow’s name, MoSCoW bucket, phase, FR/NFR refs, and docs link. Do not create a row without an ID that already exists in the repo (and vice versa). - Operational status → Fibery, continuously. Owners and status changes are
made in Fibery as work happens. No need to touch
backlog.mdmid-phase. - Reconcile at phase gates. At each phase gate (and before a release),
copy the Fibery status/owner snapshot into the
Statuscolumn ofbacklog.mdand review Must/Won’t (see Revisit cadence). This is the canonical snapshot. - Inconsistencies are bugs. If Fibery and the repo disagree (a name, a bucket, a status after a gate), fix the repo first when it is a plan difference and reconcile Fibery; when it is purely operational, reconcile the repo at the next gate.
Working with Fibery (via the MCP tools)
The Fibery MCP server is configured in the user-level opencode config (no
repo-scoped config); the workspace domain is rymflux-player.fibery.io.
Common operations:
- List spaces/types:
schema,schema_detailed. - Find an item:
queryfiltering onRymflux/ID. - Change status:
update_entitiesonRymflux/Status(or the enum option ID). - Set owner:
update_entitiesonRymflux/Owner(relation tofibery/user). - Reconcile a gate: read all rows with
query, then update theStatuscolumn inbacklog.mdand open a PR.
Related
- Sync policy — the governance-level rule
- Backlog — canonical item list and status snapshot
- Roadmap — themes and phases
- Functional requirements — acceptance criteria