Skip to content

fix(forge-loop): ROADMAP deliverable paths and OpenSpec tasks drift from reality #22

@pertrai1

Description

@pertrai1

Problem

Two related tracking-drift issues undermine the loop's ability to know what's done and what's next:

1. ROADMAP deliverable paths go stale on file renames

ROADMAP tasks reference specific file paths as deliverables (e.g., src/storage/file.ts). When files are renamed (as happened with the filename-match-export lint rule requiring file.tsFileStorageBackend.ts), the ROADMAP paths become stale. There's no drift detection — agents or next-work could misreport task status.

Impact: High — stale paths cause next-work to report incomplete tasks that are actually done, or miss tasks entirely.

2. OpenSpec tasks and ROADMAP tasks aren't synced

The loop uses both OpenSpec (openspec/) and ROADMAP files for task tracking, but there's no bridge between them. An agent could mark a ROADMAP task done but forget to archive the OpenSpec change, or vice versa. Two parallel tracking systems with no sync mechanism.

Impact: High — divergent tracking means neither system is authoritative.

Suggested Fix

  • Path drift: Add a validate-roadmap command to forge-helper.sh that checks all deliverable paths exist. Run it as part of the loop's verification step.
  • OpenSpec sync: Either make OpenSpec the single source of truth (and generate ROADMAP status from it), or add a sync check that warns when they disagree.

Files

  • /scripts/forge-helper.sh — Add validate-roadmap command
  • /packages/telemetry/ROADMAP.md — Example of deliverable paths
  • /ROADMAP.md — Root coordination ROADMAP
  • /openspec/ — OpenSpec artifacts

Origin

Forge-loop retrospective — findings #3 and #4 (high impact).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingforge-loopForge-loop automation improvements

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions