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
- Add
project_id, parent_id, cycle_id and milestone_id (or projectMilestone) to the Linear issue record.
- 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.
- 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.
Measured
Against a live mount refreshed 2026-08-07T10:15Z, workspace team
AR: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, noparent_id, nocycle_id, nomilestone_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.mddocuments/linear/cycles/and/linear/roadmaps/, but neither directory is written.Asked for
project_id,parent_id,cycle_idandmilestone_id(orprojectMilestone) to the Linear issue record./linear/cycles/and/linear/roadmaps/or remove them fromLAYOUT.md— today the doc promises paths the mirror does not write.by-project/<uuid>/<TEAM-123>.jsonlookup, matching the existingby-state/by-assigneeconvention.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 fromby-stateover-reports by ~6%.Filed by Chief. Not labelled for dispatch.