@agent-relay/factory 0.1.73 → 0.1.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +9 -0
  2. package/dist/cli/diagnose.d.ts +15 -0
  3. package/dist/cli/diagnose.d.ts.map +1 -1
  4. package/dist/cli/diagnose.js +34 -0
  5. package/dist/cli/diagnose.js.map +1 -1
  6. package/dist/cli/fleet.d.ts.map +1 -1
  7. package/dist/cli/fleet.js +5 -0
  8. package/dist/cli/fleet.js.map +1 -1
  9. package/dist/cli/teammate-mcp.d.ts +19 -0
  10. package/dist/cli/teammate-mcp.d.ts.map +1 -0
  11. package/dist/cli/teammate-mcp.js +102 -0
  12. package/dist/cli/teammate-mcp.js.map +1 -0
  13. package/dist/environments/load-profile.d.ts +4 -4
  14. package/dist/environments/stack-descriptor.d.ts +17 -17
  15. package/dist/environments/verification-stack-descriptor.d.ts +32 -32
  16. package/dist/fleet/create-fleet.d.ts +2 -0
  17. package/dist/fleet/create-fleet.d.ts.map +1 -1
  18. package/dist/fleet/create-fleet.js +1 -0
  19. package/dist/fleet/create-fleet.js.map +1 -1
  20. package/dist/fleet/internal-fleet-client.d.ts +29 -1
  21. package/dist/fleet/internal-fleet-client.d.ts.map +1 -1
  22. package/dist/fleet/internal-fleet-client.js +161 -11
  23. package/dist/fleet/internal-fleet-client.js.map +1 -1
  24. package/dist/fleet/relay-fleet-client.d.ts +23 -1
  25. package/dist/fleet/relay-fleet-client.d.ts.map +1 -1
  26. package/dist/fleet/relay-fleet-client.js +167 -2
  27. package/dist/fleet/relay-fleet-client.js.map +1 -1
  28. package/dist/fleet/teammates.d.ts +46 -0
  29. package/dist/fleet/teammates.d.ts.map +1 -0
  30. package/dist/fleet/teammates.js +424 -0
  31. package/dist/fleet/teammates.js.map +1 -0
  32. package/dist/index.d.ts +9 -2
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +4 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/mount/relayfile-cloud-mount-client.d.ts +4 -1
  37. package/dist/mount/relayfile-cloud-mount-client.d.ts.map +1 -1
  38. package/dist/mount/relayfile-cloud-mount-client.js +40 -9
  39. package/dist/mount/relayfile-cloud-mount-client.js.map +1 -1
  40. package/dist/mount/relayfile-github-connection-write.d.ts +3 -2
  41. package/dist/mount/relayfile-github-connection-write.d.ts.map +1 -1
  42. package/dist/mount/relayfile-github-connection-write.js +33 -0
  43. package/dist/mount/relayfile-github-connection-write.js.map +1 -1
  44. package/dist/node/factory-node-runtime.d.ts +17 -0
  45. package/dist/node/factory-node-runtime.d.ts.map +1 -0
  46. package/dist/node/factory-node-runtime.js +100 -0
  47. package/dist/node/factory-node-runtime.js.map +1 -0
  48. package/dist/node/factory-node.d.ts +10 -1
  49. package/dist/node/factory-node.d.ts.map +1 -1
  50. package/dist/node/factory-node.js +13 -2
  51. package/dist/node/factory-node.js.map +1 -1
  52. package/dist/node/factory-persona-card.d.ts +38 -0
  53. package/dist/node/factory-persona-card.d.ts.map +1 -0
  54. package/dist/node/factory-persona-card.js +163 -0
  55. package/dist/node/factory-persona-card.js.map +1 -0
  56. package/dist/node/factory.node.d.ts +1 -1
  57. package/dist/observability/events.d.ts +24 -24
  58. package/dist/orchestrator/factory.d.ts.map +1 -1
  59. package/dist/orchestrator/factory.js +1016 -75
  60. package/dist/orchestrator/factory.js.map +1 -1
  61. package/dist/orchestrator/public-health.d.ts.map +1 -1
  62. package/dist/orchestrator/public-health.js +36 -0
  63. package/dist/orchestrator/public-health.js.map +1 -1
  64. package/dist/orchestrator/release-error.d.ts +26 -0
  65. package/dist/orchestrator/release-error.d.ts.map +1 -0
  66. package/dist/orchestrator/release-error.js +33 -0
  67. package/dist/orchestrator/release-error.js.map +1 -0
  68. package/dist/ports/fleet.d.ts +66 -0
  69. package/dist/ports/fleet.d.ts.map +1 -1
  70. package/dist/ports/fleet.js +10 -1
  71. package/dist/ports/fleet.js.map +1 -1
  72. package/dist/ports/index.d.ts +4 -3
  73. package/dist/ports/index.d.ts.map +1 -1
  74. package/dist/ports/index.js +1 -1
  75. package/dist/ports/index.js.map +1 -1
  76. package/dist/ports/mount.d.ts +10 -2
  77. package/dist/ports/mount.d.ts.map +1 -1
  78. package/dist/ports/writeback.d.ts +45 -4
  79. package/dist/ports/writeback.d.ts.map +1 -1
  80. package/dist/state/watch-state-document.js +4 -1
  81. package/dist/state/watch-state-document.js.map +1 -1
  82. package/dist/testing/fakes.d.ts +8 -3
  83. package/dist/testing/fakes.d.ts.map +1 -1
  84. package/dist/testing/fakes.js +25 -1
  85. package/dist/testing/fakes.js.map +1 -1
  86. package/dist/triage/schema.d.ts +14 -14
  87. package/dist/types.d.ts +52 -0
  88. package/dist/types.d.ts.map +1 -1
  89. package/dist/writeback/github.d.ts +17 -9
  90. package/dist/writeback/github.d.ts.map +1 -1
  91. package/dist/writeback/github.js +331 -9
  92. package/dist/writeback/github.js.map +1 -1
  93. package/dist/writeback/linear.d.ts +5 -1
  94. package/dist/writeback/linear.d.ts.map +1 -1
  95. package/dist/writeback/linear.js +89 -1
  96. package/dist/writeback/linear.js.map +1 -1
  97. package/package.json +4 -2
