@dsh-triage/core 0.1.0 → 0.2.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.
package/dist/index.d.ts CHANGED
@@ -28,7 +28,11 @@ export type { DeclaredRow, FiberPhase, InventoryEntry, InventoryMeta, InventoryP
28
28
  export { FIBER_PHASES, INVENTORY_TRANSPORTS, compareInventory, evidenceMethod, findPresetDivergence, indexRuntimeIds, isFiberPhase, parseInventorySnapshot, phaseConclusion, resolveRuntimeId, verdictsFromInventory, } from './inventory.js';
29
29
  export type { Locale, MessageCatalog } from './messages.js';
30
30
  export { catalogFor, format } from './messages.js';
31
+ export type { LocalPrior, OutcomeArch, OutcomeKey, OutcomeLineRejection, OutcomeLineResult, OutcomeOs, OutcomeProbe, OutcomeProfileKind, OutcomeRecord, OutcomeRejection, OutcomeSanitizeResult, OutcomeSource, TimingBucket, } from './outcome.js';
32
+ export { EVIDENCE_TIER_VALUES, MAX_OUTCOME_BYTES, OUTCOME_ARCH_VALUES, OUTCOME_OS_VALUES, OUTCOME_PROFILE_KIND_VALUES, OUTCOME_SOURCE_VALUES, TIMING_BUCKET_VALUES, assertOutcomeLine, computeLocalPrior, isCompleteOutcomeKey, outcomeKeyOf, sameOutcomeKey, sanitizeOutcome, } from './outcome.js';
31
33
  export type { CapabilityDiff, CapabilityMeta, CapabilitySnapshot, CapabilityTool } from './capabilities.js';
32
34
  export { diffCapabilities, parseCapabilitySnapshot } from './capabilities.js';
35
+ export type { UpgradeBucket, UpgradeBundleInput, UpgradeCause, UpgradeCounts, UpgradeImpact, UpgradeImpactInput, UpgradeJudgement, UpgradeRegistryFact, UpgradeRegistryFailure, UpgradeRegistryNote, UpgradeRelation, UpgradeStanding, UpgradeStandingStatus, UpgradeUnit, } from './upgrade.js';
36
+ export { UPGRADE_BUCKETS, compareUnits, hasNewDenials, judgeUpgradeImpact, registryFactFor, renderUpgradeImpact, upgradeTargetProblem, } from './upgrade.js';
33
37
  export { redactEnv, redactPath, redactVerdict } from './redact.js';
34
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,cAAc,EACd,WAAW,EACX,eAAe,EACf,OAAO,EACP,cAAc,GACf,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAErC,YAAY,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,WAAW,EACX,kBAAkB,GACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAElG,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEzG,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC3F,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,UAAU,GACX,MAAM,aAAa,CAAA;AAEpB,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACnH,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,cAAc,CAAA;AAErB,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAE7D,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACtG,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE3E,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACnH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEvE,YAAY,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,GAChB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,gBAAgB,CAAA;AAEvB,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAElD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC3G,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAE7E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -16,6 +16,8 @@ export { judgeCompatChannel, readCompatChannel } from './compat-channel.js';
16
16
  export { judgeRangeShape, judgeVersionDrift } from './version-drift.js';
17
17
  export { FIBER_PHASES, INVENTORY_TRANSPORTS, compareInventory, evidenceMethod, findPresetDivergence, indexRuntimeIds, isFiberPhase, parseInventorySnapshot, phaseConclusion, resolveRuntimeId, verdictsFromInventory, } from './inventory.js';
18
18
  export { catalogFor, format } from './messages.js';
19
+ export { EVIDENCE_TIER_VALUES, MAX_OUTCOME_BYTES, OUTCOME_ARCH_VALUES, OUTCOME_OS_VALUES, OUTCOME_PROFILE_KIND_VALUES, OUTCOME_SOURCE_VALUES, TIMING_BUCKET_VALUES, assertOutcomeLine, computeLocalPrior, isCompleteOutcomeKey, outcomeKeyOf, sameOutcomeKey, sanitizeOutcome, } from './outcome.js';
19
20
  export { diffCapabilities, parseCapabilitySnapshot } from './capabilities.js';
21
+ export { UPGRADE_BUCKETS, compareUnits, hasNewDenials, judgeUpgradeImpact, registryFactFor, renderUpgradeImpact, upgradeTargetProblem, } from './upgrade.js';
20
22
  export { redactEnv, redactPath, redactVerdict } from './redact.js';
21
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAG9C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AASrC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAGlG,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAGzG,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,UAAU,GACX,MAAM,aAAa,CAAA;AAIpB,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAG7D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAG3E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAcvE,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGlD,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAE7E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAG9C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AASrC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAGlG,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAGzG,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,UAAU,GACX,MAAM,aAAa,CAAA;AAIpB,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAG7D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAG3E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAcvE,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAiBlD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAkB7E,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;AAEhC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACpD;AAgND,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAEzD;AAED,wHAAwH;AACxH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAMnG"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;AAEhC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACpD;AA0PD,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAEzD;AAED,wHAAwH;AACxH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAMnG"}
package/dist/messages.js CHANGED
@@ -105,6 +105,24 @@ const EN = {
105
105
  'probe.profile-link-dangling': '{count} local dependency/dependencies of the copied profile point at nothing ({links}) — the package manager reports this install as successful, which is why it is checked separately',
106
106
  'probe.profile-build-refused': "the copied profile's dependencies installed but the package manager refused to run their build scripts ({detail}) — the sandbox is not the same composition you run",
107
107
  'ui.more-reasons': '…{count} more reason(s); pass --json for the full list',
108
+ 'prior.annotation-only': 'this machine judged this exact key before; the prior is an annotation only and does not change the conclusion',
109
+ 'upgrade.header': 'target dsh {target} · {units} unit(s) read ({bundles} bundle(s), {rows} row(s))',
110
+ 'upgrade.relation.same': 'the target is the runtime this profile already runs ({target})',
111
+ 'upgrade.relation.newer': '{target} is newer than the running {current}',
112
+ 'upgrade.relation.older': '{target} is older than the running {current}',
113
+ 'upgrade.relation.unknown': 'the running runtime could not be read, so the direction of the move is unknown',
114
+ 'upgrade.profile-scope': 'this answer is about profile "{profile}" only (source: {source}); it says nothing about any other profile',
115
+ 'upgrade.admitted-only': 'admitted ≠ works: this list compares declared ranges against {target}; nothing here booted {target}',
116
+ 'upgrade.bucket.would-be-denied': 'would-be-denied · {count} unit(s) declare a range that excludes {target}',
117
+ 'upgrade.bucket.cannot-tell': 'cannot-tell · {count} unit(s) cannot be judged from declarations',
118
+ 'upgrade.bucket.improved': 'improved · {count} unit(s) are denied today and admitted by {target}',
119
+ 'upgrade.bucket.likely-fine': 'likely-fine · {count} unit(s) declare a range that includes {target}',
120
+ 'upgrade.already-denied': 'already denied by the running {current}: the upgrade did not cause this',
121
+ 'upgrade.unusable-declaration': 'the declaration can never be satisfied (empty / not semver / workspace:), so no runtime admits it — not even {target}',
122
+ 'upgrade.registry-annotation': 'secondary evidence only: {package}@{version} declares {range}, which {verdict} {target} — this does not move the unit',
123
+ 'upgrade.more-units': '… {count} more unit(s) in this bucket; pass --json for the full list',
124
+ 'upgrade.more-fixes': '… {count} more fix(es); pass --json for the full list',
125
+ 'upgrade.nothing-sampled': 'nothing was sampled: profile "{profile}" has no bundle layer and no loader row, so there is no impact to report (this is not a clean bill of health)',
108
126
  },
