Skip to content

prism-roadmap Export

The export/prismroadmap package converts canonical omniroadmap items into prism-roadmap types, so PM data ingested from Aha/ProductBoard/JPD can feed prism-roadmap's prioritization tooling, splan CLI, MCP server, and visualization pipeline.

import "github.com/grokify/omniroadmap/export/prismroadmap"

set, err := prismroadmap.ToRoadmapItemSet(items)
// set is an *rmi.RoadmapItemSet; every converted item passes
// prism-roadmap's own Validate().

Field mapping

Canonical (provider.Item) prism-roadmap (rmi.RoadmapItem)
ID ID (keeps the provider:sourceID provenance prefix)
Name / Description Name / Description
MoSCoW MoSCoW — optional as of prism-roadmap v0.17.0; unset stays unset
RICE (raw floats) RICE *prioritization.RICEScore — see below
Status.Category Status: todo→planned, in_progress→in_progress, done→completed, canceled→cancelled; unset→planned
StartDate / DueDate ISO date strings
Progress Progress *int
Owner Owner (name, falling back to email)
Tags Tags
SourceRef + SourceURL Notes (Source: SE-2 (https://...)) — provenance survives

RICE translation

Canonical RICE components are raw numbers; prism-roadmap's RICEScore uses enum levels for impact/confidence. The converter maps to the nearest level by multiplier:

Component Mapping
Reach int passthrough
Impact nearest of massive=3.0, high=2.0, medium=1.0, low=0.5, minimal=0.25
Confidence nearest of high=1.0, medium=0.8, low=0.5 (percentages tolerated: 80 → 0.8)
Effort passthrough
Score source value if provided, else Calculate() when all components are present

Error handling

ToRoadmapItemSet skips items that can't convert (missing ID/Name) and reports them in a joined error alongside the successfully converted set — one bad record doesn't abort an export.

Unprioritized items

Items without MoSCoW/RICE (nothing mapped by the fieldmap, or the tenant doesn't store prioritization) export as valid, unprioritized RoadmapItems. They can then be triaged inside prism-roadmap's own tooling (splan rmi update --moscow ..., the MCP update_rmi tool) — the import pipeline never fabricates priorities.