@@ -1,6 +1,6 @@
1
- import type { GithubConnectionWrite, MountClient } from '../ports/index.js';
1
+ import type { GithubConnectionRead, GithubConnectionWrite, MountClient } from '../ports/index.js';
2
2
  import type { GithubPublishPullRequestInput, GithubPublishPullRequestResult } from '../ports/mount.js';
3
- import type { GithubIssueStatus, GithubWriteback } from '../ports/writeback.js';
3
+ import type { GithubIssueCloseWriteResult, GithubIssueStatus, GithubStatusClaimReceipt, GithubStatusRollbackResult, GithubStatusWriteResult, GithubWriteback } from '../ports/writeback.js';
4
4
  import { type GhRunner } from '../github/merge-gate.js';
5
5
  import type { LinearIssue, PrSummary } from '../types.js';
6
6
  export declare const FACTORY_GITHUB_STATUS_LABELS: Record<Exclude<GithubIssueStatus, 'ready'>, {
@@ -17,16 +17,22 @@ export interface GhCliGithubWritebackConfig {
17
17
  }
18
18
  /**
19
19
  * Orchestrator-facing GitHub lifecycle adapter for the connected App writer.
20
- * Provider-authoritative reads remain intentionally absent until the mount
21
- * exposes an app-actor read contract; GithubWriteback models those as optional.
20
+ * Conditional compensation requires both an actor-qualified mutation receipt
21
+ * and the optional provider-authoritative reader supplied by the mount.
22
22
  */
23
23
  export declare class AppGithubWriteback implements GithubWriteback {
24
24
  #private;
25
- constructor(write: GithubConnectionWrite);
25
+ constructor(write: GithubConnectionWrite, read?: GithubConnectionRead);
26
26
  publishPullRequest(input: GithubPublishPullRequestInput): Promise<GithubPublishPullRequestResult>;
27
27
  postComment(issue: LinearIssue, body: string): Promise<void>;
28
- setStatus(issue: LinearIssue, status: GithubIssueStatus): Promise<void>;
29
- closeIssue(issue: LinearIssue, body: string): Promise<void>;
28
+ getIssueStatus(issue: LinearIssue, opts?: {
29
+ requireFresh?: boolean;
30
+ freshAfterMs?: number;
31
+ }): Promise<GithubIssueStatus | undefined>;
32
+ setStatus(issue: LinearIssue, status: GithubIssueStatus): Promise<GithubStatusWriteResult>;
33
+ claimStatus(issue: LinearIssue, status: GithubIssueStatus): Promise<GithubStatusClaimReceipt>;
34
+ rollbackStatusClaim(_issue: LinearIssue, _status: GithubIssueStatus, _claimToken: string): Promise<GithubStatusRollbackResult>;
35
+ closeIssue(issue: LinearIssue, body: string): Promise<GithubIssueCloseWriteResult>;
30
36
  }
31
37
  /**
32
38
  * Compatibility GitHub issue lifecycle writeback using authenticated `gh`
@@ -42,7 +48,9 @@ export declare class GhCliGithubWriteback implements GithubWriteback {
42
48
  getIssueStatus(issue: LinearIssue): Promise<GithubIssueStatus>;
43
49
  postComment(issue: LinearIssue, body: string): Promise<void>;
44
50
  hasCommentMarker(issue: LinearIssue, marker: string): Promise<boolean>;
45
- setStatus(issue: LinearIssue, status: GithubIssueStatus): Promise<void>;
46
- closeIssue(issue: LinearIssue, body: string): Promise<void>;
51
+ setStatus(issue: LinearIssue, status: GithubIssueStatus): Promise<GithubStatusWriteResult>;
52
+ claimStatus(issue: LinearIssue, status: GithubIssueStatus): Promise<GithubStatusClaimReceipt>;
53
+ rollbackStatusClaim(issue: LinearIssue, status: GithubIssueStatus, claimToken: string): Promise<GithubStatusRollbackResult>;
54
+ closeIssue(issue: LinearIssue, body: string): Promise<GithubIssueCloseWriteResult>;
47
55
  }
48
56
  //# sourceMappingURL=github.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/writeback/github.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAClE,OAAO,KAAK,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAA;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAKtD,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAW1I,CAAA;AAkBD,eAAO,MAAM,eAAe,GAAI,OAAO,WAAW;gBAC9B,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CAgB7D,CAAA;AAEF,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,SAAS,CAAC,EAAE,QAAQ,CAAA;CACrB;AAOD;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,eAAe;;gBAG5C,KAAK,EAAE,qBAAqB;IASlC,kBAAkB,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAIjG,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCvE,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAUlE;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,eAAe;;gBAI9C,MAAM,GAAE,0BAA+B;IAKnD,2EAA2E;IACrE,kBAAkB,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAuFjG,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAgB/D,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAO9D,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5D,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYtE,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8EvE,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAuBlE"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/writeback/github.ts"],"names":[],"mappings":"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"}
@@ -45,16 +45,32 @@ export const MountGithubRead = (mount) => ({
45
45
  });
46
46
  /**
47
47
  * Orchestrator-facing GitHub lifecycle adapter for the connected App writer.
48
- * Provider-authoritative reads remain intentionally absent until the mount
49
- * exposes an app-actor read contract; GithubWriteback models those as optional.
48
+ * Conditional compensation requires both an actor-qualified mutation receipt
49
+ * and the optional provider-authoritative reader supplied by the mount.
50
50
  */
51
51
  export class AppGithubWriteback {
52
52
  #write;
53
- constructor(write) {
53
+ #connectedRead;
54
+ #fallbackRead;
55
+ /**
56
+ * Newest connected projection this adapter has observed actually carrying a
57
+ * Factory claim, per issue. GitHub label mutations expose no immutable event
58
+ * identity (see `claimStatus`), so a projection that shows the claim is the
59
+ * only mutation-relative anchor this surface can produce.
60
+ */
61
+ #claimProjections = new Map();
62
+ constructor(write, read) {
54
63
  if (!write.postIssueComment || !write.ensureRepositoryLabel || !write.mutateIssueLabel || !write.updateIssue) {
55
64
  throw new Error('GitHub App lifecycle writeback requires connected comment, label, and issue-update capabilities');
56
65
  }
57
66
  this.#write = write;
67
+ // Prefer the authenticated read carried by the connected App surface, but
68
+ // retain the direct reader for public repositories when the projection is
69
+ // indeterminate or has not advanced past an ambiguous claim.
70
+ this.#connectedRead = write.getIssue
71
+ ? { getIssue: write.getIssue.bind(write) }
72
+ : undefined;
73
+ this.#fallbackRead = read;
58
74
  }
59
75
  async publishPullRequest(input) {
60
76
  return await this.#write.publishPullRequest(input);
@@ -68,6 +84,67 @@ export class AppGithubWriteback {
68
84
  author: 'app',
69
85
  });
70
86
  }
87
+ async getIssueStatus(issue, opts = {}) {
88
+ const ref = githubIssueRef(issue);
89
+ if (this.#connectedRead) {
90
+ const connected = await this.#connectedRead.getIssue(ref.repo, ref.number);
91
+ if (connected.outcome === 'not-found')
92
+ return undefined;
93
+ if (connected.outcome === 'found') {
94
+ const status = githubStatusFromLabels(githubLabelsFromContent(connected.issue.content));
95
+ const updatedAtMs = githubIssueUpdatedAtMs(connected.issue.content);
96
+ const projection = `${ref.repo}#${ref.number}`;
97
+ if (status === 'in-progress') {
98
+ this.#anchorClaimProjection(projection, updatedAtMs);
99
+ return status;
100
+ }
101
+ if (!opts.requireFresh || this.#postdatesClaimMutation(projection, status, updatedAtMs, opts.freshAfterMs)) {
102
+ return status;
103
+ }
104
+ // The canonical projection is readable but cannot be shown to postdate
105
+ // the ambiguous mutation. A public direct read can still supply a live
106
+ // provider observation; a private repository fails closed below.
107
+ }
108
+ }
109
+ if (!this.#fallbackRead)
110
+ return undefined;
111
+ const fallback = await this.#fallbackRead.getIssue(ref.repo, ref.number);
112
+ if (fallback.outcome !== 'found')
113
+ return undefined;
114
+ return githubStatusFromLabels(githubLabelsFromContent(fallback.issue.content));
115
+ }
116
+ #anchorClaimProjection(projection, updatedAtMs) {
117
+ if (updatedAtMs === undefined)
118
+ return;
119
+ const anchored = this.#claimProjections.get(projection);
120
+ if (anchored === undefined || updatedAtMs > anchored)
121
+ this.#claimProjections.set(projection, updatedAtMs);
122
+ }
123
+ /**
124
+ * Whether a non-in-progress connected projection can be trusted to postdate
125
+ * an ambiguous claim mutation.
126
+ *
127
+ * The issue's generic `updated_at` is not causal evidence by itself: an
128
+ * unrelated description or assignee edit bumps it after the claim request
129
+ * starts but before the acknowledged label write reaches the projection, so a
130
+ * timestamp merely newer than the local claim-start instant says nothing
131
+ * about the claim. `ready` is exactly what BOTH "the claim has not landed in
132
+ * this projection yet" and "the claim was removed after it did" look like, so
133
+ * it counts only when it is strictly newer than a projection this adapter saw
134
+ * carrying the claim. Any other Factory status label is positive evidence of
135
+ * a later lifecycle decision on its own — no incidental edit produces one
136
+ * (#346 review, codex).
137
+ */
138
+ #postdatesClaimMutation(projection, status, updatedAtMs, freshAfterMs) {
139
+ if (updatedAtMs === undefined)
140
+ return false;
141
+ if (freshAfterMs !== undefined && updatedAtMs <= freshAfterMs)
142
+ return false;
143
+ const anchored = this.#claimProjections.get(projection);
144
+ if (anchored !== undefined && updatedAtMs > anchored)
145
+ return true;
146
+ return status !== 'ready' && freshAfterMs !== undefined;
147
+ }
71
148
  async setStatus(issue, status) {
72
149
  const ref = githubIssueRef(issue);
73
150
  if (status === 'ready') {
@@ -80,7 +157,7 @@ export class AppGithubWriteback {
80
157
  author: 'app',
81
158
  });
82
159
  }
83
- return;
160
+ return 'acknowledged';
84
161
  }
