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
@@ -0,0 +1,156 @@
1
+ /**
2
+ * PROVENANCE_COVERAGE census — LLM-Decision Quality Meter ratchet (G5).
3
+ *
4
+ * Spec: docs/specs/llm-decision-quality-meter.md §5.6 (census) + §5.4.2 (rule
5
+ * registry). Same declare-or-fail pattern as LLM_BENCH_COVERAGE
6
+ * (src/data/llmBenchCoverage.ts precedent), tightened per review: a declaration
7
+ * per DECISION POINT (a component may hold several distinct decision points
8
+ * with different prompts/outcomes), each entry one of:
9
+ * - status 'wired' — the callsite carries `options.provenance`
10
+ * enrollment (typed import of the decision-point id exported HERE; the
11
+ * settlement write additionally validates decisionPoint ∈ census at
12
+ * runtime and counts unknowns). Wired entries declare their volumeClass —
13
+ * the PROVENANCE store's volume valve (§5.6; the ~250-byte decision_quality
14
+ * row is written for every enrolled settlement regardless of class).
15
+ * - status 'pending:<ACT-ref>' — the retrofit backlog, format-validated +
16
+ * PINNED shrink-only in tests/unit/provenance-coverage-ratchet.test.ts
17
+ * (count can only go down; re-pointing an entry to a different ACT is a
18
+ * reviewed baseline change — shrink-only covers count, not identity). The
19
+ * runtime half of the two-layer check (§5.6 pending-ref-dead) lives on
20
+ * GET /decision-quality, where the evolution queue exists.
21
+ * - status 'exempt:<taxonomy>' — a CLOSED taxonomy (an exemption is a
22
+ * classification, not an essay): 'deterministic-only' (no LLM verdict at
23
+ * this point) | 'no-decision-content' (nothing reconstructable beyond what
24
+ * feature_metrics already records) | 'operator-ratified:<resolvable-ref>'.
25
+ * Free-text exemptions are refused by the ratchet; the exempt baseline is
26
+ * pinned shrink-only exactly like pending (ADV r5).
27
+ *
28
+ * ENROLLMENT KEY CONVENTION (§5.6, a census-test ASSERTION, not prose): each
29
+ * decision point uses a 1:1 `attribution.component` key (the existing
30
+ * `CompletionEvaluator` vs `CompletionEvaluator/P13` suffix pattern); the key
31
+ * is UNIQUE across census entries REGARDLESS of status (ADV r7 — uniform
32
+ * uniqueness closes the pending-absorbs-wired-activity and exempt-false-flags
33
+ * carve-out attacks). Multi-call compositions get one unique suffixed key PER
34
+ * point with linkage ONLY via the `composition` field (§5.1.1 — key sharing
35
+ * would re-open the same-key blind spot).
36
+ *
37
+ * WHY (operator goal, 2026-07-10 topic 11960): a new LLM decision point that
38
+ * skips provenance must fail CI — an unlogged decision-maker cannot be graded,
39
+ * and "does this gate need a bigger model or a prompt change?" is unanswerable
40
+ * without provenance + outcomes. Structure > Willpower.
41
+ *
42
+ * Companion chain: componentCategories keeps COMPONENT_CATEGORY exhaustive
43
+ * over LLM callsites; LLM_BENCH_COVERAGE keeps bench coverage exhaustive over
44
+ * COMPONENT_CATEGORY; THIS census keeps provenance posture exhaustive over
45
+ * COMPONENT_CATEGORY, per decision point.
46
+ */
47
+ /** Closed exemption taxonomy (§5.6) — free text is refused by the ratchet. */
48
+ export type ExemptTaxonomyKey = 'deterministic-only' | 'no-decision-content';
49
+ export declare const EXEMPT_TAXONOMY_KEYS: ReadonlyArray<ExemptTaxonomyKey>;
50
+ /**
51
+ * A decision point's provenance posture. `pending:<ACT-ref>` refs are
52
+ * format-validated (^ACT-\d+$) and baseline-pinned by the ratchet;
53
+ * `exempt:operator-ratified:` carries a resolvable ref (PR / standards-registry
54
+ * anchor), also ratchet-validated.
55
+ */
56
+ export type ProvenanceStatus = 'wired' | `pending:${string}` | `exempt:${ExemptTaxonomyKey}` | `exempt:operator-ratified:${string}`;
57
+ /**
58
+ * The PROVENANCE store's volume valve (§5.6/FD4): `full` (always-write —
59
+ * RESERVED for genuinely low-frequency high-stakes points; the arbiter-bypass
60
+ * invariant applies only here) | `sampled:<rate>` (rides the existing FNV-1a
61
+ * sampling) | `budget:<rows/day>` (per-point UTC-day cap, COUNT-enforced, loud
62
+ * droppedByBudget counter). Valves the provenance JSONL row ONLY — the
63
+ * decision_quality row is written for every enrolled settlement (§5.5).
64
+ */
65
+ export type VolumeClass = 'full' | `sampled:${string}` | `budget:${string}`;
66
+ /** Content class (§5.2) — declared per decision point; selects the code-provided
67
+ * envelope BUILDER (callsites do not hand-roll context shapes):
68
+ * - 'metadata' — context is code-authored facts (ids, hashes, booleans,
69
+ * numbers, enums). The default.
70
+ * - 'content-bearing' — the decision judges user/peer/process-authored text;
71
+ * context enters as identity + bounded features (hashes/pointers, code-derived
72
+ * feature summaries, ≤300-char scrubbed head), NEVER full bodies. */
73
+ export type ContentClass = 'metadata' | 'content-bearing';
74
+ /** §5.1.1 boundary rule: one decision row per router.evaluate() invocation. A
75
+ * component whose one human-visible judgment spans multiple evaluate() calls
76
+ * declares `multi-call:<comma-linked decision-point ids>` — one census entry
77
+ * per call, EACH with its OWN suffixed unique component key; linkage lives
78
+ * ONLY here. */
79
+ export type Composition = 'single' | `multi-call:${string}`;
80
+ export interface ProvenanceCoverageEntry {
81
+ /** Stable decision-point id (^[a-z0-9][a-z0-9-]{0,63}$). Wired points export
82
+ * a `DP_<UPPER_SNAKE>` constant from this module; enrolling callsites IMPORT
83
+ * that constant (typed registration — a string-literal-only decision point
84
+ * at a callsite fails the ratchet). */
85
+ readonly decisionPoint: string;
86
+ /** The 1:1 `attribution.component` enrollment key — unique across ALL census
87
+ * entries regardless of status (ADV r7). Suffix pattern for multi-point
88
+ * components: 'CompletionEvaluator/P13'. */
89
+ readonly component: string;
90
+ readonly status: ProvenanceStatus;
91
+ /** REQUIRED for wired entries (ratchet-enforced); a pending entry MAY
92
+ * forward-declare its intended class (advisory until enrollment). */
93
+ readonly volumeClass?: VolumeClass;
94
+ readonly contentClass: ContentClass;
95
+ /** Default 'single' when absent. */
96
+ readonly composition?: Composition;
97
+ /** REQUIRED (≥40 chars, ratchet-enforced) for pending/exempt entries — a real
98
+ * argument, never a lazy "n/a". Optional color for wired entries. */
99
+ readonly reason?: string;
100
+ }
101
+ /** External-hog kill/leave decision point — the classifier verdict inside the
102
+ * scan-tick decision loop (ExternalHogScanTick; spec §5.3 first customer). */
103
+ export declare const DP_EXTERNAL_HOG_KILL_LEAVE = "external-hog-kill-leave";
104
+ /** Autonomous completion judge — CompletionEvaluator.evaluate() (spec §5.3). */
105
+ export declare const DP_COMPLETION_EVALUATE = "completion-evaluate";
106
+ /** P13 stop-rationale judge — CompletionEvaluator.evaluateStopRationale()
107
+ * (component 'CompletionEvaluator/P13'; spec §5.3). */
108
+ export declare const DP_COMPLETION_STOP_RATIONALE = "completion-stop-rationale";
109
+ /** Outbound tone/leak verdict — MessagingToneGate.review() (component
110
+ * 'MessagingToneGate'; spec §5.6). An ALWAYS-ON HIGH-VOLUME gate: it declares a
111
+ * `budget:<rows/day>` volume valve (NEVER `full`) and stores content as IDENTITY
112
+ * only (candidate hash + bounds + code-derived features), never the outbound
113
+ * body or any plaintext slice of it. */
114
+ export declare const DP_MESSAGING_TONE_GATE = "messaging-tone-gate";
115
+ export declare const PROVENANCE_COVERAGE: ReadonlyArray<ProvenanceCoverageEntry>;
116
+ export declare const SUBBUDGET_IMPLEMENTED = true;
117
+ /** Grading-ladder rungs, in PRECEDENCE ORDER (§5.4.3): earlier beats later.
118
+ * A self-reported outcome NEVER overrides an independent grader. */
119
+ export declare const EVIDENCE_RUNGS: readonly ["deterministic-ground-truth", "recurrence", "llm-interpreter", "self-report"];
120
+ export type EvidenceRung = (typeof EVIDENCE_RUNGS)[number];
121
+ /** Evidence-strength classes (§5.4.2, codex r3): the read surface splits
122
+ * proof-like from heuristic grades so aggregates cannot imply stronger
123
+ * correctness than the evidence supports. */
124
+ export declare const EVIDENCE_STRENGTHS: readonly ["deterministic-proof", "negative-evidence", "recurrence-proxy", "self-report"];
125
+ export type EvidenceStrength = (typeof EVIDENCE_STRENGTHS)[number];
126
+ export interface EvidenceRule {
127
+ readonly ruleId: string;
128
+ readonly rung: EvidenceRung;
129
+ readonly evidenceStrength: EvidenceStrength;
130
+ /** The ONLY component whose gradedBy.component the annotate chokepoint
131
+ * accepts for this rule (ADV r5). An annotator actor name — not necessarily
132
+ * a COMPONENT_CATEGORY key. */
133
+ readonly owningComponent: string;
134
+ /** The rule's registered evidence-window parameter, where the predicate is
135
+ * window-bounded (§5.4.5 — recorded per outcome row; a window change mints
136
+ * a new ruleId version). */
137
+ readonly windowMs?: number;
138
+ }
139
+ export declare const RULE_REGISTRY: Readonly<Record<string, EvidenceRule>>;
140
+ /** The census entry for a decision point, or undefined (an unknown decision
141
+ * point at the settlement write is counted, never thrown — §5.6). */
142
+ export declare function getCensusEntry(decisionPoint: string): ProvenanceCoverageEntry | undefined;
143
+ /** The census entry keyed by the 1:1 `attribution.component` enrollment key
144
+ * (the bridge the wired-but-silent / exempt-but-active runtime flags use). */
145
+ export declare function getCensusEntryByComponent(componentKey: string): ProvenanceCoverageEntry | undefined;
146
+ /** True iff the decision point is declared AND wired (enrolled). Pending and
147
+ * exempt points are NOT enrolled — the seam writes nothing for them. */
148
+ export declare function isEnrolled(decisionPoint: string): boolean;
149
+ /** The volume class governing the provenance JSONL row for an ENROLLED point
150
+ * (undefined for unknown/pending/exempt points — a forward-declared class on a
151
+ * pending entry is advisory and must not valve anything before enrollment). */
152
+ export declare function getVolumeClass(decisionPoint: string): VolumeClass | undefined;
153
+ /** The registered evidence rule for a ruleId, or undefined (the annotate
154
+ * chokepoint REJECTS and counts annotations claiming an unregistered id). */
155
+ export declare function getRule(ruleId: string): EvidenceRule | undefined;
156
+ //# sourceMappingURL=provenanceCoverage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provenanceCoverage.d.ts","sourceRoot":"","sources":["../../src/data/provenanceCoverage.ts"],"names":[],"mappings":"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"}