instar 1.3.830 → 1.3.832

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 (114) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +83 -12
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/AutonomousRealCheckAnnotator.d.ts +105 -0
  5. package/dist/core/AutonomousRealCheckAnnotator.d.ts.map +1 -0
  6. package/dist/core/AutonomousRealCheckAnnotator.js +122 -0
  7. package/dist/core/AutonomousRealCheckAnnotator.js.map +1 -0
  8. package/dist/core/AutonomousRunStore.d.ts +29 -0
  9. package/dist/core/AutonomousRunStore.d.ts.map +1 -1
  10. package/dist/core/AutonomousRunStore.js +38 -0
  11. package/dist/core/AutonomousRunStore.js.map +1 -1
  12. package/dist/core/BackupManager.d.ts.map +1 -1
  13. package/dist/core/BackupManager.js +47 -1
  14. package/dist/core/BackupManager.js.map +1 -1
  15. package/dist/core/CircuitBreakingIntelligenceProvider.d.ts +12 -0
  16. package/dist/core/CircuitBreakingIntelligenceProvider.d.ts.map +1 -1
  17. package/dist/core/CircuitBreakingIntelligenceProvider.js +56 -4
  18. package/dist/core/CircuitBreakingIntelligenceProvider.js.map +1 -1
  19. package/dist/core/CompletionEvaluator.d.ts +62 -2
  20. package/dist/core/CompletionEvaluator.d.ts.map +1 -1
  21. package/dist/core/CompletionEvaluator.js +124 -6
  22. package/dist/core/CompletionEvaluator.js.map +1 -1
  23. package/dist/core/DecisionQualityRecorderImpl.d.ts +192 -0
  24. package/dist/core/DecisionQualityRecorderImpl.d.ts.map +1 -0
  25. package/dist/core/DecisionQualityRecorderImpl.js +363 -0
  26. package/dist/core/DecisionQualityRecorderImpl.js.map +1 -0
  27. package/dist/core/IntelligenceRouter.d.ts +33 -0
  28. package/dist/core/IntelligenceRouter.d.ts.map +1 -1
  29. package/dist/core/IntelligenceRouter.js +240 -54
  30. package/dist/core/IntelligenceRouter.js.map +1 -1
  31. package/dist/core/JudgmentProvenanceLog.d.ts +102 -2
  32. package/dist/core/JudgmentProvenanceLog.d.ts.map +1 -1
  33. package/dist/core/JudgmentProvenanceLog.js +239 -11
  34. package/dist/core/JudgmentProvenanceLog.js.map +1 -1
  35. package/dist/core/MessagingToneGate.d.ts +30 -0
  36. package/dist/core/MessagingToneGate.d.ts.map +1 -1
  37. package/dist/core/MessagingToneGate.js +63 -0
  38. package/dist/core/MessagingToneGate.js.map +1 -1
  39. package/dist/core/PostUpdateMigrator.d.ts +11 -0
  40. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  41. package/dist/core/PostUpdateMigrator.js +32 -0
  42. package/dist/core/PostUpdateMigrator.js.map +1 -1
  43. package/dist/core/WriteDomainRegistry.d.ts.map +1 -1
  44. package/dist/core/WriteDomainRegistry.js +24 -0
  45. package/dist/core/WriteDomainRegistry.js.map +1 -1
  46. package/dist/core/decisionGradingPass.d.ts +89 -0
  47. package/dist/core/decisionGradingPass.d.ts.map +1 -0
  48. package/dist/core/decisionGradingPass.js +188 -0
  49. package/dist/core/decisionGradingPass.js.map +1 -0
  50. package/dist/core/decisionQualityTypes.d.ts +170 -0
  51. package/dist/core/decisionQualityTypes.d.ts.map +1 -0
  52. package/dist/core/decisionQualityTypes.js +85 -0
  53. package/dist/core/decisionQualityTypes.js.map +1 -0
  54. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  55. package/dist/core/devGatedFeatures.js +6 -0
  56. package/dist/core/devGatedFeatures.js.map +1 -1
  57. package/dist/core/machineCoherenceManifest.d.ts.map +1 -1
  58. package/dist/core/machineCoherenceManifest.js +4 -0
  59. package/dist/core/machineCoherenceManifest.js.map +1 -1
  60. package/dist/core/types.d.ts +69 -4
  61. package/dist/core/types.d.ts.map +1 -1
  62. package/dist/core/types.js.map +1 -1
  63. package/dist/data/provenanceCoverage.d.ts +156 -0
  64. package/dist/data/provenanceCoverage.d.ts.map +1 -0
  65. package/dist/data/provenanceCoverage.js +674 -0
  66. package/dist/data/provenanceCoverage.js.map +1 -0
  67. package/dist/monitoring/ExternalHogDecisionStore.d.ts +256 -0
  68. package/dist/monitoring/ExternalHogDecisionStore.d.ts.map +1 -0
  69. package/dist/monitoring/ExternalHogDecisionStore.js +481 -0
  70. package/dist/monitoring/ExternalHogDecisionStore.js.map +1 -0
  71. package/dist/monitoring/ExternalHogRealAdapters.d.ts +6 -2
  72. package/dist/monitoring/ExternalHogRealAdapters.d.ts.map +1 -1
  73. package/dist/monitoring/ExternalHogRealAdapters.js +2 -2
  74. package/dist/monitoring/ExternalHogRealAdapters.js.map +1 -1
  75. package/dist/monitoring/ExternalHogScanTick.d.ts +95 -3
  76. package/dist/monitoring/ExternalHogScanTick.d.ts.map +1 -1
  77. package/dist/monitoring/ExternalHogScanTick.js +102 -9
  78. package/dist/monitoring/ExternalHogScanTick.js.map +1 -1
  79. package/dist/monitoring/ExternalHogSentinel.d.ts +71 -3
  80. package/dist/monitoring/ExternalHogSentinel.d.ts.map +1 -1
  81. package/dist/monitoring/ExternalHogSentinel.js +126 -2
  82. package/dist/monitoring/ExternalHogSentinel.js.map +1 -1
  83. package/dist/monitoring/ExternalHogServerPrimitives.d.ts +10 -2
  84. package/dist/monitoring/ExternalHogServerPrimitives.d.ts.map +1 -1
  85. package/dist/monitoring/ExternalHogServerPrimitives.js +1 -1
  86. package/dist/monitoring/ExternalHogServerPrimitives.js.map +1 -1
  87. package/dist/monitoring/FeatureMetricsLedger.d.ts +304 -0
  88. package/dist/monitoring/FeatureMetricsLedger.d.ts.map +1 -1
  89. package/dist/monitoring/FeatureMetricsLedger.js +731 -0
  90. package/dist/monitoring/FeatureMetricsLedger.js.map +1 -1
  91. package/dist/scaffold/templates.d.ts.map +1 -1
  92. package/dist/scaffold/templates.js +2 -1
  93. package/dist/scaffold/templates.js.map +1 -1
  94. package/dist/server/AgentServer.d.ts.map +1 -1
  95. package/dist/server/AgentServer.js +55 -1
  96. package/dist/server/AgentServer.js.map +1 -1
  97. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  98. package/dist/server/CapabilityIndex.js +15 -1
  99. package/dist/server/CapabilityIndex.js.map +1 -1
  100. package/dist/server/fileRoutes.d.ts.map +1 -1
  101. package/dist/server/fileRoutes.js +9 -0
  102. package/dist/server/fileRoutes.js.map +1 -1
  103. package/dist/server/routes.d.ts.map +1 -1
  104. package/dist/server/routes.js +334 -5
  105. package/dist/server/routes.js.map +1 -1
  106. package/package.json +1 -1
  107. package/src/data/builtin-manifest.json +65 -65
  108. package/src/data/provenanceCoverage.ts +850 -0
  109. package/src/scaffold/templates/jobs/instar/llm-decision-grading.md +32 -0
  110. package/src/scaffold/templates.ts +2 -1
  111. package/upgrades/1.3.831.md +30 -0
  112. package/upgrades/1.3.832.md +22 -0
  113. package/upgrades/side-effects/llm-decision-quality-meter.md +95 -0
  114. package/upgrades/side-effects/messaging-tone-gate-provenance-enrollment.md +68 -0
@@ -17,12 +17,13 @@ import type { ProcTableRow } from './ExternalHogProcTable.js';
17
17
  import { type SamplerState, type SamplerOpts, type Candidate } from './ExternalHogSampler.js';
18
18
  import type { ProcTree, OwnedRefs } from './ExternalHogOwnership.js';
19
19
  import { type ClassifierVerdict } from './ExternalHogClassifier.js';
20
- import { type ExternalHogFacts } from './ExternalHogFloor.js';
20
+ import { type ExternalHogFacts, type FloorVerdict } from './ExternalHogFloor.js';
21
21
  import { type KillOutcome, type KillFunnelDeps, type KillFunnelOpts } from './ExternalHogKillFunnel.js';
22
22
  import { type KillLedgerState, type BreakerOpts } from './ExternalHogKillLedger.js';
23
23
  import { type CoalesceResult } from './ExternalHogNoticeCoalescer.js';
24
24
  import { type SustainedState } from './ExternalHogSustained.js';
25
25
  import type { DerivedTarget } from './selfaction/types.js';
26
+ import type { DecisionProvenanceBlock } from '../core/decisionQualityTypes.js';
26
27
  /** Canonical target derivation: the ledger key IS the recurrence SIGNATURE
27
28
  * (stable across respawns — a new pid, same signature, collapses to ONE
28
29
  * target), with the allowlist class as the stable classId — mirroring the
@@ -37,6 +38,88 @@ export interface ScanState {
37
38
  /** Stage-2 N-window sustained-CPU streaks (§1 anti-spike; feeds sustainedHighCpu authoritatively). */
38
39
  readonly sustained: SustainedState;
39
40
  }
41
+ /**
42
+ * The sentinel's REAL enacted-disposition space (spec §5.3, verified against
43
+ * this orchestrator's branches): the five kill-funnel outcomes plus the four
44
+ * alert-only branches plus decider-unavailable. Only `killed`/`sigterm-exited`
45
+ * ever enter the kill-grading evidence rules; `would-kill`/`deferred`/
46
+ * `aborted`/`decider-unavailable` age out `unknown` — during the watch-only
47
+ * dev soak EVERY kill verdict enacts as `would-kill`.
48
+ */
49
+ export type HogEnactedDisposition = 'killed' | 'sigterm-exited' | 'would-kill' | 'deferred' | 'aborted' | 'alert-only-model-spared' | 'alert-only-floor-veto' | 'alert-only-breaker-held' | 'alert-only-governor-hold' | 'decider-unavailable';
50
+ /**
51
+ * Stable prompt identity for the classifier decision point. The prompt module
52
+ * (ExternalHogClassifierPrompt) carries no version tag of its own, so this is
53
+ * the §5.2 promptId literal — bump it when buildClassifierPrompt changes
54
+ * materially (a prompt change is exactly what the meter's per-prompt
55
+ * attribution exists to distinguish).
56
+ */
57
+ export declare const HOG_CLASSIFIER_PROMPT_ID = "external-hog-classifier-v1";
58
+ /**
59
+ * The candidate's OWN spoof-proof identity (§5.3 targetTuple): pid + lstart
60
+ * parsed to epoch ms FOR ORDERING (start-times cannot be forged old). A null
61
+ * `startTimeMs` (un-parseable lstart) degrades every ordering-dependent
62
+ * evidence predicate to `unknown`, never `wrong`.
63
+ */
64
+ export interface HogTargetTuple {
65
+ readonly pid: number;
66
+ readonly startTimeMs: number | null;
67
+ }
68
+ /**
69
+ * MEMBER-WISE owner identity (§5.3, ADV r4/r5/r6): `parentPid` is ALWAYS
70
+ * derivable for a floor-PERMITTED kill by construction (parseParentPid
71
+ * succeeded, else the floor's ownerAppRunning veto fired), so it is always
72
+ * present on ENACTED kills — but a floor-VETOED kill verdict whose veto came
73
+ * from a null parse legitimately has NO parentPid, so nothing here is
74
+ * hard-asserted. `parentStartTimeMs` is recorded where derivable and absent
75
+ * in the dominant orphan-kill case (no live parent to stamp).
76
+ */
77
+ export interface HogOwnerTuple {
78
+ readonly parentPid?: number;
79
+ readonly parentStartTimeMs?: number;
80
+ }
81
+ /**
82
+ * The durable decision-store seed for ONE per-candidate decision — everything
83
+ * the ExternalHogDecisionStore's per-ledgerKey record needs except the wall
84
+ * timestamp + effective window (the store stamps those; the scan tick's clock
85
+ * is monotonic and must never be persisted).
86
+ */
87
+ export interface HogDecisionSeed {
88
+ readonly ledgerKey: string;
89
+ readonly classId: string;
90
+ readonly commandHash: string;
91
+ readonly verdict: ClassifierVerdict | 'decider-unavailable';
92
+ readonly enacted: HogEnactedDisposition;
93
+ /** Router-minted correlation id (via provenance.onCorrelationId); null when
94
+ * no mint reached us (no classify call, router-bypassed, provider down). */
95
+ readonly correlationId: string | null;
96
+ readonly targetTuple: HogTargetTuple;
97
+ readonly ownerTuple: HogOwnerTuple;
98
+ /** The floor verdict AT DECISION TIME. False for over-cap degraded rows
99
+ * (the floor was never evaluated — conservative, excludes every
100
+ * floorPermitted-gated evidence rule). */
101
+ readonly floorPermitted: boolean;
102
+ }
103
+ /** Derive the member-wise owner tuple from argv + the live proc tree (§5.3). */
104
+ export declare function deriveHogOwnerTuple(argv: string, tree: ProcTree): HogOwnerTuple;
105
+ /**
106
+ * The bounded §5.2 content-bearing hog envelope: identity + verdict-relevant
107
+ * fields ONLY — commandHash/ledgerKey/classId, the (length-clamped) process
108
+ * name, floor booleans, CPU numbers, and the code-derived identity tuples.
109
+ * NEVER raw argv (attacker-controllable, can carry positional passwords).
110
+ */
111
+ export declare function buildHogDecisionContext(input: {
112
+ readonly id: {
113
+ commandHash: string;
114
+ ledgerKey: string;
115
+ classId: string;
116
+ };
117
+ readonly facts: ExternalHogFacts;
118
+ readonly floor: FloorVerdict;
119
+ readonly coreEquivalents: number;
120
+ readonly targetTuple: HogTargetTuple;
121
+ readonly ownerTuple: HogOwnerTuple;
122
+ }): Record<string, unknown>;
40
123
  export interface ScanDeps {
41
124
  /** The current parsed ps table (the sampler's input). */
42
125
  readProcTable(): readonly ProcTableRow[];
@@ -54,8 +137,10 @@ export interface ScanDeps {
54
137
  ledgerKey: string;
55
138
  classId: string;
56
139
  } | null;
57
- /** Call the classifier (LlmQueue). Returns raw model output, or null if the decider is unavailable. */
58
- classify(facts: ExternalHogFacts): Promise<unknown>;
140
+ /** Call the classifier (LlmQueue). Returns raw model output, or null if the decider is unavailable.
141
+ * `provenance` is the §5.3 enrollment block (llm-decision-quality-meter) — the adapter threads it
142
+ * as `options.provenance` on the underlying intelligence.evaluate call. */
143
+ classify(facts: ExternalHogFacts, provenance?: DecisionProvenanceBlock): Promise<unknown>;
59
144
  /** The kill-funnel I/O (re-read facts/arm, fd-probe, signal, aliveness, wait). */
60
145
  killFunnelDeps: KillFunnelDeps;
61
146
  /** A monotonic clock reading (ms). */
@@ -82,6 +167,13 @@ export interface ScanOutcome {
82
167
  readonly classId: string;
83
168
  readonly verdict: ClassifierVerdict | 'decider-unavailable';
84
169
  readonly outcome: KillOutcome | 'alert-only';
170
+ /** The ENACTED disposition (spec §5.3 10-value space) — what actually
171
+ * happened after floors/breakers/governors, never the raw verdict. */
172
+ readonly enacted: HogEnactedDisposition;
173
+ /** The durable decision-store seed (the ExternalHogDecisionStore record
174
+ * minus the store-stamped wall time + effective window). Present on every
175
+ * outcome — each row comes from a fully-identified (enriched) candidate. */
176
+ readonly decision: HogDecisionSeed;
85
177
  }
86
178
  export interface ScanResult {
87
179
  readonly nextState: ScanState;
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalHogScanTick.d.ts","sourceRoot":"","sources":["../../src/monitoring/ExternalHogScanTick.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExternalHogScanTick.d.ts","sourceRoot":"","sources":["../../src/monitoring/ExternalHogScanTick.ts"],"names":[],"mappings":"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"}
@@ -16,11 +16,13 @@
16
16
  import { advanceSampler } from './ExternalHogSampler.js';
17
17
  import { selectForClassification, parseClassifierVerdict } from './ExternalHogClassifier.js';
18
18
  import { evaluateKillFloor } from './ExternalHogFloor.js';
19
+ import { parseParentPid, lstartToEpochMs } from './ExternalHogFactBuilder.js';
19
20
  import { runKillFunnel } from './ExternalHogKillFunnel.js';
20
21
  import { isBreakerTripped, recordKill, } from './ExternalHogKillLedger.js';
21
22
  import { coalesceNotices } from './ExternalHogNoticeCoalescer.js';
22
23
  import { advanceSustained, isSustained, candidateSignature } from './ExternalHogSustained.js';
23
24
  import { governor, consumeAdmissionToken } from './selfaction/governor.js';
25
+ import { DP_EXTERNAL_HOG_KILL_LEAVE } from '../data/provenanceCoverage.js';
24
26
  /* @self-action-controller: external-hog-kill-breaker */
25
27
  // Unified self-action backpressure (Increment B, OBSERVE-ONLY): the live kill
26
28
  // path rides the SelfActionGovernor ADDITIVELY — the shipped P19 kill-ledger
@@ -36,6 +38,49 @@ const externalHogKillGov = governor.for('external-hog-kill-breaker');
36
38
  export function deriveTargetKey(ctx) {
37
39
  return { key: ctx.ledgerKey, classId: ctx.classId, keyIsVolatile: false };
38
40
  }
41
+ /**
42
+ * Stable prompt identity for the classifier decision point. The prompt module
43
+ * (ExternalHogClassifierPrompt) carries no version tag of its own, so this is
44
+ * the §5.2 promptId literal — bump it when buildClassifierPrompt changes
45
+ * materially (a prompt change is exactly what the meter's per-prompt
46
+ * attribution exists to distinguish).
47
+ */
48
+ export const HOG_CLASSIFIER_PROMPT_ID = 'external-hog-classifier-v1';
49
+ /** Derive the member-wise owner tuple from argv + the live proc tree (§5.3). */
50
+ export function deriveHogOwnerTuple(argv, tree) {
51
+ const parentPid = parseParentPid(argv);
52
+ if (parentPid === null)
53
+ return {};
54
+ const parent = tree.get(parentPid);
55
+ const parentStartTimeMs = parent ? lstartToEpochMs(parent.startTime) : null;
56
+ return { parentPid, ...(parentStartTimeMs !== null ? { parentStartTimeMs } : {}) };
57
+ }
58
+ /**
59
+ * The bounded §5.2 content-bearing hog envelope: identity + verdict-relevant
60
+ * fields ONLY — commandHash/ledgerKey/classId, the (length-clamped) process
61
+ * name, floor booleans, CPU numbers, and the code-derived identity tuples.
62
+ * NEVER raw argv (attacker-controllable, can carry positional passwords).
63
+ */
64
+ export function buildHogDecisionContext(input) {
65
+ const { id, facts, floor, coreEquivalents, targetTuple, ownerTuple } = input;
66
+ return {
67
+ commandHash: id.commandHash,
68
+ ledgerKey: id.ledgerKey,
69
+ classId: id.classId,
70
+ name: typeof facts.name === 'string' ? facts.name.slice(0, 200) : '',
71
+ floorPermitted: floor.permitted,
72
+ ...(floor.permitted ? {} : { floorVetoReason: floor.vetoReason }),
73
+ ownerAppRunning: facts.ownerAppRunning === true,
74
+ sustainedHighCpu: facts.sustainedHighCpu === true,
75
+ isInstarProcess: facts.isInstarProcess === true,
76
+ ownerRootDaemon: facts.ownerRootDaemon === true,
77
+ hasLaunchctlLabel: facts.hasLaunchctlLabel === true,
78
+ coreEquivalents,
79
+ pid: targetTuple.pid,
80
+ startTimeMs: targetTuple.startTimeMs,
81
+ ...(ownerTuple.parentPid !== undefined ? { parentPid: ownerTuple.parentPid } : {}),
82
+ };
83
+ }
39
84
  /**
40
85
  * Run one scan tick. Pure control flow over the injected I/O; mutates nothing. In the shipped
41
86
  * dryRun state every `outcome` is `would-kill`/`alert-only` and no signal is sent.
@@ -86,25 +131,61 @@ export async function runScanTick(state, deps, opts) {
86
131
  notices.push({ cls: 'hog-left-alive', signature: `${c.pid} ${c.startTime}`, text: `sustained external hog (not kill-eligible): pid ${c.pid}` });
87
132
  continue;
88
133
  }
89
- enriched.push({ c, facts, id, tuple: { pid: c.pid, startTime: c.startTime, commandHash: id.commandHash }, coreEquivalents: c.coreEquivalents });
134
+ enriched.push({
135
+ c, facts, id,
136
+ tuple: { pid: c.pid, startTime: c.startTime, commandHash: id.commandHash },
137
+ coreEquivalents: c.coreEquivalents,
138
+ // §5.3 durable-store identity tuples, derived ONCE per candidate from the
139
+ // code-read table/argv (never from model output).
140
+ targetTuple: { pid: c.pid, startTimeMs: lstartToEpochMs(c.startTime) },
141
+ ownerTuple: deriveHogOwnerTuple(facts.argv, tree),
142
+ });
90
143
  }
91
144
  const { toClassify, degradedToAlert } = selectForClassification(enriched, opts.maxClassificationsPerScan);
92
145
  for (const cand of toClassify) {
93
146
  const floor = evaluateKillFloor(cand.facts);
94
- const raw = await deps.classify(cand.facts);
147
+ // §5.3 enrollment (llm-decision-quality-meter): the classifier call carries
148
+ // options.provenance so the router mints + settles a decision row for it.
149
+ // onCorrelationId fires SYNCHRONOUSLY at mint (before the first attempt),
150
+ // so `correlationId` is set by the time the classify promise resolves.
151
+ let correlationId = null;
152
+ const provenance = {
153
+ decisionPoint: DP_EXTERNAL_HOG_KILL_LEAVE,
154
+ context: buildHogDecisionContext({
155
+ id: cand.id, facts: cand.facts, floor,
156
+ coreEquivalents: cand.coreEquivalents,
157
+ targetTuple: cand.targetTuple, ownerTuple: cand.ownerTuple,
158
+ }),
159
+ optionsPresented: ['kill', 'leave'],
160
+ promptId: HOG_CLASSIFIER_PROMPT_ID,
161
+ onCorrelationId: (id) => { correlationId = id; },
162
+ };
163
+ const raw = await deps.classify(cand.facts, provenance);
95
164
  const verdict = parseClassifierVerdict(raw); // null → decider-unavailable → alert
165
+ /** The durable-store seed for this candidate's decision (persisted by the sentinel shell). */
166
+ const decisionSeed = (v, enacted) => ({
167
+ ledgerKey: cand.id.ledgerKey, classId: cand.id.classId, commandHash: cand.id.commandHash,
168
+ verdict: v, enacted, correlationId,
169
+ targetTuple: cand.targetTuple, ownerTuple: cand.ownerTuple,
170
+ floorPermitted: floor.permitted,
171
+ });
96
172
  // The §4 observability floor: a deterministic sustained hog that is NOT killed is ALWAYS
97
173
  // surfaced (the model can never silence it).
98
174
  const surfaceLeftAlive = () => notices.push({ cls: 'hog-left-alive', signature: cand.id.ledgerKey, text: `sustained hog left alive: pid ${cand.c.pid}` });
99
175
  if (verdict === null) {
100
176
  // Decider unavailable → no kill → alert.
101
- outcomes.push({ pid: cand.c.pid, ledgerKey: cand.id.ledgerKey, classId: cand.id.classId, verdict: 'decider-unavailable', outcome: 'alert-only' });
177
+ outcomes.push({ pid: cand.c.pid, ledgerKey: cand.id.ledgerKey, classId: cand.id.classId, verdict: 'decider-unavailable', outcome: 'alert-only', enacted: 'decider-unavailable', decision: decisionSeed('decider-unavailable', 'decider-unavailable') });
102
178
  notices.push({ cls: 'decider-unavailable', signature: cand.id.ledgerKey, text: `decider unavailable: pid ${cand.c.pid}` });
103
179
  continue;
104
180
  }
105
181
  if (verdict !== 'kill' || !floor.permitted) {
106
182
  // Model spared it, or the floor vetoes → alert-only (observability floor still surfaces).
107
- outcomes.push({ pid: cand.c.pid, ledgerKey: cand.id.ledgerKey, classId: cand.id.classId, verdict, outcome: 'alert-only' });
183
+ // Disposition honesty (§5.3): a spared verdict is 'alert-only-model-spared' (the
184
+ // leave-recurrence rule's precondition ALSO requires floorPermitted, recorded on the
185
+ // seed); a kill verdict the floor vetoed is 'alert-only-floor-veto' — never graded
186
+ // as if the classifier's recommendation had been executed.
187
+ const enacted = verdict !== 'kill' ? 'alert-only-model-spared' : 'alert-only-floor-veto';
188
+ outcomes.push({ pid: cand.c.pid, ledgerKey: cand.id.ledgerKey, classId: cand.id.classId, verdict, outcome: 'alert-only', enacted, decision: decisionSeed(verdict, enacted) });
108
189
  surfaceLeftAlive();
109
190
  if (!floor.permitted)
110
191
  notices.push({ cls: 'floor-veto-downgrade', signature: cand.id.ledgerKey, text: `floor vetoed a kill: pid ${cand.c.pid}` });
@@ -113,7 +194,7 @@ export async function runScanTick(state, deps, opts) {
113
194
  // verdict === 'kill' && floor permits. Check the P19 breaker before acting.
114
195
  const tripped = isBreakerTripped(ledger, cand.id.ledgerKey, cand.id.classId, { ...opts.breaker, nowMs: now });
115
196
  if (tripped) {
116
- outcomes.push({ pid: cand.c.pid, ledgerKey: cand.id.ledgerKey, classId: cand.id.classId, verdict, outcome: 'alert-only' });
197
+ outcomes.push({ pid: cand.c.pid, ledgerKey: cand.id.ledgerKey, classId: cand.id.classId, verdict, outcome: 'alert-only', enacted: 'alert-only-breaker-held', decision: decisionSeed(verdict, 'alert-only-breaker-held') });
117
198
  surfaceLeftAlive(); // shielded from KILL only, never from surfacing
118
199
  continue;
119
200
  }
@@ -126,7 +207,7 @@ export async function runScanTick(state, deps, opts) {
126
207
  ? consumeAdmissionToken(hogAdmission.token, 'external-hog-kill-breaker', { targetKey: hogTarget.key })
127
208
  : null;
128
209
  if (hogAdmission.outcome !== 'allow' || !hogSink?.proceed) {
129
- outcomes.push({ pid: cand.c.pid, ledgerKey: cand.id.ledgerKey, classId: cand.id.classId, verdict, outcome: 'alert-only' });
210
+ outcomes.push({ pid: cand.c.pid, ledgerKey: cand.id.ledgerKey, classId: cand.id.classId, verdict, outcome: 'alert-only', enacted: 'alert-only-governor-hold', decision: decisionSeed(verdict, 'alert-only-governor-hold') });
130
211
  surfaceLeftAlive();
131
212
  continue;
132
213
  }
@@ -134,7 +215,9 @@ export async function runScanTick(state, deps, opts) {
134
215
  const target = { pid: cand.c.pid, startTime: cand.c.startTime, commandHash: cand.id.commandHash, classId: cand.id.classId };
135
216
  const funnelOpts = { ...opts.killFunnel, currentDeferrals: deps.deferralsFor(cand.id.ledgerKey) };
136
217
  const outcome = await runKillFunnel(target, funnelOpts, deps.killFunnelDeps);
137
- outcomes.push({ pid: cand.c.pid, ledgerKey: cand.id.ledgerKey, classId: cand.id.classId, verdict, outcome });
218
+ // The funnel's action IS the enacted disposition (killed | sigterm-exited |
219
+ // would-kill | deferred | aborted) — the §5.3 enum reuses the same names.
220
+ outcomes.push({ pid: cand.c.pid, ledgerKey: cand.id.ledgerKey, classId: cand.id.classId, verdict, outcome, enacted: outcome.action, decision: decisionSeed(verdict, outcome.action) });
138
221
  if (outcome.action === 'killed') {
139
222
  ledger = recordKill(ledger, { key: cand.id.ledgerKey, classId: cand.id.classId, atMs: now }, opts.killLedgerRetentionMs, now);
140
223
  notices.push({ cls: 'kill', signature: cand.id.ledgerKey, text: `auto-killed zombie: pid ${cand.c.pid}` });
@@ -144,9 +227,19 @@ export async function runScanTick(state, deps, opts) {
144
227
  surfaceLeftAlive();
145
228
  }
146
229
  }
147
- // The over-cap remainder degrades to alert-only (observability floor).
230
+ // The over-cap remainder degrades to alert-only (observability floor). No classifier ran,
231
+ // so verdict + enacted are 'decider-unavailable', there is no correlation id, and
232
+ // floorPermitted is false (the floor was never evaluated — conservative).
148
233
  for (const cand of degradedToAlert) {
149
- outcomes.push({ pid: cand.c.pid, ledgerKey: cand.id.ledgerKey, classId: cand.id.classId, verdict: 'decider-unavailable', outcome: 'alert-only' });
234
+ outcomes.push({
235
+ pid: cand.c.pid, ledgerKey: cand.id.ledgerKey, classId: cand.id.classId,
236
+ verdict: 'decider-unavailable', outcome: 'alert-only', enacted: 'decider-unavailable',
237
+ decision: {
238
+ ledgerKey: cand.id.ledgerKey, classId: cand.id.classId, commandHash: cand.id.commandHash,
239
+ verdict: 'decider-unavailable', enacted: 'decider-unavailable', correlationId: null,
240
+ targetTuple: cand.targetTuple, ownerTuple: cand.ownerTuple, floorPermitted: false,
241
+ },
242
+ });
150
243
  notices.push({ cls: 'hog-left-alive', signature: cand.id.ledgerKey, text: `sustained hog left alive (over cap): pid ${cand.c.pid}` });
151
244
  }
152
245
  const coalesced = coalesceNotices(notices, { budgetPerWindow: opts.noticeBudgetPerWindow });
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalHogScanTick.js","sourceRoot":"","sources":["../../src/monitoring/ExternalHogScanTick.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExternalHogScanTick.js","sourceRoot":"","sources":["../../src/monitoring/ExternalHogScanTick.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,8 @@ import type { Candidate } from './ExternalHogSampler.js';
33
33
  import type { KillFunnelDeps } from './ExternalHogKillFunnel.js';
34
34
  import type { CoalesceResult } from './ExternalHogNoticeCoalescer.js';
35
35
  import type { GuardEffectiveState } from './guardPostureView.js';
36
+ import { type ExternalHogDecisionStore } from './ExternalHogDecisionStore.js';
37
+ import type { DecisionProvenanceBlock } from '../core/decisionQualityTypes.js';
36
38
  /** The real-I/O seam. Every method is injected so the shell is fully testable with fakes. */
37
39
  export interface ExternalHogAdapters {
38
40
  /** Spawn `ps` off the event loop and parse it. Empty/failed read → []. */
@@ -48,8 +50,10 @@ export interface ExternalHogAdapters {
48
50
  ledgerKey: string;
49
51
  classId: string;
50
52
  } | null;
51
- /** The classifier (LlmQueue). Raw model output, or null when the decider is unavailable. */
52
- classify(facts: ExternalHogFacts): Promise<unknown>;
53
+ /** The classifier (LlmQueue). Raw model output, or null when the decider is unavailable.
54
+ * `provenance` is the §5.3 enrollment block (llm-decision-quality-meter) — the real adapter
55
+ * threads it as `options.provenance` on the underlying intelligence.evaluate call. */
56
+ classify(facts: ExternalHogFacts, provenance?: DecisionProvenanceBlock): Promise<unknown>;
53
57
  /** The hardened kill-funnel I/O (re-read facts/arm, fd-probe, signal, aliveness, wait). */
54
58
  killFunnelDeps: KillFunnelDeps;
55
59
  /** Deliver the coalesced notices (attention queue / telegram). */
@@ -88,18 +92,70 @@ export interface ExternalHogStatus {
88
92
  readonly lastTickAt: number | null;
89
93
  readonly recentOutcomes: readonly ScanOutcome[];
90
94
  readonly trackedDeferrals: number;
95
+ /** LLM-Decision Quality Meter wiring posture (§5.3) — Observable Intelligence:
96
+ * the durable-store/annotate arms are visible, never a silent skip. */
97
+ readonly decisionQuality: {
98
+ readonly storeWired: boolean;
99
+ readonly annotateBound: boolean;
100
+ readonly recordsWritten: number;
101
+ readonly gradeEvents: number;
102
+ readonly storeErrors: number;
103
+ };
104
+ }
105
+ /**
106
+ * One outcome annotation handed to the §5.4 chokepoint. Content-free by
107
+ * construction (ids, enums, numbers — pointer discipline). Rung/strength are
108
+ * DERIVED registry-side from `gradedBy.ruleId`, never carried here.
109
+ */
110
+ export interface HogOutcomeAnnotation {
111
+ /** The decision join key (§5.4.1). */
112
+ readonly correlationId: string;
113
+ /** Component + ruleId — the chokepoint rejects a component that is not the
114
+ * ruleId's registered owner (§5.4.2). */
115
+ readonly gradedBy: {
116
+ readonly component: string;
117
+ readonly ruleId: string;
118
+ };
119
+ readonly grade: 'right' | 'wrong' | 'unknown';
120
+ /** Structured, clamp-safe evidence (§5.2 ≤500-char pointer discipline);
121
+ * records the effective `windowMs` for window-bounded rules (§5.4.5). */
122
+ readonly evidence: Record<string, unknown>;
123
+ }
124
+ /** The §5.4 chokepoint binding, or null while unbound (P6 handoff). */
125
+ export type HogAnnotateOutcomeFn = (annotation: HogOutcomeAnnotation) => void;
126
+ /** The decision-quality wiring handed to the sentinel at construction (all
127
+ * optional — absent pieces degrade to honest no-ops, counted in status()). */
128
+ export interface ExternalHogDecisionQualityDeps {
129
+ /** The durable §5.3 decision store (hydrated at ITS construction). */
130
+ readonly decisionStore?: ExternalHogDecisionStore;
131
+ /** The §5.4 annotate chokepoint, or null/absent while unbound (P6 handoff). */
132
+ readonly annotate?: HogAnnotateOutcomeFn | null;
91
133
  }
92
134
  /** Build a ProcTree (pid → node) from a parsed ps table — the ownership walk's input. */
93
135
  export declare function buildProcTree(table: readonly ProcTableRow[]): ProcTree;
94
136
  export declare class ExternalHogSentinel {
95
137
  private readonly adapters;
96
138
  private readonly opts;
139
+ /** §5.3 decision-quality wiring (optional — absent = no store writes, counted honestly). */
140
+ private readonly decisionQuality;
97
141
  private state;
98
142
  /** ledgerKey → how many times this signature has been deferred (persisted across ticks). */
99
143
  private readonly deferrals;
100
144
  private lastTickAt;
101
145
  private lastOutcomes;
102
- constructor(adapters: ExternalHogAdapters, opts: ExternalHogRuntimeOpts);
146
+ /** Decision-quality counters (Observable Intelligence — visible in status()). */
147
+ private dqRecordsWritten;
148
+ private dqGradeEvents;
149
+ private dqStoreErrors;
150
+ constructor(adapters: ExternalHogAdapters, opts: ExternalHogRuntimeOpts,
151
+ /** §5.3 decision-quality wiring (optional — absent = no store writes, counted honestly). */
152
+ decisionQuality?: ExternalHogDecisionQualityDeps);
153
+ /**
154
+ * The durable §5.3 decision store the P9 grading endpoint reads (window-close
155
+ * `hog-sustained-right-v1` over `list()`); null when the store is unwired
156
+ * (the grade-pass then grades nothing for the hog point — honest). Read-only.
157
+ */
158
+ decisionStoreRef(): ExternalHogDecisionStore | null;
103
159
  /**
104
160
  * Run one scan tick. Reads the real table + owned pids (async, off-loop), then delegates the
105
161
  * whole decision to the reviewed orchestrator over a snapshot-closing ScanDeps. Watch-only in
@@ -107,6 +163,18 @@ export declare class ExternalHogSentinel {
107
163
  * (the sampler heartbeat simply does not advance → eventually on-stale).
108
164
  */
109
165
  tick(): Promise<ScanResult>;
166
+ /**
167
+ * Persist this tick's decisions into the durable §5.3 store and route the resulting
168
+ * annotations. The store's `record()` runs grade-on-supersede — the positive-evidence
169
+ * rules (respawn-wrong / leave-recurrence) fire HERE, because every fully-identified
170
+ * candidate produces exactly one decision write per tick, so a same-commandHash
171
+ * re-flag ALWAYS arrives as a same-ledgerKey supersede (the "scan ticks +
172
+ * grade-on-supersede" §5.3 paths are one funnel by construction). Window-close
173
+ * grading (hog-sustained-right-v1) belongs to the P9 grading job reading the store.
174
+ * Never throws into the tick; failures are counted, never silent (status()).
175
+ */
176
+ private recordDecisions;
177
+ private safeAnnotate;
110
178
  /**
111
179
  * The `/guards` runtime getter (GuardRegistry). `lastTickAt` is the last SUCCESSFUL PARSE (the
112
180
  * sampler heartbeat), NOT the tick time — so a sentinel that is ticking but BLIND (ps failing,
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalHogSentinel.d.ts","sourceRoot":"","sources":["../../src/monitoring/ExternalHogSentinel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExternalHogSentinel.d.ts","sourceRoot":"","sources":["../../src/monitoring/ExternalHogSentinel.ts"],"names":[],"mappings":"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"}