@principles/core 1.258.0 → 1.259.1

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 (170) hide show
  1. package/dist/runtime-v2/__tests__/architecture-regression.test.js +15 -2
  2. package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  3. package/dist/runtime-v2/__tests__/evaluator-repair-loop.test.js +14 -6
  4. package/dist/runtime-v2/__tests__/evaluator-repair-loop.test.js.map +1 -1
  5. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js +1 -0
  6. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js.map +1 -1
  7. package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js +5 -0
  8. package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js.map +1 -1
  9. package/dist/runtime-v2/__tests__/internalization-orchestrator.test.js +4 -1
  10. package/dist/runtime-v2/__tests__/internalization-orchestrator.test.js.map +1 -1
  11. package/dist/runtime-v2/__tests__/internalization-state-machine.test.js +3 -2
  12. package/dist/runtime-v2/__tests__/internalization-state-machine.test.js.map +1 -1
  13. package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +47 -0
  14. package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +1 -1
  15. package/dist/runtime-v2/__tests__/rollout-reviewer-runner-vslice.test.js +66 -1
  16. package/dist/runtime-v2/__tests__/rollout-reviewer-runner-vslice.test.js.map +1 -1
  17. package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.d.ts +2 -0
  18. package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.d.ts.map +1 -0
  19. package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.js +234 -0
  20. package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.js.map +1 -0
  21. package/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.js +23 -1
  22. package/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.js.map +1 -1
  23. package/dist/runtime-v2/activation/prompt-activation-reader-contract.d.ts +11 -0
  24. package/dist/runtime-v2/activation/prompt-activation-reader-contract.d.ts.map +1 -1
  25. package/dist/runtime-v2/activation/prompt-activation-reader-contract.js +11 -4
  26. package/dist/runtime-v2/activation/prompt-activation-reader-contract.js.map +1 -1
  27. package/dist/runtime-v2/adapter/output-schema-registry.d.ts.map +1 -1
  28. package/dist/runtime-v2/adapter/output-schema-registry.js +2 -0
  29. package/dist/runtime-v2/adapter/output-schema-registry.js.map +1 -1
  30. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +7 -2
  31. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
  32. package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
  33. package/dist/runtime-v2/feature-flags/feature-flag-contract.js +10 -6
  34. package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  35. package/dist/runtime-v2/feedback/__tests__/fingerprint.test.d.ts +2 -0
  36. package/dist/runtime-v2/feedback/__tests__/fingerprint.test.d.ts.map +1 -0
  37. package/dist/runtime-v2/feedback/__tests__/fingerprint.test.js +126 -0
  38. package/dist/runtime-v2/feedback/__tests__/fingerprint.test.js.map +1 -0
  39. package/dist/runtime-v2/feedback/__tests__/slice1-typed-fields.test.d.ts +2 -0
  40. package/dist/runtime-v2/feedback/__tests__/slice1-typed-fields.test.d.ts.map +1 -0
  41. package/dist/runtime-v2/feedback/__tests__/slice1-typed-fields.test.js +278 -0
  42. package/dist/runtime-v2/feedback/__tests__/slice1-typed-fields.test.js.map +1 -0
  43. package/dist/runtime-v2/feedback/create-report.d.ts.map +1 -1
  44. package/dist/runtime-v2/feedback/create-report.js +38 -1
  45. package/dist/runtime-v2/feedback/create-report.js.map +1 -1
  46. package/dist/runtime-v2/feedback/feedback-types.d.ts +60 -0
  47. package/dist/runtime-v2/feedback/feedback-types.d.ts.map +1 -1
  48. package/dist/runtime-v2/feedback/feedback-types.js +58 -0
  49. package/dist/runtime-v2/feedback/feedback-types.js.map +1 -1
  50. package/dist/runtime-v2/feedback/fingerprint.d.ts +31 -0
  51. package/dist/runtime-v2/feedback/fingerprint.d.ts.map +1 -0
  52. package/dist/runtime-v2/feedback/fingerprint.js +51 -0
  53. package/dist/runtime-v2/feedback/fingerprint.js.map +1 -0
  54. package/dist/runtime-v2/feedback/index.d.ts +3 -2
  55. package/dist/runtime-v2/feedback/index.d.ts.map +1 -1
  56. package/dist/runtime-v2/feedback/index.js +2 -1
  57. package/dist/runtime-v2/feedback/index.js.map +1 -1
  58. package/dist/runtime-v2/feedback/privacy-preview.d.ts.map +1 -1
  59. package/dist/runtime-v2/feedback/privacy-preview.js +43 -0
  60. package/dist/runtime-v2/feedback/privacy-preview.js.map +1 -1
  61. package/dist/runtime-v2/feedback/render-markdown.d.ts.map +1 -1
  62. package/dist/runtime-v2/feedback/render-markdown.js +33 -0
  63. package/dist/runtime-v2/feedback/render-markdown.js.map +1 -1
  64. package/dist/runtime-v2/index.d.ts +11 -7
  65. package/dist/runtime-v2/index.d.ts.map +1 -1
  66. package/dist/runtime-v2/index.js +5 -3
  67. package/dist/runtime-v2/index.js.map +1 -1
  68. package/dist/runtime-v2/internalization/__tests__/a-liveness-reconciliation.test.d.ts +2 -0
  69. package/dist/runtime-v2/internalization/__tests__/a-liveness-reconciliation.test.d.ts.map +1 -0
  70. package/dist/runtime-v2/internalization/__tests__/a-liveness-reconciliation.test.js +157 -0
  71. package/dist/runtime-v2/internalization/__tests__/a-liveness-reconciliation.test.js.map +1 -0
  72. package/dist/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.js +29 -0
  73. package/dist/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.js.map +1 -1
  74. package/dist/runtime-v2/internalization/__tests__/crash-liveness-regressions.test.d.ts +2 -0
  75. package/dist/runtime-v2/internalization/__tests__/crash-liveness-regressions.test.d.ts.map +1 -0
  76. package/dist/runtime-v2/internalization/__tests__/crash-liveness-regressions.test.js +311 -0
  77. package/dist/runtime-v2/internalization/__tests__/crash-liveness-regressions.test.js.map +1 -0
  78. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.d.ts +2 -0
  79. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.d.ts.map +1 -0
  80. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js +171 -0
  81. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js.map +1 -0
  82. package/dist/runtime-v2/internalization/__tests__/internalization-task-guards.test.js +11 -2
  83. package/dist/runtime-v2/internalization/__tests__/internalization-task-guards.test.js.map +1 -1
  84. package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.d.ts +2 -0
  85. package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.d.ts.map +1 -0
  86. package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.js +335 -0
  87. package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.js.map +1 -0
  88. package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.d.ts +2 -0
  89. package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.d.ts.map +1 -0
  90. package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.js +515 -0
  91. package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.js.map +1 -0
  92. package/dist/runtime-v2/internalization/__tests__/restart-safety.e2e.test.d.ts +2 -0
  93. package/dist/runtime-v2/internalization/__tests__/restart-safety.e2e.test.d.ts.map +1 -0
  94. package/dist/runtime-v2/internalization/__tests__/restart-safety.e2e.test.js +167 -0
  95. package/dist/runtime-v2/internalization/__tests__/restart-safety.e2e.test.js.map +1 -0
  96. package/dist/runtime-v2/internalization/__tests__/verdict-drift-regressions.test.d.ts +2 -0
  97. package/dist/runtime-v2/internalization/__tests__/verdict-drift-regressions.test.d.ts.map +1 -0
  98. package/dist/runtime-v2/internalization/__tests__/verdict-drift-regressions.test.js +601 -0
  99. package/dist/runtime-v2/internalization/__tests__/verdict-drift-regressions.test.js.map +1 -0
  100. package/dist/runtime-v2/internalization/artificer-runner.d.ts +7 -0
  101. package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  102. package/dist/runtime-v2/internalization/artificer-runner.js +18 -2
  103. package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  104. package/dist/runtime-v2/internalization/evaluator-runner.d.ts +49 -0
  105. package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  106. package/dist/runtime-v2/internalization/evaluator-runner.js +390 -98
  107. package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  108. package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts +127 -0
  109. package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts.map +1 -1
  110. package/dist/runtime-v2/internalization/internalization-orchestrator.js +345 -1
  111. package/dist/runtime-v2/internalization/internalization-orchestrator.js.map +1 -1
  112. package/dist/runtime-v2/internalization/internalization-task-guards.d.ts +9 -2
  113. package/dist/runtime-v2/internalization/internalization-task-guards.d.ts.map +1 -1
  114. package/dist/runtime-v2/internalization/internalization-task-guards.js +14 -3
  115. package/dist/runtime-v2/internalization/internalization-task-guards.js.map +1 -1
  116. package/dist/runtime-v2/internalization/internalization-transition-decision.d.ts +61 -0
  117. package/dist/runtime-v2/internalization/internalization-transition-decision.d.ts.map +1 -0
  118. package/dist/runtime-v2/internalization/internalization-transition-decision.js +84 -0
  119. package/dist/runtime-v2/internalization/internalization-transition-decision.js.map +1 -0
  120. package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts +17 -1
  121. package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts.map +1 -1
  122. package/dist/runtime-v2/internalization/peer-runner-contracts.js.map +1 -1
  123. package/dist/runtime-v2/internalization/pitask-metadata.d.ts +99 -2
  124. package/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
  125. package/dist/runtime-v2/internalization/pitask-metadata.js +148 -0
  126. package/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
  127. package/dist/runtime-v2/internalization/rollout-reviewer-runner.d.ts +147 -0
  128. package/dist/runtime-v2/internalization/rollout-reviewer-runner.d.ts.map +1 -1
  129. package/dist/runtime-v2/internalization/rollout-reviewer-runner.js +672 -1
  130. package/dist/runtime-v2/internalization/rollout-reviewer-runner.js.map +1 -1
  131. package/dist/runtime-v2/internalization/scribe-runner.d.ts +2 -0
  132. package/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
  133. package/dist/runtime-v2/internalization/scribe-runner.js +21 -1
  134. package/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
  135. package/dist/runtime-v2/runner/base-peer-runner.d.ts +9 -0
  136. package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
  137. package/dist/runtime-v2/runner/base-peer-runner.js +22 -0
  138. package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
  139. package/dist/runtime-v2/signal-collector/__tests__/llm-payload-contract.test.d.ts +2 -0
  140. package/dist/runtime-v2/signal-collector/__tests__/llm-payload-contract.test.d.ts.map +1 -0
  141. package/dist/runtime-v2/signal-collector/__tests__/llm-payload-contract.test.js +130 -0
  142. package/dist/runtime-v2/signal-collector/__tests__/llm-payload-contract.test.js.map +1 -0
  143. package/dist/runtime-v2/signal-collector/index.d.ts +1 -1
  144. package/dist/runtime-v2/signal-collector/index.d.ts.map +1 -1
  145. package/dist/runtime-v2/signal-collector/index.js +1 -1
  146. package/dist/runtime-v2/signal-collector/index.js.map +1 -1
  147. package/dist/runtime-v2/signal-collector/llm-stage.d.ts +15 -0
  148. package/dist/runtime-v2/signal-collector/llm-stage.d.ts.map +1 -1
  149. package/dist/runtime-v2/signal-collector/llm-stage.js +28 -0
  150. package/dist/runtime-v2/signal-collector/llm-stage.js.map +1 -1
  151. package/dist/runtime-v2/signal-collector/types.d.ts +9 -1
  152. package/dist/runtime-v2/signal-collector/types.d.ts.map +1 -1
  153. package/dist/runtime-v2/signal-collector/types.js +13 -1
  154. package/dist/runtime-v2/signal-collector/types.js.map +1 -1
  155. package/dist/runtime-v2/store/reconciliation-cursor-store.d.ts +23 -0
  156. package/dist/runtime-v2/store/reconciliation-cursor-store.d.ts.map +1 -0
  157. package/dist/runtime-v2/store/reconciliation-cursor-store.js +34 -0
  158. package/dist/runtime-v2/store/reconciliation-cursor-store.js.map +1 -0
  159. package/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
  160. package/dist/runtime-v2/store/sqlite-connection.js +7 -0
  161. package/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
  162. package/dist/runtime-v2/store/task/memory-task-store.d.ts.map +1 -1
  163. package/dist/runtime-v2/store/task/memory-task-store.js +22 -0
  164. package/dist/runtime-v2/store/task/memory-task-store.js.map +1 -1
  165. package/dist/runtime-v2/store/task/sqlite-task-store.d.ts.map +1 -1
  166. package/dist/runtime-v2/store/task/sqlite-task-store.js +20 -0
  167. package/dist/runtime-v2/store/task/sqlite-task-store.js.map +1 -1
  168. package/dist/runtime-v2/store/task/task-store.d.ts +14 -0
  169. package/dist/runtime-v2/store/task/task-store.d.ts.map +1 -1
  170. package/package.json +1 -1
