Context
Tracking issue for applying the shared materialization policy from #194 to issue/project tracker adapters after GitHub and GitLab.
Umbrella: #195
Candidate adapters
- Linear
- Jira
- Asana
- ClickUp
These adapters usually have expensive issue/task/project syncs and natural target keys such as workspace, team, project, board, or space.
Suggested provider shapes
- Linear: targets such as teams/projects, resources such as issues/projects/comments/cycles depending on current sync support.
- Jira: targets such as sites/projects/boards, resources such as issues/comments/sprints/statuses depending on current sync support.
- Asana: targets such as workspaces/projects, resources such as tasks/stories/projects.
- ClickUp: targets such as workspaces/spaces/folders/lists, resources such as tasks/comments/lists.
Exact names should follow each adapter's existing path-mapper and config vocabulary.
Acceptance criteria
- Use adapter-core shared materialization utilities; do not fork GitHub/GitLab policy logic.
- Preserve existing eager behavior by default.
- Add provider-specific config types and validation.
- Apply lazy/eager rules before expensive full-record fetches.
- Push filters into provider list APIs where supported; otherwise document handler-side filtering.
- Add tests for lazy default, eager rules, target exact/glob matching, resource filtering, and incremental cursor behavior where supported.
- Update adapter README with supported target/resource names and unsupported filter caveats.
Context
Tracking issue for applying the shared materialization policy from #194 to issue/project tracker adapters after GitHub and GitLab.
Umbrella: #195
Candidate adapters
These adapters usually have expensive issue/task/project syncs and natural target keys such as workspace, team, project, board, or space.
Suggested provider shapes
Exact names should follow each adapter's existing path-mapper and config vocabulary.
Acceptance criteria