Skip to content

v0.1.0

Release Date: 2026-09-07

Highlights

  • Dolt-backed canonical store with provider-agnostic sync. A single Item schema absorbs Aha!, ProductBoard, and JPD (bundled via blank-imported adapters), with a per-tenant fieldmap translating each provider's custom fields into canonical MoSCoW/Kano/RICE, and a hand-authored augment overlay that survives every re-sync.
  • Full COMPASS-RICE prioritization pipeline. compassbridge converts an LLM judge's output into a CompassAssessment behind a claims-backed confidence integrity check; ProfileAssignment implements the two-phase LLM-proposes/PM-confirms workflow for an opportunity's primary investment thesis; compile.gateRankInput excludes anything not yet PM-confirmed rather than silently falling back to a legacy score.
  • DashForge is the entire dashboard layer. analyticscatalog/analyticsquery expose items, opportunity assessments, profile assignments, and per-profile raw evidence as a GuardSQL-queryable dashboardir.AnalyticsCatalog; analyticsdashboards ships a curated DashboardIR pack (compass-rice-all, moscow-compass-rice, compass-profile, portfolio-overview) servable locally or exportable to a standalone dashforge-server.
  • Library-first Cobra CLI. Every command is a thin wrapper over a reusable package: sync/db/status/augment/item/config/ui for the sync engine and store, assess/profile/moscow/analytics for the scoring workflow — built for both human PMs and agents (--json throughout).

Overview

This is the first tagged release of omniroadmap: the batteries-included entry point for the ecosystem described in the README — a canonical, Dolt-backed store; a sync engine that's agnostic to the source PM tool; prioritization data that's either provider-sourced (fieldmap) or human-authored (augment); and an export path into prism-roadmap for ranking, review, and reporting.

Layered on top of that foundation is INIT-OMNIROADMAP-001: the COMPASS-RICE prioritization system. Where the legacy RICE model scores every opportunity on one undifferentiated 0..1 Reach fraction, compass-rice normalizes each of six investment-thesis profiles (customer, platform, market expansion, operational efficiency, supportability, risk) into the same canonical Reach/Impact/Confidence/Effort shape, so a portfolio mixing wildly different kinds of work gets one comparable score. omniroadmap wires that in end-to-end: ingest, Dolt persistence, a PM review gate, compile-time gating, and DashForge dashboards for both the ranked output and the raw evidence behind it.

See docs/compass-rice.md for the full scoring pipeline and docs/specs/initiatives/INIT-OMNIROADMAP-001/ for the PRD/TRD/PLAN/ROADMAP driving the design.

Changes

Store, sync, and prioritization overlays

An Ent client over the MySQL wire protocol against a local dolt sql-server (store), with Dolt commits wrapping every sync run so the store's own history is versioned. sync paginates any provider, runs results through fieldmap, upserts into the store, and records sync metadata — defensively, so a provider that ignores paging can't cause duplicates or an infinite loop. augment holds hand-authored MoSCoW/Kano/RICE data in a table a re-sync never touches, always overlaid on top of fieldmap-derived values. Dolt integration tests are opt-in via OMNIROADMAP_TEST_DOLT, so a plain go test ./... stays fast and hermetic.

Assessment pipeline: compile, materialize, review, render

compile turns a corpus of prism-roadmap OpportunityAssessments into a draft ReportDataset (MoSCoW/RICE resolution, RankingPolicy.Rank, portfolio distributions); materialize executes a ranking policy and writes calculated ranks back onto assessment records; review applies IR-delta edits (override, effort correction, reclassification, defer, and — new in this release — EditProfile) against a compiled dataset, never touching persistence directly; render turns report contracts into Markdown and a Marp presentation projection.

COMPASS-RICE: ingest, storage, gating

compassbridge.Ingest normalizes a judge's evidence via the compass-rice catalog and rejects it if the evidence struct's self-reported confidence exceeds what the judge's verified claims actually support. ProfileAssignment (new Ent schema, store CRUD matching RankOverride's pattern) carries an opportunity's PM-confirmed profile; compile.gateRankInput treats an opportunity as uncomputable — with an explicit reason — until it has both a CompassAssessment and a matching, confirmed ProfileAssignment, never falling back to the legacy Reach scale. A one-time mih-reclassify command migrates assessments still on the legacy combined Market Investment Horizon bucket onto the new SOM/SAM rungs.

Analytics and dashboards

analyticscatalog and analyticsquery expose items and the assessment family (opportunity_assessments, profile_assignments, per-profile compass_<profile> raw-evidence datasets) as a read-only GuardSQL surface; analyticsdashboards bundles that into a curated, versioned DashboardIR pack. dashforgeconnector registers omniroadmap as a DashForge analytics source, and cmd/omniroadmap-server composes DashForge's server binary with it for local bring-up.

CLI

cmd/omniroadmap wires all of the above behind Cobra: sync, db init, status, augment, item get, config, ui (an embedded GuardSQL-queryable dashboard) from the store/sync layer; assess, profile, moscow, and analytics export-dashboards from the scoring layer. Every read command follows the same library-first pattern — the CLI is a thin wrapper so the underlying packages stay independently unit-testable.

Compatibility

Initial release — no prior version to be compatible with. The public API surface (all exported package identifiers) should be considered pre-1.0 and subject to change without a major version bump, per semver.

Installation

go install github.com/grokify/omniroadmap/cmd/omniroadmap@v0.1.0