@@ -13,10 +13,11 @@
13
13
  *
14
14
  * @see docs/adr/0003-peer-agent-state-machine-orchestration.md
15
15
  */
16
- import { hydratePITaskRecord, createPITaskDiagnosticJson } from './pitask-metadata.js';
16
+ import { hydratePITaskRecord, createPITaskDiagnosticJson, mergePITaskMetadata } from './pitask-metadata.js';
17
17
  import { isPeerRunnerKind, isDiagnosticianStageKind, isRunnerKind } from './peer-runner-contracts.js';
18
18
  import { validateInternalizationTaskReady, createNextTaskProposal, } from './internalization-state-machine.js';
19
19
  import { getDiagSuccessors } from './internalization-job-graph.js';
20
+ import { decideInternalizationTransition, transitionInputFromTask, } from './internalization-transition-decision.js';
20
21
  import { PDRuntimeError } from '../error-categories.js';
21
22
  // ── Helpers ──────────────────────────────────────────────────────────────────
22
23
  /**
@@ -267,6 +268,83 @@ export class InternalizationOrchestrator {
267
268
  if (!piTask) {
268
269
  return { decision: 'invalid_task_metadata', taskId, reason: 'Failed to hydrate PITaskRecord from diagnosticJson' };
269
270
  }
271
+ // ── 单一迁移决策 (P0-D/P0-3, INV-02) ──
272
+ // runner 的 verdict 与状态迁移在此仲裁: needs_revision/rejected 不 seed
273
+ // 正常后继; artificer repair 完成 reopen 来源 evaluator。
274
+ // P0-3: durable runnerDecision 缺失时,用 runs.output_payload 的**显式可解析**
275
+ // verdict 作 legacy 判据; 两者皆无 → BLOCKED_MISSING_VERDICT (fail-closed,
276
+ // 禁止 missing=ADVANCE 复活审计的错误旁路)。
277
+ const legacyVerdict = await this.resolveLegacyRunnerVerdict(taskId, rawTask.taskKind);
278
+ const transition = decideInternalizationTransition(transitionInputFromTask(piTask, legacyVerdict));
279
+ if (transition.kind === 'HUMAN_REVIEW_REQUIRED') {
280
+ return { decision: 'source_not_succeeded', taskId, status: piTask.status };
281
+ }
282
+ if (transition.kind === 'NOT_ADVANCEABLE') {
283
+ return { decision: 'source_not_succeeded', taskId, status: piTask.status };
284
+ }
285
+ if (transition.kind === 'BLOCKED_MISSING_VERDICT') {
286
+ return { decision: 'blocked_missing_verdict', taskId, reason: transition.reason };
287
+ }
288
+ if (transition.kind === 'REVISION_REQUIRED') {
289
+ return {
290
+ decision: 'blocked_by_revision',
291
+ sourceTaskId: taskId,
292
+ reason: transition.reason,
293
+ runnerDecision: piTask.runnerDecision ?? 'unknown',
294
+ };
295
+ }
296
+ if (transition.kind === 'TERMINAL_REJECT') {
297
+ return {
298
+ decision: 'blocked_by_rejection',
299
+ sourceTaskId: taskId,
300
+ reason: transition.reason,
301
+ runnerDecision: piTask.runnerDecision ?? 'unknown',
302
+ };
303
+ }
304
+ if (transition.kind === 'REOPEN_SOURCE_EVALUATOR' && piTask.repairPayload) {
305
+ const causeId = `repair-${taskId}`;
306
+ // A/B: cause 已 materialize 的判定前移 — 目标(任意状态)的 revisionCauseId
307
+ // 与本 repair 的 causeId 相同,说明这轮 reopen 已发生过: 目标可能仍在
308
+ // pending(等待重跑),也可能已经跑完(succeeded 且带新 verdict)。两种
309
+ // 情况重放都不得再次 reopen(后者会丢弃已完成的修订轮 verdict)。
310
+ const srcRaw = await this.stateManager.getTask(piTask.repairPayload.sourceEvaluatorTaskId);
311
+ const srcPi = srcRaw ? hydratePITaskRecord(srcRaw) : null;
312
+ if (srcPi && srcPi.revisionCauseId === causeId) {
313
+ return {
314
+ decision: 'revision_reopen_noop',
315
+ sourceTaskId: taskId,
316
+ reopenedTaskId: piTask.repairPayload.sourceEvaluatorTaskId,
317
+ reason: 'revision_cause_already_materialized',
318
+ };
319
+ }
320
+ const reopened = await this.reopenTaskForRevision(piTask.repairPayload.sourceEvaluatorTaskId, {
321
+ replaceArtificerDependencyWith: taskId,
322
+ reason: 'artificer_repair_complete',
323
+ revisionCauseId: causeId,
324
+ });
325
+ if (!reopened.ok) {
326
+ // reopen 失败 (evaluator 缺失/状态不可 reopen) — 不 seed 正常后继,
327
+ // 结构化返回让 host 层观测 (rc-9)。
328
+ return { decision: 'no_successor', sourceTaskId: taskId, reason: `evaluator_reopen_failed:${reopened.reason}` };
329
+ }
330
+ // A (crash window): 同 causeId 重放 = 真 no-op — 单独 decision 使
331
+ // reconciliation 不把它计为"恢复" (already materialized)。
332
+ if (reopened.reason === 'idempotent_replay_same_revision') {
333
+ return {
334
+ decision: 'revision_reopen_noop',
335
+ sourceTaskId: taskId,
336
+ reopenedTaskId: piTask.repairPayload.sourceEvaluatorTaskId,
337
+ reason: reopened.reason,
338
+ };
339
+ }
340
+ return {
341
+ decision: 'revision_reopened',
342
+ sourceTaskId: taskId,
343
+ reopenedTaskId: piTask.repairPayload.sourceEvaluatorTaskId,
344
+ reason: transition.reason,
345
+ };
346
+ }
347
+ // transition.kind === 'ADVANCE' → 正常推进
270
348
  if (piTask.status !== 'succeeded') {
271
349
  return { decision: 'source_not_succeeded', taskId, status: piTask.status };
272
350
  }
@@ -310,6 +388,66 @@ export class InternalizationOrchestrator {
310
388
  const successorTaskId = proposal.channel
311
389
  ? `${proposal.taskKind}-${successorRoot}-${proposal.channel}`
312
390
  : `${proposal.taskKind}-${successorRoot}`;
391
+ // ── 级联 reopen (revision wave) ──
392
+ // 稳定 id 后继已存在且为 succeeded: 仅当源任务经历过 revision
393
+ // (revisionCount > 0, 即上游被 reopen 后重新完成)时, 下游才必须重跑
394
+ // (而非 successor_exists 停摆)。普通幂等重扫 (revisionCount=0) 不级联,
395
+ // 保持既有 successor_exists 语义。pending/retry_wait 的存在后继仍走
396
+ // findExistingSuccessor 的 successor_exists 分支。
397
+ const existingById = (piTask.revisionCount ?? 0) > 0
398
+ ? await this.stateManager.getTask(successorTaskId)
399
+ : null;
400
+ if (existingById && (existingById.status === 'succeeded' || existingById.status === 'needs_human_review')) {
401
+ const cascadeCauseId = `cascade-${taskId}-rc${piTask.revisionCount ?? 0}-${successorTaskId}`;
402
+ // B: 对称的 cause 前置 — 该 wave 的 cascade reopen 已 materialize
403
+ // (successor 可能 pending 或已重跑完成),重放不得再 reopen。
404
+ const succPi = hydratePITaskRecord(existingById);
405
+ if (succPi && succPi.revisionCauseId === cascadeCauseId) {
406
+ return {
407
+ decision: 'revision_reopen_noop',
408
+ sourceTaskId: taskId,
409
+ reopenedTaskId: successorTaskId,
410
+ reason: 'revision_cause_already_materialized',
411
+ };
412
+ }
413
+ const reopened = await this.reopenTaskForRevision(successorTaskId, {
414
+ reason: 'upstream_revision_cascade',
415
+ // B (外部复核): causal idempotency — 同一 upstream revision wave 的
416
+ // reconciliation/commit 重放不得再次 reopen 或递增 revisionCount。
417
+ revisionCauseId: cascadeCauseId,
418
+ });
419
+ if (reopened.ok) {
420
+ if (reopened.reason === 'idempotent_replay_same_revision') {
421
+ return {
422
+ decision: 'revision_reopen_noop',
423
+ sourceTaskId: taskId,
424
+ reopenedTaskId: successorTaskId,
425
+ reason: reopened.reason,
426
+ };
427
+ }
428
+ return {
429
+ decision: 'successor_reopened',
430
+ sourceTaskId: taskId,
431
+ reopenedTaskId: successorTaskId,
432
+ successorKind: proposal.taskKind,
433
+ };
434
+ }
435
+ return {
436
+ decision: 'successor_exists',
437
+ sourceTaskId: taskId,
438
+ successorTaskId,
439
+ successorKind: proposal.taskKind,
440
+ };
441
+ }
442
+ if (existingById) {
443
+ // leased / retry_wait / pending(经直查而非 findExistingSuccessor 命中) — 在途,不重复处理
444
+ return {
445
+ decision: 'successor_exists',
446
+ sourceTaskId: taskId,
447
+ successorTaskId,
448
+ successorKind: proposal.taskKind,
449
+ };
450
+ }
313
451
  const successorMetadata = {
314
452
  dependencyTaskIds: proposal.dependencyTaskIds,
315
453
  channel: proposal.channel,
@@ -354,6 +492,212 @@ export class InternalizationOrchestrator {
354
492
  successorKind: proposal.taskKind,
355
493
  };
356
494
  }
495
+ /**
496
+ * P0-3 legacy 判据: 从该任务最近 succeeded run 的 output_payload **显式解析**
497
+ * verdict (evaluation.decision / review.decision / rolloutDecision)。
498
+ * 这是修复前唯一持久 verdict 载体 — 对历史数据是真实证据而非猜测;
499
+ * 新数据由 runner 的 durable runnerDecision 承载。解析失败/缺失 → undefined。
500
+ * rc-1/rc-2: output_payload 按不可信 JSON 处理,逐字段类型守卫。
501
+ */
502
+ async resolveLegacyRunnerVerdict(taskId, taskKind) {
503
+ if (taskKind !== 'evaluator' && taskKind !== 'rollout_reviewer')
504
+ return undefined;
505
+ let runs;
506
+ try {
507
+ runs = await this.stateManager.getRunsByTask(taskId);
508
+ }
509
+ catch {
510
+ return undefined;
511
+ }
512
+ for (const run of [...runs].reverse()) {
513
+ // RunRecord.outputPayload 已是类型化 string|undefined (store 层映射);
514
+ // JSON.parse 结果仍按 rc-1 逐字段守卫 (下方 evaluation/review 检查)
515
+ const raw = run.outputPayload;
516
+ if (typeof raw !== 'string' || raw.length === 0)
517
+ continue;
518
+ let parsed;
519
+ try {
520
+ parsed = JSON.parse(raw);
521
+ }
522
+ catch {
523
+ continue;
524
+ }
525
+ if (typeof parsed !== 'object' || parsed === null)
526
+ continue;
527
+ const obj = parsed;
528
+ const verdictHolders = [obj.evaluation, obj.review];
529
+ for (const holder of verdictHolders) {
530
+ if (typeof holder === 'object' && holder !== null) {
531
+ const d = holder.decision;
532
+ if (typeof d === 'string' && d.length > 0)
533
+ return d;
534
+ }
535
+ }
536
+ if (typeof obj.rolloutDecision === 'string' && obj.rolloutDecision.length > 0) {
537
+ return obj.rolloutDecision;
538
+ }
539
+ }
540
+ return undefined;
541
+ }
542
+ // ── A: succeeded-transition reconciliation (crash window 修复) ─────────────
543
+ /**
544
+ * Bounded reconciliation for the crash window between markTaskSucceeded
545
+ * (durable, inside the runner) and commitNextTaskProposal (in-process,
546
+ * called by the consumer AFTER run() returns). If the process dies between
547
+ * them, the task stays succeeded forever and its outgoing transition
548
+ * (successor seed / repair-source reopen / cascade reopen) is lost —
549
+ * wakeOnce only scans pending/retry_wait.
550
+ *
551
+ * Strategy (bounded, not a blind sweep):
552
+ * - scan only the N most recently updated succeeded tasks (default 10);
553
+ * - only peer-runner kinds whose commit semantics are outgoing
554
+ * transitions (rollout_reviewer included: its commit is a harmless
555
+ * no-op verified by the verdict gate);
556
+ * - arbitration ALWAYS goes through commitNextTaskProposal — the single
557
+ * state-machine authority — whose paths are idempotent:
558
+ * successor_exists / blocked_by_revision / blocked_by_rejection /
559
+ * revision_reopened (same revisionCauseId → no-op) /
560
+ * blocked_missing_verdict (fail-closed, surfaced not retried
561
+ * aggressively — logged once per sweep).
562
+ * - verdict semantics remain authoritative: needs_revision/rejected
563
+ * never seed successors through this path.
564
+ *
565
+ * Restart-safe: calling this every consumer cycle is safe; duplicates
566
+ * collapse into the idempotent commit results above.
567
+ */
568
+ async reconcileSucceededTransitions(options) {
569
+ const limit = Math.max(1, Math.min(options?.limit ?? 10, 50));
570
+ // A (最终复核): BOUNDED + FAIR + RESTART-DURABLE。
571
+ // - ASC 全序扫描 (updated_at ASC, task_id ASC — SQL 层 ORDER BY, 不是
572
+ // "LIMIT 后 JS 排序"): 最老的 orphan 优先,天然反 starvation;
573
+ // - 每周期只处理 limit 条 (bounded);
574
+ // - 游标为独占元组 (updatedAt, taskId),重启后从持久位置继续;
575
+ // - 扫到尾部 (返回行数 < limit) → wrappedAround,caller 重置游标回开头,
576
+ // 下一轮重新覆盖新增的 succeeded 任务 (eventual completeness);
577
+ // - 仲裁唯一入口仍是 commitNextTaskProposal;needs_revision/rejected/
578
+ // missing verdict 在其中继续 fail-closed。
579
+ const fetchLimit = limit; // 仅取本预算行;peer-kind 过滤后不足也不补页
580
+ // (非 peer 行也会推进游标 — 它们无需 reconciliation,跳过即前进)
581
+ const page = await this.stateManager.listTasks({
582
+ status: 'succeeded',
583
+ orderBy: 'updated_at_asc',
584
+ afterCursor: options?.cursor,
585
+ limit: fetchLimit,
586
+ });
587
+ const outcomes = [];
588
+ let recovered = 0;
589
+ let alreadyMaterialized = 0;
590
+ let blocked = 0;
591
+ let last;
592
+ for (const task of page) {
593
+ last = { lastUpdatedAt: task.updatedAt, lastTaskId: task.taskId };
594
+ if (!isPeerRunnerKind(task.taskKind))
595
+ continue;
596
+ try {
597
+ const result = await this.commitNextTaskProposal(task.taskId);
598
+ outcomes.push({ taskId: task.taskId, decision: result.decision });
599
+ if (result.decision === 'successor_created' || result.decision === 'revision_reopened' || result.decision === 'successor_reopened') {
600
+ recovered += 1;
601
+ options?.logger?.info?.(`[PD:Reconcile] recovered missing transition for ${task.taskId} (${result.decision})`);
602
+ }
603
+ else if (result.decision === 'successor_exists' || result.decision === 'revision_reopen_noop') {
604
+ alreadyMaterialized += 1;
605
+ }
606
+ else {
607
+ // blocked_by_revision / blocked_by_rejection / blocked_missing_verdict /
608
+ // no_successor — legitimate terminal/no-op verdicts, counted not acted on
609
+ blocked += 1;
610
+ }
611
+ }
612
+ catch (err) {
613
+ // per-task failure must not abort the sweep; P1: caller 必须让
614
+ // reconcile_error 显式可观测 (不能只在 recovered>0 时打日志)
615
+ outcomes.push({ taskId: task.taskId, decision: `reconcile_error:${err instanceof Error ? err.message : String(err)}` });
616
+ blocked += 1;
617
+ }
618
+ }
619
+ if (page.length === 0) {
620
+ // 尾部已到 (或起点即空): caller 重置游标
621
+ const cur = options?.cursor;
622
+ return {
623
+ scanned: 0, recovered, alreadyMaterialized, blocked, outcomes,
624
+ nextCursor: { lastUpdatedAt: cur?.updatedAt ?? '', lastTaskId: cur?.taskId ?? '' },
625
+ wrappedAround: true,
626
+ };
627
+ }
628
+ const cur = options?.cursor;
629
+ const tail = last ?? { lastUpdatedAt: cur?.updatedAt ?? '', lastTaskId: cur?.taskId ?? '' };
630
+ return {
631
+ scanned: outcomes.length + page.filter((t) => !isPeerRunnerKind(t.taskKind)).length,
632
+ recovered, alreadyMaterialized, blocked, outcomes,
633
+ nextCursor: tail,
634
+ wrappedAround: page.length < fetchLimit,
635
+ };
636
+ }
637
+ // ── Revision reopen (P0-D, MVP_CORE_LOOP_CONTRACT INV-02/INV-07/INV-08) ─────
638
+ /**
639
+ * Reopen a terminal (succeeded / needs_human_review) task for a revision round:
640
+ * status → pending, attemptCount reset (revision is a new round, not a failure
641
+ * retry), revisionCount++, optional feedback injected, optional artificer
642
+ * dependency swap (evaluator rounds read the repair artificer's payload and
643
+ * artifacts via the FIRST artificer dep — resolvePriorRepairIteration).
644
+ *
645
+ * Idempotent (INV-08): target already pending/retry_wait → no-op ok.
646
+ * Restart-safe: all state is durable; double-reopen collapses to a no-op.
647
+ */
648
+ async reopenTaskForRevision(taskId, options) {
649
+ const rawTask = await this.stateManager.getTask(taskId);
650
+ if (!rawTask) {
651
+ return { ok: false, reason: 'task_not_found' };
652
+ }
653
+ const piTask = hydratePITaskRecord(rawTask);
654
+ if (!piTask) {
655
+ return { ok: false, reason: 'invalid_task_metadata' };
656
+ }
657
+ if (rawTask.status === 'pending' || rawTask.status === 'retry_wait') {
658
+ // P0-4 幂等: 同一 causeKey 重放 → 真 no-op (revisionCount 不再递增,
659
+ // 防止 consumer 重复周期烧穿 revision budget)
660
+ if (options?.revisionCauseId && piTask.revisionCauseId === options.revisionCauseId) {
661
+ return { ok: true, reason: 'idempotent_replay_same_revision' };
662
+ }
663
+ // 不同 causeKey / 无 causeKey — 更新依赖/反馈后继续 (保证 revision 输入最新)
664
+ }
665
+ else if (rawTask.status !== 'succeeded' && rawTask.status !== 'needs_human_review') {
666
+ return { ok: false, reason: `task_in_flight_${rawTask.status}` };
667
+ }
668
+ const merged = mergePITaskMetadata(piTask, {
669
+ runnerDecision: undefined, // 新一轮 verdict 未定,清空旧判定 (INV-02 单一决策依据)
670
+ // P0 verdict drift: revision reopen = 新 execution epoch — 旧 completion
671
+ // intent 失去 authority,必须随旧 verdict 一并清空;否则重跑时入口门
672
+ // 会 resume 旧 intent,新 epoch 的重新评估被永远跳过。
673
+ completionIntent: undefined,
674
+ revisionCount: (piTask.revisionCount ?? 0) + 1,
675
+ revisionFeedback: options?.revisionFeedback ?? piTask.revisionFeedback,
676
+ revisionCauseId: options?.revisionCauseId,
677
+ });
678
+ if (options?.replaceArtificerDependencyWith) {
679
+ // 替换 artificer 依赖为指定任务(修订轮读取其 repairPayload/artifacts)。
680
+ // 链是线性的: evaluator 的 artificer dep 只有一个。
681
+ const nonArtificerDeps = [];
682
+ for (const depId of piTask.dependencyTaskIds) {
683
+ if (depId === options.replaceArtificerDependencyWith)
684
+ continue;
685
+ const dep = await this.stateManager.getTask(depId);
686
+ if (dep && dep.taskKind === 'artificer')
687
+ continue;
688
+ nonArtificerDeps.push(depId);
689
+ }
690
+ merged.dependencyTaskIds = [...nonArtificerDeps, options.replaceArtificerDependencyWith];
691
+ // 修订轮 evaluator 的输入 artifact 来自新 artificer 任务的产出
692
+ merged.inputArtifactRefs = [];
693
+ }
694
+ await this.stateManager.updateTaskDiagnosticJson(taskId, createPITaskDiagnosticJson(merged));
695
+ await this.stateManager.updateTask(taskId, {
696
+ status: 'pending',
697
+ attemptCount: 0,
698
+ });
699
+ return { ok: true, reason: options?.reason ?? 'revision_reopen' };
700
+ }
357
701
  // ── Private helpers ───────────────────────────────────────────────────────
