@principles/core 1.84.0 → 1.86.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.
Files changed (36) hide show
  1. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js +52 -0
  2. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
  3. package/dist/runtime-v2/__tests__/telemetry-event.test.d.ts +2 -0
  4. package/dist/runtime-v2/__tests__/telemetry-event.test.d.ts.map +1 -0
  5. package/dist/runtime-v2/__tests__/telemetry-event.test.js +56 -0
  6. package/dist/runtime-v2/__tests__/telemetry-event.test.js.map +1 -0
  7. package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.d.ts +2 -0
  8. package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.d.ts.map +1 -0
  9. package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.js +398 -0
  10. package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.js.map +1 -0
  11. package/dist/runtime-v2/internalization/artificer-output.d.ts +3 -2
  12. package/dist/runtime-v2/internalization/artificer-output.d.ts.map +1 -1
  13. package/dist/runtime-v2/internalization/artificer-output.js +40 -31
  14. package/dist/runtime-v2/internalization/artificer-output.js.map +1 -1
  15. package/dist/runtime-v2/internalization/artificer-runner.d.ts +59 -38
  16. package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  17. package/dist/runtime-v2/internalization/artificer-runner.js +121 -395
  18. package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  19. package/dist/runtime-v2/internalization/philosopher-output.d.ts +8 -2
  20. package/dist/runtime-v2/internalization/philosopher-output.d.ts.map +1 -1
  21. package/dist/runtime-v2/internalization/philosopher-output.js +16 -11
  22. package/dist/runtime-v2/internalization/philosopher-output.js.map +1 -1
  23. package/dist/runtime-v2/internalization/philosopher-runner.d.ts +36 -55
  24. package/dist/runtime-v2/internalization/philosopher-runner.d.ts.map +1 -1
  25. package/dist/runtime-v2/internalization/philosopher-runner.js +117 -401
  26. package/dist/runtime-v2/internalization/philosopher-runner.js.map +1 -1
  27. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js +22 -0
  28. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js.map +1 -1
  29. package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
  30. package/dist/runtime-v2/runner/base-peer-runner.js +5 -1
  31. package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
  32. package/dist/telemetry-event.d.ts +2 -2
  33. package/dist/telemetry-event.d.ts.map +1 -1
  34. package/dist/telemetry-event.js +88 -0
  35. package/dist/telemetry-event.js.map +1 -1
  36. package/package.json +1 -1
@@ -1,10 +1,49 @@
1
- import type { RuntimeStateManager } from '../store/runtime-state-manager.js';
2
- import type { PDRuntimeAdapter } from '../runtime-protocol.js';
3
- import type { StoreEventEmitter } from '../store/event-emitter.js';
1
+ /**
2
+ * ArtificerRunner Implementation plan generator for the Internalization Engine (PRI-111).
3
+ *
4
+ * Migrated to extend BasePeerRunner (PRI-302). The shared lease → buildContext →
5
+ * invoke → poll → fetch → validate → succeed/fail pipeline is now in the base
6
+ * class. This file only contains Artificer-specific logic.
7
+ *
8
+ * Key constraints (ADR-0003):
9
+ * - Uses PDRuntimeAdapter for all LLM execution (no direct SDK calls)
10
+ * - Does NOT directly invoke Evaluator/RolloutReviewer (host layer enqueues)
11
+ * - No plugin-layer imports (core is infrastructure-agnostic)
12
+ * - Uses RuntimeStateManager for all state operations
13
+ *
14
+ * Trust boundary (Artificer is activation-capable, higher risk than upstream runners):
15
+ * - LLM output enters as `unknown`; only after validateOutput + lineage check
16
+ * can it be treated as ArtificerOutputV1
17
+ * - sourceScribeArtifactId lineage consistency enforced in succeedTask (ERR-004)
18
+ * - Invalid activation/action/channel cannot succeed commit
19
+ * - Artifact write failure → retryOrFail, never silent
20
+ *
21
+ * Pipeline:
22
+ * 1. acquireLease — isolated try/catch, lease_conflict is non-mutating
23
+ * 2. resolve Scribe dependency from dependencyTaskIds
24
+ * 3. fetch Scribe artifact via PIArtifactStore
25
+ * 4. startRun with outputSchemaRef: 'artificer-output-v1'
26
+ * 5. pollUntilTerminal (inherited)
27
+ * 6. fetchOutput → validate as unknown → cast to ArtificerOutputV1
28
+ * 7. checkLineageIntegrity (sourceScribeArtifactId consistency, ERR-008)
29
+ * 8. updateRunOutput → persist serialized output
30
+ * 9. write PIArtifact → markTaskSucceeded with artificer:// resultRef
31
+ *
32
+ * @see docs/adr/0003-peer-agent-state-machine-orchestration.md
33
+ * @see BasePeerRunner in runner/base-peer-runner.ts
34
+ */
35
+ import type { RunHandle } from '../runtime-protocol.js';
4
36
  import type { ArtificerOutputV1, ArtificerValidator } from './artificer-output.js';
