@straiffi/archon 1.8.14 → 1.8.15

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 (111) hide show
  1. package/dist/client/assets/{ActivityView-DYDYyqIN.js → ActivityView-DpY9GZez.js} +1 -1
  2. package/dist/client/assets/{GitHubActionsDialog-jhi4GOyV.js → GitHubActionsDialog-BCr-hjvp.js} +1 -1
  3. package/dist/client/assets/{RepositoryGraphDialog-BZV0vHu6.js → RepositoryGraphDialog-_hm-x1Dx.js} +1 -1
  4. package/dist/client/assets/{VerificationDialog-Sc6e8AKH.js → VerificationDialog-CsjDzpE1.js} +1 -1
  5. package/dist/client/assets/{architectureDiagram-3BPJPVTR-DFbki8mi.js → architectureDiagram-3BPJPVTR-Dx7MJofM.js} +1 -1
  6. package/dist/client/assets/{blockDiagram-GPEHLZMM-BZFehG8P.js → blockDiagram-GPEHLZMM-CSSJR8F_.js} +1 -1
  7. package/dist/client/assets/{c4Diagram-AAUBKEIU-FVDXRu1t.js → c4Diagram-AAUBKEIU-C4F9969r.js} +1 -1
  8. package/dist/client/assets/channel-DVkhJzgx.js +1 -0
  9. package/dist/client/assets/{chunk-2J33WTMH-4tuVZaT0.js → chunk-2J33WTMH-23HW6i-y.js} +1 -1
  10. package/dist/client/assets/{chunk-3OPIFGDE-DSn14S35.js → chunk-3OPIFGDE-C3ZmRDMb.js} +1 -1
  11. package/dist/client/assets/{chunk-5ZQYHXKU-Cwx1KNjg.js → chunk-5ZQYHXKU-B_-UQvCg.js} +1 -1
  12. package/dist/client/assets/{chunk-727SXJPM-Odza4hes.js → chunk-727SXJPM-5Dua6u1B.js} +1 -1
  13. package/dist/client/assets/{chunk-AQP2D5EJ-BmVoQT7M.js → chunk-AQP2D5EJ-DcpcaFRO.js} +1 -1
  14. package/dist/client/assets/{chunk-CSCIHK7Q-Bg7Ktx0B.js → chunk-CSCIHK7Q-CLCpOw52.js} +1 -1
  15. package/dist/client/assets/{chunk-KSCS5N6A-2tnhar2x.js → chunk-KSCS5N6A-uOZFe2JI.js} +1 -1
  16. package/dist/client/assets/{chunk-L5ZTLDWV-dAyg8qMJ.js → chunk-L5ZTLDWV-DNnzSNoX.js} +1 -1
  17. package/dist/client/assets/{chunk-LZXEDZCA-0gElxrlR.js → chunk-LZXEDZCA-CSA3Xnoh.js} +2 -2
  18. package/dist/client/assets/{chunk-ND2GUHAM-Bu-8Lz91.js → chunk-ND2GUHAM-BQR5rD7w.js} +1 -1
  19. package/dist/client/assets/{chunk-NZK2D7GU-CInZFdzd.js → chunk-NZK2D7GU-DyIwcQYQ.js} +1 -1
  20. package/dist/client/assets/{chunk-O5CBEL6O-rAzpvdNR.js → chunk-O5CBEL6O-DfW60w5V.js} +1 -1
  21. package/dist/client/assets/{chunk-WU5MYG2G-DOOw2vq7.js → chunk-WU5MYG2G-CzMMPYdi.js} +1 -1
  22. package/dist/client/assets/classDiagram-4FO5ZUOK-6oZ93s5p.js +1 -0
  23. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DYO_YnkU.js +1 -0
  24. package/dist/client/assets/{dagre-BM42HDAG-Dgua1iuh.js → dagre-BM42HDAG-Ba7Pz-ZI.js} +1 -1
  25. package/dist/client/assets/{diagram-2AECGRRQ-odacwlwu.js → diagram-2AECGRRQ-BxYfgpZ6.js} +1 -1
  26. package/dist/client/assets/{diagram-5GNKFQAL-BiKjFmJ1.js → diagram-5GNKFQAL-Bc4-O-UJ.js} +1 -1
  27. package/dist/client/assets/{diagram-KO2AKTUF-CmYcvFri.js → diagram-KO2AKTUF-Ds1Lmrzm.js} +1 -1
  28. package/dist/client/assets/{diagram-LMA3HP47-ncx0RBuX.js → diagram-LMA3HP47-VFQabxKS.js} +1 -1
  29. package/dist/client/assets/{diagram-OG6HWLK6-DbchKIzw.js → diagram-OG6HWLK6-Baff59Zc.js} +1 -1
  30. package/dist/client/assets/{erDiagram-TEJ5UH35-CMnpvRyQ.js → erDiagram-TEJ5UH35-Da5zHjOK.js} +1 -1
  31. package/dist/client/assets/{flowDiagram-I6XJVG4X-Bi02_PK5.js → flowDiagram-I6XJVG4X-pdGMAuog.js} +1 -1
  32. package/dist/client/assets/{ganttDiagram-6RSMTGT7-BiS992US.js → ganttDiagram-6RSMTGT7-DjJGX0nm.js} +1 -1
  33. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-Cc1hrTsT.js → gitGraphDiagram-PVQCEYII-kErlwtcT.js} +1 -1
  34. package/dist/client/assets/index-CS4TzG41.css +2 -0
  35. package/dist/client/assets/{index-B1gdJKwK.js → index-D5TEfELZ.js} +107 -107
  36. package/dist/client/assets/{infoDiagram-5YYISTIA-BKVfqJCe.js → infoDiagram-5YYISTIA-Bx78HhDi.js} +1 -1
  37. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-B-IbFOty.js → ishikawaDiagram-YF4QCWOH-BP0YQCMl.js} +1 -1
  38. package/dist/client/assets/{journeyDiagram-JHISSGLW-DAZBgAQW.js → journeyDiagram-JHISSGLW-DUgrCOuD.js} +1 -1
  39. package/dist/client/assets/{kanban-definition-UN3LZRKU-Bkr_fXev.js → kanban-definition-UN3LZRKU-K0Zc5_M8.js} +1 -1
  40. package/dist/client/assets/{line-CROuuXDO.js → line-Dtg-krjk.js} +1 -1
  41. package/dist/client/assets/{mermaid-parser.core-DrBw_Rsc.js → mermaid-parser.core-Dw5BI77W.js} +1 -1
  42. package/dist/client/assets/{mermaid.core-pPd6OYYj.js → mermaid.core-BE-qlWNj.js} +3 -3
  43. package/dist/client/assets/{mindmap-definition-RKZ34NQL-BXSd3TZU.js → mindmap-definition-RKZ34NQL-1Piz4H9I.js} +1 -1
  44. package/dist/client/assets/{pieDiagram-4H26LBE5-DoT7PIZC.js → pieDiagram-4H26LBE5-zlWdJ7lL.js} +1 -1
  45. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-ycZkLowm.js → quadrantDiagram-W4KKPZXB-DRQY8Adp.js} +1 -1
  46. package/dist/client/assets/{requirementDiagram-4Y6WPE33-BPkO1yLu.js → requirementDiagram-4Y6WPE33-B8_GJFxl.js} +1 -1
  47. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-D7AvhhCw.js → sankeyDiagram-5OEKKPKP-BaI0Njo8.js} +1 -1
  48. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-C982swnH.js → sequenceDiagram-3UESZ5HK-DjqAXbRF.js} +1 -1
  49. package/dist/client/assets/{stateDiagram-AJRCARHV-xvJ3u8lc.js → stateDiagram-AJRCARHV-Ovr_3LeO.js} +1 -1
  50. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-9pmeAorV.js +1 -0
  51. package/dist/client/assets/{timeline-definition-PNZ67QCA-D89qjzb5.js → timeline-definition-PNZ67QCA-DkczYKeZ.js} +1 -1
  52. package/dist/client/assets/{vennDiagram-CIIHVFJN-CoKeC__u.js → vennDiagram-CIIHVFJN-BZyo4ESi.js} +1 -1
  53. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DKhjzvSE.js → wardleyDiagram-YWT4CUSO-BEISrECX.js} +1 -1
  54. package/dist/client/assets/{xychartDiagram-2RQKCTM6-DFn9ass1.js → xychartDiagram-2RQKCTM6-CyNzGK7f.js} +1 -1
  55. package/dist/client/index.html +2 -2
  56. package/dist/server/db.js +2 -0
  57. package/dist/server/db.js.map +1 -1
  58. package/dist/server/index.js +11 -42
  59. package/dist/server/index.js.map +1 -1
  60. package/dist/server/lib/agent.js +61 -12
  61. package/dist/server/lib/agent.js.map +1 -1
  62. package/dist/server/lib/agentProvider.js +13 -3
  63. package/dist/server/lib/agentProvider.js.map +1 -1
  64. package/dist/server/lib/agentRuns.js +20 -9
  65. package/dist/server/lib/agentRuns.js.map +1 -1
  66. package/dist/server/lib/chatOperations.js +30 -1
  67. package/dist/server/lib/chatOperations.js.map +1 -1
  68. package/dist/server/lib/git.js +32 -1
  69. package/dist/server/lib/git.js.map +1 -1
  70. package/dist/server/lib/lightweightPrompt.js +1 -0
  71. package/dist/server/lib/lightweightPrompt.js.map +1 -1
  72. package/dist/server/lib/opencodeExecutionReliability.js +52 -0
  73. package/dist/server/lib/opencodeExecutionReliability.js.map +1 -0
  74. package/dist/server/lib/opencodeSessionOperations.js +21 -11
  75. package/dist/server/lib/opencodeSessionOperations.js.map +1 -1
  76. package/dist/server/lib/projectAutoConfig.js +1 -0
  77. package/dist/server/lib/projectAutoConfig.js.map +1 -1
  78. package/dist/server/lib/specArtifact.js +19 -0
  79. package/dist/server/lib/specArtifact.js.map +1 -1
  80. package/dist/server/lib/specBundleGroups.js +151 -0
  81. package/dist/server/lib/specBundleGroups.js.map +1 -0
  82. package/dist/server/lib/specExport.js +1 -0
  83. package/dist/server/lib/specExport.js.map +1 -1
  84. package/dist/server/lib/specFormatting.js +13 -0
  85. package/dist/server/lib/specFormatting.js.map +1 -1
  86. package/dist/server/lib/specReviewValidation.js +22 -1
  87. package/dist/server/lib/specReviewValidation.js.map +1 -1
  88. package/dist/server/lib/specReviews.js +1 -1
  89. package/dist/server/lib/specSections.js +8 -1
  90. package/dist/server/lib/specSections.js.map +1 -1
  91. package/dist/server/lib/specTicketMaterialization.js +119 -0
  92. package/dist/server/lib/specTicketMaterialization.js.map +1 -0
  93. package/dist/server/lib/specs.js +27 -5
  94. package/dist/server/lib/specs.js.map +1 -1
  95. package/dist/server/lib/types.js.map +1 -1
  96. package/dist/server/workers/followUp.js +25 -4
  97. package/dist/server/workers/followUp.js.map +1 -1
  98. package/dist/server/workers/plan.js +23 -2
  99. package/dist/server/workers/plan.js.map +1 -1
  100. package/dist/server/workers/review.js +29 -10
  101. package/dist/server/workers/review.js.map +1 -1
  102. package/dist/server/workers/specReview.js +7 -1
  103. package/dist/server/workers/specReview.js.map +1 -1
  104. package/dist/server/workers/specSession.js +68 -36
  105. package/dist/server/workers/specSession.js.map +1 -1
  106. package/package.json +1 -1
  107. package/dist/client/assets/channel-D1kOpezG.js +0 -1
  108. package/dist/client/assets/classDiagram-4FO5ZUOK-C253nwny.js +0 -1
  109. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DFgDA23g.js +0 -1
  110. package/dist/client/assets/index-CCQwWUKF.css +0 -2
  111. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-BKQG8NCn.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"specExport.js","sourceRoot":"","sources":["../../../server/lib/specExport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specExport.js","sourceRoot":"","sources":["../../../server/lib/specExport.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,19 @@ export const formatWorkItems = (tickets) => {
18
18
  }
19
19
  return tickets.map(ticket => `### ${ticket.key} — ${ticket.title}\n\n${ticket.description}`).join('\n\n');
20
20
  };
21
+ export const formatBundleGroups = (groups, tickets) => {
22
+ if (groups.length === 0) {
23
+ return NO_CONTENT;
24
+ }
25
+ const ticketsByKey = new Map(tickets.map(ticket => [ticket.key, ticket]));
26
+ return groups.map(group => {
27
+ const workItems = group.ticket_keys
28
+ .map(ticketKey => ticketsByKey.get(ticketKey))
29
+ .filter((ticket) => ticket !== undefined)
30
+ .map(ticket => `- \`${ticket.key}\` — ${ticket.title}`);
31
+ return `### ${group.name}${workItems.length > 0 ? `\n\n${workItems.join('\n')}` : ''}`;
32
+ }).join('\n\n');
33
+ };
21
34
  export const formatDependencies = (dependencies) => {
22
35
  if (dependencies.length === 0) {
23
36
  return NO_CONTENT;
@@ -1 +1 @@
1
- {"version":3,"file":"specFormatting.js","sourceRoot":"","sources":["../../../server/lib/specFormatting.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,QAAQ,CAAA;AAE3B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAU,EAAE;IACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAClD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAmC,EAAU,EAAE;IAC/E,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAA;IAClE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,qBAAqB,MAAM,IAAI,CAAC,MAAM,IAAI,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACrK,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAgC,EAAU,EAAE;IAC1E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC3G,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,YAA0C,EAAU,EAAE;IACvF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,WAAW,eAAe,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvG,CAAC,CAAA"}
1
+ {"version":3,"file":"specFormatting.js","sourceRoot":"","sources":["../../../server/lib/specFormatting.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { existsSync } from 'fs';
2
2
  import { isAbsolute, relative, resolve, sep } from 'path';
3
3
  import { IMPLEMENTATION_READY_DESCRIPTION_SECTION_HEADINGS, } from './ticketDescriptionContract.js';
4
+ import { resolveAndValidateSpecBundleGroups } from './specBundleGroups.js';
4
5
  const extractMarkdownSection = (description, heading) => {
5
6
  const escapedHeading = heading.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
6
7
  const sectionPattern = new RegExp(`^##\\s+${escapedHeading}\\s*$\\n([\\s\\S]*?)(?=^##\\s+|(?![\\s\\S]))`, 'm');
@@ -206,10 +207,30 @@ const validateVisualizationReferences = (snapshot) => {
206
207
  suggestion_text: 'Add the referenced visual artifact or remove the stale ticket visualization tag.',
207
208
  }];
208
209
  };
209
- export const validateSpecSnapshotForReview = ({ snapshot, repoPath, }) => {
210
+ export const validateSpecSnapshotForReview = ({ snapshot, repoPath, targetKind = 'repo_root', externalKey = null, capturedBundleName = null, }) => {
211
+ const grouping = resolveAndValidateSpecBundleGroups({
212
+ tickets: snapshot.tickets,
213
+ dependencies: snapshot.dependencies,
214
+ bundleGroups: snapshot.bundle_groups,
215
+ targetKind,
216
+ externalKey,
217
+ capturedBundleName,
218
+ allowLegacyEmpty: true,
219
+ });
220
+ const groupingFindings = grouping.errors.length > 0
221
+ ? [{
222
+ ordinal: 0,
223
+ severity: 'high',
224
+ title: 'Bundle grouping is invalid',
225
+ what_text: grouping.errors.join(' '),
226
+ why_text: 'Each proposed PR bundle must be independently materializable and own every assigned ticket exactly once.',
227
+ suggestion_text: 'Repartition the tickets into unique, non-empty groups with no cross-group dependencies.',
228
+ }]
229
+ : [];
210
230
  return [
211
231
  ...validateTicketDescriptions(snapshot),
212
232
  ...validateDependencies(snapshot),
233
+ ...groupingFindings,
213
234
  ...validateLikelyFiles(snapshot, repoPath),
214
235
  ...validateVisualizationReferences(snapshot),
215
236
  ].map((finding, index) => ({ ...finding, ordinal: index + 1 }));
@@ -1 +1 @@
1
- {"version":3,"file":"specReviewValidation.js","sourceRoot":"","sources":["../../../server/lib/specReviewValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specReviewValidation.js","sourceRoot":"","sources":["../../../server/lib/specReviewValidation.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ const createSpecReviewRunStatement = db.prepare(`
19
19
  const updateSpecReviewRunStreamingStatement = db.prepare(`
20
20
  UPDATE spec_review_runs
21
21
  SET streaming_response = ?, agent_status = 'running'
22
- WHERE id = ?
22
+ WHERE id = ? AND agent_status = 'running'
23
23
  `);
24
24
  const updateSpecReviewRunStatusStatement = db.prepare(`
25
25
  UPDATE spec_review_runs
@@ -1,4 +1,4 @@
1
- import { formatBulletList, formatDependencies, formatLikelyFiles, formatWorkItems } from './specFormatting.js';
1
+ import { formatBulletList, formatBundleGroups, formatDependencies, formatLikelyFiles, formatWorkItems } from './specFormatting.js';
2
2
  import { formatCurrentRepositoryEvidence, formatHistoricalRepositoryEvidence, formatRepositoryEvidenceActionState, formatRepositoryEvidencePromptFallback, isSpecRepositoryEvidenceSuitableForPrompt, } from './specRepositoryEvidenceFormatting.js';
3
3
  export const SPEC_SECTION_LABELS = {
4
4
  goal: 'Goal',
@@ -6,6 +6,7 @@ export const SPEC_SECTION_LABELS = {
6
6
  likelyFiles: 'Likely Files',
7
7
  assumptions: 'Assumptions',
8
8
  openQuestions: 'Open Questions',
9
+ bundleGroups: 'Bundle Groups',
9
10
  workBreakdown: 'Work Breakdown',
10
11
  dependencies: 'Dependencies',
11
12
  visualization: 'Visualization',
@@ -43,6 +44,12 @@ export const formatSpecSection = (snapshot, key, context = {}) => {
43
44
  }
44
45
  return { key, heading: SPEC_SECTION_LABELS.openQuestions, body: formatBulletList(snapshot.open_questions) };
45
46
  }
47
+ case 'bundleGroups': {
48
+ if (snapshot.bundle_groups.length === 0) {
49
+ return null;
50
+ }
51
+ return { key, heading: SPEC_SECTION_LABELS.bundleGroups, body: formatBundleGroups(snapshot.bundle_groups, snapshot.tickets) };
52
+ }
46
53
  case 'workBreakdown': {
47
54
  if (snapshot.tickets.length === 0) {
48
55
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"specSections.js","sourceRoot":"","sources":["../../../server/lib/specSections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specSections.js","sourceRoot":"","sources":["../../../server/lib/specSections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import { adjectives, animals, uniqueNamesGenerator } from 'unique-names-generator';
2
+ import db from '../db.js';
3
+ import { hasKnownBranchOrWorktreeConflict } from './git.js';
4
+ import { HttpError } from './httpError.js';
5
+ import { resolveAndValidateSpecBundleGroups, resolveImportedSpecBundleName } from './specBundleGroups.js';
6
+ import { buildImplementationResourcesAppendix, buildVisualizationAppendix } from './specDraft.js';
7
+ import { materializeTicketsWithDependencies } from './ticketBatch.js';
8
+ import { createBundleRecord, getBundle, listBundles } from './tickets.js';
9
+ const generateLegacyBundleName = () => uniqueNamesGenerator({
10
+ dictionaries: [adjectives, animals],
11
+ separator: '-',
12
+ style: 'lowerCase',
13
+ });
14
+ const hasDatabaseCollision = (name, projectId) => {
15
+ const normalizedName = name.toLowerCase();
16
+ return listBundles(projectId).some(bundle => (bundle.name.toLowerCase() === normalizedName || bundle.branch.toLowerCase() === normalizedName));
17
+ };
18
+ const isNameAvailable = (name, project) => (!hasDatabaseCollision(name, project.id) && !hasKnownBranchOrWorktreeConflict(name, project));
19
+ const assertNameAvailable = (name, project) => {
20
+ if (!isNameAvailable(name, project)) {
21
+ throw new HttpError(409, `Bundle name or branch "${name}" already exists.`);
22
+ }
23
+ };
24
+ const resolveLegacyName = (project, externalKey) => {
25
+ if (externalKey) {
26
+ for (let attempt = 0; attempt < 20; attempt += 1) {
27
+ const candidate = resolveImportedSpecBundleName(externalKey, attempt);
28
+ if (isNameAvailable(candidate, project)) {
29
+ return candidate;
30
+ }
31
+ }
32
+ throw new HttpError(409, 'Unable to find an available bundle name for this imported Spec snapshot.');
33
+ }
34
+ for (let attempt = 0; attempt < 20; attempt += 1) {
35
+ const candidate = generateLegacyBundleName();
36
+ if (isNameAvailable(candidate, project)) {
37
+ return candidate;
38
+ }
39
+ }
40
+ throw new HttpError(409, 'Unable to find an available generated bundle name for this legacy Spec snapshot.');
41
+ };
42
+ export const materializeSpecSnapshotTickets = ({ project, specSession, snapshot, target, }) => {
43
+ const capturedBundle = target.target_kind === 'bundle' && target.target_bundle_id
44
+ ? getBundle(target.target_bundle_id, project.id)
45
+ : null;
46
+ if (target.target_kind === 'bundle' && !capturedBundle) {
47
+ throw new HttpError(409, 'The captured Spec bundle no longer exists.');
48
+ }
49
+ const grouping = resolveAndValidateSpecBundleGroups({
50
+ tickets: snapshot.tickets,
51
+ dependencies: snapshot.dependencies,
52
+ bundleGroups: snapshot.bundle_groups,
53
+ targetKind: target.target_kind,
54
+ externalKey: specSession.external_source?.external_key ?? null,
55
+ capturedBundleName: capturedBundle?.branch ?? null,
56
+ allowLegacyEmpty: true,
57
+ materializeIntoSingleBundle: true,
58
+ });
59
+ if (grouping.errors.length > 0) {
60
+ throw new HttpError(422, `Invalid Spec bundle grouping: ${grouping.errors.join(' ')}`);
61
+ }
62
+ const bundleName = target.target_kind === 'bundle'
63
+ ? capturedBundle.branch
64
+ : resolveLegacyName(project, specSession.external_source?.external_key ?? null);
65
+ const tickets = snapshot.tickets.map(ticket => {
66
+ const appendices = [
67
+ buildVisualizationAppendix(ticket.relevant_visualizations ?? [], snapshot),
68
+ buildImplementationResourcesAppendix(snapshot.resource_urls),
69
+ ].filter(Boolean);
70
+ return {
71
+ key: ticket.key,
72
+ title: ticket.title,
73
+ description: appendices.length > 0 ? `${ticket.description}\n\n${appendices.join('\n\n')}` : ticket.description,
74
+ };
75
+ });
76
+ const materialize = db.transaction(() => {
77
+ const existingTicketIds = db.prepare('SELECT id FROM tickets WHERE origin_spec_snapshot_id = ? AND project_id = ? ORDER BY created_at DESC, id DESC').all(snapshot.id, project.id);
78
+ if (existingTicketIds.length > 0) {
79
+ const error = new HttpError(409, 'Tickets have already been created from this spec snapshot.');
80
+ error.existingTicketIds = existingTicketIds.map(row => row.id);
81
+ throw error;
82
+ }
83
+ let worktreeBundleId;
84
+ if (target.target_kind === 'bundle') {
85
+ worktreeBundleId = capturedBundle.id;
86
+ }
87
+ else {
88
+ assertNameAvailable(bundleName, project);
89
+ const bundle = createBundleRecord({
90
+ name: bundleName,
91
+ branch: bundleName,
92
+ baseBranch: target.branch,
93
+ projectId: project.id,
94
+ kind: 'worktree',
95
+ });
96
+ if (!bundle) {
97
+ throw new HttpError(500, `Unable to create Spec bundle "${bundleName}".`);
98
+ }
99
+ worktreeBundleId = bundle.id;
100
+ }
101
+ return materializeTicketsWithDependencies({
102
+ options: {
103
+ projectId: project.id,
104
+ model: specSession.model,
105
+ variant: specSession.variant,
106
+ skills: specSession.skills,
107
+ tool: null,
108
+ worktreeBundleId,
109
+ originSpecSessionId: specSession.id,
110
+ originSpecSnapshotId: snapshot.id,
111
+ externalSource: specSession.external_source ?? null,
112
+ },
113
+ tickets,
114
+ dependencies: snapshot.dependencies,
115
+ });
116
+ });
117
+ return materialize.immediate();
118
+ };
119
+ //# sourceMappingURL=specTicketMaterialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specTicketMaterialization.js","sourceRoot":"","sources":["../../../server/lib/specTicketMaterialization.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,9 @@ import { deleteSpecSessionAttachments } from './attachments.js';
4
4
  import { listSpecMessages } from './specMessages.js';
5
5
  import { resolveSessionTarget } from './sessionTargets.js';
6
6
  import { parseSpecSnapshotRepositoryEvidence } from './specSnapshotEvidenceSerialization.js';
7
+ import { resolveAndValidateSpecBundleGroups } from './specBundleGroups.js';
8
+ import { HttpError } from './httpError.js';
9
+ import { getBundle } from './tickets.js';
7
10
  const DEFAULT_SPEC_SESSION_TITLE = 'New spec';
8
11
  const lastUserMessageAtSelect = `(
9
12
  SELECT MAX(spec_messages.created_at)
@@ -149,8 +152,8 @@ const deleteSpecSessionStatement = db.prepare(`
149
152
  WHERE id = ?
150
153
  `);
151
154
  const insertSpecSnapshotStatement = db.prepare(`
152
- INSERT INTO spec_snapshots (id, spec_session_id, summary, assumptions_json, open_questions_json, likely_files_json, tickets_json, dependencies_json, resource_urls_json, mermaid, mockup, file_relation_graph, plan_text, repository_evidence_json)
153
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
155
+ INSERT INTO spec_snapshots (id, spec_session_id, summary, assumptions_json, open_questions_json, likely_files_json, tickets_json, dependencies_json, bundle_groups_json, resource_urls_json, mermaid, mockup, file_relation_graph, plan_text, repository_evidence_json)
156
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
154
157
  `);
155
158
  const insertSpecSnapshotGraphReferenceStatement = db.prepare(`
156
159
  INSERT INTO repository_graph_scan_references (project_id, reference_type, reference_id, scan_id)
@@ -159,7 +162,7 @@ const insertSpecSnapshotGraphReferenceStatement = db.prepare(`
159
162
  WHERE id = ?
160
163
  `);
161
164
  const getSpecSnapshotStatement = db.prepare(`
162
- SELECT id, spec_session_id, summary, assumptions_json, open_questions_json, likely_files_json, tickets_json, dependencies_json, resource_urls_json, mermaid, mockup, file_relation_graph, plan_text, repository_evidence_json, created_at
165
+ SELECT id, spec_session_id, summary, assumptions_json, open_questions_json, likely_files_json, tickets_json, dependencies_json, bundle_groups_json, resource_urls_json, mermaid, mockup, file_relation_graph, plan_text, repository_evidence_json, created_at
163
166
  FROM spec_snapshots
164
167
  WHERE id = ?
165
168
  `);
@@ -321,10 +324,28 @@ export const deleteSpecSession = (specSessionId) => {
321
324
  deleteSpecSessionAttachments(specSessionId);
322
325
  deleteSpecSessionStatement.run(specSessionId);
323
326
  };
324
- export const createSpecSnapshot = ({ specSessionId, summary, assumptions, openQuestions, likelyFiles, tickets, dependencies, resourceUrls, mermaid, mockup, fileRelationGraph, planText, repositoryEvidence, }) => {
327
+ export const createSpecSnapshot = ({ specSessionId, summary, assumptions, openQuestions, likelyFiles, tickets, dependencies, bundleGroups, resourceUrls, mermaid, mockup, fileRelationGraph, planText, repositoryEvidence, }) => {
325
328
  const id = randomUUID();
329
+ const session = getSpecSession(specSessionId, { skipTargetResolution: true });
330
+ if (!session) {
331
+ throw new Error('Spec snapshot session no longer exists');
332
+ }
333
+ const capturedBundle = session.target_kind === 'bundle' && session.target_bundle_id
334
+ ? getBundle(session.target_bundle_id, session.project_id)
335
+ : null;
336
+ const grouping = resolveAndValidateSpecBundleGroups({
337
+ tickets,
338
+ dependencies,
339
+ bundleGroups,
340
+ targetKind: session.target_kind,
341
+ externalKey: session.external_source?.external_key ?? null,
342
+ capturedBundleName: capturedBundle?.branch ?? session.target_branch_snapshot,
343
+ });
344
+ if (grouping.errors.length > 0) {
345
+ throw new HttpError(422, `Invalid Spec bundle grouping: ${grouping.errors.join(' ')}`);
346
+ }
326
347
  db.transaction(() => {
327
- insertSpecSnapshotStatement.run(id, specSessionId, summary, JSON.stringify(assumptions), JSON.stringify(openQuestions), JSON.stringify(likelyFiles), JSON.stringify(tickets), JSON.stringify(dependencies), JSON.stringify(resourceUrls), mermaid, mockup, fileRelationGraph, planText, JSON.stringify(repositoryEvidence));
348
+ insertSpecSnapshotStatement.run(id, specSessionId, summary, JSON.stringify(assumptions), JSON.stringify(openQuestions), JSON.stringify(likelyFiles), JSON.stringify(tickets), JSON.stringify(dependencies), JSON.stringify(grouping.groups), JSON.stringify(resourceUrls), mermaid, mockup, fileRelationGraph, planText, JSON.stringify(repositoryEvidence));
328
349
  if (repositoryEvidence.scan_id) {
329
350
  const reference = insertSpecSnapshotGraphReferenceStatement.run(id, repositoryEvidence.scan_id, specSessionId);
330
351
  if (reference.changes !== 1) {
@@ -352,6 +373,7 @@ export const getSpecSnapshot = (snapshotId) => {
352
373
  likely_files: parseSnapshotLikelyFiles(row.likely_files_json),
353
374
  tickets: parseSnapshotJsonArray(row.tickets_json),
354
375
  dependencies: parseSnapshotJsonArray(row.dependencies_json),
376
+ bundle_groups: parseSnapshotJsonArray(row.bundle_groups_json),
355
377
  resource_urls: parseSnapshotStringArray(row.resource_urls_json),
356
378
  mermaid: row.mermaid,
357
379
  mockup: row.mockup,
@@ -1 +1 @@
1
- {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../server/lib/specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../server/lib/specs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../server/lib/types.ts"],"names":[],"mappings":"AA8vDA,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC9B,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;CAC1B,CAAA;AAEV,MAAM,CAAC,MAAM,gCAAgC,GAAG,UAAmB,CAAA;AACnE,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAC1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AACvC,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAC5C,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAA;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,CAAA;AAsFzD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM;IACN,aAAa;IACb,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,MAAM;IACN,gBAAgB;IAChB,OAAO;IACP,QAAQ;IACR,WAAW;IACX,WAAW;IACX,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,uBAAuB;IACvB,wBAAwB;IACxB,uBAAuB;IACvB,mBAAmB;IACnB,iBAAiB;IACjB,yBAAyB;CACjB,CAAA;AAwEV,MAAM,4BAA4B,GAAG,EAAE,CAAA;AACvC,MAAM,sCAAsC,GAAG,GAAG,CAAA;AAClD,MAAM,iCAAiC,GAAG,GAAG,CAAA;AAC7C,MAAM,mCAAmC,GAAG,mBAAmB,CAAA;AAE/D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,OAA2C,EACV,EAAE;IACnC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,IAAI,OAAO,CAAC,MAAM,GAAG,4BAA4B,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,wCAAwC,4BAA4B,cAAc,CAAC,CAAA;IACrG,CAAC;IACD,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QAC1C,IACE,UAAU,CAAC,MAAM,GAAG,sCAAsC;eACvD,CAAC,mCAAmC,CAAC,IAAI,CAAC,UAAU,CAAC,EACxD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,UAAU,EAAE,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,iCAAiC,EAAE,CAAC;YACxG,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAA6B,CAAA;AAC/E,CAAC,CAAA;AAID,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,cAAc;IACd,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,cAAc;IACd,qBAAqB;CACb,CAAA;AAwFV,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAU,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../server/lib/types.ts"],"names":[],"mappings":"AAswDA,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC9B,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;CAC1B,CAAA;AAEV,MAAM,CAAC,MAAM,gCAAgC,GAAG,UAAmB,CAAA;AACnE,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAC1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AACvC,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAC5C,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAA;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,CAAA;AAsFzD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM;IACN,aAAa;IACb,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,MAAM;IACN,gBAAgB;IAChB,OAAO;IACP,QAAQ;IACR,WAAW;IACX,WAAW;IACX,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,uBAAuB;IACvB,wBAAwB;IACxB,uBAAuB;IACvB,mBAAmB;IACnB,iBAAiB;IACjB,yBAAyB;CACjB,CAAA;AAwEV,MAAM,4BAA4B,GAAG,EAAE,CAAA;AACvC,MAAM,sCAAsC,GAAG,GAAG,CAAA;AAClD,MAAM,iCAAiC,GAAG,GAAG,CAAA;AAC7C,MAAM,mCAAmC,GAAG,mBAAmB,CAAA;AAE/D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,OAA2C,EACV,EAAE;IACnC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,IAAI,OAAO,CAAC,MAAM,GAAG,4BAA4B,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,wCAAwC,4BAA4B,cAAc,CAAC,CAAA;IACrG,CAAC;IACD,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QAC1C,IACE,UAAU,CAAC,MAAM,GAAG,sCAAsC;eACvD,CAAC,mCAAmC,CAAC,IAAI,CAAC,UAAU,CAAC,EACxD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,UAAU,EAAE,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,iCAAiC,EAAE,CAAC;YACxG,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAA6B,CAAA;AAC/E,CAAC,CAAA;AAID,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,cAAc;IACd,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,cAAc;IACd,qBAAqB;CACb,CAAA;AAwFV,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAU,CAAA"}
@@ -4,7 +4,7 @@ import { acquireAgentSpawnPermit } from '../lib/agentSpawnPermits.js';
4
4
  import { createAgentRun, emitAgentRunsUpdated, getAgentRun, terminalizeAgentRunsForExecutionRun } from '../lib/agentRuns.js';
5
5
  import { appendLifecycleEvent, getExecutionRun, withExecutionRunTransaction } from '../lib/executionRuns.js';
6
6
  import config from '../lib/config.js';
7
- import { failBuildOpenQuestionBatch, filterResolvedBuildOpenQuestionsForBatch, listBuildOpenQuestionsForBundle, reconcileBuildOpenQuestions, setBuildOpenQuestionBatchStatus, } from '../lib/buildOpenQuestions.js';
7
+ import { failBuildOpenQuestionBatch, filterResolvedBuildOpenQuestionsForBatch, formatBuildOpenQuestionAnswersPrompt, listAnsweredBuildOpenQuestionsForBundle, listBuildOpenQuestionsForBundle, reconcileBuildOpenQuestions, setBuildOpenQuestionBatchStatus, } from '../lib/buildOpenQuestions.js';
8
8
  import { advanceBuildChain } from '../lib/buildChains.js';
9
9
  import { activateQueuedBuildSequenceTicket, stopBuildSequence } from '../lib/buildSequences.js';
10
10
  import { prepareTicketForBuild } from '../lib/buildFlow.js';
@@ -18,6 +18,7 @@ import { appendFigmaInspectionGuidance } from '../lib/figmaResources.js';
18
18
  import { getEffectiveProject } from '../lib/projects.js';
19
19
  import { enqueue, getRunningJob, isRunning } from '../lib/queue.js';
20
20
  import { formatReviewFindingsForFix, getLatestReviewMarkdownForContext } from '../lib/reviewFindings.js';
21
+ import { buildSpecCoverageContext } from '../lib/specCoverageContext.js';
21
22
  import { registerBundleActivity, unregisterBundleActivity } from '../lib/bundleActivity.js';
22
23
  import { buildOpenQuestionsPromptBlock, createTicketOpenQuestionsContext, formatAssistantMessageWithOpenQuestions, OPEN_QUESTIONS_RESPONSE_RULES, parseAgentResponseWithOpenQuestions, } from '../lib/ticketOpenQuestions.js';
23
24
  import { prependSkillPromptBlock } from '../lib/promptSkills.js';
@@ -164,7 +165,21 @@ ${PLAN_MODE_QUESTION_PROMPT_RULES}`, ticket.skills);
164
165
  const hasPreviousReviewFollowUp = (ticket) => {
165
166
  return (ticket.messages ?? []).some(message => message.role === 'user' && message.kind === 'follow_up');
166
167
  };
167
- const reviewFindingsFollowUpPrompt = (ticket, project, reviewFindings, instruction, memoryEnabled) => {
168
+ const buildReviewFixIntentContext = (ticket, project) => {
169
+ if (!project.spec_aware_code_review_enabled
170
+ || !ticket.origin_spec_snapshot_id
171
+ || !ticket.project_id
172
+ || !ticket.worktree_bundle_id) {
173
+ return '';
174
+ }
175
+ const bundleTickets = listTickets(ticket.project_id)
176
+ .filter(bundleTicket => bundleTicket.worktree_bundle_id === ticket.worktree_bundle_id);
177
+ const specContext = buildSpecCoverageContext({ ticket, bundleTickets });
178
+ const supplementalRequirements = formatBuildOpenQuestionAnswersPrompt(listAnsweredBuildOpenQuestionsForBundle(ticket.project_id, ticket.worktree_bundle_id));
179
+ const context = [specContext, supplementalRequirements].filter(Boolean).join('\n\n');
180
+ return context ? `<implementation_intent_context>\n${context}\n</implementation_intent_context>` : '';
181
+ };
182
+ const reviewFindingsFollowUpPrompt = (ticket, project, reviewFindings, instruction, memoryEnabled, intentContext) => {
168
183
  const projectMemory = getProjectMemoryPromptBlock(ticket.project_id, {
169
184
  flow: 'follow_up',
170
185
  stage: 'follow_up',
@@ -180,6 +195,9 @@ const reviewFindingsFollowUpPrompt = (ticket, project, reviewFindings, instructi
180
195
  ${reviewFindings}
181
196
  </review_findings>
182
197
 
198
+ ${intentContext ? `${intentContext}
199
+
200
+ ` : ''}
183
201
  ${projectMemory ? `${projectMemory}
184
202
 
185
203
  ` : ''}
@@ -190,7 +208,7 @@ ${requiredCheckPolicy}
190
208
  ${instruction}
191
209
  </follow_up_instruction>
192
210
 
193
- Use the review findings as the source of truth unless the follow-up instruction narrows the scope. Apply only the requested changes in the current project worktree. Do not re-review the code. Do not respond with findings unless the instruction explicitly asks for another review. If the follow-up references linked projects or other repositories, treat them as read-only context and do not modify them. Do NOT commit your changes.${getProjectMemorySuggestionPromptRules(memoryEnabled, 'follow_up') ? `
211
+ Use the review findings as the requested changes unless the follow-up instruction narrows the scope. When <implementation_intent_context> is present, its accepted specification and answered supplemental requirements are authoritative over a review finding, with answered requirements taking precedence over older snapshot text. If a requested fix conflicts with that intent, leave the conflicting code unchanged and report the conflict. Apply only the requested changes in the current project worktree. Do not re-review the code. Do not respond with findings unless the instruction explicitly asks for another review. If the follow-up references linked projects or other repositories, treat them as read-only context and do not modify them. Do NOT commit your changes.${getProjectMemorySuggestionPromptRules(memoryEnabled, 'follow_up') ? `
194
212
 
195
213
  ${getProjectMemorySuggestionPromptRules(memoryEnabled, 'follow_up')}` : ''}`;
196
214
  };
@@ -480,6 +498,9 @@ export function startFollowUp(ticket, io, instruction, mode = 'build', options =
480
498
  projectId: ticket.project_id,
481
499
  worktreeBundleId: ticket.worktree_bundle_id,
482
500
  });
501
+ const reviewFixIntentContext = isReviewTicket && !isPlanMode
502
+ ? buildReviewFixIntentContext(runTicket, project)
503
+ : '';
483
504
  if (isBuildTicket && !isPlanMode) {
484
505
  clearBuildCompletion(ticket.id);
485
506
  }
@@ -490,7 +511,7 @@ export function startFollowUp(ticket, io, instruction, mode = 'build', options =
490
511
  ? questionFollowUpPrompt(runTicket, instruction, Boolean(project.memory_enabled))
491
512
  : isBuildTicket
492
513
  ? followUpPrompt(runTicket, project, instruction, Boolean(project.memory_enabled), !options.buildOpenQuestionBatchId)
493
- : prependSkillPromptBlock(reviewFindingsFollowUpPrompt(runTicket, project, latestReviewFindings, instruction, Boolean(project.memory_enabled)), runTicket.skills));
514
+ : prependSkillPromptBlock(reviewFindingsFollowUpPrompt(runTicket, project, latestReviewFindings, instruction, Boolean(project.memory_enabled), reviewFixIntentContext), runTicket.skills));
494
515
  const prompt = isBuildTicket && !isPlanMode && !options.trustedOrchestration?.skipFigmaInspection
495
516
  ? appendFigmaInspectionGuidance(selectedPrompt, runTicket.description || runTicket.title, 'implementation')
496
517
  : selectedPrompt;