109
127
  };
110
128
  const ZH = {
@@ -206,6 +224,24 @@ const ZH = {
206
224
  'probe.profile-link-dangling': '复制的组合里有 {count} 个本地依赖指向不存在的位置({links})——包管理器会把这种安装报告成成功,所以要单独检查',
207
225
  'probe.profile-build-refused': '复制组合的依赖装上了,但包管理器拒绝运行它们的构建脚本({detail})——这里的组合不等于你实际跑的那一份',
208
226
  'ui.more-reasons': '…还有 {count} 条原因;加 --json 看完整列表',
227
+ 'prior.annotation-only': '这台机器过去对这个精确键判过;此处只作注解,不改变结论',
228
+ 'upgrade.header': '目标 dsh {target} · 读到 {units} 个单元({bundles} 个 bundle,{rows} 条 row)',
229
+ 'upgrade.relation.same': '目标就是这个 profile 正在跑的运行时({target})',
230
+ 'upgrade.relation.newer': '{target} 比正在跑的 {current} 新',
231
+ 'upgrade.relation.older': '{target} 比正在跑的 {current} 旧',
232
+ 'upgrade.relation.unknown': '读不到正在跑的运行时,所以这次移动的方向未知',
233
+ 'upgrade.profile-scope': '本结论只关于 profile「{profile}」(来源:{source}),对其它 profile 不成立',
234
+ 'upgrade.admitted-only': '放行 ≠ 能用:这份清单只比对声明区间与 {target},没有任何一次 {target} 上的真实启动',
235
+ 'upgrade.bucket.would-be-denied': 'would-be-denied · {count} 个单元的声明区间不含 {target}',
236
+ 'upgrade.bucket.cannot-tell': 'cannot-tell · {count} 个单元无法从声明判断',
237
+ 'upgrade.bucket.improved': 'improved · {count} 个单元现在被拒、{target} 会放行',
238
+ 'upgrade.bucket.likely-fine': 'likely-fine · {count} 个单元的声明区间含 {target}',
239
+ 'upgrade.already-denied': '现在跑着的 {current} 就已经拒了它:这次升级不是原因',
240
+ 'upgrade.unusable-declaration': '声明永远不可能被满足(空 / 不是 semver / workspace:),任何运行时都不放行——包括 {target}',
241
+ 'upgrade.registry-annotation': '仅次要证据:{package}@{version} 声明了 {range},在 {target} 上{verdict}——它不会改变这个单元的分桶',
242
+ 'upgrade.more-units': '…这个桶里还有 {count} 个单元;加 --json 看完整列表',
243
+ 'upgrade.more-fixes': '…还有 {count} 条修复建议;加 --json 看完整列表',
244
+ 'upgrade.nothing-sampled': '什么都没采到:profile「{profile}」既没有 bundle 层也没有 loader row,因此没有影响可报(这不是「一切正常」)',
209
245
  },
210
246
  };
