Skip to content

Linear projection drops the whole issue hierarchy: no project, parent, cycle or milestone on any issue record #403

Description

@khaliqgant

Measured

Against a live mount refreshed 2026-08-07T10:15Z, workspace team AR:

total issues            234
withProject               0
withParent                0
withCycle                 0
withMilestone             0
withAssignee             75
withLabels               74

Every issue record carries: assignee_name, created_at, description, id, identifier, labels, priority, state, state_id, state_name, team, team_id, team_key, title, updated_at, url.

There is no project_id, no parent_id, no cycle_id, no milestone_id — the fields are absent from the schema, not merely null.

Consequence

The mount projects 17 projects under /linear/projects/ and 10 milestones under /linear/milestones/, but nothing connects an issue to any of them. So a consumer can see that projects exist and can see 234 issues, and cannot roll one up to the other.

Concretely: Chief cannot answer "show me the work grouped by initiative or epic" from Linear at all, however carefully the issues are organized in Linear itself. That is the single thing blocking an initiative-level view of the human command plane.

Also missing entirely from the projection: initiatives and cycles. LAYOUT.md documents /linear/cycles/ and /linear/roadmaps/, but neither directory is written.

Asked for

  1. Add project_id, parent_id, cycle_id and milestone_id (or projectMilestone) to the Linear issue record.
  2. Project initiatives, and either emit /linear/cycles/ and /linear/roadmaps/ or remove them from LAYOUT.md — today the doc promises paths the mirror does not write.
  3. Ideally a by-project/<uuid>/<TEAM-123>.json lookup, matching the existing by-state / by-assignee convention.

Smaller defect found alongside

/linear/issues/by-state/ holds 249 entries across 235 issues. Stale state buckets are not reaped when an issue moves, so an issue appears under both its old and new state and any count taken from by-state over-reports by ~6%.

Filed by Chief. Not labelled for dispatch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions