ghostrail 0.20.1 → 0.22.0

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 (118) hide show
  1. package/dist/board/page.d.ts.map +1 -1
  2. package/dist/board/page.js +76 -14
  3. package/dist/board/page.js.map +1 -1
  4. package/dist/board/server.d.ts +10 -0
  5. package/dist/board/server.d.ts.map +1 -1
  6. package/dist/board/server.js +24 -0
  7. package/dist/board/server.js.map +1 -1
  8. package/dist/cli/commands.d.ts +56 -1
  9. package/dist/cli/commands.d.ts.map +1 -1
  10. package/dist/cli/commands.js +203 -20
  11. package/dist/cli/commands.js.map +1 -1
  12. package/dist/cli.d.ts.map +1 -1
  13. package/dist/cli.js +3 -1
  14. package/dist/cli.js.map +1 -1
  15. package/dist/commands/help.d.ts.map +1 -1
  16. package/dist/commands/help.js +10 -0
  17. package/dist/commands/help.js.map +1 -1
  18. package/dist/config/load.d.ts.map +1 -1
  19. package/dist/config/load.js +19 -0
  20. package/dist/config/load.js.map +1 -1
  21. package/dist/config/schema.d.ts +13 -0
  22. package/dist/config/schema.d.ts.map +1 -1
  23. package/dist/config/schema.js.map +1 -1
  24. package/dist/dashboard/page.d.ts.map +1 -1
  25. package/dist/dashboard/page.js +226 -9
  26. package/dist/dashboard/page.js.map +1 -1
  27. package/dist/dashboard/review-page.d.ts +5 -0
  28. package/dist/dashboard/review-page.d.ts.map +1 -1
  29. package/dist/dashboard/review-page.js +23 -3
  30. package/dist/dashboard/review-page.js.map +1 -1
  31. package/dist/dashboard/routes.d.ts +17 -0
  32. package/dist/dashboard/routes.d.ts.map +1 -1
  33. package/dist/dashboard/routes.js +25 -0
  34. package/dist/dashboard/routes.js.map +1 -1
  35. package/dist/dashboard/server.d.ts +29 -0
  36. package/dist/dashboard/server.d.ts.map +1 -1
  37. package/dist/dashboard/server.js +91 -2
  38. package/dist/dashboard/server.js.map +1 -1
  39. package/dist/doctor/checks.d.ts +1 -0
  40. package/dist/doctor/checks.d.ts.map +1 -1
  41. package/dist/doctor/checks.js +1 -1
  42. package/dist/doctor/checks.js.map +1 -1
  43. package/dist/doctor/probes.d.ts +19 -3
  44. package/dist/doctor/probes.d.ts.map +1 -1
  45. package/dist/doctor/probes.js +22 -27
  46. package/dist/doctor/probes.js.map +1 -1
  47. package/dist/doctor/run.d.ts.map +1 -1
  48. package/dist/doctor/run.js +17 -3
  49. package/dist/doctor/run.js.map +1 -1
  50. package/dist/factory/build.d.ts +6 -0
  51. package/dist/factory/build.d.ts.map +1 -1
  52. package/dist/factory/build.js +26 -0
  53. package/dist/factory/build.js.map +1 -1
  54. package/dist/loop/next-tick.d.ts +50 -0
  55. package/dist/loop/next-tick.d.ts.map +1 -0
  56. package/dist/loop/next-tick.js +87 -0
  57. package/dist/loop/next-tick.js.map +1 -0
  58. package/dist/loop/schedule.d.ts +11 -2
  59. package/dist/loop/schedule.d.ts.map +1 -1
  60. package/dist/loop/schedule.js +3 -1
  61. package/dist/loop/schedule.js.map +1 -1
  62. package/dist/loop/tick-log.d.ts +13 -0
  63. package/dist/loop/tick-log.d.ts.map +1 -0
  64. package/dist/loop/tick-log.js +64 -0
  65. package/dist/loop/tick-log.js.map +1 -0
  66. package/dist/publish/gh.d.ts +43 -2
  67. package/dist/publish/gh.d.ts.map +1 -1
  68. package/dist/publish/gh.js +80 -2
  69. package/dist/publish/gh.js.map +1 -1
  70. package/dist/publish/githost.d.ts +18 -1
  71. package/dist/publish/githost.d.ts.map +1 -1
  72. package/dist/publish/githost.js +13 -0
  73. package/dist/publish/githost.js.map +1 -1
  74. package/dist/publish/index.d.ts +1 -1
  75. package/dist/publish/index.d.ts.map +1 -1
  76. package/dist/publish/index.js +1 -1
  77. package/dist/publish/index.js.map +1 -1
  78. package/dist/release/index.d.ts +2 -0
  79. package/dist/release/index.d.ts.map +1 -0
  80. package/dist/release/index.js +2 -0
  81. package/dist/release/index.js.map +1 -0
  82. package/dist/release/release.d.ts +67 -0
  83. package/dist/release/release.d.ts.map +1 -0
  84. package/dist/release/release.js +193 -0
  85. package/dist/release/release.js.map +1 -0
  86. package/dist/respond/ci-fix-queue.d.ts +40 -0
  87. package/dist/respond/ci-fix-queue.d.ts.map +1 -0
  88. package/dist/respond/ci-fix-queue.js +74 -0
  89. package/dist/respond/ci-fix-queue.js.map +1 -0
  90. package/dist/respond/index.d.ts +2 -1
  91. package/dist/respond/index.d.ts.map +1 -1
  92. package/dist/respond/index.js +2 -1
  93. package/dist/respond/index.js.map +1 -1
  94. package/dist/respond/merge.d.ts.map +1 -1
  95. package/dist/respond/merge.js +17 -1
  96. package/dist/respond/merge.js.map +1 -1
  97. package/dist/respond/respond.d.ts +33 -1
  98. package/dist/respond/respond.d.ts.map +1 -1
  99. package/dist/respond/respond.js +155 -9
  100. package/dist/respond/respond.js.map +1 -1
  101. package/dist/store/events.d.ts +30 -0
  102. package/dist/store/events.d.ts.map +1 -1
  103. package/dist/store/events.js +38 -0
  104. package/dist/store/events.js.map +1 -1
  105. package/dist/store/index.d.ts +1 -1
  106. package/dist/store/index.d.ts.map +1 -1
  107. package/dist/store/index.js +1 -1
  108. package/dist/store/index.js.map +1 -1
  109. package/dist/triage/engine.d.ts +6 -2
  110. package/dist/triage/engine.d.ts.map +1 -1
  111. package/dist/triage/engine.js +6 -1
  112. package/dist/triage/engine.js.map +1 -1
  113. package/package.json +1 -1
  114. package/skill/ghostrail/SKILL.md +15 -4
  115. package/templates/code/ghostrail.toml +3 -0
  116. package/templates/code/prompts/release.md +40 -0
  117. package/templates/code/prompts/respond.md +2 -1
  118. package/templates/content/prompts/respond.md +3 -1
@@ -29,6 +29,14 @@ export function renderConflictInstruction(baseBranch, files) {
29
29
  "no other feedback, no unrelated cleanup.",
30
30
  ].join("\n");
31
31
  }
32
+ /** The workspace's current commit, or undefined when git cannot report one. */
33
+ async function headSha(backend, workspace) {
34
+ const result = await backend.exec(workspace, ["git", "rev-parse", "HEAD"]);
35
+ if (result.exitCode !== 0)
36
+ return undefined;
37
+ const sha = result.stdout.trim();
38
+ return sha.length > 0 ? sha : undefined;
39
+ }
32
40
  /**
33
41
  * Fetch `baseBranch` and merge it into the workspace's current branch.
34
42
  * Distinguishes a real conflict (unresolved paths after a failed merge) from
@@ -123,6 +131,9 @@ async function resolveConflictsAndMerge(deps, config, pr, fresh, logger) {
123
131
  baseBranch: pr.headBranch,
124
132
  branch: pr.headBranch,
125
133
  mode: "attach",
134
+ // The configured image, not the backend's default: this pass runs git
135
+ // inside the workspace and the default has none (TJ-1680).
136
+ ...(deps.image === undefined ? {} : { image: deps.image }),
126
137
  ...(deps.claudeProfileDir === undefined ? {} : { profileDir: deps.claudeProfileDir }),
127
138
  });
128
139
  const result = await runMerge(deps, config, pr, workspace, logger);
@@ -186,8 +197,13 @@ async function runMerge(deps, config, pr, workspace, logger) {
186
197
  throw new Error(`git push failed: ${push.stderr.trim() || push.stdout.trim()}`);
187
198
  }
188
199
  }
200
+ // Whatever this pass just pushed, so the host can wait for GitHub to answer
201
+ // about *that* commit rather than the conflicted one it replaced (TJ-1684).
202
+ // Undefined when the branch was already current: nothing was pushed, so
203
+ // there is no staleness to wait out.
204
+ const pushedSha = merge.status === "up-to-date" ? undefined : await headSha(deps.backend, workspace);
189
205
  try {
190
- await deps.host.mergePr(pr.number);
206
+ await deps.host.mergePr(pr.number, pushedSha);
191
207
  }
192
208
  catch (error) {
193
209
  // The branch itself is already in the state this feature promises (conflicts
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/respond/merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/respond/merge.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { Backend, Workspace } from "../backend/types.js";
2
2
  import type { AgentConfig, Guardrails } from "../config/schema.js";
3
3
  import type { Agent, Logger, Source } from "../loop/ports.js";
4
- import { type GitHost, type PrComment } from "../publish/githost.js";
4
+ import { type GitHost, type PrComment, type PrStatus } from "../publish/githost.js";
5
5
  import { type EventSink } from "../store/events.js";
6
+ import type { CiFixQueueStore } from "./ci-fix-queue.js";
6
7
  import type { RunLookup } from "./run-row.js";
7
8
  import type { WatermarkStore } from "./store.js";
8
9
  /** Where the respond pass drops the human feedback for the agent to read. */
@@ -19,9 +20,23 @@ export interface RespondDeps {
19
20
  * before merging the PR itself.
20
21
  */
21
22
  baseBranch: string;
23
+ /**
24
+ * The configured container image, carried through to every workspace this
25
+ * pass provisions. Without it the container backend falls back to its own
26
+ * default (`alpine:3`), which has no git, no node, and no claude, so every
27
+ * respond pass died on the first command it ran (TJ-1680).
28
+ */
29
+ image?: string;
22
30
  /** Optional tracker source; when set, the respond pass also folds in new
23
31
  * tracker (e.g. Linear) comments on the PR's issue, not just PR comments. */
24
32
  source?: Source;
33
+ /**
34
+ * Optional CI-fix request queue. When set, a PR a human queued (via the board
35
+ * or dashboard's "Fix CI" button) is picked up even with no fresh comments,
36
+ * as long as its live PR status still shows a failing check. Omitted, every
37
+ * PR is handled exactly as it was before this queue existed.
38
+ */
39
+ ciFixQueue?: CiFixQueueStore;
25
40
  /** Host path to the composed Claude profile, staged into the workspace. */
26
41
  claudeProfileDir?: string;
27
42
  logger?: Logger;
@@ -57,6 +72,23 @@ export interface RespondResult {
57
72
  }
58
73
  /** Render fresh human comments into the feedback document the agent reads. */
59
74
  export declare function renderFeedback(comments: readonly PrComment[]): string;
75
+ /**
76
+ * The failing checks on a queued PR, rendered into the same feedback document
77
+ * `renderFeedback` writes to. One line per check: its name, its conclusion, and
78
+ * its URL when it has one. Checks that are not failing (per {@link
79
+ * hasFailingCheck}'s rule) are omitted; a caller only calls this once it has
80
+ * already confirmed at least one check qualifies.
81
+ */
82
+ export declare function renderCiFailureFeedback(status: PrStatus): string;
83
+ /**
84
+ * The comment ghostrail posts (to the PR, and to the tracker issue when one is
85
+ * known) when it picks up a queued CI-fix request, before it runs the agent.
86
+ * Always carries the marker (via {@link markedComment} for GitHub, and
87
+ * automatically for the tracker via `Source.comment`), so it reads as the
88
+ * "already being handled" notice the human clicking "Fix CI" is for: nobody
89
+ * needs to also leave a comment asking for the same fix.
90
+ */
91
+ export declare function ciFixAnnouncement(status: PrStatus): string;
60
92
  /** Comment body ghostrail posts, always carrying the marker so it never re-reads its own. */
61
93
  export declare function markedComment(body: string): string;
62
94
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"respond.d.ts","sourceRoot":"","sources":["../../src/respond/respond.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,KAAK,EAAE,KAAK,EAAyB,MAAM,EAAE,MAAM,EAAY,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAEL,KAAK,OAAO,EAEZ,KAAK,SAAS,EAEf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,oBAAoB,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,6EAA6E;AAC7E,eAAO,MAAM,aAAa,2BAA2B,CAAC;AAItD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,cAAc,CAAC;IAC3B;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;iFAC6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAKD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrE;AAED,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,kFAAkF;IAClF,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAGrE;AAYD,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,EAAE,CAAC,CAqC1B;AAmOD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAgBlB"}
1
+ {"version":3,"file":"respond.d.ts","sourceRoot":"","sources":["../../src/respond/respond.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,KAAK,EAAE,KAAK,EAAyB,MAAM,EAAE,MAAM,EAAY,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAEL,KAAK,OAAO,EAEZ,KAAK,SAAS,EACd,KAAK,QAAQ,EAGd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,6EAA6E;AAC7E,eAAO,MAAM,aAAa,2BAA2B,CAAC;AAItD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,cAAc,CAAC;IAC3B;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;iFAC6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAKD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrE;AAED,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,kFAAkF;IAClF,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAaD,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAGrE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAShE;AASD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAG1D;AAYD,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,EAAE,CAAC,CA8C1B;AAuVD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAgBlB"}
@@ -1,7 +1,7 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { writeWorkspaceFile } from "../backend/fs.js";
3
3
  import { mapWithConcurrency } from "../loop/concurrency.js";
4
- import { GHOSTRAIL_MARKER, gitStageAllArgs, } from "../publish/githost.js";
4
+ import { GHOSTRAIL_MARKER, gitStageAllArgs, hasFailingCheck, } from "../publish/githost.js";
5
5
  import { emitEvent } from "../store/events.js";
6
6
  import { resolveConflictsAndMergeSafely } from "./merge.js";
7
7
  import { findExistingRunId } from "./run-id.js";
@@ -20,11 +20,45 @@ export function extractIssueId(headBranch) {
20
20
  const id = ISSUE_ID_RE.exec(headBranch)?.[1];
21
21
  return id === undefined ? undefined : id.toUpperCase();
22
22
  }
23
+ const NOT_ACTIONABLE = { actionable: false };
23
24
  /** Render fresh human comments into the feedback document the agent reads. */
24
25
  export function renderFeedback(comments) {
25
26
  const blocks = comments.map((c) => `> from @${c.author} at ${c.createdAt}\n\n${c.body.trim()}`);
26
27
  return `# New feedback to address\n\n${blocks.join("\n\n---\n\n")}\n`;
27
28
  }
29
+ /**
30
+ * The failing checks on a queued PR, rendered into the same feedback document
31
+ * `renderFeedback` writes to. One line per check: its name, its conclusion, and
32
+ * its URL when it has one. Checks that are not failing (per {@link
33
+ * hasFailingCheck}'s rule) are omitted; a caller only calls this once it has
34
+ * already confirmed at least one check qualifies.
35
+ */
36
+ export function renderCiFailureFeedback(status) {
37
+ const failing = status.checks.filter((check) => check.conclusion !== undefined && check.conclusion !== "success");
38
+ const lines = failing.map((check) => {
39
+ const url = check.url === undefined ? "" : ` (${check.url})`;
40
+ return `- ${check.name}: ${check.conclusion}${url}`;
41
+ });
42
+ return `# CI failure to fix\n\nThe following checks failed on this PR:\n\n${lines.join("\n")}\n`;
43
+ }
44
+ /** The failing check names, for the announcement comment and log lines. */
45
+ function failingCheckNames(status) {
46
+ return status.checks
47
+ .filter((check) => check.conclusion !== undefined && check.conclusion !== "success")
48
+ .map((check) => check.name);
49
+ }
50
+ /**
51
+ * The comment ghostrail posts (to the PR, and to the tracker issue when one is
52
+ * known) when it picks up a queued CI-fix request, before it runs the agent.
53
+ * Always carries the marker (via {@link markedComment} for GitHub, and
54
+ * automatically for the tracker via `Source.comment`), so it reads as the
55
+ * "already being handled" notice the human clicking "Fix CI" is for: nobody
56
+ * needs to also leave a comment asking for the same fix.
57
+ */
58
+ export function ciFixAnnouncement(status) {
59
+ const names = failingCheckNames(status).join(", ");
60
+ return `Attempting a fix for the failing CI check(s): ${names}.`;
61
+ }
28
62
  /**
29
63
  * The PR comment for a respond pass that changed nothing. Same reasoning as the
30
64
  * loop's noop comment: the reason is the only account anyone gets of why the
@@ -53,11 +87,19 @@ export async function respondTick(deps, config) {
53
87
  const logger = deps.logger ?? nullLogger;
54
88
  const prs = await deps.host.listOpenPrs(config.label);
55
89
  logger.info(`respond: ${prs.length} open ${config.label} PR(s)`);
56
- // Fresh comments are read once per PR, up front, so the merge-command check
57
- // below and the flow it dispatches to never re-fetch or re-filter them.
90
+ // A PR that closed or merged since it was queued can never be picked up
91
+ // through the loop below (it iterates `prs`, which is already open-only), so
92
+ // its entry would otherwise wait forever.
93
+ if (deps.ciFixQueue !== undefined) {
94
+ await sweepCiFixQueue(deps.ciFixQueue, prs, logger);
95
+ }
96
+ // Fresh comments and any queued CI-fix request are read once per PR, up
97
+ // front, so the merge-command check below and the flow it dispatches to
98
+ // never re-fetch or re-filter them.
58
99
  const withFresh = await mapWithConcurrency(prs, config.guardrails.concurrency, async (pr) => ({
59
100
  pr,
60
101
  fresh: await freshCommentsFor(deps, config, pr, logger),
102
+ ci: await resolveCiFixRequest(deps, pr, logger),
61
103
  }));
62
104
  const mergeRequests = withFresh.filter(({ fresh }) => fresh.some((c) => isMergeCommand(c.body)));
63
105
  const normal = withFresh.filter(({ fresh }) => !fresh.some((c) => isMergeCommand(c.body)));
@@ -69,7 +111,7 @@ export async function respondTick(deps, config) {
69
111
  // an independent agent run of comparable cost and duration, so a sequential
70
112
  // pass took as long as the sum of them, and this is the pass a human is most
71
113
  // likely to be waiting on: it exists to answer review comments.
72
- const normalResults = await mapWithConcurrency(normal, config.guardrails.concurrency, ({ pr, fresh }) => respondToPrSafely(deps, config, pr, fresh, logger));
114
+ const normalResults = await mapWithConcurrency(normal, config.guardrails.concurrency, ({ pr, fresh, ci }) => respondToPrSafely(deps, config, pr, fresh, ci, logger));
73
115
  const byNumber = new Map([...mergeResults, ...normalResults].map((result) => [result.prNumber, result]));
74
116
  return prs
75
117
  .map((pr) => byNumber.get(pr.number))
@@ -91,6 +133,86 @@ async function freshCommentsFor(deps, config, pr, logger) {
91
133
  ...(since === undefined ? {} : { since }),
92
134
  });
93
135
  }
136
+ /** Drop any queued PR number that is no longer open; best-effort, never throws. */
137
+ async function sweepCiFixQueue(queue, prs, logger) {
138
+ const open = new Set(prs.map((pr) => pr.number));
139
+ try {
140
+ const queued = await queue.list();
141
+ await Promise.all(queued.filter((n) => !open.has(n)).map((n) => queue.remove(n)));
142
+ }
143
+ catch (error) {
144
+ const message = error instanceof Error ? error.message : String(error);
145
+ logger.warn(`respond: could not sweep the CI-fix queue: ${message}`);
146
+ }
147
+ }
148
+ /**
149
+ * Whether `pr` has a queued CI-fix request worth attempting this tick.
150
+ *
151
+ * A request that cannot be confirmed (the queue itself, or the live PR status,
152
+ * could not be read) is treated as not actionable for this tick and left
153
+ * queued for the next one — never dropped on an error that might be transient.
154
+ * A request that can be confirmed but whose checks are no longer failing is
155
+ * dequeued immediately: there is nothing left to attempt.
156
+ */
157
+ async function resolveCiFixRequest(deps, pr, logger) {
158
+ if (deps.ciFixQueue === undefined)
159
+ return NOT_ACTIONABLE;
160
+ let queued;
161
+ try {
162
+ queued = await deps.ciFixQueue.has(pr.number);
163
+ }
164
+ catch (error) {
165
+ const message = error instanceof Error ? error.message : String(error);
166
+ logger.warn(`respond #${pr.number}: could not read the CI-fix queue: ${message}`);
167
+ return NOT_ACTIONABLE;
168
+ }
169
+ if (!queued)
170
+ return NOT_ACTIONABLE;
171
+ let status;
172
+ try {
173
+ status = await deps.host.getPrStatus(pr.number);
174
+ }
175
+ catch (error) {
176
+ const message = error instanceof Error ? error.message : String(error);
177
+ logger.warn(`respond #${pr.number}: could not check CI status for a queued fix: ${message}`);
178
+ return NOT_ACTIONABLE;
179
+ }
180
+ if (!hasFailingCheck(status.checks)) {
181
+ try {
182
+ await deps.ciFixQueue.remove(pr.number);
183
+ }
184
+ catch {
185
+ // best-effort
186
+ }
187
+ return NOT_ACTIONABLE;
188
+ }
189
+ return { actionable: true, status };
190
+ }
191
+ /**
192
+ * Announce a CI-fix attempt on the PR and, when the branch resolves to a
193
+ * tracker issue and a source is configured, on that issue too. Both carry the
194
+ * ghostrail marker (the GitHub one explicitly, the tracker one automatically),
195
+ * so a later tick's `selectNewComments` still ignores them as its own, and a
196
+ * human sees the fix is already in flight before leaving a duplicate request.
197
+ * The tracker post is best-effort, matching `listTrackerComments`; the GitHub
198
+ * post is not, since it is the announcement that matters most for this PR.
199
+ */
200
+ async function announceCiFix(deps, pr, status, logger) {
201
+ const body = ciFixAnnouncement(status);
202
+ await deps.host.postComment(pr.number, markedComment(body));
203
+ if (deps.source === undefined)
204
+ return;
205
+ const issueId = extractIssueId(pr.headBranch);
206
+ if (issueId === undefined)
207
+ return;
208
+ try {
209
+ await deps.source.comment({ id: issueId, title: `issue ${issueId}`, url: pr.url }, body);
210
+ }
211
+ catch (error) {
212
+ const message = error instanceof Error ? error.message : String(error);
213
+ logger.warn(`respond #${pr.number}: could not post the CI-fix announcement to ${issueId}: ${message}`);
214
+ }
215
+ }
94
216
  /**
95
217
  * `respondToPr`, guaranteed not to throw.
96
218
  *
@@ -100,9 +222,9 @@ async function freshCommentsFor(deps, config, pr, logger) {
100
222
  * meet it too. One PR whose host lookup fails is one failed result, not a dead
101
223
  * pass.
102
224
  */
103
- async function respondToPrSafely(deps, config, pr, fresh, logger) {
225
+ async function respondToPrSafely(deps, config, pr, fresh, ci, logger) {
104
226
  try {
105
- return await respondToPr(deps, config, pr, fresh, logger);
227
+ return await respondToPr(deps, config, pr, fresh, ci, logger);
106
228
  }
107
229
  catch (error) {
108
230
  const message = error instanceof Error ? error.message : String(error);
@@ -131,8 +253,8 @@ async function listTrackerComments(deps, pr, logger) {
131
253
  return [];
132
254
  }
133
255
  }
134
- async function respondToPr(deps, config, pr, fresh, logger) {
135
- if (fresh.length === 0) {
256
+ async function respondToPr(deps, config, pr, fresh, ci, logger) {
257
+ if (fresh.length === 0 && !ci.actionable) {
136
258
  return { prNumber: pr.number, state: "noop" };
137
259
  }
138
260
  // The row this PR already has, if any: a respond pass is more work on the
@@ -166,14 +288,26 @@ async function respondToPr(deps, config, pr, fresh, logger) {
166
288
  prUrl: pr.url,
167
289
  });
168
290
  }
291
+ if (ci.actionable && ci.status !== undefined) {
292
+ await announceCiFix(deps, pr, ci.status, logger);
293
+ }
169
294
  workspace = await deps.backend.provision({
170
295
  repoPath: deps.repoPath,
171
296
  baseBranch: pr.headBranch,
172
297
  branch: pr.headBranch,
173
298
  mode: "attach",
299
+ ...(deps.image === undefined ? {} : { image: deps.image }),
174
300
  ...(deps.claudeProfileDir === undefined ? {} : { profileDir: deps.claudeProfileDir }),
175
301
  });
176
- await writeWorkspaceFile(deps.backend, workspace, FEEDBACK_PATH, renderFeedback(fresh));
302
+ // Only a section for what actually applies: a queued PR with no fresh
303
+ // comments (the common case) gets just the CI section, not an empty
304
+ // "New feedback to address" heading with nothing under it.
305
+ const sections = [];
306
+ if (fresh.length > 0)
307
+ sections.push(renderFeedback(fresh));
308
+ if (ci.actionable && ci.status !== undefined)
309
+ sections.push(renderCiFailureFeedback(ci.status));
310
+ await writeWorkspaceFile(deps.backend, workspace, FEEDBACK_PATH, sections.join("\n"));
177
311
  const outcome = await deps.agent.run({
178
312
  backend: deps.backend,
179
313
  workspace,
@@ -208,6 +342,18 @@ async function respondToPr(deps, config, pr, fresh, logger) {
208
342
  const mark = latestTimestamp(fresh);
209
343
  if (mark !== undefined)
210
344
  await deps.watermarks.set(pr.number, mark);
345
+ // Only once this attempt actually reached a terminal outcome: an entry
346
+ // left behind by a thrown error below is retried next tick, the same way
347
+ // a fetch failure in `resolveCiFixRequest` leaves it queued rather than
348
+ // dropping a request nothing was ever attempted for.
349
+ if (ci.actionable && deps.ciFixQueue !== undefined) {
350
+ try {
351
+ await deps.ciFixQueue.remove(pr.number);
352
+ }
353
+ catch {
354
+ // best-effort
355
+ }
356
+ }
211
357
  return result;
212
358
  }
213
359
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"respond.js","sourceRoot":"","sources":["../../src/respond/respond.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EACL,gBAAgB,EAIhB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAkB,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGjF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAEtD,MAAM,UAAU,GAAW,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;AA8B9D,kFAAkF;AAClF,MAAM,WAAW,GAAG,qCAAqC,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;AACzD,CAAC;AAoBD,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAAC,QAA8B;IAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChG,OAAO,gCAAgC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,MAA0B;IAC7C,MAAM,OAAO,GAAG,iDAAiD,CAAC;IAClE,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,MAAM,EAAE,CAAC;AACpE,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,GAAG,IAAI,OAAO,gBAAgB,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAiB,EACjB,MAAqB;IAErB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,SAAS,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC;IAEjE,4EAA4E;IAC5E,wEAAwE;IACxE,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5F,EAAE;QACF,KAAK,EAAE,MAAM,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC;KACxD,CAAC,CAAC,CAAC;IAEJ,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3F,0EAA0E;IAC1E,6EAA6E;IAC7E,iDAAiD;IACjD,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAChF,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAChE,CAAC;IACF,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,gEAAgE;IAChE,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAC5C,MAAM,EACN,MAAM,CAAC,UAAU,CAAC,WAAW,EAC7B,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CACtE,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,GAAG,YAAY,EAAE,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAU,CAAC,CACxF,CAAC;IACF,OAAO,GAAG;SACP,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;SACpC,MAAM,CAAC,CAAC,MAAM,EAA2B,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAC7B,IAAiB,EACjB,MAAqB,EACrB,EAAU,EACV,MAAc;IAEd,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,eAAe,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,iBAAiB,CAAC,QAAQ,EAAE;QACjC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,gBAAgB;QACxB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,iBAAiB,CAC9B,IAAiB,EACjB,MAAqB,EACrB,EAAU,EACV,KAA2B,EAC3B,MAAc;IAEd,IAAI,CAAC;QACH,OAAO,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACpE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CAChC,IAAiB,EACjB,EAAU,EACV,MAAc;IAEd,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACjG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CACT,YAAY,EAAE,CAAC,MAAM,yCAAyC,OAAO,KAAK,OAAO,EAAE,CACpF,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAAiB,EACjB,MAAqB,EACrB,EAAU,EACV,KAA2B,EAC3B,MAAc;IAEd,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IAED,0EAA0E;IAC1E,oDAAoD;IACpD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,aAAa,IAAI,UAAU,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAa;QACrB,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,kBAAkB,EAAE,CAAC,MAAM,EAAE;QACpC,GAAG,EAAE,EAAE,CAAC,GAAG;KACZ,CAAC;IAEF,IAAI,SAAgC,CAAC;IACrC,IAAI,CAAC;QACH,wEAAwE;QACxE,uEAAuE;QACvE,0EAA0E;QAC1E,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC3B,IAAI,EAAE,SAAS;gBACf,KAAK;gBACL,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;gBACd,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;aACd,CAAC,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC3B,IAAI,EAAE,WAAW;gBACjB,KAAK;gBACL,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;gBACd,QAAQ,EAAE,EAAE,CAAC,MAAM;gBACnB,KAAK,EAAE,EAAE,CAAC,GAAG;aACd,CAAC,CAAC;QACL,CAAC;QAED,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,MAAM,EAAE,EAAE,CAAC,UAAU;YACrB,IAAI,EAAE,QAAQ;YACd,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACtF,CAAC,CAAC;QACH,MAAM,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAExF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,wEAAwE;QACxE,qEAAqE;QACrE,0EAA0E;QAC1E,6DAA6D;QAC7D,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,gBAAgB;YACtB,KAAK;YACL,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;SACvE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACxE,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,SAAS;YACf,KAAK;YACL,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;gBAC3D,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE;gBAC3B,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;gBAC3D,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;gBAC7B,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,cAAc,OAAO,EAAE,CAAC,CAAC;QAC1D,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,SAAS;YACf,KAAK;YACL,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACpE,CAAC;YAAS,CAAC;QACT,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,IAAiB,EACjB,EAAU,EACV,SAAoB,EACpB,OAAqB,EACrB,MAAc;IAEd,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,SAAS;YACZ,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACzE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QAE/E,KAAK,QAAQ;YACX,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CACzB,EAAE,CAAC,MAAM,EACT,aAAa,CAAC,4DAA4D,OAAO,CAAC,KAAK,EAAE,CAAC,CAC3F,CAAC;YACF,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAE1E,KAAK,MAAM;YACT,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnF,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAEhD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,SAAS,GAAG,MAAM,aAAa,CACnC,IAAI,CAAC,OAAO,EACZ,SAAS,EACT,kCAAkC,CACnC,CAAC;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CACzB,EAAE,CAAC,MAAM,EACT,aAAa,CAAC,iDAAiD,CAAC,CACjE,CAAC;gBACF,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAChD,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,oBAAoB,CAAC,CAAC;YACvD,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/E,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAgB,EAChB,SAAoB,EACpB,OAAe;IAEf,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAChF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/E,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACxF,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"respond.js","sourceRoot":"","sources":["../../src/respond/respond.ts"],"names":[],"mappings":"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"}
@@ -147,6 +147,36 @@ export declare function emptyRow(runId: string): RunRow;
147
147
  export declare const IN_PROGRESS_STATE = "in-progress";
148
148
  /** The state to show for a run row: its terminal state, or the in-progress fallback. */
149
149
  export declare function displayState(state: string | undefined): string;
150
+ /**
151
+ * The `kind` a triage row carries (`src/triage/engine.ts` sets it), so any
152
+ * view can tell a triage pass's row apart from a fix-loop or respond row. The
153
+ * fix loop and respond set no kind, so an absent one keeps meaning "fix loop".
154
+ *
155
+ * Lives here, alongside `IN_PROGRESS_STATE`, rather than in
156
+ * `src/triage/engine.ts` where it is set: a caller that only wants the
157
+ * vocabulary (`needsAction`, below) should not have to import triage's whole
158
+ * execution graph — the backend, the agent, the source — for one string.
159
+ * `src/triage/engine.ts` re-exports this binding, so nothing that already
160
+ * imports it from there changes.
161
+ */
162
+ export declare const TRIAGE_RUN_KIND = "triage";
163
+ /**
164
+ * Whether a run row is something a person should look at right now: an open
165
+ * PR ready for review or merge, a triage split waiting for someone to assign
166
+ * a sub-issue, or a row where an automated pass gave up and handed the item
167
+ * back (blocked, failed, or — outside triage — a noop, which the fix loop and
168
+ * respond both treat as "give it to a person" rather than a failure).
169
+ *
170
+ * False for:
171
+ * - a row with no terminal state yet (still in progress)
172
+ * - `"skipped"`: nothing was done, and the next tick retries it on its own
173
+ * - a triage row's `"noop"`: triage looked and decided no split was needed,
174
+ * which is triage completing normally, not handing anything back
175
+ *
176
+ * See `specs/review-needs-action.spec.md` for the full state-by-kind table
177
+ * this implements.
178
+ */
179
+ export declare function needsAction(row: Pick<RunRow, "state" | "kind">): boolean;
150
180
  /**
151
181
  * Apply one event to a run row, returning the updated row (does not mutate the
152
182
  * input). `startedAt` tracks the earliest `ts`, `finishedAt` the latest, and
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/store/events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAErD;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAChB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GACD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnF;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjF;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3E;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEN,8EAA8E;AAC9E,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3F;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,wEAAwE;AACxE,MAAM,WAAW,MAAM;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,8DAA8D;AAC9D,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAE/C,wFAAwF;AACxF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE9D;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAkE/D;AAED,mDAAmD;AACnD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,CAE1E"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/store/events.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,44 @@ export const IN_PROGRESS_STATE = "in-progress";
32
32
  export function displayState(state) {
33
33
  return state ?? IN_PROGRESS_STATE;
34
34
  }
35
+ /**
36
+ * The `kind` a triage row carries (`src/triage/engine.ts` sets it), so any
37
+ * view can tell a triage pass's row apart from a fix-loop or respond row. The
38
+ * fix loop and respond set no kind, so an absent one keeps meaning "fix loop".
39
+ *
40
+ * Lives here, alongside `IN_PROGRESS_STATE`, rather than in
41
+ * `src/triage/engine.ts` where it is set: a caller that only wants the
42
+ * vocabulary (`needsAction`, below) should not have to import triage's whole
43
+ * execution graph — the backend, the agent, the source — for one string.
44
+ * `src/triage/engine.ts` re-exports this binding, so nothing that already
45
+ * imports it from there changes.
46
+ */
47
+ export const TRIAGE_RUN_KIND = "triage";
48
+ /**
49
+ * Whether a run row is something a person should look at right now: an open
50
+ * PR ready for review or merge, a triage split waiting for someone to assign
51
+ * a sub-issue, or a row where an automated pass gave up and handed the item
52
+ * back (blocked, failed, or — outside triage — a noop, which the fix loop and
53
+ * respond both treat as "give it to a person" rather than a failure).
54
+ *
55
+ * False for:
56
+ * - a row with no terminal state yet (still in progress)
57
+ * - `"skipped"`: nothing was done, and the next tick retries it on its own
58
+ * - a triage row's `"noop"`: triage looked and decided no split was needed,
59
+ * which is triage completing normally, not handing anything back
60
+ *
61
+ * See `specs/review-needs-action.spec.md` for the full state-by-kind table
62
+ * this implements.
63
+ */
64
+ export function needsAction(row) {
65
+ if (row.state === undefined)
66
+ return false;
67
+ if (row.state === "skipped")
68
+ return false;
69
+ if (row.kind === TRIAGE_RUN_KIND && row.state === "noop")
70
+ return false;
71
+ return true;
72
+ }
35
73
  /**
36
74
  * Apply one event to a run row, returning the updated row (does not mutate the
37
75
  * input). `startedAt` tracks the earliest `ts`, `finishedAt` the latest, and
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/store/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/store/events.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { applyEvent, type ArtifactRef, displayState, emitEvent, emptyRow, type EventSink, type FailureKind, foldRun, type GateStepRow, IN_PROGRESS_STATE, ROW_SCHEMA_VERSION, type RunEvent, type RunRow, } from "./events.js";
1
+ export { applyEvent, type ArtifactRef, displayState, emitEvent, emptyRow, type EventSink, type FailureKind, foldRun, type GateStepRow, IN_PROGRESS_STATE, needsAction, ROW_SCHEMA_VERSION, type RunEvent, type RunRow, TRIAGE_RUN_KIND, } from "./events.js";
2
2
  export { FileStore } from "./file-store.js";
3
3
  export type { RetentionPolicy, RunFilter, RunStore } from "./port.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,WAAW,EAChB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,OAAO,EACP,KAAK,WAAW,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,QAAQ,EACb,KAAK,MAAM,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,WAAW,EAChB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,OAAO,EACP,KAAK,WAAW,EAChB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC"}
@@ -1,3 +1,3 @@
1
- export { applyEvent, displayState, emitEvent, emptyRow, foldRun, IN_PROGRESS_STATE, ROW_SCHEMA_VERSION, } from "./events.js";
1
+ export { applyEvent, displayState, emitEvent, emptyRow, foldRun, IN_PROGRESS_STATE, needsAction, ROW_SCHEMA_VERSION, TRIAGE_RUN_KIND, } from "./events.js";
2
2
  export { FileStore } from "./file-store.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,YAAY,EACZ,SAAS,EACT,QAAQ,EAGR,OAAO,EAEP,iBAAiB,EACjB,kBAAkB,GAGnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,YAAY,EACZ,SAAS,EACT,QAAQ,EAGR,OAAO,EAEP,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAGlB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
@@ -2,7 +2,7 @@ import type { Backend } from "../backend/types.js";
2
2
  import type { GhostrailConfig } from "../config/schema.js";
3
3
  import type { GlobalStore } from "../global/store.js";
4
4
  import type { Agent, Lock, Logger, TriageSource } from "../loop/ports.js";
5
- import type { EventSink } from "../store/events.js";
5
+ import { type EventSink, TRIAGE_RUN_KIND } from "../store/events.js";
6
6
  import { type TriageResult } from "./apply.js";
7
7
  /** Path, relative to the workspace root, where the triage agent writes its plan. */
8
8
  export declare const TRIAGE_PLAN_PATH = ".ghostrail/triage.json";
@@ -32,8 +32,12 @@ export interface TriageDeps {
32
32
  * The `kind` a triage row carries, so the board can tell which pass produced
33
33
  * it. The fix loop sets no kind, so an absent one keeps meaning "fix loop"
34
34
  * and no row already in a store changes meaning.
35
+ *
36
+ * Defined in `src/store/events.ts`, next to the rest of `RunRow`'s
37
+ * vocabulary, and re-exported here so nothing importing it from this module
38
+ * changes.
35
39
  */
36
- export declare const TRIAGE_RUN_KIND = "triage";
40
+ export { TRIAGE_RUN_KIND };
37
41
  /** What a finished triage item is worth saying on its row, or undefined for noop. */
38
42
  export declare function triageSummary(result: TriageResult): string | undefined;
39
43
  /**