@principles/core 1.270.5 → 1.271.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/runtime-v2/__tests__/evaluator-repair-loop.test.js +20 -0
- package/dist/runtime-v2/__tests__/evaluator-repair-loop.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.js +26 -5
- package/dist/runtime-v2/__tests__/rollout-reviewer-verdict-paths.test.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +7 -1
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +4 -0
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder.test.js +1 -1
- package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.js +15 -14
- package/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/owner-decision-architecture.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/owner-decision-architecture.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/owner-decision-architecture.test.js +56 -0
- package/dist/runtime-v2/internalization/__tests__/owner-decision-architecture.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/owner-decision.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/owner-decision.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/owner-decision.test.js +883 -0
- package/dist/runtime-v2/internalization/__tests__/owner-decision.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/owner-override-resume.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/owner-override-resume.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/owner-override-resume.test.js +328 -0
- package/dist/runtime-v2/internalization/__tests__/owner-override-resume.test.js.map +1 -0
- package/dist/runtime-v2/internalization/evaluator-output.d.ts +63 -2
- package/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-output.js +139 -2
- package/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts +54 -2
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.js +49 -2
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts +34 -0
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.js +295 -12
- package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/internalization-orchestrator.js +10 -54
- package/dist/runtime-v2/internalization/internalization-orchestrator.js.map +1 -1
- package/dist/runtime-v2/internalization/internalization-transition-decision.d.ts +7 -1
- package/dist/runtime-v2/internalization/internalization-transition-decision.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/internalization-transition-decision.js +9 -2
- package/dist/runtime-v2/internalization/internalization-transition-decision.js.map +1 -1
- package/dist/runtime-v2/internalization/owner-resolution-service.d.ts +89 -0
- package/dist/runtime-v2/internalization/owner-resolution-service.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/owner-resolution-service.js +272 -0
- package/dist/runtime-v2/internalization/owner-resolution-service.js.map +1 -0
- package/dist/runtime-v2/internalization/owner-retry.d.ts +12 -0
- package/dist/runtime-v2/internalization/owner-retry.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/owner-retry.js +23 -0
- package/dist/runtime-v2/internalization/owner-retry.js.map +1 -1
- package/dist/runtime-v2/internalization/owner-review.d.ts +195 -0
- package/dist/runtime-v2/internalization/owner-review.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/owner-review.js +470 -0
- package/dist/runtime-v2/internalization/owner-review.js.map +1 -0
- package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts +5 -1
- package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/peer-runner-contracts.js.map +1 -1
- package/dist/runtime-v2/internalization/pitask-metadata.d.ts +68 -0
- package/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/pitask-metadata.js +104 -0
- package/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
- package/dist/runtime-v2/internalization/revision-reopen.d.ts +56 -0
- package/dist/runtime-v2/internalization/revision-reopen.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/revision-reopen.js +144 -0
- package/dist/runtime-v2/internalization/revision-reopen.js.map +1 -0
- package/dist/runtime-v2/internalization/rollout-reviewer-runner.d.ts +12 -0
- package/dist/runtime-v2/internalization/rollout-reviewer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/rollout-reviewer-runner.js +145 -14
- package/dist/runtime-v2/internalization/rollout-reviewer-runner.js.map +1 -1
- package/dist/runtime-v2/store/context/sqlite-context-assembler.test.js +1 -0
- package/dist/runtime-v2/store/context/sqlite-context-assembler.test.js.map +1 -1
- package/dist/runtime-v2/store/runtime-state-manager.d.ts +6 -0
- package/dist/runtime-v2/store/runtime-state-manager.d.ts.map +1 -1
- package/dist/runtime-v2/store/runtime-state-manager.js +9 -0
- package/dist/runtime-v2/store/runtime-state-manager.js.map +1 -1
- package/dist/runtime-v2/store/task/__tests__/sqlite-task-store-cas.test.d.ts +2 -0
- package/dist/runtime-v2/store/task/__tests__/sqlite-task-store-cas.test.d.ts.map +1 -0
- package/dist/runtime-v2/store/task/__tests__/sqlite-task-store-cas.test.js +78 -0
- package/dist/runtime-v2/store/task/__tests__/sqlite-task-store-cas.test.js.map +1 -0
- package/dist/runtime-v2/store/task/memory-task-store.d.ts +1 -0
- package/dist/runtime-v2/store/task/memory-task-store.d.ts.map +1 -1
- package/dist/runtime-v2/store/task/memory-task-store.js +8 -0
- package/dist/runtime-v2/store/task/memory-task-store.js.map +1 -1
- package/dist/runtime-v2/store/task/sqlite-task-store.d.ts +1 -0
- package/dist/runtime-v2/store/task/sqlite-task-store.d.ts.map +1 -1
- package/dist/runtime-v2/store/task/sqlite-task-store.js +52 -0
- package/dist/runtime-v2/store/task/sqlite-task-store.js.map +1 -1
- package/dist/runtime-v2/store/task/task-store.d.ts +9 -0
- package/dist/runtime-v2/store/task/task-store.d.ts.map +1 -1
- package/dist/runtime-v2/store/workspace-isolation.test.js +1 -0
- package/dist/runtime-v2/store/workspace-isolation.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* owner-review.ts — PRI-629 统一 Owner Decision 策略层(纯函数 + 窄事实读取)。
|
|
3
|
+
*
|
|
4
|
+
* 职责(单一深模块,Console/CLI/Runner 共用,禁止各自再推导):
|
|
5
|
+
* - collectOwnerDecisionFacts 读取 durable facts(task/lineage/artifact)
|
|
6
|
+
* - deriveOwnerDecisionCapability 纯策略:该 NHR 任务是否 decision-capable、
|
|
7
|
+
* 允许哪些 Owner 动作(INV-01 的唯一依据)
|
|
8
|
+
* - buildOwnerReviewKey 裁决事实快照的稳定 hash(stale 防护)
|
|
9
|
+
* - resolveEffectiveRunnerDecision effective decision 的唯一解析点
|
|
10
|
+
* - classifyHumanReviewAttention owner_decision vs recovery(fail closed)
|
|
11
|
+
*
|
|
12
|
+
* 不变式(SPEC PRI-629/630):
|
|
13
|
+
* - machine verdict 永不被覆盖(runnerDecision 只读)
|
|
14
|
+
* - allowedActions.length === 0 ⇔ 不进 Owner Inbox、不阻止 Recover
|
|
15
|
+
* - 未知 reasonCode / 模糊 legacy 事实 → recovery(fail closed)
|
|
16
|
+
* - reviewKey 绑定 (taskId, epoch, run, artifact, hash, verdict, reason)
|
|
17
|
+
*/
|
|
18
|
+
import { createHash } from 'node:crypto';
|
|
19
|
+
import { hydratePITaskRecord, createPITaskDiagnosticJson, mergePITaskMetadata, } from './pitask-metadata.js';
|
|
20
|
+
// ── Reason codes ──────────────────────────────────────────────────────────────
|
|
21
|
+
/**
|
|
22
|
+
* needs_human_review 的结构化原因码(PRI-629)。写入侧由 runner 使用常量;
|
|
23
|
+
* 解析侧接受任意非空串(前向兼容),分类侧只认 DECISION_CAPABLE 集合,
|
|
24
|
+
* 其余一律 recovery。
|
|
25
|
+
*/
|
|
26
|
+
export const HUMAN_REVIEW_REASON = {
|
|
27
|
+
/** Evaluator 修复预算耗尽(2 轮已用完)— Owner 可裁决 */
|
|
28
|
+
evaluatorRepairBudgetExhausted: 'evaluator_repair_budget_exhausted',
|
|
29
|
+
/** Rollout 修订预算耗尽 — Owner 可裁决 */
|
|
30
|
+
rolloutRevisionBudgetExhausted: 'rollout_revision_budget_exhausted',
|
|
31
|
+
// ── recovery-only ──
|
|
32
|
+
evaluatorRepairSeedFailed: 'evaluator_repair_seed_failed',
|
|
33
|
+
rolloutActivationCandidateUnresolved: 'rollout_activation_candidate_unresolved',
|
|
34
|
+
rolloutDispatchNotWired: 'rollout_dispatch_not_wired',
|
|
35
|
+
rolloutDispatchRefused: 'rollout_dispatch_refused',
|
|
36
|
+
rolloutRevisionTargetUnresolved: 'rollout_revision_target_unresolved',
|
|
37
|
+
rolloutRevisionRoutingNotWired: 'rollout_revision_routing_not_wired',
|
|
38
|
+
rolloutRevisionReopenFailed: 'rollout_revision_reopen_failed',
|
|
39
|
+
rolloutRevisionIterationMissing: 'rollout_revision_iteration_missing',
|
|
40
|
+
workspaceDirtyStall: 'workspace_dirty_stall',
|
|
41
|
+
};
|
|
42
|
+
/** decision-capable 原因集合 — 只有这些允许 Owner verdict override。 */
|
|
43
|
+
export const DECISION_CAPABLE_HUMAN_REVIEW_REASONS = new Set([
|
|
44
|
+
HUMAN_REVIEW_REASON.evaluatorRepairBudgetExhausted,
|
|
45
|
+
HUMAN_REVIEW_REASON.rolloutRevisionBudgetExhausted,
|
|
46
|
+
]);
|
|
47
|
+
/** legacy(无 humanReviewContext)判定后使用的原因码,携带 _legacy 后缀以示证据来源。 */
|
|
48
|
+
export const LEGACY_EVALUATOR_BUDGET_EXHAUSTED = 'evaluator_repair_budget_exhausted_legacy';
|
|
49
|
+
export const LEGACY_ROLLOUT_BUDGET_EXHAUSTED = 'rollout_revision_budget_exhausted_legacy';
|
|
50
|
+
function sha256Hex(input) {
|
|
51
|
+
return createHash('sha256').update(input, 'utf8').digest('hex');
|
|
52
|
+
}
|
|
53
|
+
/** 对 artifact contentJson 计算 sha256 hex(reviewKey / stale 防护的事实输入)。 */
|
|
54
|
+
export function computeArtifactContentHash(contentJson) {
|
|
55
|
+
return sha256Hex(contentJson);
|
|
56
|
+
}
|
|
57
|
+
/** evaluator/rollout 输出 artifact 的确定性 id(与 runner 写入约定一致)。 */
|
|
58
|
+
export function decisionArtifactIdFor(taskId, runId) {
|
|
59
|
+
return `pi-art-${taskId}-${runId}`;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* 从 durable facts 还原裁决事实快照:
|
|
63
|
+
* 1. humanReviewContext 存在 → 直接采用(它由 runner 在 NHR 落库时原子写入);
|
|
64
|
+
* 2. legacy → completionIntent.sourceRunId + 确定性 artifact id + 内容 hash。
|
|
65
|
+
* 决策 artifact 必须真实存在且可读 — 缺失即 capability 失败(recovery)。
|
|
66
|
+
*/
|
|
67
|
+
/**
|
|
68
|
+
* 硬确定性安全门判定(SPEC §20):evaluator V2 输出携带 adversarialResult
|
|
69
|
+
* 且 passed=false → 确定性对抗门失败,Owner 不得 accept(可 revise/reject)。
|
|
70
|
+
* 此处只读 metadata 可达的事实;artifact 内容级判定在 apply 阶段由 runner
|
|
71
|
+
* 的既有 deterministic gates 兜底(RuleHostWriter.canActivate / sandbox replay)。
|
|
72
|
+
*/
|
|
73
|
+
// ── Effective decision mapping (applied at resolution time) ──────────────────
|
|
74
|
+
/**
|
|
75
|
+
* verdict override 的 effective decision 映射(SPEC §10/§14/§16)。
|
|
76
|
+
* 注意 rollout accept → 'approve_rollout'(不是 'approved')— 高风险部署
|
|
77
|
+
* 审批由 ActivationDispatcher 在下游强制,Owner review 不穿透。
|
|
78
|
+
*/
|
|
79
|
+
export function effectiveDecisionFor(taskKind, action) {
|
|
80
|
+
if (action === 'revise_once')
|
|
81
|
+
return undefined;
|
|
82
|
+
if (action === 'accept_current') {
|
|
83
|
+
return taskKind === 'rollout_reviewer' ? 'approve_rollout' : 'approved';
|
|
84
|
+
}
|
|
85
|
+
return taskKind === 'rollout_reviewer' ? 'reject' : 'rejected';
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Runner 入口恢复门的第一优先级检查(SPEC §10):
|
|
89
|
+
* pending Owner Resolution → pending Completion Intent → normal LLM。
|
|
90
|
+
* 当前 epoch 存在 verdict override resolution(pending 或 applied 均可 —
|
|
91
|
+
* applied 但任务未 terminal 的 crash 窗口同样由此收敛)→ 返回 override 计划。
|
|
92
|
+
*/
|
|
93
|
+
export function planOwnerVerdictOverrideResume(piTask) {
|
|
94
|
+
const epoch = piTask.revisionCount ?? 0;
|
|
95
|
+
const resolutions = piTask.ownerResolutions;
|
|
96
|
+
if (!resolutions || resolutions.length === 0)
|
|
97
|
+
return null;
|
|
98
|
+
let latest = null;
|
|
99
|
+
for (const r of resolutions) {
|
|
100
|
+
if (r.revisionEpoch !== epoch)
|
|
101
|
+
continue;
|
|
102
|
+
if (r.action !== 'accept_current' && r.action !== 'reject_current')
|
|
103
|
+
continue;
|
|
104
|
+
if (!latest || r.decidedAt > latest.decidedAt)
|
|
105
|
+
latest = r;
|
|
106
|
+
}
|
|
107
|
+
if (!latest)
|
|
108
|
+
return null;
|
|
109
|
+
// resolution 记录的 effectiveDecision 是 override authority;异常缺失 →
|
|
110
|
+
// 无计划(fail closed,走既有 intent/LLM 路径)。
|
|
111
|
+
if (latest.effectiveDecision === undefined)
|
|
112
|
+
return null;
|
|
113
|
+
return { resolution: latest, overrideDecision: latest.effectiveDecision };
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* runner 侧 detail reason string → 规范化 humanReviewContext.reasonCode。
|
|
117
|
+
* 保留 detail 原串在事件里(可观测),context 携带规范码(可分类)。
|
|
118
|
+
*/
|
|
119
|
+
export function canonicalHumanReviewReasonCode(detail) {
|
|
120
|
+
if (detail.startsWith('rollout_revision_budget_exhausted'))
|
|
121
|
+
return HUMAN_REVIEW_REASON.rolloutRevisionBudgetExhausted;
|
|
122
|
+
if (detail === 'rollout_dispatch_not_wired')
|
|
123
|
+
return HUMAN_REVIEW_REASON.rolloutDispatchNotWired;
|
|
124
|
+
if (detail.startsWith('rollout_dispatch_'))
|
|
125
|
+
return HUMAN_REVIEW_REASON.rolloutDispatchRefused;
|
|
126
|
+
if (detail === 'rollout_activation_candidate_unresolved')
|
|
127
|
+
return HUMAN_REVIEW_REASON.rolloutActivationCandidateUnresolved;
|
|
128
|
+
if (detail === 'rollout_revision_target_unresolved')
|
|
129
|
+
return HUMAN_REVIEW_REASON.rolloutRevisionTargetUnresolved;
|
|
130
|
+
if (detail === 'rollout_revision_routing_not_wired')
|
|
131
|
+
return HUMAN_REVIEW_REASON.rolloutRevisionRoutingNotWired;
|
|
132
|
+
if (detail.startsWith('rollout_revision_reopen_failed'))
|
|
133
|
+
return HUMAN_REVIEW_REASON.rolloutRevisionReopenFailed;
|
|
134
|
+
if (detail === 'rollout_revision_iteration_missing')
|
|
135
|
+
return HUMAN_REVIEW_REASON.rolloutRevisionIterationMissing;
|
|
136
|
+
if (detail === HUMAN_REVIEW_REASON.evaluatorRepairBudgetExhausted
|
|
137
|
+
|| detail === HUMAN_REVIEW_REASON.evaluatorRepairSeedFailed)
|
|
138
|
+
return detail;
|
|
139
|
+
// 未知 detail — 保留原串(分类侧 fail closed 到 recovery)
|
|
140
|
+
return detail;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* 硬确定性安全门判定(SPEC §9.1/§20):evaluator V2 输出携带
|
|
144
|
+
* adversarialResult 且 passed=false → 确定性对抗门失败 → accept_current
|
|
145
|
+
* 不允许(revise/reject 仍可用)。从决策 artifact contentJson 做有界解析。
|
|
146
|
+
*/
|
|
147
|
+
export function detectHardGateFailureFromArtifact(contentJson) {
|
|
148
|
+
try {
|
|
149
|
+
const parsed = JSON.parse(contentJson);
|
|
150
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
|
|
151
|
+
return false;
|
|
152
|
+
// runtime-contract-exempt: ERR-001 object-guarded unknown property extraction; the value is typeof-checked immediately below
|
|
153
|
+
const { adversarialResult } = parsed;
|
|
154
|
+
if (typeof adversarialResult !== 'object' || adversarialResult === null)
|
|
155
|
+
return false;
|
|
156
|
+
// runtime-contract-exempt: ERR-001 object-guarded unknown property extraction; the value is compared against false immediately
|
|
157
|
+
const { passed } = adversarialResult;
|
|
158
|
+
// passed 显式为 false 才是门失败;缺失/true/其它值不判失败
|
|
159
|
+
return passed === false;
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
export async function collectOwnerDecisionFacts(store, taskId) {
|
|
166
|
+
const raw = await store.getTask(taskId);
|
|
167
|
+
if (!raw)
|
|
168
|
+
return null;
|
|
169
|
+
const piTask = hydratePITaskRecord(raw);
|
|
170
|
+
if (!piTask)
|
|
171
|
+
return null;
|
|
172
|
+
if (piTask.taskKind !== 'evaluator' && piTask.taskKind !== 'rollout_reviewer')
|
|
173
|
+
return null;
|
|
174
|
+
// 决策来源 run:context 优先,legacy 回退 completionIntent。
|
|
175
|
+
const context = piTask.humanReviewContext;
|
|
176
|
+
const intent = piTask.completionIntent;
|
|
177
|
+
const sourceRunId = context?.sourceRunId ?? intent?.sourceRunId ?? null;
|
|
178
|
+
let decisionArtifact = null;
|
|
179
|
+
let hardGateFailed = false;
|
|
180
|
+
if (sourceRunId) {
|
|
181
|
+
const expectedArtifactId = context?.sourceArtifactId
|
|
182
|
+
?? decisionArtifactIdFor(taskId, sourceRunId);
|
|
183
|
+
const artifacts = await store.listArtifactsBySourceTask(taskId).catch(() => []);
|
|
184
|
+
const artifact = artifacts.find((a) => a.artifactId === expectedArtifactId) ?? null;
|
|
185
|
+
if (artifact) {
|
|
186
|
+
decisionArtifact = {
|
|
187
|
+
artifactId: artifact.artifactId,
|
|
188
|
+
contentHash: computeArtifactContentHash(artifact.contentJson),
|
|
189
|
+
};
|
|
190
|
+
hardGateFailed = detectHardGateFailureFromArtifact(artifact.contentJson);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// lineage 事实:evaluator 读依赖 artificer 的 repairPayload;rollout 读依赖 evaluator 存在性。
|
|
194
|
+
let dependencyRepairIteration = null;
|
|
195
|
+
let dependencyArtificerTaskId = null;
|
|
196
|
+
let lineageResolvable = false;
|
|
197
|
+
if (piTask.taskKind === 'evaluator') {
|
|
198
|
+
for (const depId of piTask.dependencyTaskIds) {
|
|
199
|
+
const dep = await store.getTask(depId).catch(() => null);
|
|
200
|
+
if (!dep || dep.taskKind !== 'artificer')
|
|
201
|
+
continue;
|
|
202
|
+
const depPi = hydratePITaskRecord(dep);
|
|
203
|
+
dependencyRepairIteration = depPi?.repairPayload?.repairIteration ?? 0;
|
|
204
|
+
dependencyArtificerTaskId = dep.taskId;
|
|
205
|
+
lineageResolvable = true;
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
for (const depId of piTask.dependencyTaskIds) {
|
|
211
|
+
const dep = await store.getTask(depId).catch(() => null);
|
|
212
|
+
if (dep?.taskKind === 'evaluator') {
|
|
213
|
+
lineageResolvable = true;
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
const rrp = piTask.rolloutRevisionPayload;
|
|
219
|
+
const rolloutRevisionAppliedCount = piTask.taskKind === 'rollout_reviewer' && rrp
|
|
220
|
+
? (rrp.status === 'pending' ? rrp.revisionIteration - 1 : rrp.revisionIteration)
|
|
221
|
+
: null;
|
|
222
|
+
return {
|
|
223
|
+
task: piTask,
|
|
224
|
+
decisionArtifact,
|
|
225
|
+
hardGateFailed,
|
|
226
|
+
dependencyRepairIteration,
|
|
227
|
+
dependencyArtificerTaskId,
|
|
228
|
+
rolloutRevisionAppliedCount,
|
|
229
|
+
lineageResolvable,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Owner Decision Item 的稳定身份:裁决事实快照的 sha256。任何一个事实变化
|
|
234
|
+
* (新一轮 run / 新 artifact / 新 epoch / 不同 verdict)都会产生新 key —
|
|
235
|
+
* Owner 只能批准自己实际看到的那个版本(stale 防护,SPEC §6)。
|
|
236
|
+
*/
|
|
237
|
+
export function buildOwnerReviewKey(facts) {
|
|
238
|
+
const canonical = [
|
|
239
|
+
'owner-decision-v1',
|
|
240
|
+
facts.taskId,
|
|
241
|
+
String(facts.revisionEpoch),
|
|
242
|
+
facts.sourceRunId,
|
|
243
|
+
facts.sourceArtifactId,
|
|
244
|
+
facts.sourceArtifactHash,
|
|
245
|
+
facts.machineDecision,
|
|
246
|
+
facts.humanReviewReason,
|
|
247
|
+
].join('\u0000');
|
|
248
|
+
return `odk_${sha256Hex(canonical)}`;
|
|
249
|
+
}
|
|
250
|
+
// ── Effective decision resolver (SINGLE resolution point) ────────────────────
|
|
251
|
+
/**
|
|
252
|
+
* effective decision 的唯一解析点(SPEC §8):
|
|
253
|
+
* 当前 revision epoch 存在合法、applied 的 Owner verdict override →
|
|
254
|
+
* effectiveDecision;否则 → runnerDecision(机器判定,永不改写)。
|
|
255
|
+
*
|
|
256
|
+
* Internalization transition / orchestrator / 任何消费方必须经由本函数;
|
|
257
|
+
* Console / HTTP route / 各 runner 禁止自行计算。
|
|
258
|
+
*/
|
|
259
|
+
/** 当前 epoch 内最新一条 owner resolution(pending 或 applied),无则 null。 */
|
|
260
|
+
export function findOwnerResolutionForCurrentEpoch(piTask) {
|
|
261
|
+
const epoch = piTask.revisionCount ?? 0;
|
|
262
|
+
const resolutions = piTask.ownerResolutions;
|
|
263
|
+
if (!resolutions || resolutions.length === 0)
|
|
264
|
+
return null;
|
|
265
|
+
let latest = null;
|
|
266
|
+
for (const r of resolutions) {
|
|
267
|
+
if (r.revisionEpoch !== epoch)
|
|
268
|
+
continue;
|
|
269
|
+
if (!latest || r.decidedAt > latest.decidedAt)
|
|
270
|
+
latest = r;
|
|
271
|
+
}
|
|
272
|
+
return latest;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* P0 评审修复: 当前 epoch 内是否有 **pending**(等待 runner 应用)的 resolution。
|
|
276
|
+
* Recover guard 只拒 pending——applied resolution 表示裁决已被执行(即使下游
|
|
277
|
+
* 治理转移因技术原因落在 recovery NHR),此时 Recover 是合法的技术重试出口
|
|
278
|
+
* (resume 门会基于 applied override 确定性重放,不重问 LLM)。
|
|
279
|
+
*/
|
|
280
|
+
export function findPendingOwnerResolutionForCurrentEpoch(piTask) {
|
|
281
|
+
const epoch = piTask.revisionCount ?? 0;
|
|
282
|
+
const resolutions = piTask.ownerResolutions;
|
|
283
|
+
if (!resolutions)
|
|
284
|
+
return null;
|
|
285
|
+
let latest = null;
|
|
286
|
+
for (const r of resolutions) {
|
|
287
|
+
if (r.revisionEpoch !== epoch || r.status !== 'pending')
|
|
288
|
+
continue;
|
|
289
|
+
if (!latest || r.decidedAt > latest.decidedAt)
|
|
290
|
+
latest = r;
|
|
291
|
+
}
|
|
292
|
+
return latest;
|
|
293
|
+
}
|
|
294
|
+
/** 当前 epoch 内最新 applied verdict override(accept/reject)— resolver 的输入。 */
|
|
295
|
+
export function findAppliedVerdictOverrideResolution(piTask) {
|
|
296
|
+
const epoch = piTask.revisionCount ?? 0;
|
|
297
|
+
const resolutions = piTask.ownerResolutions;
|
|
298
|
+
if (!resolutions)
|
|
299
|
+
return null;
|
|
300
|
+
let latest = null;
|
|
301
|
+
for (const r of resolutions) {
|
|
302
|
+
if (r.revisionEpoch !== epoch || r.status !== 'applied')
|
|
303
|
+
continue;
|
|
304
|
+
if (r.action !== 'accept_current' && r.action !== 'reject_current')
|
|
305
|
+
continue;
|
|
306
|
+
if (!latest || r.decidedAt > latest.decidedAt)
|
|
307
|
+
latest = r;
|
|
308
|
+
}
|
|
309
|
+
return latest;
|
|
310
|
+
}
|
|
311
|
+
export function resolveEffectiveRunnerDecision(piTask) {
|
|
312
|
+
const override = findAppliedVerdictOverrideResolution(piTask);
|
|
313
|
+
if (override?.effectiveDecision !== undefined) {
|
|
314
|
+
return override.effectiveDecision;
|
|
315
|
+
}
|
|
316
|
+
return piTask.runnerDecision;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* 规范化人工裁决原因:
|
|
320
|
+
* - 有 humanReviewContext → 其 reasonCode(未知码 → attention=recovery,fail closed);
|
|
321
|
+
* - legacy → 按 durable facts 推断(SPEC §23):
|
|
322
|
+
* evaluator: needs_revision + dep artificer repairIteration>=2 + 同 epoch
|
|
323
|
+
* pending intent → budget exhausted (legacy)
|
|
324
|
+
* rollout: needs_revision + applied revision count>=2 → budget exhausted (legacy)
|
|
325
|
+
* - 事实不足/歧义 → recovery(不得猜)。
|
|
326
|
+
*/
|
|
327
|
+
export function classifyHumanReviewAttention(facts) {
|
|
328
|
+
const { task } = facts;
|
|
329
|
+
const context = task.humanReviewContext;
|
|
330
|
+
if (context) {
|
|
331
|
+
if (DECISION_CAPABLE_HUMAN_REVIEW_REASONS.has(context.reasonCode)) {
|
|
332
|
+
return { attention: 'owner_decision', reasonCode: context.reasonCode, legacy: false };
|
|
333
|
+
}
|
|
334
|
+
return { attention: 'recovery', reasonCode: context.reasonCode, legacy: false };
|
|
335
|
+
}
|
|
336
|
+
// ── legacy inference(无 context 的历史任务)──
|
|
337
|
+
if (task.runnerDecision !== 'needs_revision') {
|
|
338
|
+
return { attention: 'recovery', reasonCode: 'legacy_unclassified', legacy: true };
|
|
339
|
+
}
|
|
340
|
+
if (task.taskKind === 'evaluator') {
|
|
341
|
+
const intent = task.completionIntent;
|
|
342
|
+
const epochOk = !intent || intent.revisionEpoch === (task.revisionCount ?? 0);
|
|
343
|
+
if (facts.dependencyRepairIteration !== null
|
|
344
|
+
&& facts.dependencyRepairIteration >= 2
|
|
345
|
+
&& epochOk) {
|
|
346
|
+
return { attention: 'owner_decision', reasonCode: LEGACY_EVALUATOR_BUDGET_EXHAUSTED, legacy: true };
|
|
347
|
+
}
|
|
348
|
+
return { attention: 'recovery', reasonCode: 'legacy_unclassified', legacy: true };
|
|
349
|
+
}
|
|
350
|
+
if (task.taskKind === 'rollout_reviewer') {
|
|
351
|
+
if (facts.rolloutRevisionAppliedCount !== null && facts.rolloutRevisionAppliedCount >= 2) {
|
|
352
|
+
return { attention: 'owner_decision', reasonCode: LEGACY_ROLLOUT_BUDGET_EXHAUSTED, legacy: true };
|
|
353
|
+
}
|
|
354
|
+
return { attention: 'recovery', reasonCode: 'legacy_unclassified', legacy: true };
|
|
355
|
+
}
|
|
356
|
+
return { attention: 'recovery', reasonCode: 'legacy_unclassified', legacy: true };
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* 纯策略:从 facts 推导该 NHR 任务允许的 Owner 动作(SPEC §9)。
|
|
360
|
+
* 只有 allowedActions.length > 0 才进入 Owner Inbox(INV-01)。
|
|
361
|
+
*
|
|
362
|
+
* Eligibility(accept_current 最严):
|
|
363
|
+
* - decision-capable 原因(含 legacy 判定)
|
|
364
|
+
* - runnerDecision = needs_revision(机器建议继续修)
|
|
365
|
+
* - 决策输出 artifact 存在(reviewKey 需要 hash)
|
|
366
|
+
* - lineage 可解析
|
|
367
|
+
* - 无同 epoch 的已有 resolution(已裁决过 → 不再展示)
|
|
368
|
+
* - 硬确定性安全门未失败(adversarial/sandbox hard fail 时 accept 被禁,
|
|
369
|
+
* revise/reject 仍可用 — SPEC §9.1/§20)
|
|
370
|
+
*/
|
|
371
|
+
function infeasible(reason) {
|
|
372
|
+
return {
|
|
373
|
+
eligible: false,
|
|
374
|
+
reasonCode: 'not_applicable',
|
|
375
|
+
attention: 'recovery',
|
|
376
|
+
legacy: false,
|
|
377
|
+
allowedActions: [],
|
|
378
|
+
blockers: [reason],
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
export function deriveOwnerDecisionCapability(facts) {
|
|
382
|
+
const { task } = facts;
|
|
383
|
+
const blockers = [];
|
|
384
|
+
if (task.status !== 'needs_human_review') {
|
|
385
|
+
return infeasible('task_not_needs_human_review');
|
|
386
|
+
}
|
|
387
|
+
if (task.taskKind !== 'evaluator' && task.taskKind !== 'rollout_reviewer') {
|
|
388
|
+
return infeasible('task_kind_not_decision_capable');
|
|
389
|
+
}
|
|
390
|
+
const classification = classifyHumanReviewAttention(facts);
|
|
391
|
+
if (classification.attention !== 'owner_decision') {
|
|
392
|
+
return {
|
|
393
|
+
eligible: false,
|
|
394
|
+
reasonCode: classification.reasonCode,
|
|
395
|
+
attention: 'recovery',
|
|
396
|
+
legacy: classification.legacy,
|
|
397
|
+
allowedActions: [],
|
|
398
|
+
blockers: [`reason_not_decision_capable:${classification.reasonCode}`],
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
if (task.runnerDecision !== 'needs_revision') {
|
|
402
|
+
blockers.push(`runner_decision_not_needs_revision:${task.runnerDecision ?? 'missing'}`);
|
|
403
|
+
}
|
|
404
|
+
if (!facts.decisionArtifact) {
|
|
405
|
+
blockers.push('decision_artifact_missing');
|
|
406
|
+
}
|
|
407
|
+
if (!facts.lineageResolvable) {
|
|
408
|
+
blockers.push('lineage_unresolvable');
|
|
409
|
+
}
|
|
410
|
+
if (findOwnerResolutionForCurrentEpoch(task)) {
|
|
411
|
+
blockers.push('resolution_already_recorded_for_current_epoch');
|
|
412
|
+
}
|
|
413
|
+
if (blockers.length > 0) {
|
|
414
|
+
return {
|
|
415
|
+
eligible: false,
|
|
416
|
+
reasonCode: classification.reasonCode,
|
|
417
|
+
attention: 'recovery',
|
|
418
|
+
legacy: classification.legacy,
|
|
419
|
+
allowedActions: [],
|
|
420
|
+
blockers,
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
// facts 已由调用方 I/O 定位;eligible 分支保证 context/intent 至少其一
|
|
424
|
+
// 携带 sourceRunId(两类 budget-exhausted 落库路径都先写 completionIntent)。
|
|
425
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
426
|
+
const artifact = facts.decisionArtifact;
|
|
427
|
+
const sourceRunId = task.humanReviewContext?.sourceRunId
|
|
428
|
+
?? task.completionIntent?.sourceRunId
|
|
429
|
+
?? '';
|
|
430
|
+
const reviewKey = buildOwnerReviewKey({
|
|
431
|
+
taskId: task.taskId,
|
|
432
|
+
revisionEpoch: task.revisionCount ?? 0,
|
|
433
|
+
sourceRunId,
|
|
434
|
+
sourceArtifactId: artifact.artifactId,
|
|
435
|
+
sourceArtifactHash: artifact.contentHash,
|
|
436
|
+
machineDecision: task.runnerDecision ?? 'needs_revision',
|
|
437
|
+
humanReviewReason: classification.reasonCode,
|
|
438
|
+
});
|
|
439
|
+
const allowedActions = ['revise_once', 'reject_current'];
|
|
440
|
+
if (!facts.hardGateFailed) {
|
|
441
|
+
allowedActions.unshift('accept_current');
|
|
442
|
+
}
|
|
443
|
+
else {
|
|
444
|
+
blockers.push('deterministic_hard_gate_failed');
|
|
445
|
+
}
|
|
446
|
+
return {
|
|
447
|
+
eligible: allowedActions.length > 0,
|
|
448
|
+
reasonCode: classification.reasonCode,
|
|
449
|
+
attention: 'owner_decision',
|
|
450
|
+
legacy: classification.legacy,
|
|
451
|
+
reviewKey,
|
|
452
|
+
allowedActions,
|
|
453
|
+
blockers,
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
export async function markOwnerResolutionApplied(ctx) {
|
|
457
|
+
const { updateDiagnosticJson, getTask, taskId, resolutionId, appliedAt } = ctx;
|
|
458
|
+
const raw = await getTask(taskId);
|
|
459
|
+
if (!raw)
|
|
460
|
+
return;
|
|
461
|
+
const piTask = hydratePITaskRecord(raw);
|
|
462
|
+
if (!piTask?.ownerResolutions)
|
|
463
|
+
return;
|
|
464
|
+
const target = piTask.ownerResolutions.find((r) => r.resolutionId === resolutionId);
|
|
465
|
+
if (!target || target.status === 'applied')
|
|
466
|
+
return;
|
|
467
|
+
const updated = piTask.ownerResolutions.map((r) => r.resolutionId === resolutionId ? { ...r, status: 'applied', appliedAt } : r);
|
|
468
|
+
await updateDiagnosticJson(taskId, createPITaskDiagnosticJson(mergePITaskMetadata(piTask, { ownerResolutions: updated })));
|
|
469
|
+
}
|
|
470
|
+
//# sourceMappingURL=owner-review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-review.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/owner-review.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* @see docs/adr/0003-peer-agent-state-machine-orchestration.md
|
|
15
15
|
*/
|
|
16
16
|
import type { TaskRecord } from '../task-status.js';
|
|
17
|
-
import type { RepairPayload, RunnerDecision, RolloutRevisionPayload, RunnerCompletionIntent } from './pitask-metadata.js';
|
|
17
|
+
import type { RepairPayload, RunnerDecision, RolloutRevisionPayload, RunnerCompletionIntent, HumanReviewContext, OwnerResolutionRecord } from './pitask-metadata.js';
|
|
18
18
|
/**
|
|
19
19
|
* The 4 channels through which principle internalization can occur.
|
|
20
20
|
*
|
|
@@ -121,6 +121,10 @@ export interface PITaskRecord extends TaskRecord {
|
|
|
121
121
|
* resume it instead of re-invoking the LLM. See pitask-metadata.ts.
|
|
122
122
|
*/
|
|
123
123
|
completionIntent?: RunnerCompletionIntent;
|
|
124
|
+
/** PRI-629: structured context written atomically with needs_human_review. */
|
|
125
|
+
humanReviewContext?: HumanReviewContext;
|
|
126
|
+
/** PRI-629: task-scoped Owner resolution log (append-only; not a state source). */
|
|
127
|
+
ownerResolutions?: readonly OwnerResolutionRecord[];
|
|
124
128
|
}
|
|
125
129
|
/**
|
|
126
130
|
* All valid peer runner kinds. Useful for validation and iteration.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-runner-contracts.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/peer-runner-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"peer-runner-contracts.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/peer-runner-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-runner-contracts.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/peer-runner-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"peer-runner-contracts.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/peer-runner-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,64 @@ export interface RepairPayload {
|
|
|
55
55
|
readonly sourceArtificerArtifactId: string;
|
|
56
56
|
readonly sourceEvaluatorTaskId: string;
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* 人工裁决上下文 (PRI-629): 任务进入 needs_human_review 时与 status 同一次
|
|
60
|
+
* task-row mutation 原子落库的"为什么找人"事实。classification (owner_decision
|
|
61
|
+
* vs recovery) 由此派生;缺失 = legacy 任务,由 collectOwnerDecisionFacts 按
|
|
62
|
+
* durable facts 推断,模糊 → recovery (fail closed)。
|
|
63
|
+
*/
|
|
64
|
+
export interface HumanReviewContext {
|
|
65
|
+
/** 结构化原因码 (HumanReviewReasonCode;解析接受任意非空串以保持前向兼容) */
|
|
66
|
+
readonly reasonCode: string;
|
|
67
|
+
/** 产出待裁决 verdict 的 run */
|
|
68
|
+
readonly sourceRunId: string;
|
|
69
|
+
/** 该 run 的决策输出 artifact (evaluator/rollout 输出 artifact id) */
|
|
70
|
+
readonly sourceArtifactId?: string;
|
|
71
|
+
/** sourceArtifactId 内容的 sha256 hex — Owner decision 的 stale 防护输入 */
|
|
72
|
+
readonly sourceArtifactHash?: string;
|
|
73
|
+
/** 进入 needs_human_review 时的 revisionEpoch (= 当时 revisionCount) */
|
|
74
|
+
readonly revisionEpoch: number;
|
|
75
|
+
readonly createdAt: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Owner 裁决动作 (PRI-629)。accept_current/reject_current 是 verdict override
|
|
79
|
+
* (写 effectiveDecision,不改 runnerDecision);revise_once 授权一个额外
|
|
80
|
+
* revision epoch (不开自动预算,repairIteration 不变)。
|
|
81
|
+
*/
|
|
82
|
+
export type OwnerResolutionAction = 'accept_current' | 'revise_once' | 'reject_current';
|
|
83
|
+
export type OwnerResolutionStatus = 'pending' | 'applied';
|
|
84
|
+
/**
|
|
85
|
+
* task-scoped Owner authority log (PRI-629)。不是第二状态源: 它只记录 Owner
|
|
86
|
+
* 对某个人工裁决事实快照 (reviewKey) 的决定;effective decision 的唯一解析点
|
|
87
|
+
* 是 resolveEffectiveRunnerDecision (owner-review.ts)。append-only: 保留历史
|
|
88
|
+
* resolution,不覆盖;同一 reviewKey 至多一条 (CAS 写入保证)。
|
|
89
|
+
*/
|
|
90
|
+
export interface OwnerResolutionRecord {
|
|
91
|
+
readonly resolutionId: string;
|
|
92
|
+
/** 绑定裁决事实快照的稳定 hash — POST 时服务端重读 durable facts 重算比对 */
|
|
93
|
+
readonly reviewKey: string;
|
|
94
|
+
readonly action: OwnerResolutionAction;
|
|
95
|
+
readonly status: OwnerResolutionStatus;
|
|
96
|
+
/** 服务端 auth context 推导的身份 (console token / operator_legacy) */
|
|
97
|
+
readonly ownerId: string;
|
|
98
|
+
readonly credentialId?: string;
|
|
99
|
+
readonly decidedAt: string;
|
|
100
|
+
readonly appliedAt?: string;
|
|
101
|
+
readonly sourceRunId: string;
|
|
102
|
+
readonly sourceArtifactId: string;
|
|
103
|
+
readonly sourceArtifactHash: string;
|
|
104
|
+
readonly revisionEpoch: number;
|
|
105
|
+
/** 机器原始判定 — 永久保留 (INV-03 machine verdict immutability) */
|
|
106
|
+
readonly machineDecision: RunnerDecision;
|
|
107
|
+
/** 仅 verdict override 动作有;revise_once 无 (新 epoch 由新 verdict 产生) */
|
|
108
|
+
readonly effectiveDecision?: RunnerDecision;
|
|
109
|
+
/** 仅 revise_once: 被 reopen 的修订目标任务 */
|
|
110
|
+
readonly targetTaskId?: string;
|
|
111
|
+
/** 仅 revise_once: reopen 使用的 epoch-aware causeId */
|
|
112
|
+
readonly targetRevisionCauseId?: string;
|
|
113
|
+
/** 仅 revise_once: 有界、已消毒的短指导 (仅作 revision feedback) */
|
|
114
|
+
readonly ownerInstruction?: string;
|
|
115
|
+
}
|
|
58
116
|
/**
|
|
59
117
|
* PI-specific metadata stored inside TaskRecord.diagnosticJson.
|
|
60
118
|
* All fields must be present except parentTaskId and correlationId (optional).
|
|
@@ -125,6 +183,16 @@ export interface PITaskMetadata {
|
|
|
125
183
|
* epoch 不匹配的残留 intent 视为 stale,不得 resume。
|
|
126
184
|
*/
|
|
127
185
|
completionIntent?: RunnerCompletionIntent;
|
|
186
|
+
/**
|
|
187
|
+
* PRI-629: 进入 needs_human_review 的结构化上下文 (与 status 原子同写)。
|
|
188
|
+
* classification / capability / reviewKey 的权威输入;缺失 = legacy。
|
|
189
|
+
*/
|
|
190
|
+
humanReviewContext?: HumanReviewContext;
|
|
191
|
+
/**
|
|
192
|
+
* PRI-629: task-scoped Owner 裁决 log (append-only,同一 reviewKey 至多一条)。
|
|
193
|
+
* 不是状态源 — effective decision 由 resolveEffectiveRunnerDecision 唯一解析。
|
|
194
|
+
*/
|
|
195
|
+
ownerResolutions?: readonly OwnerResolutionRecord[];
|
|
128
196
|
}
|
|
129
197
|
/** evaluator / rollout_reviewer 的合法 runner 决策值 */
|
|
130
198
|
export type RunnerDecision = 'approved' | 'needs_revision' | 'rejected' | 'approve_rollout' | 'reject';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pitask-metadata.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/pitask-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAGpC,uEAAuE;AACvE,eAAO,MAAM,eAAe,EAAG,aAAsB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,kBAAkB,EAAE,WAAW,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"pitask-metadata.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/pitask-metadata.ts"],"names":[],"mappings":"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"}
|