A Linear button says “delegate,” the API creates a job, and the worker sees only task_id. Identity disappeared between layers. The worker now cannot distinguish the initiating human, integration, tenant, or approved scope.
What the announcement establishes
GitHub announced Copilot cloud agent for Linear as generally available on July 23, 2026. Delegation from Linear creates a cross-system path; the implementation below is an independent application pattern, not a description of GitHub internals. Read the primary source.
For test track 5.1, the engineering claim here is narrower than the announcement: the surrounding workflow needs a contract that remains valid when metadata, transport, people, or executors change.
The artifact
type Provenance = {
actorId: string; tenantId: string; source: "linear";
issueId: string; scope: string[]; issuedAt: string;
expiresAt: string; nonce: string;
};
type Job = { kind: "apply_patch"; provenance: Provenance; headSha: string };
Middleware should authenticate the inbound integration, resolve its tenant mapping, overwrite rather than trust client-supplied actor fields, authorize scope, and sign the canonical envelope before enqueueing.
For test track 5.2, this is a design fixture, not executed code. Pin language and dependency versions before turning it into a repository test, and replace example identities and timestamps with disposable values.
Success path
The UI displays the resolved actor and scope. The API persists the signed envelope, and the worker verifies signature, expiry, tenant, nonce, head SHA, and path authorization before applying anything.
For test track 5.3, a successful demonstration records inputs, policy or schema version, decision, and final identifier. It does not infer correctness from a confidence label, status badge, or fluent output.
Failure path and regression plan
A replayed nonce, stale SHA, altered scope, or mismatched tenant moves the job to a denied terminal state. It must not be retried as a transient worker error.
Cover UI payload tampering, API actor overwrite, schema-version rejection, queue serialization, expired authorization, duplicate nonce, worker crash after apply, and rollback authorization.
For test track 5.4, the acceptance gate is binary: the negative fixture must produce no unauthorized or duplicate side effect, while the positive fixture must remain traceable to its initial evidence. Expected output should be documented before execution.
Cleanup and rollback
Pause consumers, reject new delegation, reconcile jobs by nonce, revert only commits tied to valid provenance, and rotate the signing key if envelope integrity is uncertain.
For test track 5.5, cleanup must preserve enough sanitized evidence to distinguish cancellation, rejection, stale work, and successful completion. Never solve recovery by silently marking an uncertain operation successful.
Limitations
For test track 5.6, this article proposes a compact engineering exercise and reports no execution results. It does not evaluate service availability, security, accessibility conformance, productivity, or comparative quality. Product previews can change, and a local fixture cannot reproduce every hosted-system failure.
A practical development environment
For unrelated implementation work, MonkeyCode is an open-source AGPL-3.0 AI development platform with an overseas hosted option. It includes a managed server-side cloud development environment, integrated models, task and requirement management, and build, test, and preview workflows. It is free to start. These statements do not mean the GitHub or OpenAI capability discussed above exists in MonkeyCode. Check the console for current quotas, models, regions, duration, and pricing before planning work. Open the campaign workspace.
Disclosure: This article promotes MonkeyCode using an official campaign link. I’m a MonkeyCode user, not affiliated with the project, and I receive no commission from this link.
AI assistance disclosure: This article was drafted with AI assistance and reviewed against the cited primary sources.
Top comments (0)