A read-only source over Linear's published GraphQL API.
Linear Issue maps to [Task], Project to [Project], IssueLabel and
ProjectLabel to [Label], and WorkflowState.name is preserved while its
type (backlog, unstarted, started, completed, or canceled) maps to
the normalized status category. Issue relations/inverseRelations and
project relations provide native dependency traversal in both directions.
Label, workflow-state, project, and orphan filters are sent in the
issues(filter:)/projects(filter:) variables. Linear's separate search
connection cannot restrict matching to title versus description, so all
three text predicates are deliberately unsupported and ignored here for
sound engine compensation. Pagination uses Relay first and after.
Fixture provenance is recorded in tests/fixtures/README.md. Live tests are
non-destructive by construction: [TaskSource] exposes reads only, and no
test uses GraphQL mutations for setup or teardown.