358
702
  /**
359
703
  * Find an existing successor task matching parentTaskId + successorKind + channel.
@@ -1 +1 @@
1
- {"version":3,"file":"internalization-orchestrator.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internalization-orchestrator.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,8 @@ export declare function canAcquireLease(task: PITaskRecord): boolean;
52
52
  */
53
53
  export declare function areDependenciesMet(task: PITaskRecord, dependencies: readonly TaskRecord[]): boolean;
54
54
  /**
55
- * Returns true if a PDTaskStatus transition is valid per ADR-0003 Section 3.8.
55
+ * Returns true if a PDTaskStatus transition is valid per ADR-0003 Section 3.8
56
+ * (+ revision/review 扩展, MVP_CORE_LOOP_CONTRACT INV-02/03/07)。
56
57
  *
57
58
  * Valid transitions:
58
59
  * pending → leased
@@ -60,9 +61,15 @@ export declare function areDependenciesMet(task: PITaskRecord, dependencies: rea
60
61
  * leased → retry_wait
61
62
  * leased → failed
62
63
  * leased → pending (lease release / force-expire — e.g. LeaseManager.releaseLease)
64
+ * leased → needs_human_review (repair/revision budget exhausted — runner fail-loud)
63
65
  * retry_wait → pending (recovery sweep resets)
66
+ * succeeded → pending (revision reopen ONLY: orchestrator.reopenTaskForRevision
67
+ * — evaluator repair rounds, rollout revision routing,
68
+ * upstream revision cascade. Not a general-purpose edge.)
69
+ * needs_human_review → pending (owner-initiated retry: pd runtime internalization
70
+ * retry — INV-03 出边)
64
71
  *
65
- * Terminal states (succeeded, failed) cannot transition to any other state.
72
+ * Terminal states (failed) cannot transition to any other state.
66
73
  */