211
247
  const CATALOGS = { en: EN, zh: ZH };
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Local outcome records: the whitelist that proves a record carries no PII.
3
+ *
4
+ * WHY THIS MODULE EXISTS (spec `docs/specs/M5-reflow.md` §3–§5, `T-501`):
5
+ * "we only store the four-state conclusion" is a claim; a whitelist projection that
6
+ * *rejects* the whole line when one unknown key appears is an enforcement. Everything
7
+ * the local store can hold is declared here, and there is exactly one function that
8
+ * decides whether a candidate record is allowed to reach disk (`sanitizeOutcome`) and
9
+ * one that decides whether an existing line may be read back (`assertOutcomeLine`).
10
+ *
11
+ * WHAT THIS MODULE MUST NEVER DO (§12 of the spec, machine-checked by the
12
+ * `outcome-privacy` check of `scripts/gate_governance.mjs`):
13
+ * - no network client of any kind, no `fs`, no clock, no `process.env`;
14
+ * - no randomness: `id` and `at` are injected by the caller, exactly like `generatedAt`
15
+ * in `verdict.ts`;
16
+ * - no repair: a rejected record is rejected, never "cleaned up and written anyway".
17
+ *
18
+ * TIER DISCIPLINE (`ADR-0011` option A): a `LocalPrior` is an *annotation*. It never
19
+ * enters `conclusion` / `confidence` / `evidence[]`, and there is no evidence tier for
20
+ * it (`measured-local` is reused as a label for "this machine measured this before").
21
+ */
22
+ import { type Conclusion, type EvidenceTier } from './types.js';
23
+ /** Why a candidate record was refused. Closed set; `sanitizeOutcome` never invents one. */
24
+ export type OutcomeRejection = 'not-an-object' | 'unknown-field' | 'value-shape' | 'too-long' | 'bad-timestamp';
25
+ /** Why a stored line could not be read back. Adds the parse step to {@link OutcomeRejection}. */
26
+ export type OutcomeLineRejection = OutcomeRejection | 'not-json';
27
+ export type OutcomeOs = 'win32' | 'darwin' | 'linux' | 'freebsd' | 'other';
28
+ export type OutcomeArch = 'x64' | 'arm64' | 'ia32' | 'other';
29
+ export type OutcomeProfileKind = 'web' | 'tui' | 'headless' | 'unknown';
30
+ export type OutcomeSource = 'check' | 'probe';
31
+ /** Coarse timing bucket. Milliseconds are a high-entropy fingerprint (`BS-32`, spec §3.2). */
32
+ export type TimingBucket = 'lt5s' | '5to20s' | '20to60s' | 'gte60s';
33
+ export declare const OUTCOME_OS_VALUES: readonly ["win32", "darwin", "linux", "freebsd", "other"];
34
+ export declare const OUTCOME_ARCH_VALUES: readonly ["x64", "arm64", "ia32", "other"];
35
+ export declare const OUTCOME_PROFILE_KIND_VALUES: readonly ["web", "tui", "headless", "unknown"];
36
+ export declare const OUTCOME_SOURCE_VALUES: readonly ["check", "probe"];
37
+ export declare const TIMING_BUCKET_VALUES: readonly ["lt5s", "5to20s", "20to60s", "gte60s"];
38
+ /** The five evidence tiers, as a value list, so the sanitizer does not have to trust a cast. */
39
+ export declare const EVIDENCE_TIER_VALUES: readonly ["inferred", "declared", "scanned", "measured-registry", "measured-local"];
40
+ /** One line of `outcomes.jsonl`. Field order here is the serialization order (determinism). */
41
+ export interface OutcomeRecord {
42
+ readonly schema_version: 1;
43
+ /** 32 lowercase hex characters. Local bookkeeping only; never enters the repository (§3.1). */
44
+ readonly id: string;
45
+ readonly at: string;
46
+ readonly source: OutcomeSource;
47
+ readonly package: string;
48
+ readonly version: string;
49
+ readonly dsh_version: string | null;
50
+ readonly os: OutcomeOs;
51
+ readonly arch: OutcomeArch;
52
+ readonly node_major: number;
53
+ readonly profile_kind: OutcomeProfileKind;
54
+ readonly conclusion: Conclusion;
55
+ readonly reason_message_ids: readonly string[];
56
+ readonly evidence_tiers: readonly EvidenceTier[];
57
+ readonly probe: OutcomeProbe | null;
58
+ }
59
+ export interface OutcomeProbe {
60
+ readonly total_ms_bucket: TimingBucket;
61
+ /** `null` for a surface without HTTP + render (`BS-23`: `tui` / `headless`). */
62
+ readonly boot_ms_bucket: TimingBucket | null;
63
+ }
64
+ /** The seven-tuple a record is valid for (§2). Any differing position is a different key. */
65
+ export interface OutcomeKey {
66
+ readonly package: string;
67
+ readonly version: string;
68
+ readonly dsh: string | null;
69
+ readonly os: OutcomeOs;
70
+ readonly arch: OutcomeArch;
71
+ readonly node_major: number;
72
+ readonly profile_kind: OutcomeProfileKind;
73
+ }
74
+ /**
75
+ * The `prior` annotation block (`check --explain`). Shape is pinned by spec §10.2; it is
76
+ * deliberately NOT part of `Verdict` — it is a sibling object the CLI renders.
77
+ */
78
+ export interface LocalPrior {
79
+ readonly schema_version: 1;
80
+ readonly annotation_only: true;
81
+ readonly key: OutcomeKey;
82
+ readonly source: 'local-outcomes';
83
+ readonly method: 'outcome-log';
84
+ readonly n: number;
85
+ readonly counts: Readonly<Record<Conclusion, number>>;
86
+ readonly majority: Conclusion | null;
87
+ readonly agreement: number | null;
88
+ readonly tier: 'measured-local';
89
+ readonly evidence_id: 'prior-local';
90
+ readonly note_id: 'prior.annotation-only';
91
+ }
92
+ export type OutcomeSanitizeResult = {
93
+ readonly ok: true;
94
+ readonly record: OutcomeRecord;
95
+ } | {
96
+ readonly ok: false;
97
+ readonly reason: OutcomeRejection;
98
+ readonly field: string | null;
99
+ };
100
+ export type OutcomeLineResult = {
101
+ readonly ok: true;
102
+ readonly record: OutcomeRecord;
103
+ } | {
104
+ readonly ok: false;
105
+ readonly reason: OutcomeLineRejection;
106
+ readonly field: string | null;
107
+ };
108
+ /** One line, 1024 bytes. A defence line, not a formatting preference (§5.5). */
109
+ export declare const MAX_OUTCOME_BYTES = 1024;
110
+ /**
111
+ * Project a candidate record onto the whitelist, or refuse it.
112
+ *
113
+ * Order of operations is the contract (§5): unknown keys → value domains → forbidden
114
+ * shapes over the *assembled* record → byte cap. A rejection never mutates the input and
115
+ * never returns a partially cleaned record.
116
+ */
117
+ export declare function sanitizeOutcome(input: unknown): OutcomeSanitizeResult;
118
+ /**
119
+ * Read back one stored line.
120
+ *
121
+ * WHY A SECOND FUNCTION: reading is where a hand-edited or corrupted library turns into fake
122
+ * evidence. A line that does not validate is dropped by the caller and counted as
123
+ * `rejected_lines`; it is never repaired, and it never aborts the whole read.
124
+ */
125
+ export declare function assertOutcomeLine(line: string): OutcomeLineResult;
126
+ /** The seven-tuple of a record (§2). One definition, so the store, the prior and D4 agree. */
127
+ export declare function outcomeKeyOf(record: OutcomeRecord): OutcomeKey;
128
+ /** A key is usable for prior matching only when all seven positions are known (§2, B10). */
129
+ export declare function isCompleteOutcomeKey(key: OutcomeKey): boolean;
130
+ export declare function sameOutcomeKey(left: OutcomeKey, right: OutcomeKey): boolean;
131
+ /**
132
+ * The local prior for one key: counts, strict majority, agreement.
133
+ *
134
+ * `majority` is a **strict majority** (`counts[majority] * 2 > n`), so a tie - and any
135
+ * plurality that does not exceed half - reads as "no majority" rather than as a winner.
136
+ * Stricter than a plain mode on purpose: this number is shown to a user next to a verdict
137
+ * that it must not influence (`ADR-0011` §4.1), and "2 of 4 said go" is not a majority.
138
+ *
139
+ * Returns `null` when the key is incomplete or `n = 0`, and the caller then omits the whole
140
+ * `prior` key (§10.2: "nothing" must be distinguishable from "empty").
141
+ */
142
+ export declare function computeLocalPrior(records: readonly OutcomeRecord[], key: OutcomeKey): LocalPrior | null;
143
+ //# sourceMappingURL=outcome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../src/outcome.ts"],"names":[],"mappings":"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"}