5
- import type { PIArtifactStore } from './pi-artifact.js';
37
+ import type { TaskRecord } from '../task-status.js';
6
38
  import { type PDErrorCategory } from '../error-categories.js';
7
- import { RunnerPhase } from '../runner/runner-phase.js';
39
+ import { BasePeerRunner } from '../runner/base-peer-runner.js';
40
+ import type { PeerRunnerOptions, PeerRunnerDeps, PeerRunnerResult, PeerRunnerValidationResult } from '../runner/peer-runner-types.js';
41
+ /** Context built by ArtificerRunner.buildContext() and consumed by invokeRuntime(). */
42
+ interface ArtificerContext {
43
+ readonly contextHash: string;
44
+ readonly scribeArtifact: string | null;
45
+ readonly sourceScribeArtifactId: string | null;
46
+ }
8
47
  export type ArtificerRunnerResultStatus = 'succeeded' | 'failed' | 'retried';
9
48
  export interface ArtificerRunnerResult {
10
49
  readonly status: ArtificerRunnerResultStatus;
@@ -36,42 +75,24 @@ export interface ResolvedArtificerRunnerOptions {
36
75
  }
37
76
  declare const DEFAULT_ARTIFICER_RUNNER_OPTIONS: Readonly<Omit<ResolvedArtificerRunnerOptions, 'owner' | 'runtimeKind'>>;
38
77
  export declare function resolveArtificerRunnerOptions(options: ArtificerRunnerOptions): ResolvedArtificerRunnerOptions;
39
- export interface ArtificerRunnerDeps {
40
- readonly stateManager: RuntimeStateManager;
41
- readonly runtimeAdapter: PDRuntimeAdapter;
42
- readonly eventEmitter: StoreEventEmitter;
78
+ export interface ArtificerRunnerDeps extends PeerRunnerDeps {
43
79
  readonly validator: ArtificerValidator;
44
- readonly artifactStore: PIArtifactStore;
45
80
  }
46
- export declare class ArtificerRunner {
47
- private phase;
48
- private readonly resolvedOptions;
49
- private readonly stateManager;
50
- private readonly runtimeAdapter;
51
- private readonly eventEmitter;
81
+ export declare class ArtificerRunner extends BasePeerRunner<ArtificerContext, ArtificerOutputV1> {
52
82
  private readonly validator;
53
- private readonly artifactStore;
54
- constructor(deps: ArtificerRunnerDeps, options: ArtificerRunnerOptions);
55
- get currentPhase(): RunnerPhase;
56
- private emitArtificerEvent;
57
- run(taskId: string): Promise<ArtificerRunnerResult>;
58
- private buildContext;
59
- private static hashContextRefs;
60
- private resolveStoreRunId;
61
- private invokeRuntime;
62
- private pollUntilTerminal;
63
- private fetchAndParseOutput;
64
- private succeedTask;
65
- private handleRuntimeFailure;
66
- private handleValidationError;
67
- private handleLeaseOrPhaseError;
68
- private handlePostLeaseError;
69
- private retryOrFail;
70
- private readonly PERMANENT_ERROR_CATEGORIES;
71
- private isPermanentError;
72
- private classifyError;
73
- private mapRunStatusToErrorCategory;
74
- private sleep;
83
+ constructor(deps: ArtificerRunnerDeps, options: PeerRunnerOptions);
84
+ get permanentErrorCategories(): ReadonlySet<PDErrorCategory>;
85
+ buildContext(taskId: string): Promise<ArtificerContext>;
86
+ invokeRuntime(taskId: string, context: ArtificerContext): Promise<RunHandle>;
87
+ validateOutput(output: unknown, taskId: string, context: ArtificerContext): Promise<PeerRunnerValidationResult>;
88
+ succeedTask(taskId: string, runId: string, output: ArtificerOutputV1, task: TaskRecord, contextHash: string, context: ArtificerContext): Promise<PeerRunnerResult<ArtificerOutputV1>>;
89
+ /**
90
+ * Re-inject taskId if stripped by stripLineageFields (PRI-272 / ERR-008).
91
+ * Only fill when absent via Object.hasOwn — present-but-falsy values
92
+ * must reach validation and fail loud (Runtime Contract Rule 3).
93
+ */
94
+ protected postFetchTransform(taskId: string, untrustedOutput: unknown): void;
95
+ protected emitSuccessTelemetry(taskId: string, output: ArtificerOutputV1): void;
75
96
  }
76
97
  export { DEFAULT_ARTIFICER_RUNNER_OPTIONS };
77
98
  //# sourceMappingURL=artificer-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artificer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artificer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-runner.ts"],"names":[],"mappings":"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"}