create-principles-disciple 1.145.20 → 1.145.22
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/_release/product-identity.json +2 -2
- package/console/dist/server/index.js +11 -0
- package/console/dist/server/models/ApprovalsConsoleModel.js +10 -11
- package/console/dist/server/models/RuleCandidateBindingConsoleModel.d.ts +40 -0
- package/console/dist/server/models/RuleCandidateBindingConsoleModel.js +130 -0
- package/console/dist/server/models/artifact-principle-resolver.d.ts +2 -2
- package/console/dist/server/models/artifact-principle-resolver.js +10 -1
- package/console/dist/server/models/principle-id-resolution.d.ts +7 -12
- package/console/dist/server/models/principle-id-resolution.js +7 -94
- package/console/dist/server/routes/rule-candidate-bindings.d.ts +10 -0
- package/console/dist/server/routes/rule-candidate-bindings.js +116 -0
- package/console/dist/shared/rule-candidate-binding-contract.d.ts +30 -0
- package/console/dist/shared/rule-candidate-binding-contract.js +1 -0
- package/console/dist/ui/api.d.ts +9 -0
- package/console/dist/ui/api.js +10 -0
- package/console/dist/ui/i18n/en.json +25 -0
- package/console/dist/ui/i18n/zh-CN.json +25 -0
- package/console/dist/ui/pages/focus/FocusPage.js +2 -1
- package/console/dist/ui/pages/focus/RuleCandidateBindingPanel.d.ts +2 -0
- package/console/dist/ui/pages/focus/RuleCandidateBindingPanel.js +68 -0
- package/console/dist/ui/utils/rule-binding-validators.d.ts +8 -0
- package/console/dist/ui/utils/rule-binding-validators.js +46 -0
- package/console/dist/web/assets/app.css +6 -0
- package/console/dist/web/assets/app.js +30 -30
- package/core/dist/principle-tree-ledger.d.ts +24 -4
- package/core/dist/principle-tree-ledger.d.ts.map +1 -1
- package/core/dist/principle-tree-ledger.js +201 -24
- package/core/dist/principle-tree-ledger.js.map +1 -1
- package/core/dist/runtime-v2/activation/ledger-identity.d.ts +4 -22
- package/core/dist/runtime-v2/activation/ledger-identity.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/ledger-identity.js +54 -0
- package/core/dist/runtime-v2/activation/ledger-identity.js.map +1 -1
- package/core/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts.map +1 -1
- package/core/dist/runtime-v2/adapter/artificer-l2-adapter.js +18 -0
- package/core/dist/runtime-v2/adapter/artificer-l2-adapter.js.map +1 -1
- package/core/dist/runtime-v2/adapter/principle-tree-ledger-adapter.d.ts +11 -0
- package/core/dist/runtime-v2/adapter/principle-tree-ledger-adapter.d.ts.map +1 -1
- package/core/dist/runtime-v2/adapter/principle-tree-ledger-adapter.js +67 -1
- package/core/dist/runtime-v2/adapter/principle-tree-ledger-adapter.js.map +1 -1
- package/core/dist/runtime-v2/index.d.ts +2 -0
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js +1 -0
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-intent-preflight.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-intent-preflight.js +10 -0
- package/core/dist/runtime-v2/internalization/artificer-intent-preflight.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js +3 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts +3 -0
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.js +23 -3
- package/core/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/candidate-identity.d.ts +17 -0
- package/core/dist/runtime-v2/internalization/candidate-identity.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/candidate-identity.js +56 -0
- package/core/dist/runtime-v2/internalization/candidate-identity.js.map +1 -0
- package/core/dist/runtime-v2/internalization/evaluator-output.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-output.js +3 -0
- package/core/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts +2 -2
- package/core/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-prompt-builder.js +90 -38
- package/core/dist/runtime-v2/internalization/evaluator-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.js +158 -41
- package/core/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/peer-runner-contracts.d.ts +4 -0
- package/core/dist/runtime-v2/internalization/peer-runner-contracts.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/peer-runner-contracts.js +13 -0
- package/core/dist/runtime-v2/internalization/peer-runner-contracts.js.map +1 -1
- package/core/dist/runtime-v2/internalization/pitask-metadata.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/pitask-metadata.js +8 -0
- package/core/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
- package/core/dist/runtime-v2/internalization/rule-binding-revision.d.ts +28 -0
- package/core/dist/runtime-v2/internalization/rule-binding-revision.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/rule-binding-revision.js +92 -0
- package/core/dist/runtime-v2/internalization/rule-binding-revision.js.map +1 -0
- package/core/dist/runtime-v2/internalization/rulecode-verification-obligations.d.ts +66 -0
- package/core/dist/runtime-v2/internalization/rulecode-verification-obligations.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/rulecode-verification-obligations.js +150 -0
- package/core/dist/runtime-v2/internalization/rulecode-verification-obligations.js.map +1 -0
- package/core/dist/runtime-v2/internalization/scribe-runner.d.ts +7 -1
- package/core/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/scribe-runner.js +67 -3
- package/core/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
- package/core/dist/runtime-v2/principle-tree/ledger-codec.d.ts.map +1 -1
- package/core/dist/runtime-v2/principle-tree/ledger-codec.js +3 -6
- package/core/dist/runtime-v2/principle-tree/ledger-codec.js.map +1 -1
- package/core/dist/runtime-v2/principle-tree/rule-candidate-binding.d.ts +12 -0
- package/core/dist/runtime-v2/principle-tree/rule-candidate-binding.d.ts.map +1 -0
- package/core/dist/runtime-v2/principle-tree/rule-candidate-binding.js +129 -0
- package/core/dist/runtime-v2/principle-tree/rule-candidate-binding.js.map +1 -0
- package/core/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js +70 -6
- package/core/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection.js +15 -1
- package/core/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.d.ts +10 -0
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.d.ts.map +1 -1
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.js +55 -5
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.js.map +1 -1
- package/core/dist/runtime-v2/types/ledger-store.d.ts +3 -0
- package/core/dist/runtime-v2/types/ledger-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/ledger-store.js.map +1 -1
- package/core/dist/runtime-v2/types/rule-candidate-binding.d.ts +98 -0
- package/core/dist/runtime-v2/types/rule-candidate-binding.d.ts.map +1 -0
- package/core/dist/runtime-v2/types/rule-candidate-binding.js +2 -0
- package/core/dist/runtime-v2/types/rule-candidate-binding.js.map +1 -0
- package/core/dist/telemetry-event.d.ts +2 -2
- package/core/dist/telemetry-event.d.ts.map +1 -1
- package/core/dist/telemetry-event.js +1 -0
- package/core/dist/telemetry-event.js.map +1 -1
- package/core/package.json +1 -1
- package/host-runtime/dist/internalization-consumer-cycle.js +12 -0
- package/host-runtime/dist/internalization-consumer-governance.js +4 -0
- package/host-runtime/package.json +1 -1
- package/package.json +1 -1
- package/pd-cli/dist/commands/codex-worker.d.ts.map +1 -1
- package/pd-cli/dist/commands/codex-worker.js +6 -11
- package/pd-cli/dist/commands/codex-worker.js.map +1 -1
- package/pd-cli/dist/commands/runtime-activation.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-activation.js +4 -0
- package/pd-cli/dist/commands/runtime-activation.js.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.js +10 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.js.map +1 -1
- package/pd-cli/dist/commands/workbuddy-worker.d.ts.map +1 -1
- package/pd-cli/dist/commands/workbuddy-worker.js +6 -11
- package/pd-cli/dist/commands/workbuddy-worker.js.map +1 -1
- package/pd-cli/dist/commands/worker-drain.d.ts +7 -0
- package/pd-cli/dist/commands/worker-drain.d.ts.map +1 -0
- package/pd-cli/dist/commands/worker-drain.js +51 -0
- package/pd-cli/dist/commands/worker-drain.js.map +1 -0
- package/pd-cli/dist/services/demo-story-a-runner.d.ts.map +1 -1
- package/pd-cli/dist/services/demo-story-a-runner.js +43 -2
- package/pd-cli/dist/services/demo-story-a-runner.js.map +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts +8 -30
- package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts.map +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.js +76 -124
- package/pd-cli/dist/services/rulehost-pipeline-runner.js.map +1 -1
- package/pd-cli/package.json +1 -1
- package/plugin/dist/bundle.js +616 -612
- package/release-manager/package.json +1 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/** Private Companion IPC. Stops between cycles; never interrupts an active cycle. */
|
|
2
|
+
export function createWorkerDrain() {
|
|
3
|
+
let stopped = false;
|
|
4
|
+
let wake;
|
|
5
|
+
const stop = () => { stopped = true; wake?.(); };
|
|
6
|
+
const onMessage = (value) => {
|
|
7
|
+
if (value !== null && typeof value === 'object'
|
|
8
|
+
&& Object.hasOwn(value, 'type') && Reflect.get(value, 'type') === 'pd.worker.drain.v1')
|
|
9
|
+
stop();
|
|
10
|
+
};
|
|
11
|
+
process.on('SIGINT', stop);
|
|
12
|
+
process.on('SIGTERM', stop);
|
|
13
|
+
// Other hosts (including test runners) also use Node IPC; they do not opt
|
|
14
|
+
// into Companion's private lifecycle protocol.
|
|
15
|
+
const managedIpc = process.env.PD_COMPANION_WORKER_IPC === '1';
|
|
16
|
+
if (managedIpc && process.send !== undefined) {
|
|
17
|
+
process.on('message', onMessage);
|
|
18
|
+
const reportUnavailable = () => { console.error('[PD:Worker] drain IPC unavailable; safely restart Companion after the current cycle.'); };
|
|
19
|
+
try {
|
|
20
|
+
process.send({ type: 'pd.worker.drain-ready.v1' }, (error) => { if (error !== null)
|
|
21
|
+
reportUnavailable(); });
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
reportUnavailable();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
get stopped() { return stopped; },
|
|
29
|
+
async wait(interval) {
|
|
30
|
+
if (stopped)
|
|
31
|
+
return;
|
|
32
|
+
await new Promise((resolve) => {
|
|
33
|
+
let timer;
|
|
34
|
+
const done = () => { clearTimeout(timer); wake = undefined; resolve(); };
|
|
35
|
+
timer = setTimeout(done, interval);
|
|
36
|
+
wake = done;
|
|
37
|
+
if (stopped)
|
|
38
|
+
done();
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
dispose() {
|
|
42
|
+
process.off('SIGINT', stop);
|
|
43
|
+
process.off('SIGTERM', stop);
|
|
44
|
+
process.off('message', onMessage);
|
|
45
|
+
// An open IPC channel must not keep a drained CLI alive.
|
|
46
|
+
if (managedIpc && process.send !== undefined && process.connected)
|
|
47
|
+
process.disconnect?.();
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=worker-drain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-drain.js","sourceRoot":"","sources":["../../src/commands/worker-drain.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,UAAU,iBAAiB;IAC/B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,IAA8B,CAAC;IACnC,MAAM,IAAI,GAAG,GAAS,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,CAAC,KAAc,EAAQ,EAAE;QACzC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;eAC1C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,oBAAoB;YAAE,IAAI,EAAE,CAAC;IACnG,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5B,0EAA0E;IAC1E,+CAA+C;IAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,CAAC;IAC/D,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjC,MAAM,iBAAiB,GAAG,GAAS,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC,CAAC,CAAC,CAAC;QACjJ,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI;gBAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9G,CAAC;QAAC,MAAM,CAAC;YAAC,iBAAiB,EAAE,CAAC;QAAC,CAAC;IAClC,CAAC;IACD,OAAO;QACL,IAAI,OAAO,KAAc,OAAO,OAAO,CAAC,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,QAAgB;YACzB,IAAI,OAAO;gBAAE,OAAO;YACpB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,KAAoC,CAAC;gBACzC,MAAM,IAAI,GAAG,GAAS,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/E,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACnC,IAAI,GAAG,IAAI,CAAC;gBACZ,IAAI,OAAO;oBAAE,IAAI,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO;YACL,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAClC,yDAAyD;YACzD,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS;gBAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QAC5F,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo-story-a-runner.d.ts","sourceRoot":"","sources":["../../src/services/demo-story-a-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"demo-story-a-runner.d.ts","sourceRoot":"","sources":["../../src/services/demo-story-a-runner.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAOjB,MAAM,6BAA6B,CAAC;AAkBrC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AA0QD,wBAAsB,aAAa,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2O5F"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RuntimeStateManager, ActivationDispatcher, PromptWriter, DeferArchiveWriter, RuleHostWriter, SqliteActivationStateStore, SqliteApprovalQueueStore, ApprovalCompletionService, PrincipleTreeLedgerAdapter, STORY_A_CHANNELS, makeRunId, makePrincipleArtifactRecord, makeRuleArtifactRecord, computeDemoStatus, buildFollowUpObservation, buildDemoNarrative, validateDemoChannels, evaluateDemoGoldenTrace, } from '@principles/core/runtime-v2';
|
|
1
|
+
import { RuntimeStateManager, SqliteDiagnosticianCommitter, ActivationDispatcher, PromptWriter, DeferArchiveWriter, RuleHostWriter, SqliteActivationStateStore, SqliteApprovalQueueStore, ApprovalCompletionService, PrincipleTreeLedgerAdapter, STORY_A_CHANNELS, makeRunId, makePrincipleArtifactRecord, makeRuleArtifactRecord, computeDemoStatus, buildFollowUpObservation, buildDemoNarrative, validateDemoChannels, evaluateDemoGoldenTrace, } from '@principles/core/runtime-v2';
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
function toSnapshot(record) {
|
|
4
4
|
return {
|
|
@@ -36,8 +36,13 @@ function makeArtifactReadModel(ctx) {
|
|
|
36
36
|
*/
|
|
37
37
|
function makeLedgerIdentityDeps(ctx, getArtifactById) {
|
|
38
38
|
return {
|
|
39
|
+
getCandidateKind: (candidateId) => {
|
|
40
|
+
const row = ctx.stateManager.connection.getDb().prepare('SELECT recommendation_kind FROM principle_candidates WHERE candidate_id = ?').get(candidateId);
|
|
41
|
+
return row !== null && typeof row === 'object' && Object.hasOwn(row, 'recommendation_kind') ? Reflect.get(row, 'recommendation_kind') : undefined;
|
|
42
|
+
},
|
|
39
43
|
ledger: new PrincipleTreeLedgerAdapter({ stateDir: `${ctx.workspaceDir}/.state` }),
|
|
40
44
|
getArtifactById,
|
|
45
|
+
getTaskDiagnosticJson: async (taskId) => (await ctx.stateManager.getTask(taskId))?.diagnosticJson ?? null,
|
|
41
46
|
};
|
|
42
47
|
}
|
|
43
48
|
async function dispatchChannel(channel, artifactRecord, ctx) {
|
|
@@ -246,7 +251,26 @@ export async function runStoryADemo(opts) {
|
|
|
246
251
|
// artifacts. A synthetic `demo-principle-<runId>` string is refused at the
|
|
247
252
|
// dispatcher — exactly the defect this demo is meant to surface, not bypass.
|
|
248
253
|
const ledger = new PrincipleTreeLedgerAdapter({ stateDir: `${opts.workspaceDir}/.state` });
|
|
249
|
-
|
|
254
|
+
// Explicit demo fixture: a principle recommendation committed through the real
|
|
255
|
+
// diagnosis store. This is simulated evidence, never an Owner binding decision.
|
|
256
|
+
const diagnosisTaskId = `diagnosis-demo-${runId}`;
|
|
257
|
+
await stateManager.createTask({ taskId: diagnosisTaskId, taskKind: 'diagnostician', status: 'pending', attemptCount: 0, maxAttempts: 1,
|
|
258
|
+
diagnosticJson: JSON.stringify({ sourcePainId: `demo-pain-${runId}`, simulated: true }) });
|
|
259
|
+
await stateManager.acquireLease({ taskId: diagnosisTaskId, owner: 'demo-fixture', runtimeKind: 'test-double' });
|
|
260
|
+
const [diagnosisRun] = await stateManager.getRunsByTask(diagnosisTaskId);
|
|
261
|
+
if (!diagnosisRun)
|
|
262
|
+
throw new Error('Demo diagnosis fixture run missing');
|
|
263
|
+
await new SqliteDiagnosticianCommitter(stateManager.connection).commit({ taskId: diagnosisTaskId, runId: diagnosisRun.runId,
|
|
264
|
+
idempotencyKey: `demo-${runId}`, output: { valid: true, diagnosisId: `demo-diagnosis-${runId}`,
|
|
265
|
+
summary: 'Simulated demo diagnosis', rootCause: 'People: simulated unsafe system write', violatedPrinciples: [],
|
|
266
|
+
evidence: [{ sourceRef: `demo-fixture://${runId}`, note: 'Simulated demonstration; no real Owner evidence or binding approval' }],
|
|
267
|
+
recommendations: [{ kind: 'principle', description: 'Prevent writing to system-critical directories' }], confidence: 1,
|
|
268
|
+
} });
|
|
269
|
+
await stateManager.markTaskSucceeded(diagnosisTaskId);
|
|
270
|
+
const [demoCandidate] = await stateManager.getCandidatesByTaskId(diagnosisTaskId);
|
|
271
|
+
if (!demoCandidate)
|
|
272
|
+
throw new Error('Demo principle candidate fixture missing');
|
|
273
|
+
const demoCandidateId = demoCandidate.candidateId;
|
|
250
274
|
const principleUuid = randomUUID();
|
|
251
275
|
ledger.writeProbationEntry({
|
|
252
276
|
id: principleUuid,
|
|
@@ -263,7 +287,24 @@ export async function runStoryADemo(opts) {
|
|
|
263
287
|
});
|
|
264
288
|
// Persist artifacts to real workspace DB
|
|
265
289
|
const principleRecord = makePrincipleArtifactRecord(runId, principleUuid);
|
|
290
|
+
const dreamerTaskId = `dreamer-${demoCandidateId}-prompt`;
|
|
291
|
+
const dreamerArtifactId = `pi-art-dreamer-demo-${runId}`;
|
|
292
|
+
await stateManager.createTask({ taskId: dreamerTaskId, taskKind: 'dreamer', status: 'succeeded', attemptCount: 0, maxAttempts: 1,
|
|
293
|
+
diagnosticJson: JSON.stringify({ candidateId: demoCandidateId, simulated: true }) });
|
|
294
|
+
await stateManager.piArtifactStore.createArtifact({ artifactId: dreamerArtifactId, artifactKind: 'principle', sourceTaskId: dreamerTaskId,
|
|
295
|
+
lineageArtifactIds: [], validationStatus: 'validated', contentJson: JSON.stringify({ origin: 'demo', simulated: true }), createdAt: principleRecord.createdAt, updatedAt: principleRecord.updatedAt });
|
|
296
|
+
const identityResolution = { candidateId: demoCandidateId, basis: 'derived_candidate', principleId: principleUuid };
|
|
297
|
+
const principleContent = JSON.parse(principleRecord.contentJson);
|
|
298
|
+
if (principleContent === null || typeof principleContent !== 'object' || Array.isArray(principleContent))
|
|
299
|
+
throw new Error('Invalid demo principle fixture');
|
|
300
|
+
principleRecord.lineageArtifactIds = [dreamerArtifactId];
|
|
301
|
+
principleRecord.contentJson = JSON.stringify({ ...principleContent, sourceTrace: { dreamerArtifactId }, identityResolution });
|
|
266
302
|
const ruleRecord = makeRuleArtifactRecord(runId, principleRecord);
|
|
303
|
+
const ruleContent = JSON.parse(ruleRecord.contentJson);
|
|
304
|
+
if (ruleContent === null || typeof ruleContent !== 'object' || Array.isArray(ruleContent))
|
|
305
|
+
throw new Error('Invalid demo rule fixture');
|
|
306
|
+
ruleRecord.lineageArtifactIds.push(dreamerArtifactId);
|
|
307
|
+
ruleRecord.contentJson = JSON.stringify({ ...ruleContent, sourceTrace: { dreamerArtifactId, scribeArtifactId: principleRecord.artifactId }, identityResolution });
|
|
267
308
|
// P1-3: Seed parent task record for FK validation. Both demo artifacts share
|
|
268
309
|
// sourceTaskId = `task-demo-${runId}`; createArtifact rejects it unless the
|
|
269
310
|
// task exists in the tasks table (ERR-009/ERR-010/ERR-002).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo-story-a-runner.js","sourceRoot":"","sources":["../../src/services/demo-story-a-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"demo-story-a-runner.js","sourceRoot":"","sources":["../../src/services/demo-story-a-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -208,13 +208,9 @@ export declare function createEvaluatorRunnerDeps(inputs: CreateEvaluatorRunnerD
|
|
|
208
208
|
* Owner Decision Experience v1 Phase A (SPEC §9.1) — structured ledger
|
|
209
209
|
* identity binding outcome for the internalization chain.
|
|
210
210
|
*
|
|
211
|
-
* `
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
* ledger principle. Every other status is a publication blocker: the reason
|
|
215
|
-
* codes follow the SPEC's suggested vocabulary
|
|
216
|
-
* (candidate_unresolved / ledger_missing / ledger_ambiguous /
|
|
217
|
-
* identity_conflict / binding_write_failed).
|
|
211
|
+
* `already_bound` means the persisted Scribe stamp agrees with current
|
|
212
|
+
* candidate/Ledger authority. Historical compatibility statuses remain in the
|
|
213
|
+
* result contract, but this checker never writes a binding or old artifact.
|
|
218
214
|
*/
|
|
219
215
|
export type ScribeIdentityBinding = {
|
|
220
216
|
status: 'bound';
|
|
@@ -226,6 +222,10 @@ export type ScribeIdentityBinding = {
|
|
|
226
222
|
status: 'no_principle_artifact';
|
|
227
223
|
} | {
|
|
228
224
|
status: 'candidate_unresolved';
|
|
225
|
+
} | {
|
|
226
|
+
status: 'identity_unresolved';
|
|
227
|
+
reason: string;
|
|
228
|
+
nextAction: string;
|
|
229
229
|
} | {
|
|
230
230
|
status: 'ledger_missing';
|
|
231
231
|
candidateId: string;
|
|
@@ -264,29 +264,7 @@ interface BackfillIdentityParams {
|
|
|
264
264
|
readonly workspaceDir: string;
|
|
265
265
|
readonly now: string;
|
|
266
266
|
}
|
|
267
|
-
/**
|
|
268
|
-
* EP002-R4 follow-up #2 + Phase A: backfill the scribe principle artifact's
|
|
269
|
-
* source_principle_id with the LEDGER principle UUID (shared by the rule and
|
|
270
|
-
* text paths — runs right after the scribe stage succeeds). Every downstream
|
|
271
|
-
* identity resolution reads this column FIRST (the activation boundary's
|
|
272
|
-
* `resolveActivationPrincipleId`, and since PRI-911A the evaluator's rule
|
|
273
|
-
* stamp, which accepts ONLY this column's canonical UUID), so this single write
|
|
274
|
-
* is what binds approvals, Console grouping, ledger upgrades, and rule
|
|
275
|
-
* artifacts to the ledger UUID instead of the title namespace.
|
|
276
|
-
*
|
|
277
|
-
* Phase A contract changes vs the note-only version:
|
|
278
|
-
* - the outcome is structured (ScribeIdentityBinding), not a free string;
|
|
279
|
-
* - an existing binding that DISAGREES with the resolved ledger target is an
|
|
280
|
-
* identity_conflict — never overwritten;
|
|
281
|
-
* - a successful write is verified by reading the artifact back from the
|
|
282
|
-
* PI store (log success alone is not binding evidence — SPEC §9.1);
|
|
283
|
-
* - a pre-existing binding is only trusted when its target exists in the
|
|
284
|
-
* ledger read (listForCandidate is not applicable — we check presence by
|
|
285
|
-
* resolving through the same ledger load).
|
|
286
|
-
*
|
|
287
|
-
* Still never throws — identity enrichment must not break the generation
|
|
288
|
-
* chain; it only gates the later governance publication.
|
|
289
|
-
*/
|
|
267
|
+
/** Historical name retained for callers; this is strictly a read-only publication check. */
|
|
290
268
|
export declare function backfillScribeIdentity(params: BackfillIdentityParams): Promise<ScribeIdentityBinding>;
|
|
291
269
|
export {};
|
|
292
270
|
//# sourceMappingURL=rulehost-pipeline-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rulehost-pipeline-runner.d.ts","sourceRoot":"","sources":["../../src/services/rulehost-pipeline-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EACL,mBAAmB,EACnB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"rulehost-pipeline-runner.d.ts","sourceRoot":"","sources":["../../src/services/rulehost-pipeline-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,8 +32,8 @@ computeFeatureFlagsFromConfig, isFeatureEnabled,
|
|
|
32
32
|
// PRI-714: resolve outputLanguage from the same effective config the
|
|
33
33
|
// runners already receive (EP-07: canonical resolved value, not raw input).
|
|
34
34
|
resolveOutputLanguage, buildArtificerHostSemanticContext,
|
|
35
|
-
//
|
|
36
|
-
PrincipleTreeLedgerAdapter,
|
|
35
|
+
// Ledger identity lookup for the read-only publication check.
|
|
36
|
+
PrincipleTreeLedgerAdapter, resolveLedgerActivationId,
|
|
37
37
|
// PRI-983 (FR-07): the CLI gate refusal derives from the ONE shared
|
|
38
38
|
// Evidence Readiness judgment (same authority as the consumer preflight).
|
|
39
39
|
assessEvidenceReadiness, } from '@principles/core/runtime-v2';
|
|
@@ -177,6 +177,10 @@ export async function runRuleHostPipeline(opts) {
|
|
|
177
177
|
// structured binding outcome (a stamped artifact resolves to
|
|
178
178
|
// already_bound there).
|
|
179
179
|
ledgerIdentity: {
|
|
180
|
+
resolveForCandidate: async (candidateId) => {
|
|
181
|
+
const candidate = await stateManager.getCandidate(candidateId);
|
|
182
|
+
return new PrincipleTreeLedgerAdapter({ stateDir: `${opts.workspaceDir}/.state` }).resolveCandidatePrincipleIdentity(candidateId, candidate?.rawRecommendationKind);
|
|
183
|
+
},
|
|
180
184
|
// PRI-915: availability first — an unreadable ledger must not read
|
|
181
185
|
// as an unresolved chain.
|
|
182
186
|
isAvailable: () => new PrincipleTreeLedgerAdapter({ stateDir: path.join(opts.workspaceDir, '.state') }).isAvailable(),
|
|
@@ -190,20 +194,8 @@ export async function runRuleHostPipeline(opts) {
|
|
|
190
194
|
return rejectedResult(opts.painId, stages, `scribe_failed: ${scribeResult.failureReason ?? scribeResult.status}`);
|
|
191
195
|
}
|
|
192
196
|
onProgress('scribe', 'succeeded');
|
|
193
|
-
//
|
|
194
|
-
//
|
|
195
|
-
// text). Downstream identity resolution (extractPrincipleId's column-first
|
|
196
|
-
// order) then binds the rule artifact, the approval grouping, and the
|
|
197
|
-
// post-approve ledger upgrade to the ledger UUID instead of falling back
|
|
198
|
-
// to principleDraft.title — the title namespace is what left rule-channel
|
|
199
|
-
// approvals stranded as title-keyed groups the Console detail page cannot
|
|
200
|
-
// reach.
|
|
201
|
-
//
|
|
202
|
-
// Phase A (SPEC §9.1): the binding outcome is STRUCTURED. An unverified
|
|
203
|
-
// binding no longer silently continues into Owner approval publication —
|
|
204
|
-
// the enqueue sites below refuse to create an approval subject for an
|
|
205
|
-
// artifact whose stable ledger identity is not established, while the
|
|
206
|
-
// generation chain and its artifacts are preserved for later replay.
|
|
197
|
+
// Scribe owns the system stamp. This shared check only reads persisted
|
|
198
|
+
// identity; historical null artifacts require a new controlled revision.
|
|
207
199
|
const identityBinding = await backfillScribeIdentity({
|
|
208
200
|
stateManager, artifactStore, scribeTaskId, dreamerTaskId: dreamerSeedTaskId,
|
|
209
201
|
workspaceDir: opts.workspaceDir, now: new Date().toISOString(),
|
|
@@ -233,7 +225,7 @@ export async function runRuleHostPipeline(opts) {
|
|
|
233
225
|
return await textPrincipleOnlyResult({
|
|
234
226
|
painId: opts.painId, stages, scribeTaskId, disabledReason: capabilityDisabledReason,
|
|
235
227
|
artifactStore, approvalStore, now: new Date().toISOString(),
|
|
236
|
-
identityBinding,
|
|
228
|
+
identityBinding, stateManager, workspaceDir: opts.workspaceDir,
|
|
237
229
|
ownerRequirementGaps: scribeOwnerRequirementGaps,
|
|
238
230
|
});
|
|
239
231
|
}
|
|
@@ -290,6 +282,10 @@ export async function runRuleHostPipeline(opts) {
|
|
|
290
282
|
const hostSemanticContext = buildArtificerHostSemanticContext(evaluatorContext.registry, evaluatorContext.hostKinds ?? []);
|
|
291
283
|
const artificerRunner = new ArtificerRunner({
|
|
292
284
|
stateManager, runtimeAdapter: capability.artificerAdapter, eventEmitter, validator: new DefaultArtificerValidator(), artifactStore,
|
|
285
|
+
ledgerIdentity: { resolveForCandidate: async (candidateId) => {
|
|
286
|
+
const candidate = await stateManager.getCandidate(candidateId);
|
|
287
|
+
return new PrincipleTreeLedgerAdapter({ stateDir: `${opts.workspaceDir}/.state` }).resolveCandidatePrincipleIdentity(candidateId, candidate?.rawRecommendationKind);
|
|
288
|
+
} },
|
|
293
289
|
behaviorExamplePack: opts.behaviorExamplePack,
|
|
294
290
|
}, {
|
|
295
291
|
...runnerOptsFor(capability.artificerAdapter),
|
|
@@ -352,7 +348,7 @@ export async function runRuleHostPipeline(opts) {
|
|
|
352
348
|
// idempotently and then publishes.
|
|
353
349
|
let approvalId = null;
|
|
354
350
|
if (pipelineDecision === 'candidate_ready_for_owner_review' && loopResult.ruleArtifactId) {
|
|
355
|
-
const ruleIdentity = await resolveRuleArtifactIdentity(
|
|
351
|
+
const ruleIdentity = await resolveRuleArtifactIdentity(loopResult.ruleArtifactId, identityBinding, { artifactStore, stateManager, workspaceDir: opts.workspaceDir });
|
|
356
352
|
if (ruleIdentity === null) {
|
|
357
353
|
const reasonCode = scribeIdentityReasonCode(identityBinding);
|
|
358
354
|
return {
|
|
@@ -530,6 +526,10 @@ export function createEvaluatorRunnerDeps(inputs) {
|
|
|
530
526
|
validator,
|
|
531
527
|
artifactStore,
|
|
532
528
|
ledgerIdentity: {
|
|
529
|
+
resolveForCandidate: async (candidateId) => {
|
|
530
|
+
const candidate = await stateManager.getCandidate(candidateId);
|
|
531
|
+
return new PrincipleTreeLedgerAdapter({ stateDir: `${workspaceDir}/.state` }).resolveCandidatePrincipleIdentity(candidateId, candidate?.rawRecommendationKind);
|
|
532
|
+
},
|
|
533
533
|
// PRI-915: availability is consulted before membership so an unreadable
|
|
534
534
|
// ledger surfaces as identity_source_unavailable, not invalid_identity.
|
|
535
535
|
isAvailable: () => new PrincipleTreeLedgerAdapter({ stateDir: path.join(workspaceDir, '.state') }).isAvailable(),
|
|
@@ -668,6 +668,8 @@ export function scribeIdentityReasonCode(binding) {
|
|
|
668
668
|
return 'no_principle_artifact';
|
|
669
669
|
case 'candidate_unresolved':
|
|
670
670
|
return 'candidate_unresolved';
|
|
671
|
+
case 'identity_unresolved':
|
|
672
|
+
return binding.reason;
|
|
671
673
|
case 'ledger_missing':
|
|
672
674
|
return 'ledger_missing';
|
|
673
675
|
case 'ledger_ambiguous':
|
|
@@ -690,6 +692,8 @@ export function scribeIdentityNote(binding) {
|
|
|
690
692
|
return '';
|
|
691
693
|
case 'no_principle_artifact':
|
|
692
694
|
return '; source_principle_id_backfill_skipped: no principle artifact from scribe';
|
|
695
|
+
case 'identity_unresolved':
|
|
696
|
+
return `; identity_unresolved: ${binding.reason}; ${binding.nextAction}`;
|
|
693
697
|
case 'candidate_unresolved':
|
|
694
698
|
return '; source_principle_id_backfill_skipped: no candidateId on the dreamer seed (candidate_unresolved)';
|
|
695
699
|
case 'ledger_missing':
|
|
@@ -706,18 +710,7 @@ export function scribeIdentityNote(binding) {
|
|
|
706
710
|
return `; source_principle_id_backfill_unverified: read-back mismatch for ${binding.expectedPrincipleId}: ${binding.errorMessage}`;
|
|
707
711
|
}
|
|
708
712
|
}
|
|
709
|
-
/**
|
|
710
|
-
* PRI-804(a) + Phase A: resolve the UNIQUE ledger principle for the chain.
|
|
711
|
-
*
|
|
712
|
-
* The ledger principle is the identity the Console groups approvals by and the
|
|
713
|
-
* one `upgradeLedgerPrinciple` activates after approval. The only durable link
|
|
714
|
-
* from the internalization chain to the ledger is the candidateId carried in
|
|
715
|
-
* the dreamer task's diagnosticJson (set by the intake bridge) — the ledger
|
|
716
|
-
* entry stores it in derivedFromPainIds. Phase A hardens the lookup:
|
|
717
|
-
* `listForCandidate` (plural, same adapter the intake bridge uses — one
|
|
718
|
-
* authority, no second truth) rejects zero and multi matches instead of
|
|
719
|
-
* silently taking the first hit.
|
|
720
|
-
*/
|
|
713
|
+
/** Read persisted candidate kind, then delegate all derived/reuse/binding authority to the Ledger. */
|
|
721
714
|
async function resolveLedgerIdentity(stateManager, dreamerTaskId, workspaceDir) {
|
|
722
715
|
let candidateId;
|
|
723
716
|
try {
|
|
@@ -737,105 +730,45 @@ async function resolveLedgerIdentity(stateManager, dreamerTaskId, workspaceDir)
|
|
|
737
730
|
}
|
|
738
731
|
if (!candidateId)
|
|
739
732
|
return { status: 'candidate_unresolved' };
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
// Ledger unreadable cannot be distinguished from "no ledger" here — the
|
|
747
|
-
// write attempt below will surface the concrete error; treat as missing
|
|
748
|
-
// with the skip note (same observable class as before Phase A).
|
|
749
|
-
return { status: 'ledger_missing', candidateId };
|
|
750
|
-
}
|
|
751
|
-
if (matches.length === 0)
|
|
752
|
-
return { status: 'ledger_missing', candidateId };
|
|
753
|
-
if (matches.length > 1) {
|
|
754
|
-
return { status: 'ledger_ambiguous', candidateId, principleIds: matches.map((m) => m.id) };
|
|
755
|
-
}
|
|
756
|
-
const [unique] = matches;
|
|
757
|
-
if (unique === undefined)
|
|
758
|
-
return { status: 'ledger_missing', candidateId };
|
|
759
|
-
return { status: 'resolved', principleId: unique.id };
|
|
733
|
+
const candidate = await stateManager.getCandidate(candidateId);
|
|
734
|
+
const ledger = new PrincipleTreeLedgerAdapter({ stateDir: path.join(workspaceDir, '.state') });
|
|
735
|
+
const resolution = ledger.resolveCandidatePrincipleIdentity(candidateId, candidate?.rawRecommendationKind);
|
|
736
|
+
return resolution.status === 'resolved'
|
|
737
|
+
? { status: 'resolved', principleId: resolution.principleId }
|
|
738
|
+
: { status: 'identity_unresolved', reason: resolution.reason, nextAction: resolution.nextAction };
|
|
760
739
|
}
|
|
761
|
-
/**
|
|
762
|
-
* EP002-R4 follow-up #2 + Phase A: backfill the scribe principle artifact's
|
|
763
|
-
* source_principle_id with the LEDGER principle UUID (shared by the rule and
|
|
764
|
-
* text paths — runs right after the scribe stage succeeds). Every downstream
|
|
765
|
-
* identity resolution reads this column FIRST (the activation boundary's
|
|
766
|
-
* `resolveActivationPrincipleId`, and since PRI-911A the evaluator's rule
|
|
767
|
-
* stamp, which accepts ONLY this column's canonical UUID), so this single write
|
|
768
|
-
* is what binds approvals, Console grouping, ledger upgrades, and rule
|
|
769
|
-
* artifacts to the ledger UUID instead of the title namespace.
|
|
770
|
-
*
|
|
771
|
-
* Phase A contract changes vs the note-only version:
|
|
772
|
-
* - the outcome is structured (ScribeIdentityBinding), not a free string;
|
|
773
|
-
* - an existing binding that DISAGREES with the resolved ledger target is an
|
|
774
|
-
* identity_conflict — never overwritten;
|
|
775
|
-
* - a successful write is verified by reading the artifact back from the
|
|
776
|
-
* PI store (log success alone is not binding evidence — SPEC §9.1);
|
|
777
|
-
* - a pre-existing binding is only trusted when its target exists in the
|
|
778
|
-
* ledger read (listForCandidate is not applicable — we check presence by
|
|
779
|
-
* resolving through the same ledger load).
|
|
780
|
-
*
|
|
781
|
-
* Still never throws — identity enrichment must not break the generation
|
|
782
|
-
* chain; it only gates the later governance publication.
|
|
783
|
-
*/
|
|
740
|
+
/** Historical name retained for callers; this is strictly a read-only publication check. */
|
|
784
741
|
export async function backfillScribeIdentity(params) {
|
|
785
|
-
const { stateManager, artifactStore, scribeTaskId, dreamerTaskId, workspaceDir
|
|
742
|
+
const { stateManager, artifactStore, scribeTaskId, dreamerTaskId, workspaceDir } = params;
|
|
786
743
|
try {
|
|
787
744
|
const arts = await artifactStore.listBySourceTaskId(scribeTaskId);
|
|
788
|
-
const principleArt = arts.find((
|
|
745
|
+
const principleArt = arts.find((artifact) => artifact.artifactKind === 'principle');
|
|
789
746
|
if (!principleArt)
|
|
790
747
|
return { status: 'no_principle_artifact' };
|
|
791
748
|
const resolution = await resolveLedgerIdentity(stateManager, dreamerTaskId, workspaceDir);
|
|
792
|
-
if (principleArt.sourcePrincipleId) {
|
|
793
|
-
// Already bound (rerun). Idempotent success only when the binding is
|
|
794
|
-
// consistent with what the chain resolves to now.
|
|
795
|
-
if (resolution.status === 'resolved') {
|
|
796
|
-
if (resolution.principleId === principleArt.sourcePrincipleId) {
|
|
797
|
-
return { status: 'already_bound', principleId: principleArt.sourcePrincipleId };
|
|
798
|
-
}
|
|
799
|
-
return {
|
|
800
|
-
status: 'identity_conflict',
|
|
801
|
-
existingPrincipleId: principleArt.sourcePrincipleId,
|
|
802
|
-
resolvedPrincipleId: resolution.principleId,
|
|
803
|
-
};
|
|
804
|
-
}
|
|
805
|
-
if (resolution.status === 'ledger_ambiguous')
|
|
806
|
-
return resolution;
|
|
807
|
-
// Chain candidate unresolved/missing on this replay — the durable
|
|
808
|
-
// binding still stands only if its target is a real ledger principle.
|
|
809
|
-
const ledger = new PrincipleTreeLedgerAdapter({ stateDir: path.join(workspaceDir, '.state') });
|
|
810
|
-
if (ledger.hasPrinciple(principleArt.sourcePrincipleId)) {
|
|
811
|
-
return { status: 'already_bound', principleId: principleArt.sourcePrincipleId };
|
|
812
|
-
}
|
|
813
|
-
return { status: 'bound_target_missing', principleId: principleArt.sourcePrincipleId };
|
|
814
|
-
}
|
|
815
749
|
if (resolution.status !== 'resolved')
|
|
816
750
|
return resolution;
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
return { status: '
|
|
751
|
+
if (!principleArt.sourcePrincipleId)
|
|
752
|
+
return {
|
|
753
|
+
status: 'identity_unresolved', reason: 'identity_receipt_missing',
|
|
754
|
+
nextAction: 'Create a new controlled Scribe revision; historical artifacts are immutable.',
|
|
755
|
+
};
|
|
756
|
+
if (principleArt.sourcePrincipleId !== resolution.principleId)
|
|
757
|
+
return {
|
|
758
|
+
status: 'identity_conflict', existingPrincipleId: principleArt.sourcePrincipleId, resolvedPrincipleId: resolution.principleId,
|
|
759
|
+
};
|
|
760
|
+
const current = await resolveLedgerActivationId(principleArt, {
|
|
761
|
+
ledger: new PrincipleTreeLedgerAdapter({ stateDir: path.join(workspaceDir, '.state') }),
|
|
762
|
+
getCandidateKind: async (id) => (await stateManager.getCandidate(id))?.rawRecommendationKind,
|
|
763
|
+
getArtifactById: id => artifactStore.getArtifactById(id),
|
|
764
|
+
getTaskDiagnosticJson: async (id) => (await stateManager.getTask(id))?.diagnosticJson ?? null,
|
|
765
|
+
});
|
|
766
|
+
if (current.status !== 'resolved')
|
|
767
|
+
return { status: 'identity_unresolved', reason: current.reason, nextAction: 'Create a controlled Scribe revision with current Ledger identity.' };
|
|
768
|
+
return { status: 'already_bound', principleId: current.principleId };
|
|
835
769
|
}
|
|
836
|
-
catch (
|
|
837
|
-
|
|
838
|
-
return { status: 'binding_write_failed', errorMessage: msg };
|
|
770
|
+
catch (error) {
|
|
771
|
+
return { status: 'binding_write_failed', errorMessage: error instanceof Error ? error.message : String(error) };
|
|
839
772
|
}
|
|
840
773
|
}
|
|
841
774
|
/**
|
|
@@ -846,13 +779,24 @@ export async function backfillScribeIdentity(params) {
|
|
|
846
779
|
* title-namespace value the evaluator would have echoed). Returns the
|
|
847
780
|
* verified principle id, or null when publication must be refused.
|
|
848
781
|
*/
|
|
849
|
-
async function resolveRuleArtifactIdentity(
|
|
782
|
+
async function resolveRuleArtifactIdentity(ruleArtifactId, identityBinding, context) {
|
|
783
|
+
const { artifactStore, stateManager, workspaceDir } = context;
|
|
850
784
|
if (!isIdentityBindingVerified(identityBinding))
|
|
851
785
|
return null;
|
|
852
786
|
let artifactSourcePrincipleId;
|
|
853
787
|
try {
|
|
854
788
|
const ruleArt = await artifactStore.getArtifactById(ruleArtifactId);
|
|
855
|
-
|
|
789
|
+
if (!ruleArt)
|
|
790
|
+
return null;
|
|
791
|
+
const current = await resolveLedgerActivationId(ruleArt, {
|
|
792
|
+
ledger: new PrincipleTreeLedgerAdapter({ stateDir: path.join(workspaceDir, '.state') }),
|
|
793
|
+
getCandidateKind: async (id) => (await stateManager.getCandidate(id))?.rawRecommendationKind,
|
|
794
|
+
getArtifactById: id => artifactStore.getArtifactById(id),
|
|
795
|
+
getTaskDiagnosticJson: async (id) => (await stateManager.getTask(id))?.diagnosticJson ?? null,
|
|
796
|
+
});
|
|
797
|
+
if (current.status !== 'resolved')
|
|
798
|
+
return null;
|
|
799
|
+
artifactSourcePrincipleId = current.principleId;
|
|
856
800
|
}
|
|
857
801
|
catch {
|
|
858
802
|
return null;
|
|
@@ -862,13 +806,13 @@ async function resolveRuleArtifactIdentity(artifactStore, ruleArtifactId, identi
|
|
|
862
806
|
return artifactSourcePrincipleId;
|
|
863
807
|
}
|
|
864
808
|
async function textPrincipleOnlyResult(params) {
|
|
865
|
-
const { painId, stages, scribeTaskId, disabledReason, artifactStore, approvalStore, now, identityBinding, ownerRequirementGaps } = params;
|
|
809
|
+
const { painId, stages, scribeTaskId, disabledReason, artifactStore, approvalStore, now, stateManager, workspaceDir, identityBinding, ownerRequirementGaps } = params;
|
|
866
810
|
// Look up the principle artifact produced by the scribe stage.
|
|
867
811
|
try {
|
|
868
812
|
const arts = await artifactStore.listBySourceTaskId(scribeTaskId);
|
|
869
813
|
const principleArt = arts.find((a) => a.artifactKind === 'principle');
|
|
870
|
-
//
|
|
871
|
-
//
|
|
814
|
+
// The shared post-Scribe step checked the existing system stamp; no old
|
|
815
|
+
// artifact identity is rewritten on either publication path.
|
|
872
816
|
// On the text path the evaluator never runs, so nothing else flips the
|
|
873
817
|
// validation status — mark it validated here (same store API the
|
|
874
818
|
// evaluator uses; scribe task success already implies its validator
|
|
@@ -908,6 +852,14 @@ async function textPrincipleOnlyResult(params) {
|
|
|
908
852
|
}
|
|
909
853
|
else {
|
|
910
854
|
try {
|
|
855
|
+
const current = await resolveLedgerActivationId(principleArt, {
|
|
856
|
+
ledger: new PrincipleTreeLedgerAdapter({ stateDir: path.join(workspaceDir, '.state') }),
|
|
857
|
+
getCandidateKind: async (id) => (await stateManager.getCandidate(id))?.rawRecommendationKind,
|
|
858
|
+
getArtifactById: id => artifactStore.getArtifactById(id),
|
|
859
|
+
getTaskDiagnosticJson: async (id) => (await stateManager.getTask(id))?.diagnosticJson ?? null,
|
|
860
|
+
});
|
|
861
|
+
if (current.status !== 'resolved')
|
|
862
|
+
throw new Error(`identity_binding_unverified:${current.reason}`);
|
|
911
863
|
const record = await approvalStore.enqueue({
|
|
912
864
|
artifactId: principleArt.artifactId,
|
|
913
865
|
channel: 'prompt',
|