85
162
  const target = FACTORY_GITHUB_STATUS_LABELS[status];
86
163
  const previous = FACTORY_GITHUB_STATUS_LABELS[status === 'in-progress' ? 'human-review' : 'in-progress'];
@@ -89,7 +166,7 @@ export class AppGithubWriteback {
89
166
  ...target,
90
167
  author: 'app',
91
168
  });
92
- await this.#write.mutateIssueLabel({
169
+ const addReceipt = await this.#write.mutateIssueLabel({
93
170
  repo: ref.repo,
94
171
  number: ref.number,
95
172
  operation: 'add',
@@ -103,6 +180,22 @@ export class AppGithubWriteback {
103
180
  label: previous.name,
104
181
  author: 'app',
105
182
  });
183
+ // Only the target-label add can prove ownership of the claim that rollback
184
+ // may later remove. Mutating the obsolete label is not such a receipt.
185
+ return addReceipt ?? 'acknowledged';
186
+ }
187
+ async claimStatus(issue, status) {
188
+ // Relayfile's current GitHub label mutation acknowledges provider success
189
+ // but does not expose an immutable label-event identity. Preserve that
190
+ // uncertainty explicitly so rejected dispatches fail closed.
191
+ return { result: await this.setStatus(issue, status) };
192
+ }
193
+ async rollbackStatusClaim(_issue, _status, _claimToken) {
194
+ // GitHub label mutation has no compare-and-set precondition. A read here
195
+ // cannot authorize a later remove: an identical newer claim may land in
196
+ // between. Until the connection exposes an atomic ownership primitive,
197
+ // preserve the status and make the compensation failure observable.
198
+ return 'unproven';
106
199
  }
