Skip to content

Add shared materialization policy to issue/project tracker adapters #198

Description

@khaliqgant

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions