Skip to content

Roadmap

Rick Hightower edited this page Jul 28, 2026 · 51 revisions

Current — this is the living version; regenerated at 2026-07-28T22:24:08Z. Historical snapshots are linked from Index-Releases.

This file is generated from .work/todo.jsonl. Edits will be overwritten. To change the roadmap, change the work items: worklog add|update|close.

Roadmap

3 epic(s) in flight, 18 open item(s), 0 blocked, 0 unclassified.

Now

Nothing here.

Next

Extend IA to tickets, PRs, and releases (artifact pages) · P1 · 11 of 12 done

Give every ticket, PR, and release its own generated wiki page reusing the IA content model's wiki_key/truth_state/traceability-graph machinery already built for docs — so a reader sees hierarchy, related artifacts, and traceability in one place instead of hunting indexes/logs.

# Item Type Priority Status Blocked by
138 worklog pr-sync: fetch live PR metadata (files, review/CI status) task P2 todo

One local owner per remote ticket (#226) · P1 · 0 of 7 done · bug 6 / ops 1 · → v0.18.0

Two local work items were allowed to point at the same ticket in the external tracker. Every sync then overwrote that ticket with whichever item changed last, and a cancelled duplicate marked a live high-priority ticket as done. Repairing the ticket by hand did not hold. This work makes a ticket refuse a second owner, adds a way to undo a link, and stops sync from touching any ticket that more than one item claims.

# Item Type Priority Status Blocked by
227 Add an external-key ownership map to the fold task P1 todo
228 Stop sync from pushing a ticket that two items claim task P1 todo
230 Refuse a duplicate external key when linking task P1 todo
231 Keep sync's automatic linking from ever aborting a run task P1 todo
232 Make undoing or moving a link actually re-push task P1 todo
233 Add a command to undo a link task P1 todo
229 Update the mirrored copies, the docs and the changelog task P2 todo

(no epic)

# Item Type Priority Status Blocked by
136 Auto-draft the release CHANGELOG unreleased section from git log task P2 todo
137 banner() mislabels frozen 'current' plans as status reports task P2 todo
141 worklog sync --pull can never bootstrap: cursor-less pull calls the adapter with no --since, which it requires task P2 todo
142 ia_graph build_graph() ignores commit-only sidecar code links (lands-in only honors code.pr) task P2 todo
221 roadmap-snapshot freezes whatever is on disk instead of rendering first task P2 todo
222 Roadmap hides epics whose children are all closed but which are still open task P2 todo
223 Version lockstep check does not cover the README version marker task P2 todo

Later

IA & content model (supersedes wiki-information-architecture) · P1 · 8 of 9 done

Reorganize the project wiki so anyone — a new developer, a PM, an auditor — can find the right page and know whether it is current or historical. Adds a formal content model, stable page identities, truth-state banners, generated navigation and indexes, and an evidence chain from plans to releases. The full design lives in the plan doc; work proceeds in phases, foundations first.

# Item Type Priority Status Blocked by
98 Phase 5: promote gates to hard fail; platform render adapters (GitLab/ADO/Confluence); /worklog:find + glossary task P3 todo

(no epic)

# Item Type Priority Status Blocked by
108 Configurable work-item field model: optional fields (estimate, risk, effort, value, confidence, owner, due_date, acceptance_criteria, blocked_by/blocks) behind work_item_fields config story P3 todo
224 Release procedure omits the re-index required after publishing to the wiki task P3 todo

Milestones

v0.18.0

# Item Type Priority Status Blocked by
227 Add an external-key ownership map to the fold task P1 todo
228 Stop sync from pushing a ticket that two items claim task P1 todo
230 Refuse a duplicate external key when linking task P1 todo
231 Keep sync's automatic linking from ever aborting a run task P1 todo
232 Make undoing or moving a link actually re-push task P1 todo
233 Add a command to undo a link task P1 todo
229 Update the mirrored copies, the docs and the changelog task P2 todo

Visual roadmap

Dependency graph

graph TD
    01KY5G9ZW0H2YMNWDFJYGRPYE5["📦 IA & content model (supersedes"]
    01KY5G9ZW0RABXWHEMEP1FAV2G["📦 Phase 5 promote gates to hard"]
    01KY5NE0ZYGBWG44N0KPEBFCZ8["📦 Configurable work-item field m"]
    01KYABYEQP8ANXGYPBCV2T20D8["📦 Extend IA to tickets PRs and r"]
    01KYAC0AC01R4C6W7YY1X8NVRV["📦 Auto-draft the release CHANGEL"]
    01KYACFJA0SQSF4C83BJZXB5MY["🐛 banner() mislabels frozen 'cur"]
    01KYADGT9Q48EKJZVQQSH4HXWZ["📦 worklog pr-sync fetch live PR"]
    01KYAGZ8KK46SQF1MKHAHVCTJV["🐛 worklog sync --pull can never"]
    01KYAHAB3T2QXGMN4SQT4ZNZGW["🐛 ia_graph build_graph() ignores"]
    01KYKDGVTYMZ0E84BVBC29FTJY["🐛 roadmap-snapshot freezes whate"]
    01KYKDGVZ4C7FSCY7GJNGPV0Q5["🐛 Roadmap hides epics whose chil"]
    01KYKDGW3DFDEQ1DEDFR6N45SM["🔧 Version lockstep check does no"]
    01KYKDGW7HJMRQ2KKF02M8CAAW["🔧 Release procedure omits the re"]
    01KYND4SNNCPZ7R2NWFD7QXYTJ["🐛 Add an external-key ownership"]
    01KYND4SNNVYRAEQ958HK83W72["📦 One local owner per remote tic"]
    01KYND4SNP68XAJ30Q4PY4VV11["🐛 Stop sync from pushing a ticke"]
    01KYND4SNPBAW2A1H0GPHDGT0E["🔧 Update the mirrored copies the"]
    01KYND4SNPF2DYKSMDG4NJ39CF["🐛 Refuse a duplicate external ke"]
    01KYND4SNPG1HFE8E0P7F7K7PF["🐛 Keep sync's automatic linking"]
    01KYND4SNPH307DFDEE9BJ0ZZ4["🐛 Make undoing or moving a link"]
    01KYND4SNPXVR1W4GQA453VB4G["🐛 Add a command to undo a link"]
    01KY5G9ZW0H2YMNWDFJYGRPYE5 --> 01KY5G9ZW0RABXWHEMEP1FAV2G
    01KYABYEQP8ANXGYPBCV2T20D8 --> 01KYADGT9Q48EKJZVQQSH4HXWZ
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNNCPZ7R2NWFD7QXYTJ
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNP68XAJ30Q4PY4VV11
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNPBAW2A1H0GPHDGT0E
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNPF2DYKSMDG4NJ39CF
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNPG1HFE8E0P7F7K7PF
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNPH307DFDEE9BJ0ZZ4
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNPXVR1W4GQA453VB4G
    classDef todo fill:#f4f4f4,stroke:#999999
    class 01KY5G9ZW0H2YMNWDFJYGRPYE5,01KY5G9ZW0RABXWHEMEP1FAV2G,01KY5NE0ZYGBWG44N0KPEBFCZ8,01KYABYEQP8ANXGYPBCV2T20D8,01KYAC0AC01R4C6W7YY1X8NVRV,01KYACFJA0SQSF4C83BJZXB5MY,01KYADGT9Q48EKJZVQQSH4HXWZ,01KYAGZ8KK46SQF1MKHAHVCTJV,01KYAHAB3T2QXGMN4SQT4ZNZGW,01KYKDGVTYMZ0E84BVBC29FTJY,01KYKDGVZ4C7FSCY7GJNGPV0Q5,01KYKDGW3DFDEQ1DEDFR6N45SM,01KYKDGW7HJMRQ2KKF02M8CAAW,01KYND4SNNCPZ7R2NWFD7QXYTJ,01KYND4SNP68XAJ30Q4PY4VV11,01KYND4SNPBAW2A1H0GPHDGT0E,01KYND4SNPF2DYKSMDG4NJ39CF,01KYND4SNPG1HFE8E0P7F7K7PF,01KYND4SNPH307DFDEE9BJ0ZZ4,01KYND4SNPXVR1W4GQA453VB4G todo
    classDef in_progress fill:#d9f2d9,stroke:#2e7d32
    class 01KYND4SNNVYRAEQ958HK83W72 in_progress
Loading

Hierarchy

graph TD
    01KY5G9ZW0H2YMNWDFJYGRPYE5["📦 IA & content model (supersedes"]
    01KY5G9ZW0RABXWHEMEP1FAV2G["📦 Phase 5 promote gates to hard"]
    01KY5NE0ZYGBWG44N0KPEBFCZ8["📦 Configurable work-item field m"]
    01KYABYEQP8ANXGYPBCV2T20D8["📦 Extend IA to tickets PRs and r"]
    01KYAC0AC01R4C6W7YY1X8NVRV["📦 Auto-draft the release CHANGEL"]
    01KYACFJA0SQSF4C83BJZXB5MY["🐛 banner() mislabels frozen 'cur"]
    01KYADGT9Q48EKJZVQQSH4HXWZ["📦 worklog pr-sync fetch live PR"]
    01KYAGZ8KK46SQF1MKHAHVCTJV["🐛 worklog sync --pull can never"]
    01KYAHAB3T2QXGMN4SQT4ZNZGW["🐛 ia_graph build_graph() ignores"]
    01KYKDGVTYMZ0E84BVBC29FTJY["🐛 roadmap-snapshot freezes whate"]
    01KYKDGVZ4C7FSCY7GJNGPV0Q5["🐛 Roadmap hides epics whose chil"]
    01KYKDGW3DFDEQ1DEDFR6N45SM["🔧 Version lockstep check does no"]
    01KYKDGW7HJMRQ2KKF02M8CAAW["🔧 Release procedure omits the re"]
    01KYND4SNNCPZ7R2NWFD7QXYTJ["🐛 Add an external-key ownership"]
    01KYND4SNNVYRAEQ958HK83W72["📦 One local owner per remote tic"]
    01KYND4SNP68XAJ30Q4PY4VV11["🐛 Stop sync from pushing a ticke"]
    01KYND4SNPBAW2A1H0GPHDGT0E["🔧 Update the mirrored copies the"]
    01KYND4SNPF2DYKSMDG4NJ39CF["🐛 Refuse a duplicate external ke"]
    01KYND4SNPG1HFE8E0P7F7K7PF["🐛 Keep sync's automatic linking"]
    01KYND4SNPH307DFDEE9BJ0ZZ4["🐛 Make undoing or moving a link"]
    01KYND4SNPXVR1W4GQA453VB4G["🐛 Add a command to undo a link"]
    01KY5G9ZW0H2YMNWDFJYGRPYE5 --> 01KY5G9ZW0RABXWHEMEP1FAV2G
    01KYABYEQP8ANXGYPBCV2T20D8 --> 01KYADGT9Q48EKJZVQQSH4HXWZ
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNNCPZ7R2NWFD7QXYTJ
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNP68XAJ30Q4PY4VV11
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNPBAW2A1H0GPHDGT0E
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNPF2DYKSMDG4NJ39CF
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNPG1HFE8E0P7F7K7PF
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNPH307DFDEE9BJ0ZZ4
    01KYND4SNNVYRAEQ958HK83W72 --> 01KYND4SNPXVR1W4GQA453VB4G
Loading

Clone this wiki locally