107
200
  async closeIssue(issue, body) {
108
201
  const ref = githubIssueRef(issue);
@@ -113,6 +206,9 @@ export class AppGithubWriteback {
113
206
  state: 'closed',
114
207
  author: 'app',
115
208
  });
209
+ // Relayfile confirms acknowledgement, but this writer has no provider
210
+ // audit receipt that distinguishes our close from a concurrent actor's.
211
+ return 'acknowledged';
116
212
  }
117
213
  }
118
214
  /**
@@ -255,23 +351,39 @@ export class GhCliGithubWriteback {
255
351
  return result.stdout.includes(marker);
256
352
  }
257
353
  async setStatus(issue, status) {
354
+ return (await this.#setStatusWithClaim(issue, status)).result ?? 'acknowledged';
355
+ }
356
+ async claimStatus(issue, status) {
357
+ return await this.#setStatusWithClaim(issue, status);
358
+ }
359
+ async #setStatusWithClaim(issue, status) {
258
360
  const ref = githubIssueRef(issue);
259
361
  if (status === 'ready') {
260
362
  const labels = await this.#issueLabels(ref);
363
+ const statusBefore = githubStatusFromLabels(labels);
261
364
  const editArgs = ['issue', 'edit', String(ref.number), '--repo', ref.repo];
262
365
  for (const label of Object.values(FACTORY_GITHUB_STATUS_LABELS)) {
263
366
  if (labels.has(label.name.toLowerCase())) {
264
367
  editArgs.push('--remove-label', label.name);
265
368
  }
266
369
  }
267
- if (editArgs.length > 5) {
370
+ const editRequired = editArgs.length > 5;
371
+ const receiptBaseline = editRequired
372
+ ? await this.#labelReceiptBaseline(ref, labels).catch(() => undefined)
373
+ : undefined;
374
+ if (editRequired) {
268
375
  await this.#run(editArgs);
269
376
  }
270
377
  const confirmed = await this.#issueLabels(ref);
271
378
  if (Object.values(FACTORY_GITHUB_STATUS_LABELS).some((label) => confirmed.has(label.name.toLowerCase()))) {
272
379
  throw new Error(`GitHub writeback did not confirm removal of Factory status labels on ${ref.repo}#${ref.number}`);
273
380
  }
274
- return;
381
+ if (!editRequired)
382
+ return { result: 'already-matched' };
383
+ const claimToken = await this.#authoredStatusTransitionToken(ref, receiptBaseline, statusBefore, status);
384
+ return claimToken
385
+ ? { result: 'applied', claimToken }
386
+ : { result: 'acknowledged' };
275
387
  }
276
388
  const target = FACTORY_GITHUB_STATUS_LABELS[status];
277
389
  const previous = FACTORY_GITHUB_STATUS_LABELS[status === 'in-progress' ? 'human-review' : 'in-progress'];
@@ -288,6 +400,7 @@ export class GhCliGithubWriteback {
288
400
  '--force',
289
401
  ]);
290
402
  const labels = await this.#issueLabels(ref);
403
+ const statusBefore = githubStatusFromLabels(labels);
291
404
  const editArgs = [
292
405
  'issue',
293
406
  'edit',
@@ -301,15 +414,49 @@ export class GhCliGithubWriteback {
301
414
  if (labels.has(previous.name.toLowerCase())) {
302
415
  editArgs.push('--remove-label', previous.name);
303
416
  }
304
- if (editArgs.length > 5) {
417
+ const editRequired = editArgs.length > 5;
418
+ const receiptBaseline = editRequired
419
+ ? await this.#labelReceiptBaseline(ref, labels).catch(() => undefined)
420
+ : undefined;
421
+ if (editRequired) {
305
422
  await this.#run(editArgs);
306
423
  }
307
424
  const confirmed = await this.#issueLabels(ref);
308
425
  if (confirmed.has(target.name.toLowerCase()) && !confirmed.has(previous.name.toLowerCase())) {
309
- return;
426
+ // Removing an obsolete label is a provider mutation, but it does not
427
+ // establish ownership when the requested effective status already won
428
+ // before our first read (notably human-review over in-progress).
429
+ if (statusBefore === status)
430
+ return { result: 'already-matched' };
431
+ const claimToken = await this.#authoredStatusTransitionToken(ref, receiptBaseline, statusBefore, status);
432
+ return claimToken
433
+ ? { result: 'applied', claimToken }
434
+ : { result: 'acknowledged' };
310
435
  }
311
436
  throw new Error(`GitHub writeback did not confirm ${target.name} on ${ref.repo}#${ref.number}`);
312
437
  }
438
+ async rollbackStatusClaim(issue, status, claimToken) {
439
+ if (status !== 'in-progress')
440
+ return 'unproven';
441
+ const ref = githubIssueRef(issue);
442
+ if (githubStatusFromLabels(await this.#issueLabels(ref)) !== status)
443
+ return 'superseded';
444
+ const events = await this.#issueLabelEvents(ref).catch(() => undefined);
445
+ if (!events)
446
+ return 'unproven';
447
+ const claimIndex = events.findIndex((event) => event.id === claimToken);
448
+ const claimEvent = claimIndex >= 0 ? events[claimIndex] : undefined;
449
+ if (claimEvent?.event !== 'labeled'
450
+ || claimEvent.label !== FACTORY_GITHUB_STATUS_LABELS['in-progress'].name)
451
+ return 'unproven';
452
+ const statusLabels = new Set(Object.values(FACTORY_GITHUB_STATUS_LABELS).map((label) => label.name));
453
+ if (events.slice(claimIndex + 1).some((event) => statusLabels.has(event.label)))
454
+ return 'superseded';
455
+ // `gh issue edit` has no atomic label-event precondition. Even this exact
456
+ // provider token can become stale after the read, so never turn it into an
457
+ // unsafe read-then-remove operation.
458
+ return 'unproven';
459
+ }
313
460
  async #issueLabels(ref) {
314
461
  const result = await this.#run([
315
462
  'issue',
@@ -328,9 +475,74 @@ export class GhCliGithubWriteback {
328
475
  .map((label) => stringValue(label.name)?.toLowerCase())
329
476
  .filter((label) => Boolean(label)));
330
477
  }
478
+ async #labelReceiptBaseline(ref, labels) {
479
+ const actor = (await this.#run(['api', 'user', '--jq', '.login'])).stdout.trim().toLowerCase();
480
+ if (!actor)
481
+ throw new Error('GitHub lifecycle receipt could not resolve the authenticated actor');
482
+ const events = await this.#issueLabelEvents(ref);
483
+ const statusLabelNames = new Set(Object.values(FACTORY_GITHUB_STATUS_LABELS).map((label) => label.name));
484
+ return {
485
+ actor,
486
+ eventIds: new Set(events.map((event) => event.id)),
487
+ statusLabels: new Set([...labels].filter((label) => statusLabelNames.has(label))),
488
+ };
489
+ }
490
+ async #authoredStatusTransitionToken(ref, baseline, from, to) {
491
+ if (!baseline)
492
+ return undefined;
493
+ const expected = githubStatusTransitionEvent(from, to);
494
+ if (!expected)
495
+ return undefined;
496
+ const events = await this.#issueLabelEvents(ref).catch(() => []);
497
+ const statusLabels = new Set(Object.values(FACTORY_GITHUB_STATUS_LABELS).map((label) => label.name));
498
+ const newStatusEvents = events.filter((event) => !baseline.eventIds.has(event.id) && statusLabels.has(event.label));
499
+ const effectiveLabels = new Set(baseline.statusLabels);
500
+ let definingEvent;
501
+ for (const event of newStatusEvents) {
502
+ const before = githubStatusFromLabels(effectiveLabels);
503
+ if (event.event === 'labeled')
504
+ effectiveLabels.add(event.label);
505
+ else
506
+ effectiveLabels.delete(event.label);
507
+ const after = githubStatusFromLabels(effectiveLabels);
508
+ if (before !== to && after === to)
509
+ definingEvent = event;
510
+ }
511
+ if (githubStatusFromLabels(effectiveLabels) !== to)
512
+ return undefined;
513
+ // Attribute the event that last made the confirmed effective status true,
514
+ // not later status-label cleanup that leaves the effective status intact.
515
+ return definingEvent?.actor === baseline.actor
516
+ && definingEvent.event === expected.event
517
+ && definingEvent.label === expected.label
518
+ ? definingEvent.id
519
+ : undefined;
520
+ }
521
+ async #issueLabelEvents(ref) {
522
+ const result = await this.#run([
523
+ 'api',
524
+ '--paginate',
525
+ `repos/${ref.repo}/issues/${ref.number}/events`,
526
+ '--jq',
527
+ '.[] | select(.event == "labeled" or .event == "unlabeled") | [.id, .event, .label.name, .actor.login] | @tsv',
528
+ ]);
529
+ return result.stdout
530
+ .split('\n')
531
+ .map((line) => line.trim())
532
+ .filter(Boolean)
533
+ .flatMap((line) => {
534
+ const [id, event, label, actor] = line.split('\t');
535
+ if (!id || (event !== 'labeled' && event !== 'unlabeled') || !label || !actor)
536
+ return [];
537
+ return [{ id, event, label: label.toLowerCase(), actor: actor.toLowerCase() }];
538
+ });
539
+ }
331
540
  async closeIssue(issue, body) {
332
541
  const ref = githubIssueRef(issue);
333
542
  await this.postComment(issue, body);
543
+ if (await this.#issueState(ref) === 'closed')
544
+ return 'already-matched';
545
+ const receiptBaseline = await this.#issueCloseReceiptBaseline(ref).catch(() => undefined);
334
546
  await this.#run([
335
547
  'issue',
336
548
  'close',
@@ -340,6 +552,74 @@ export class GhCliGithubWriteback {
340
552
  '--reason',
341
553
  'completed',
342
554
  ]);
555
+ if (await this.#issueState(ref) !== 'closed') {
556
+ throw new Error(`GitHub writeback did not confirm closed state on ${ref.repo}#${ref.number}`);
557
+ }
558
+ return await this.#hasAuthoredIssueClose(ref, receiptBaseline)
559
+ ? 'applied'
560
+ : 'acknowledged';
561
+ }
562
+ async #issueState(ref) {
563
+ const result = await this.#run([
564
+ 'issue',
565
+ 'view',
566
+ String(ref.number),
567
+ '--repo',
568
+ ref.repo,
569
+ '--json',
570
+ 'state',
571
+ ]);
572
+ const parsed = JSON.parse(result.stdout);
573
+ const state = stringValue(parsed.state)?.toLowerCase();
574
+ if (state === 'open' || state === 'closed')
575
+ return state;
576
+ throw new Error(`GitHub lifecycle read returned an unknown issue state on ${ref.repo}#${ref.number}`);
577
+ }
578
+ async #issueCloseReceiptBaseline(ref) {
579
+ const actor = (await this.#run(['api', 'user', '--jq', '.login'])).stdout.trim().toLowerCase();
580
+ if (!actor)
581
+ throw new Error('GitHub close receipt could not resolve the authenticated actor');
582
+ const events = await this.#issueStateEvents(ref);
583
+ return { actor, eventIds: new Set(events.map((event) => event.id)) };
584
+ }
585
+ async #hasAuthoredIssueClose(ref, baseline) {
586
+ if (!baseline)
587
+ return false;
588
+ const events = await this.#issueStateEvents(ref).catch(() => []);
589
+ const newEvents = events.filter((event) => !baseline.eventIds.has(event.id));
590
+ let state = 'open';
591
+ let definingClose;
592
+ for (const event of newEvents) {
593
+ if (event.event === 'closed') {
594
+ if (state === 'open')
595
+ definingClose = event;
596
+ state = 'closed';
597
+ }
598
+ else {
599
+ state = 'open';
600
+ definingClose = undefined;
601
+ }
602
+ }
603
+ return state === 'closed' && definingClose?.actor === baseline.actor;
604
+ }
605
+ async #issueStateEvents(ref) {
606
+ const result = await this.#run([
607
+ 'api',
608
+ '--paginate',
609
+ `repos/${ref.repo}/issues/${ref.number}/events`,
610
+ '--jq',
611
+ '.[] | select(.event == "closed" or .event == "reopened") | [.id, .event, .actor.login] | @tsv',
612
+ ]);
613
+ return result.stdout
614
+ .split('\n')
615
+ .map((line) => line.trim())
616
+ .filter(Boolean)
617
+ .flatMap((line) => {
618
+ const [id, event, actor] = line.split('\t');
619
+ if (!id || (event !== 'closed' && event !== 'reopened') || !actor)
620
+ return [];
621
+ return [{ id, event, actor: actor.toLowerCase() }];
622
+ });
343
623
  }
344
624
  async #gitValue(args, description) {
345
625
  try {
@@ -353,6 +633,48 @@ export class GhCliGithubWriteback {
353
633
  throw new Error(`Unable to resolve ${description} for GitHub user PR publication`);
354
634
  }
355
635
  }
636
+ const githubStatusFromLabels = (labels) => {
637
+ if (labels.has(FACTORY_GITHUB_STATUS_LABELS['human-review'].name.toLowerCase()))
638
+ return 'human-review';
639
+ if (labels.has(FACTORY_GITHUB_STATUS_LABELS['in-progress'].name.toLowerCase()))
640
+ return 'in-progress';
641
+ return 'ready';
642
+ };
643
+ const githubLabelsFromContent = (content) => {
644
+ const payload = wrappedPayload(content);
645
+ const labels = Array.isArray(payload.labels) ? payload.labels : [];
646
+ return new Set(labels.flatMap((label) => {
647
+ if (typeof label === 'string' && label.trim())
648
+ return [label.trim().toLowerCase()];
649
+ const name = stringValue(asRecord(label)?.name)?.trim().toLowerCase();
650
+ return name ? [name] : [];
651
+ }));
652
+ };
653
+ const githubIssueUpdatedAtMs = (content) => {
654
+ const payload = wrappedPayload(content);
655
+ const raw = payload.updatedAt ?? payload.updated_at;
656
+ if (typeof raw === 'number' && Number.isFinite(raw))
657
+ return raw;
658
+ if (typeof raw !== 'string' || !raw.trim())
659
+ return undefined;
660
+ const parsed = Date.parse(raw);
661
+ return Number.isFinite(parsed) ? parsed : undefined;
662
+ };
663
+ const githubStatusTransitionEvent = (from, to) => {
664
+ if (from === to)
665
+ return undefined;
666
+ if (to === 'human-review') {
667
+ return { event: 'labeled', label: FACTORY_GITHUB_STATUS_LABELS['human-review'].name };
668
+ }
669
+ if (to === 'in-progress') {
670
+ return from === 'human-review'
671
+ ? { event: 'unlabeled', label: FACTORY_GITHUB_STATUS_LABELS['human-review'].name }
672
+ : { event: 'labeled', label: FACTORY_GITHUB_STATUS_LABELS['in-progress'].name };
673
+ }
674
+ return from === 'human-review'
675
+ ? { event: 'unlabeled', label: FACTORY_GITHUB_STATUS_LABELS['human-review'].name }
676
+ : { event: 'unlabeled', label: FACTORY_GITHUB_STATUS_LABELS['in-progress'].name };
677
+ };
356
678
  const defaultGitRunner = async (args) => {
357
679
  const { stdout, stderr } = await execFileAsync('git', args, { maxBuffer: 1024 * 1024 });
358
680
  return { stdout, stderr };
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/writeback/github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/writeback/github.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,11 @@ export interface LinearCreateIssuePayload extends Record<string, unknown> {
30
30
  }
31
31
  export declare const linearCommentName: (issue: LinearIssue, body: string) => string;
32
32
  export declare const MountLinearWriteback: (mount: MountClient, configOrStateIds?: LinearStateIds | MountLinearWritebackConfig) => {
33
- setState(issue: LinearIssue, stateId: string): Promise<void>;
33
+ getIssueStateId(issue: LinearIssue): Promise<string | undefined>;
34
+ setState(issue: LinearIssue, stateId: string): Promise<{
35
+ claimToken: string;
36
+ } | void>;
37
+ compareAndSetState(issue: LinearIssue, expectedStateId: string, claimToken: string, stateId: string): Promise<"applied" | "superseded" | "unproven">;
34
38
  postComment(issue: LinearIssue, body: string): Promise<void>;
35
39
  createIssue(payload: LinearCreateIssuePayload): Promise<{
36
40
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../src/writeback/linear.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG3C,MAAM,WAAW,cAAc;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,MAAM,CAAC,EAAE;QACP,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;IACD,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,wBAAyB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAKD,eAAO,MAAM,iBAAiB,GAAI,OAAO,WAAW,EAAE,MAAM,MAAM,KAAG,MACxB,CAAA;AA6I7C,eAAO,MAAM,oBAAoB,GAC/B,OAAO,WAAW,EAClB,mBAAmB,cAAc,GAAG,0BAA0B;oBA0EtC,WAAW,WAAW,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;uBAYzC,WAAW,QAAQ,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;yBASvC,wBAAwB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;kBAiBtE,WAAW,UACV;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC,OAAO,CAAC;CAkBtB,CAAA"}
1
+ {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../src/writeback/linear.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG3C,MAAM,WAAW,cAAc;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,MAAM,CAAC,EAAE;QACP,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;IACD,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,wBAAyB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAKD,eAAO,MAAM,iBAAiB,GAAI,OAAO,WAAW,EAAE,MAAM,MAAM,KAAG,MACxB,CAAA;AA6I7C,eAAO,MAAM,oBAAoB,GAC/B,OAAO,WAAW,EAClB,mBAAmB,cAAc,GAAG,0BAA0B;2BA0E/B,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;oBA+BhD,WAAW,WAAW,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;8BAgBlF,WAAW,mBACD,MAAM,cACX,MAAM,WACT,MAAM,GACd,OAAO,CAAC,SAAS,GAAG,YAAY,GAAG,UAAU,CAAC;uBA8CxB,WAAW,QAAQ,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;yBASvC,wBAAwB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;kBAiBtE,WAAW,UACV;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC,OAAO,CAAC;CAkBtB,CAAA"}