@runfusion/fusion 0.77.0-beta.11 → 0.77.0-beta.12
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.
- package/dist/bin.js +3410 -1946
- package/dist/child-process-worker.js +2360 -1111
- package/dist/client/.vite/manifest.json +248 -248
- package/dist/client/assets/{AgentDetailView-DBtLmaDe.js → AgentDetailView-BZfDgV8f.js} +1 -1
- package/dist/client/assets/{AgentPermissionPolicyEditor-CUoT_KSS.js → AgentPermissionPolicyEditor-8yBqnwbx.js} +1 -1
- package/dist/client/assets/{AgentsView-BAr7SsM4.js → AgentsView-BjMOtIMq.js} +3 -3
- package/dist/client/assets/{CommandCenter-Djf24bRQ.js → CommandCenter-CDuO3HPd.js} +31 -26
- package/dist/client/assets/{DevServerView-Du_4m2bu.js → DevServerView-C96RV0QJ.js} +1 -1
- package/dist/client/assets/{DirectoryPicker-BlAdIKxx.js → DirectoryPicker-iRielXf7.js} +1 -1
- package/dist/client/assets/{DocumentsView-ByJFT4I0.js → DocumentsView-DhAUnUD_.js} +1 -1
- package/dist/client/assets/{EvalsView-Dme2v3rH.js → EvalsView--n1p2Bt0.js} +1 -1
- package/dist/client/assets/{ExperimentalAgentOnboardingModal-C3AjkBSq.js → ExperimentalAgentOnboardingModal-DraglCCV.js} +1 -1
- package/dist/client/assets/{GoalsView-B8n2ggt7.js → GoalsView-BOWOua5t.js} +1 -1
- package/dist/client/assets/{InsightsView-CquFSXMH.js → InsightsView-C5YcJZSc.js} +1 -1
- package/dist/client/assets/{MemoryView-CiErG8PC.js → MemoryView-DsCuGVGx.js} +1 -1
- package/dist/client/assets/{PatchnodeView-5bDCQRSq.js → PatchnodeView-CzgChkJV.js} +1 -1
- package/dist/client/assets/{PiExtensionsManager-DQ03OEXC.js → PiExtensionsManager-qYbmaigE.js} +1 -1
- package/dist/client/assets/{PluginManager-k29ipdWr.js → PluginManager-Cklj4Smo.js} +1 -1
- package/dist/client/assets/{PullRequestView-BvWI2q9N.js → PullRequestView-C6vozTTI.js} +1 -1
- package/dist/client/assets/{ReportModal-BH9g02a6.js → ReportModal-B0LU4E4L.js} +1 -1
- package/dist/client/assets/{ResearchView-CeP1rljk.js → ResearchView-CpESx46e.js} +1 -1
- package/dist/client/assets/{SecretsView-Dv3_J_81.js → SecretsView-8ZdH9Yzs.js} +1 -1
- package/dist/client/assets/{SettingsModal-DHLK98c1.js → SettingsModal-B1UCDc_h.js} +3 -3
- package/dist/client/assets/{SettingsModal-DMjYH6JA.js → SettingsModal-BJXu-dhz.js} +1 -1
- package/dist/client/assets/{SettingsTextareaRow-UZ0YryUW.js → SettingsTextareaRow-th-q0_2k.js} +1 -1
- package/dist/client/assets/{SetupWizardModal-GSMFrNw2.js → SetupWizardModal-CBElxrRA.js} +2 -2
- package/dist/client/assets/{SkillsView-gCNtWZf_.js → SkillsView-BuoicLbJ.js} +1 -1
- package/dist/client/assets/{WorkflowNodeEditor-DWu3E6Jg.js → WorkflowNodeEditor-BDw0LpWM.js} +1 -1
- package/dist/client/assets/{agent-import-generation-B1vyAdo0.js → agent-import-generation-CNridJHO.js} +1 -1
- package/dist/client/assets/{agentsOrgChartLayout-70TuKPlY.js → agentsOrgChartLayout-BopFGp0r.js} +1 -1
- package/dist/client/assets/{app-CVozLPHX.js → app-DKzqBaeH.js} +1 -1
- package/dist/client/assets/{app-60jCmuOy.js → app-DkJZhePX.js} +1 -1
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-s7myd3al.js → architectureDiagram-3BPJPVTR-2_yoUOD5.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-DRHcpa5H.js → blockDiagram-GPEHLZMM-ueBSwDJh.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-BFsUy5yO.js → c4Diagram-AAUBKEIU-D0cUU3pE.js} +1 -1
- package/dist/client/assets/channel-DfvbdnTK.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-BP1RbVtu.js → chunk-2J33WTMH-DKJnGdD6.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-CPRpQLCP.js → chunk-4BX2VUAB-BUrgUtvt.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-r6YyDKyy.js → chunk-55IACEB6-DHy2hCYz.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-0xpHKXZs.js → chunk-727SXJPM-Dgbhllem.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-C6JMfScy.js → chunk-AQP2D5EJ-tPbicvl-.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-DxjEMlOu.js → chunk-FMBD7UC4-BpHFGFmo.js} +1 -1
- package/dist/client/assets/{chunk-ND2GUHAM-BGUlWNB6.js → chunk-ND2GUHAM-DUTQ63ld.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-CFRjGMND.js → chunk-QZHKN3VN-ChCf_usL.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-CkMyClXV.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CkMyClXV.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-DGG2Ux35.js → cose-bilkent-S5V4N54A-DgWzHtF9.js} +1 -1
- package/dist/client/assets/{dagre-BM42HDAG-CTY5i3so.js → dagre-BM42HDAG-gQ1C1xHJ.js} +1 -1
- package/dist/client/assets/{dashboard-view-CDY9wohw.js → dashboard-view-AQmzkBNb.js} +1 -1
- package/dist/client/assets/{dashboard-view-Dq76DWwm.js → dashboard-view-BLenRoXu.js} +1 -1
- package/dist/client/assets/{dashboard-view-BRjXwd9e.js → dashboard-view-BXtoQ9a4.js} +1 -1
- package/dist/client/assets/{dashboard-view-N-SfZn-J.js → dashboard-view-BtFepPos.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-DJArhGIk.js → diagram-2AECGRRQ-Dv96I1MI.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-B84qgzdt.js → diagram-5GNKFQAL-BRyhjYes.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-CdNfsKkQ.js → diagram-KO2AKTUF-Bmj3ihjc.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-BEbs4y1i.js → diagram-LMA3HP47-BYHVCFK2.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-CAtbZh_w.js → diagram-OG6HWLK6-0WZBLayt.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-xwztc3Q7.js → erDiagram-TEJ5UH35-Cu-yj8hA.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-Br7puzSx.js → flowDiagram-I6XJVG4X-BSetu6oh.js} +1 -1
- package/dist/client/assets/{folder-open-DdKnoktO.js → folder-open-CkswT0lE.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-BSi95Wyd.js → ganttDiagram-6RSMTGT7-B5qn0KFQ.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-BBqhe6Fa.js → gitGraphDiagram-PVQCEYII-BVB3wm46.js} +1 -1
- package/dist/client/assets/index-BgE915SE.js +2937 -0
- package/dist/client/assets/index-e2yEk7y4.css +1 -0
- package/dist/client/assets/{infoDiagram-5YYISTIA-CLDl9nTe.js → infoDiagram-5YYISTIA-ZBNKOBSK.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CbAV7HqZ.js → ishikawaDiagram-YF4QCWOH-CbNKgenI.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-qU403OEV.js → journeyDiagram-JHISSGLW-BLc2FHIF.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-Cm7X52UA.js → kanban-definition-UN3LZRKU-B08tij8f.js} +1 -1
- package/dist/client/assets/{mermaid.core-CRm31xPI.js → mermaid.core-QX5z7w8Z.js} +4 -4
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-xK11OOHv.js → mindmap-definition-RKZ34NQL-C1md8M3c.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-KeD-Qpaa.js → pieDiagram-4H26LBE5-BoQbn3Xp.js} +1 -1
- package/dist/client/assets/{puzzle-DEZH73Mz.js → puzzle-DCqPnWPE.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CxdT8X-P.js → quadrantDiagram-W4KKPZXB-DPvNcVK-.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-DEURCYJL.js → requirementDiagram-4Y6WPE33-KfdYf15t.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-C5VDamq0.js → sankeyDiagram-5OEKKPKP-D1Eyoanf.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BuW7sjzh.js → sequenceDiagram-3UESZ5HK-CmODsbCf.js} +1 -1
- package/dist/client/assets/{standing-instructions-template-D_2X2t4q.js → standing-instructions-template-D_mPaGcG.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-Cyo0XRvV.js → stateDiagram-AJRCARHV-Blbw_21G.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-DuPs9FQx.js → stateDiagram-v2-BHNVJYJU-DwMgvYO8.js} +1 -1
- package/dist/client/assets/{timeline-definition-PNZ67QCA-DiUEvc6L.js → timeline-definition-PNZ67QCA-DDtndgLc.js} +1 -1
- package/dist/client/assets/{upload-DWeBKn62.js → upload-DGCjJkMH.js} +1 -1
- package/dist/client/assets/{users-CmWW59nZ.js → users-CbWZvFZP.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-DKC77z8l.js → vennDiagram-CIIHVFJN-B6Sx0OqW.js} +1 -1
- package/dist/client/assets/{wardley-L42UT6IY-Bu26Q283.js → wardley-L42UT6IY-_SQFYU4g.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BJSAoAKw.js → wardleyDiagram-YWT4CUSO-Ce5igv6s.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-DmqYngZ7.js → xychartDiagram-2RQKCTM6-zI0zyvDP.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/client/version.json +1 -1
- package/dist/droid-cli/package.json +1 -1
- package/dist/extension.js +2656 -1337
- package/dist/pi-claude-cli/package.json +1 -1
- package/dist/plugin-sdk/index.d.ts +8 -0
- package/dist/plugin-sdk/index.js +2 -0
- package/dist/plugins/fusion-plugin-acp-runtime/bundled.js +15 -5
- package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-claude-runtime/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-claude-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-cli-printing-press/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
- package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
- package/dist/plugins/fusion-plugin-cursor-runtime/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-dependency-graph/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
- package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-grok-runtime/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-grok-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-hermes-runtime/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-linear-import/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-linear-import/package.json +1 -1
- package/dist/plugins/fusion-plugin-omp-runtime/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-omp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-openclaw-runtime/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-paperclip-runtime/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-quality/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-quality/package.json +1 -1
- package/dist/plugins/fusion-plugin-reports/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-reports/package.json +1 -1
- package/dist/plugins/fusion-plugin-roadmap/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
- package/dist/plugins/fusion-plugin-todos/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-todos/package.json +1 -1
- package/dist/plugins/fusion-plugin-whatsapp-chat/bundled.js +2 -0
- package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
- package/package.json +1 -1
- package/dist/client/assets/channel-9ayksTsZ.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-6A8Tw1Fx.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-6A8Tw1Fx.js +0 -1
- package/dist/client/assets/index-CSZd8sbH.js +0 -2936
- package/dist/client/assets/index-DQBk-yr8.css +0 -1
|
@@ -336,6 +336,10 @@ interface WorkflowStepResult {
|
|
|
336
336
|
repositoryScopeRevision?: number;
|
|
337
337
|
remediationArchivedAt?: string;
|
|
338
338
|
remediationArchivedFromStatus?: WorkflowStepResult["status"];
|
|
339
|
+
remediationAttemptSignature?: string;
|
|
340
|
+
remediationAttemptOwner?: string;
|
|
341
|
+
remediationAttemptClaimedAt?: string;
|
|
342
|
+
remediationRefusedReason?: "no-actionable-findings" | "upstream-out-of-scope" | "unclassified-gate-no-reopen" | "appender-declined";
|
|
339
343
|
notRunReason?: WorkflowStepNotRunReason;
|
|
340
344
|
reviewInputFingerprint?: string;
|
|
341
345
|
reviewedCommitSha?: string;
|
|
@@ -5823,6 +5827,10 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
|
|
|
5823
5827
|
updateTaskAtomic(id: string, updater: (current: Task) => Parameters<TaskStore["updateTask"]>[1] | null | undefined | Promise<Parameters<TaskStore["updateTask"]>[1] | null | undefined>, runContext?: RunMutationContext): Promise<Task>;
|
|
5824
5828
|
appendRemediationSteps(taskId: string, steps: readonly TaskStep[], options?: AppendRemediationStepsOptions): Promise<AppendRemediationStepsResult>;
|
|
5825
5829
|
updateWorkflowStepResultsFenced(id: string, compute: WorkflowStepResultsFencedCompute): Promise<WorkflowStepResultsFencedUpdateResult>;
|
|
5830
|
+
updateWorkflowStepResultsWithLogFenced(id: string, compute: (current: Task) => {
|
|
5831
|
+
workflowStepResults: Task["workflowStepResults"];
|
|
5832
|
+
logEntry: TaskLogEntry;
|
|
5833
|
+
} | null): Promise<WorkflowStepResultsFencedUpdateResult>;
|
|
5826
5834
|
dismissAiMergeReviewFinding(taskId: string, findingId: string, reason: string, actor?: string): Promise<Task>;
|
|
5827
5835
|
linkTaskRecommendation(id: string, recommendationId: string, createdTaskId: string, completeColumns?: ReadonlySet<string>): Promise<Task>;
|
|
5828
5836
|
normalizeWorkspaceTaskWorktreeMetadata(id: string): Promise<Task>;
|
package/dist/plugin-sdk/index.js
CHANGED
|
@@ -9029,6 +9029,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9029
9029
|
|
|
9030
9030
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9031
9031
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9032
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9032
9033
|
|
|
9033
9034
|
// ../core/src/merge/task-merge.ts
|
|
9034
9035
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14392,6 +14393,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14392
14393
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14393
14394
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14394
14395
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14396
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14395
14397
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14396
14398
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14397
14399
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9028,6 +9028,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9028
9028
|
|
|
9029
9029
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9030
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9032
|
|
|
9032
9033
|
// ../core/src/merge/task-merge.ts
|
|
9033
9034
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14400,6 +14401,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14400
14401
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14401
14402
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14402
14403
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14404
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14403
14405
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14404
14406
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14405
14407
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -37992,11 +37994,19 @@ async function authenticateAcpConnection(connection, opts) {
|
|
|
37992
37994
|
return { methodId };
|
|
37993
37995
|
}
|
|
37994
37996
|
async function newAcpSession(connection, opts) {
|
|
37995
|
-
|
|
37996
|
-
|
|
37997
|
-
|
|
37998
|
-
|
|
37999
|
-
|
|
37997
|
+
let res;
|
|
37998
|
+
try {
|
|
37999
|
+
res = await connection.conn.newSession({
|
|
38000
|
+
cwd: opts.cwd,
|
|
38001
|
+
mcpServers: opts.mcpServers ?? [],
|
|
38002
|
+
...opts.meta && Object.keys(opts.meta).length > 0 ? { _meta: opts.meta } : {}
|
|
38003
|
+
});
|
|
38004
|
+
} catch (error51) {
|
|
38005
|
+
throw new Error(
|
|
38006
|
+
`session/new failed (cwd ${opts.cwd}): ${describeAcpTurnError(error51)}`,
|
|
38007
|
+
{ cause: error51 }
|
|
38008
|
+
);
|
|
38009
|
+
}
|
|
38000
38010
|
return { sessionId: boundIdentifier(res.sessionId), modes: res.modes ?? void 0 };
|
|
38001
38011
|
}
|
|
38002
38012
|
var RETRYABLE_JSONRPC_CODES = /* @__PURE__ */ new Set([
|
|
@@ -9028,6 +9028,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9028
9028
|
|
|
9029
9029
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9030
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9032
|
|
|
9032
9033
|
// ../core/src/merge/task-merge.ts
|
|
9033
9034
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14400,6 +14401,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14400
14401
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14401
14402
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14402
14403
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14404
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14403
14405
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14404
14406
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14405
14407
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9148,6 +9148,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9148
9148
|
|
|
9149
9149
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9150
9150
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9151
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9151
9152
|
|
|
9152
9153
|
// ../core/src/merge/task-merge.ts
|
|
9153
9154
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14512,6 +14513,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14512
14513
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14513
14514
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14514
14515
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14516
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14515
14517
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14516
14518
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14517
14519
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9028,6 +9028,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9028
9028
|
|
|
9029
9029
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9030
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9032
|
|
|
9032
9033
|
// ../core/src/merge/task-merge.ts
|
|
9033
9034
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14392,6 +14393,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14392
14393
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14393
14394
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14394
14395
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14396
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14395
14397
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14396
14398
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14397
14399
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9031,6 +9031,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9031
9031
|
|
|
9032
9032
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9033
9033
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9034
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9034
9035
|
|
|
9035
9036
|
// ../core/src/merge/task-merge.ts
|
|
9036
9037
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14395,6 +14396,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14395
14396
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14396
14397
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14397
14398
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14399
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14398
14400
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14399
14401
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14400
14402
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9028,6 +9028,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9028
9028
|
|
|
9029
9029
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9030
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9032
|
|
|
9032
9033
|
// ../core/src/merge/task-merge.ts
|
|
9033
9034
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14392,6 +14393,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14392
14393
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14393
14394
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14394
14395
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14396
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14395
14397
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14396
14398
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14397
14399
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9028,6 +9028,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9028
9028
|
|
|
9029
9029
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9030
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9032
|
|
|
9032
9033
|
// ../core/src/merge/task-merge.ts
|
|
9033
9034
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14392,6 +14393,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14392
14393
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14393
14394
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14394
14395
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14396
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14395
14397
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14396
14398
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14397
14399
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9028,6 +9028,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9028
9028
|
|
|
9029
9029
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9030
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9032
|
|
|
9032
9033
|
// ../core/src/merge/task-merge.ts
|
|
9033
9034
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14400,6 +14401,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14400
14401
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14401
14402
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14402
14403
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14404
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14403
14405
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14404
14406
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14405
14407
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9031,6 +9031,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9031
9031
|
|
|
9032
9032
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9033
9033
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9034
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9034
9035
|
|
|
9035
9036
|
// ../core/src/merge/task-merge.ts
|
|
9036
9037
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14395,6 +14396,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14395
14396
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14396
14397
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14397
14398
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14399
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14398
14400
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14399
14401
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14400
14402
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9028,6 +9028,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9028
9028
|
|
|
9029
9029
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9030
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9032
|
|
|
9032
9033
|
// ../core/src/merge/task-merge.ts
|
|
9033
9034
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14392,6 +14393,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14392
14393
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14393
14394
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14394
14395
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14396
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14395
14397
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14396
14398
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14397
14399
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9028,6 +9028,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9028
9028
|
|
|
9029
9029
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9030
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9032
|
|
|
9032
9033
|
// ../core/src/merge/task-merge.ts
|
|
9033
9034
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14400,6 +14401,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14400
14401
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14401
14402
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14402
14403
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14404
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14403
14405
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14404
14406
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14405
14407
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9028,6 +9028,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9028
9028
|
|
|
9029
9029
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9030
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9032
|
|
|
9032
9033
|
// ../core/src/merge/task-merge.ts
|
|
9033
9034
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14392,6 +14393,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14392
14393
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14393
14394
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14394
14395
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14396
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14395
14397
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14396
14398
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14397
14399
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9028,6 +9028,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9028
9028
|
|
|
9029
9029
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9030
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9032
|
|
|
9032
9033
|
// ../core/src/merge/task-merge.ts
|
|
9033
9034
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14392,6 +14393,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14392
14393
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14393
14394
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14394
14395
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14396
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14395
14397
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14396
14398
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14397
14399
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9031,6 +9031,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9031
9031
|
|
|
9032
9032
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9033
9033
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9034
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9034
9035
|
|
|
9035
9036
|
// ../core/src/merge/task-merge.ts
|
|
9036
9037
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14395,6 +14396,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14395
14396
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14396
14397
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14397
14398
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14399
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14398
14400
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14399
14401
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14400
14402
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9148,6 +9148,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9148
9148
|
|
|
9149
9149
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9150
9150
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9151
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9151
9152
|
|
|
9152
9153
|
// ../core/src/merge/task-merge.ts
|
|
9153
9154
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14512,6 +14513,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14512
14513
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14513
14514
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14514
14515
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14516
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14515
14517
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14516
14518
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14517
14519
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9028,6 +9028,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9028
9028
|
|
|
9029
9029
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9030
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9032
|
|
|
9032
9033
|
// ../core/src/merge/task-merge.ts
|
|
9033
9034
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14392,6 +14393,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14392
14393
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14393
14394
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14394
14395
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14396
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14395
14397
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14396
14398
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14397
14399
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -9028,6 +9028,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
9028
9028
|
|
|
9029
9029
|
// ../core/src/workflows/workflow-step-results.ts
|
|
9030
9030
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
9031
9032
|
|
|
9032
9033
|
// ../core/src/merge/task-merge.ts
|
|
9033
9034
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -14392,6 +14393,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
14392
14393
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
14393
14394
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
14394
14395
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
14396
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
14395
14397
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
14396
14398
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
14397
14399
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
|
@@ -159966,6 +159966,7 @@ function planReviewOptionalGroupNode(column, options = {}) {
|
|
|
159966
159966
|
|
|
159967
159967
|
// ../core/src/workflows/workflow-step-results.ts
|
|
159968
159968
|
var PLAN_REVIEW_LEASE_STALENESS_MS = 15 * 60 * 1e3;
|
|
159969
|
+
var REMEDIATION_ATTEMPT_CLAIM_STALENESS_MS = 15 * 60 * 1e3;
|
|
159969
159970
|
|
|
159970
159971
|
// ../core/src/merge/task-merge.ts
|
|
159971
159972
|
var HARD_BLOCKING_TASK_STATUSES = /* @__PURE__ */ new Set([
|
|
@@ -165330,6 +165331,7 @@ Be specific: cite \`file:line\` for every finding and explain the concrete failu
|
|
|
165330
165331
|
- APPROVE_WITH_NOTES: shippable. Use this when your findings are all P1/P2 \u2014 they are recorded and handed to the implementer without another remediation round.
|
|
165331
165332
|
- REVISE: a correctness bug, regression, or contract break requires changes before merge. Requires at least one \`critical\` finding in \`findings\`; a REVISE without one will be treated as APPROVE_WITH_NOTES.
|
|
165332
165333
|
- Every blocking issue MUST appear as an entry in \`findings\` with its severity and \`filePath\`/\`line\`. Prose in \`notes\` alone does not block.
|
|
165334
|
+
- Every REVISE finding is a required Fix-step record. Its \`id\`, \`title\`, \`body\`, \`filePath\`, \`line\`, and \`severity\` must be concrete enough for an executor to implement without asking what to fix. If you cannot name an affected file and correction, do not return REVISE: investigate until you can, or return the appropriate non-blocking verdict.
|
|
165333
165335
|
- \`notes\` MUST contain one to three sentences naming what was checked and why the verdict was reached. An empty \`notes\` string is a protocol violation.
|
|
165334
165336
|
- Final output: output exactly one trailing JSON object on the final line (no markdown fences, no surrounding prose):
|
|
165335
165337
|
{"verdict":"APPROVE|APPROVE_WITH_NOTES|REVISE","notes":"...","findings":[{"id":"stable-id","title":"concise issue","body":"concrete failure and remediation","filePath":"path/to/file.ts","line":1,"severity":"critical|high|medium|low","resolution":"open|resolved-in-review|superseded"}]}`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runfusion/fusion",
|
|
3
|
-
"version": "0.77.0-beta.
|
|
3
|
+
"version": "0.77.0-beta.12",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Fusion CLI: HTTP API server, daemon, dashboard launcher, and task tooling for the Fusion AI coding agent.",
|
|
6
6
|
"homepage": "https://github.com/Runfusion/Fusion#readme",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{U as a,C as n}from"./mermaid.core-CRm31xPI.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as t,C as e}from"./chunk-727SXJPM-0xpHKXZs.js";import{_ as i}from"./mermaid.core-CRm31xPI.js";import"./vendor-reactflow-BlIeoTu4.js";import"./chunk-FMBD7UC4-DxjEMlOu.js";import"./chunk-ND2GUHAM-BGUlWNB6.js";import"./chunk-55IACEB6-r6YyDKyy.js";import"./chunk-2J33WTMH-BP1RbVtu.js";import"./index-CSZd8sbH.js";import"./vendor-react-SZ_qB27O.js";import"./vendor-i18n-Duky4gdQ.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-xterm-BNq00GSj.js";import"./step-yuy0qJer.js";var k={parser:t,get db(){return new e},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{k as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as t,C as e}from"./chunk-727SXJPM-0xpHKXZs.js";import{_ as i}from"./mermaid.core-CRm31xPI.js";import"./vendor-reactflow-BlIeoTu4.js";import"./chunk-FMBD7UC4-DxjEMlOu.js";import"./chunk-ND2GUHAM-BGUlWNB6.js";import"./chunk-55IACEB6-r6YyDKyy.js";import"./chunk-2J33WTMH-BP1RbVtu.js";import"./index-CSZd8sbH.js";import"./vendor-react-SZ_qB27O.js";import"./vendor-i18n-Duky4gdQ.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-xterm-BNq00GSj.js";import"./step-yuy0qJer.js";var k={parser:t,get db(){return new e},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{k as diagram};
|