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.
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +83 -12
- package/dist/commands/server.js.map +1 -1
- package/dist/core/AutonomousRealCheckAnnotator.d.ts +105 -0
- package/dist/core/AutonomousRealCheckAnnotator.d.ts.map +1 -0
- package/dist/core/AutonomousRealCheckAnnotator.js +122 -0
- package/dist/core/AutonomousRealCheckAnnotator.js.map +1 -0
- package/dist/core/AutonomousRunStore.d.ts +29 -0
- package/dist/core/AutonomousRunStore.d.ts.map +1 -1
- package/dist/core/AutonomousRunStore.js +38 -0
- package/dist/core/AutonomousRunStore.js.map +1 -1
- package/dist/core/BackupManager.d.ts.map +1 -1
- package/dist/core/BackupManager.js +47 -1
- package/dist/core/BackupManager.js.map +1 -1
- package/dist/core/CircuitBreakingIntelligenceProvider.d.ts +12 -0
- package/dist/core/CircuitBreakingIntelligenceProvider.d.ts.map +1 -1
- package/dist/core/CircuitBreakingIntelligenceProvider.js +56 -4
- package/dist/core/CircuitBreakingIntelligenceProvider.js.map +1 -1
- package/dist/core/CompletionEvaluator.d.ts +62 -2
- package/dist/core/CompletionEvaluator.d.ts.map +1 -1
- package/dist/core/CompletionEvaluator.js +124 -6
- package/dist/core/CompletionEvaluator.js.map +1 -1
- package/dist/core/DecisionQualityRecorderImpl.d.ts +192 -0
- package/dist/core/DecisionQualityRecorderImpl.d.ts.map +1 -0
- package/dist/core/DecisionQualityRecorderImpl.js +363 -0
- package/dist/core/DecisionQualityRecorderImpl.js.map +1 -0
- package/dist/core/IntelligenceRouter.d.ts +33 -0
- package/dist/core/IntelligenceRouter.d.ts.map +1 -1
- package/dist/core/IntelligenceRouter.js +240 -54
- package/dist/core/IntelligenceRouter.js.map +1 -1
- package/dist/core/JudgmentProvenanceLog.d.ts +102 -2
- package/dist/core/JudgmentProvenanceLog.d.ts.map +1 -1
- package/dist/core/JudgmentProvenanceLog.js +239 -11
- package/dist/core/JudgmentProvenanceLog.js.map +1 -1
- package/dist/core/MessagingToneGate.d.ts +30 -0
- package/dist/core/MessagingToneGate.d.ts.map +1 -1
- package/dist/core/MessagingToneGate.js +63 -0
- package/dist/core/MessagingToneGate.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +11 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +32 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/WriteDomainRegistry.d.ts.map +1 -1
- package/dist/core/WriteDomainRegistry.js +24 -0
- package/dist/core/WriteDomainRegistry.js.map +1 -1
- package/dist/core/decisionGradingPass.d.ts +89 -0
- package/dist/core/decisionGradingPass.d.ts.map +1 -0
- package/dist/core/decisionGradingPass.js +188 -0
- package/dist/core/decisionGradingPass.js.map +1 -0
- package/dist/core/decisionQualityTypes.d.ts +170 -0
- package/dist/core/decisionQualityTypes.d.ts.map +1 -0
- package/dist/core/decisionQualityTypes.js +85 -0
- package/dist/core/decisionQualityTypes.js.map +1 -0
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +6 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/machineCoherenceManifest.d.ts.map +1 -1
- package/dist/core/machineCoherenceManifest.js +4 -0
- package/dist/core/machineCoherenceManifest.js.map +1 -1
- package/dist/core/types.d.ts +69 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/data/provenanceCoverage.d.ts +156 -0
- package/dist/data/provenanceCoverage.d.ts.map +1 -0
- package/dist/data/provenanceCoverage.js +674 -0
- package/dist/data/provenanceCoverage.js.map +1 -0
- package/dist/monitoring/ExternalHogDecisionStore.d.ts +256 -0
- package/dist/monitoring/ExternalHogDecisionStore.d.ts.map +1 -0
- package/dist/monitoring/ExternalHogDecisionStore.js +481 -0
- package/dist/monitoring/ExternalHogDecisionStore.js.map +1 -0
- package/dist/monitoring/ExternalHogRealAdapters.d.ts +6 -2
- package/dist/monitoring/ExternalHogRealAdapters.d.ts.map +1 -1
- package/dist/monitoring/ExternalHogRealAdapters.js +2 -2
- package/dist/monitoring/ExternalHogRealAdapters.js.map +1 -1
- package/dist/monitoring/ExternalHogScanTick.d.ts +95 -3
- package/dist/monitoring/ExternalHogScanTick.d.ts.map +1 -1
- package/dist/monitoring/ExternalHogScanTick.js +102 -9
- package/dist/monitoring/ExternalHogScanTick.js.map +1 -1
- package/dist/monitoring/ExternalHogSentinel.d.ts +71 -3
- package/dist/monitoring/ExternalHogSentinel.d.ts.map +1 -1
- package/dist/monitoring/ExternalHogSentinel.js +126 -2
- package/dist/monitoring/ExternalHogSentinel.js.map +1 -1
- package/dist/monitoring/ExternalHogServerPrimitives.d.ts +10 -2
- package/dist/monitoring/ExternalHogServerPrimitives.d.ts.map +1 -1
- package/dist/monitoring/ExternalHogServerPrimitives.js +1 -1
- package/dist/monitoring/ExternalHogServerPrimitives.js.map +1 -1
- package/dist/monitoring/FeatureMetricsLedger.d.ts +304 -0
- package/dist/monitoring/FeatureMetricsLedger.d.ts.map +1 -1
- package/dist/monitoring/FeatureMetricsLedger.js +731 -0
- package/dist/monitoring/FeatureMetricsLedger.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +2 -1
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +55 -1
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +15 -1
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/fileRoutes.d.ts.map +1 -1
- package/dist/server/fileRoutes.js +9 -0
- package/dist/server/fileRoutes.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +334 -5
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +65 -65
- package/src/data/provenanceCoverage.ts +850 -0
- package/src/scaffold/templates/jobs/instar/llm-decision-grading.md +32 -0
- package/src/scaffold/templates.ts +2 -1
- package/upgrades/1.3.831.md +30 -0
- package/upgrades/1.3.832.md +22 -0
- package/upgrades/side-effects/llm-decision-quality-meter.md +95 -0
- 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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAkB,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAmD,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACrH,OAAO,EAA0C,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
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({
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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({
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAA8C,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAIxI,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAY,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExternalHogSentinel.d.ts","sourceRoot":"","sources":["../../src/monitoring/ExternalHogSentinel.ts"],"names":[],"mappings":"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"}
|