67
74
  export declare function canTransitionTo(currentStatus: PDTaskStatus, newStatus: PDTaskStatus): boolean;
68
75
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"internalization-task-guards.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-task-guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAI3E;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,GAAE,MAAmB,GAAG,OAAO,CAMnF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAE3D;AAID;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,SAAS,UAAU,EAAE,GAClC,OAAO,CAeT;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAmB7F;AAID;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAE9D;AAID;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAEhE;AAID,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,GAAE,MAAuC,GAAG,OAAO,CAG9G;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAOhE;AAID;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,QAAsB,CAAC"}
1
+ {"version":3,"file":"internalization-task-guards.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-task-guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAI3E;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,GAAE,MAAmB,GAAG,OAAO,CAMnF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAE3D;AAID;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,SAAS,UAAU,EAAE,GAClC,OAAO,CAeT;AAID;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAuB7F;AAID;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAE9D;AAID;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAEhE;AAID,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,GAAE,MAAuC,GAAG,OAAO,CAG9G;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAOhE;AAID;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,QAAsB,CAAC"}
@@ -76,7 +76,8 @@ export function areDependenciesMet(task, dependencies) {
76
76
  }
77
77
  // ── Status Transition Guards ─────────────────────────────────────────────────
78
78
  /**
79
- * Returns true if a PDTaskStatus transition is valid per ADR-0003 Section 3.8.
79
+ * Returns true if a PDTaskStatus transition is valid per ADR-0003 Section 3.8
80
+ * (+ revision/review 扩展, MVP_CORE_LOOP_CONTRACT INV-02/03/07)。
80
81
  *
81
82
  * Valid transitions:
82
83
  * pending → leased
@@ -84,9 +85,15 @@ export function areDependenciesMet(task, dependencies) {
84
85
  * leased → retry_wait
85
86
  * leased → failed
86
87
  * leased → pending (lease release / force-expire — e.g. LeaseManager.releaseLease)
88
+ * leased → needs_human_review (repair/revision budget exhausted — runner fail-loud)
87
89
  * retry_wait → pending (recovery sweep resets)
90
+ * succeeded → pending (revision reopen ONLY: orchestrator.reopenTaskForRevision
91
+ * — evaluator repair rounds, rollout revision routing,
92
+ * upstream revision cascade. Not a general-purpose edge.)
93
+ * needs_human_review → pending (owner-initiated retry: pd runtime internalization
94
+ * retry — INV-03 出边)
88
95
  *
89
- * Terminal states (succeeded, failed) cannot transition to any other state.
96
+ * Terminal states (failed) cannot transition to any other state.
90
97
  */
91
98
  export function canTransitionTo(currentStatus, newStatus) {
92
99
  switch (currentStatus) {
@@ -96,10 +103,14 @@ export function canTransitionTo(currentStatus, newStatus) {
96
103
  return (newStatus === 'succeeded' ||
97
104
  newStatus === 'retry_wait' ||
98
105
  newStatus === 'failed' ||
99
- newStatus === 'pending');
106
+ newStatus === 'pending' ||
107
+ newStatus === 'needs_human_review');
100
108
  case 'retry_wait':
101
109
  return newStatus === 'pending';
102
110
  case 'succeeded':
111
+ return newStatus === 'pending';
112
+ case 'needs_human_review':
113
+ return newStatus === 'pending';
103
114
  case 'failed':
104
115
  return false;
105
116
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"internalization-task-guards.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-task-guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internalization-task-guards.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-task-guards.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * InternalizationTransitionDecision — 单一迁移决策 (P0-D, MVP_CORE_LOOP_CONTRACT INV-02/INV-07)。
3
+ *
4
+ * 审计背景 (ISSUE-005): 修复前 auto-consumer 对 runResult.status === 'succeeded'
5
+ * 一律 commitNextTaskProposal → evaluator needs_revision 也会 seed rollout_reviewer
6
+ * (错误并行分支); 即使打开 PRI-509 repair flag, repair_seeded 仍 fall through 到
7
+ * succeeded → 双播种。
8
+ *
9
+ * 语义: runner 输出内容(evaluation/review 的 verdict)与状态迁移必须经同一个
10
+ * 纯决策函数仲裁。非终态必须满足 INV-07: 有自动 successor 或有 Owner action。
11
+ *
12
+ * P0-3 (外部复核): 决策型 runner 的 verdict **fail-closed** —
13
+ * - durable runnerDecision (任务元数据) 是第一判据;
14
+ * - 缺失时,只有 runs.output_payload 里**显式可解析**的历史 verdict 才可作为
15
+ * legacy 判据 (评估器/评审器的真实产物,不是猜测);
16
+ * - 两者皆无 → NOT_ADVANCEABLE (blocked, 需人工/reconciliation),
17
+ * 禁止 "missing decision = legacy ADVANCE" —— 那会复活审计要消灭的
18
+ * needs_revision 错误旁路。
19
+ */
20
+ import type { PITaskRecord } from './peer-runner-contracts.js';
21
+ export type InternalizationTransitionDecisionKind =
22
+ /** 正常推进: seed job-graph 后继 (或对 rollout_reviewer: 触发 activation dispatch) */
23
+ 'ADVANCE'
24
+ /** needs_revision: 不 seed 正常后继; revision 机制已/将由 runner 侧执行 (repair seed / reopen 路由) */
25
+ | 'REVISION_REQUIRED'
26
+ /** artificer repair 任务完成: reopen 来源 evaluator 重跑修订轮 */
27
+ | 'REOPEN_SOURCE_EVALUATOR'
28
+ /** rejected: 终态拒绝, 不 seed 后继, 不入 approval */
29
+ | 'TERMINAL_REJECT'
30
+ /** needs_human_review: Owner 注意队列 (INV-03), 不 seed 后继 */
31
+ | 'HUMAN_REVIEW_REQUIRED'
32
+ /** 状态不可推进 (非 succeeded 等), 由既有 retry/fail 机制处理 */
33
+ | 'NOT_ADVANCEABLE'
34
+ /** P0-3: 决策型任务缺少 durable verdict 且 legacy 解析失败 — fail-closed 阻断 */
35
+ | 'BLOCKED_MISSING_VERDICT';
36
+ export interface TransitionDecisionInput {
37
+ taskKind: string;
38
+ taskStatus: string;
39
+ runnerDecision?: string;
40
+ /**
41
+ * P0-3 legacy 判据: 从该任务最近 succeeded run 的 output_payload 显式解析出的
42
+ * verdict (evaluation.decision / review.decision)。调用方负责解析与校验;
43
+ * undefined = 无可解析历史 verdict。
44
+ */
45
+ legacyRunnerDecision?: string;
46
+ /** artificer 任务携带 repairPayload (PRI-509 repair 任务) */
47
+ isRepairTask: boolean;
48
+ revisionCount: number;
49
+ }
50
+ export interface TransitionDecision {
51
+ kind: InternalizationTransitionDecisionKind;
52
+ reason: string;
53
+ }
54
+ /**
55
+ * 纯决策: 依据任务状态 + runner 判定,决定该任务完成后链上应发生什么。
56
+ * 调用方 (orchestrator.commitNextTaskProposal) 是唯一后继播种漏斗。
57
+ */
58
+ export declare function decideInternalizationTransition(input: TransitionDecisionInput): TransitionDecision;
59
+ /** 从 PITaskRecord 提取决策输入的便利投影 (legacy 判据由调用方解析后传入) */
60
+ export declare function transitionInputFromTask(piTask: PITaskRecord, legacyRunnerDecision?: string): TransitionDecisionInput;
61
+ //# sourceMappingURL=internalization-transition-decision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalization-transition-decision.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/internalization-transition-decision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,MAAM,qCAAqC;AAC/C,4EAA4E;AAC1E,SAAS;AACX,wFAAwF;GACtF,mBAAmB;AACrB,uDAAuD;GACrD,yBAAyB;AAC3B,6CAA6C;GAC3C,iBAAiB;AACnB,yDAAyD;GACvD,uBAAuB;AACzB,kDAAkD;GAChD,iBAAiB;AACnB,mEAAmE;GACjE,yBAAyB,CAAC;AAE9B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uDAAuD;IACvD,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,qCAAqC,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,uBAAuB,GAAG,kBAAkB,CAmDlG;AAED,sDAAsD;AACtD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EACpB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,uBAAuB,CASzB"}