@empressaio/atom-contract 1.15.0 → 1.17.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.
@@ -0,0 +1,646 @@
1
+ import { z } from "zod";
2
+ import type { AccessPolicy } from "../registration.js";
3
+ import type { AtomTier } from "../conformance/common.js";
4
+ import type { ReasoningChain } from "../reasoning-chain.js";
5
+ import type { ReasoningReadContract } from "../read-contract/reasoning-axes.js";
6
+ import { type RailCorridorAbsence, type RailCorridorAtGradeCrossing, type RailCorridorClass, type RailCorridorSourceTier, type RailCorridorStatus, type SiteLayerVerifiedAbsence } from "./common.js";
7
+ /**
8
+ * Rail corridor FACT atom — NTAD NARN proximity / ROW exposure or honest absence.
9
+ *
10
+ * Parcels outside the evaluation buffer are PRESENT with `nearRailCorridor: false`
11
+ * (same outside-mapped discipline as flood-hazard-fact). Absence is for missing
12
+ * parcel geometry or an empty/unreachable rail index only.
13
+ */
14
+ export interface RailCorridorFactAtomInstance {
15
+ entityType: "rail-corridor-fact";
16
+ atomDid: string;
17
+ parcelNodeId: string;
18
+ reasoningChain: Extract<ReasoningChain, {
19
+ reasoningKind: "observed";
20
+ }>;
21
+ sourceTier: RailCorridorSourceTier;
22
+ /** Buffer distance used for parcel-edge ↔ corridor line evaluation (meters). */
23
+ bufferMeters: number;
24
+ /** True when any corridor segment lies within bufferMeters of a parcel edge. */
25
+ nearRailCorridor?: boolean;
26
+ corridorStatus?: RailCorridorStatus;
27
+ corridorClass?: RailCorridorClass;
28
+ /** Minimum edge-to-corridor distance when nearRailCorridor is true (meters). */
29
+ nearestCorridorDistanceMeters?: number;
30
+ /** At-grade crossings within bufferMeters of the parcel boundary. */
31
+ atGradeCrossings?: ReadonlyArray<RailCorridorAtGradeCrossing>;
32
+ absence?: RailCorridorAbsence;
33
+ verifiedAbsence?: SiteLayerVerifiedAbsence;
34
+ accessPolicy: AccessPolicy;
35
+ sourceCitation: string;
36
+ extractedAt: string;
37
+ asOf?: string;
38
+ sourceVintage?: string;
39
+ verificationStatus: "machine" | "human" | "unsurveyed";
40
+ sourceAdapter: string;
41
+ evaluatedAt: string;
42
+ atomTier: AtomTier;
43
+ readContract?: ReasoningReadContract;
44
+ }
45
+ export declare const RAIL_CORRIDOR_FACT_SCHEMA: z.ZodEffects<z.ZodObject<{
46
+ atomTier: z.ZodLiteral<AtomTier>;
47
+ readContract: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
48
+ axes: z.ZodReadonly<z.ZodObject<{
49
+ calibratedConfidence: z.ZodReadonly<z.ZodObject<{
50
+ readonly estimate: z.ZodNumber;
51
+ readonly n: z.ZodNumber;
52
+ readonly intervalWidth: z.ZodNumber;
53
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
54
+ }, "strip", z.ZodTypeAny, {
55
+ estimate: number;
56
+ n: number;
57
+ intervalWidth: number;
58
+ provenance: "asserted" | "backtest" | "seed" | "live";
59
+ }, {
60
+ estimate: number;
61
+ n: number;
62
+ intervalWidth: number;
63
+ provenance: "asserted" | "backtest" | "seed" | "live";
64
+ }>>;
65
+ assertedConfidence: z.ZodReadonly<z.ZodObject<{
66
+ readonly estimate: z.ZodNumber;
67
+ readonly n: z.ZodNumber;
68
+ readonly intervalWidth: z.ZodNumber;
69
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ estimate: number;
72
+ n: number;
73
+ intervalWidth: number;
74
+ provenance: "asserted" | "backtest" | "seed" | "live";
75
+ }, {
76
+ estimate: number;
77
+ n: number;
78
+ intervalWidth: number;
79
+ provenance: "asserted" | "backtest" | "seed" | "live";
80
+ }>>;
81
+ consequence: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
82
+ kind: z.ZodLiteral<"property-risk">;
83
+ stratum: z.ZodEnum<[import("../read-contract/reasoning-axes.js").PropertyRiskStratum, ...import("../read-contract/reasoning-axes.js").PropertyRiskStratum[]]>;
84
+ basis: z.ZodString;
85
+ assertedAt: z.ZodString;
86
+ auditRef: z.ZodOptional<z.ZodString>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
89
+ assertedAt: string;
90
+ kind: "property-risk";
91
+ basis: string;
92
+ auditRef?: string | undefined;
93
+ }, {
94
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
95
+ assertedAt: string;
96
+ kind: "property-risk";
97
+ basis: string;
98
+ auditRef?: string | undefined;
99
+ }>, z.ZodObject<{
100
+ kind: z.ZodLiteral<"not-applicable">;
101
+ reason: z.ZodString;
102
+ assertedAt: z.ZodString;
103
+ }, "strip", z.ZodTypeAny, {
104
+ assertedAt: string;
105
+ kind: "not-applicable";
106
+ reason: string;
107
+ }, {
108
+ assertedAt: string;
109
+ kind: "not-applicable";
110
+ reason: string;
111
+ }>]>;
112
+ }, "strip", z.ZodTypeAny, {
113
+ calibratedConfidence: Readonly<{
114
+ estimate: number;
115
+ n: number;
116
+ intervalWidth: number;
117
+ provenance: "asserted" | "backtest" | "seed" | "live";
118
+ }>;
119
+ assertedConfidence: Readonly<{
120
+ estimate: number;
121
+ n: number;
122
+ intervalWidth: number;
123
+ provenance: "asserted" | "backtest" | "seed" | "live";
124
+ }>;
125
+ consequence: {
126
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
127
+ assertedAt: string;
128
+ kind: "property-risk";
129
+ basis: string;
130
+ auditRef?: string | undefined;
131
+ } | {
132
+ assertedAt: string;
133
+ kind: "not-applicable";
134
+ reason: string;
135
+ };
136
+ }, {
137
+ calibratedConfidence: Readonly<{
138
+ estimate: number;
139
+ n: number;
140
+ intervalWidth: number;
141
+ provenance: "asserted" | "backtest" | "seed" | "live";
142
+ }>;
143
+ assertedConfidence: Readonly<{
144
+ estimate: number;
145
+ n: number;
146
+ intervalWidth: number;
147
+ provenance: "asserted" | "backtest" | "seed" | "live";
148
+ }>;
149
+ consequence: {
150
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
151
+ assertedAt: string;
152
+ kind: "property-risk";
153
+ basis: string;
154
+ auditRef?: string | undefined;
155
+ } | {
156
+ assertedAt: string;
157
+ kind: "not-applicable";
158
+ reason: string;
159
+ };
160
+ }>>;
161
+ assembledAt: z.ZodString;
162
+ modelAttribution: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
163
+ modelId: z.ZodString;
164
+ modelVersion: z.ZodString;
165
+ promptTemplateVersion: z.ZodString;
166
+ contextTemplateVersion: z.ZodString;
167
+ samplingParams: z.ZodReadonly<z.ZodObject<{
168
+ temperature: z.ZodOptional<z.ZodNumber>;
169
+ topP: z.ZodOptional<z.ZodNumber>;
170
+ maxTokens: z.ZodOptional<z.ZodNumber>;
171
+ seed: z.ZodOptional<z.ZodNumber>;
172
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
173
+ temperature: z.ZodOptional<z.ZodNumber>;
174
+ topP: z.ZodOptional<z.ZodNumber>;
175
+ maxTokens: z.ZodOptional<z.ZodNumber>;
176
+ seed: z.ZodOptional<z.ZodNumber>;
177
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
178
+ temperature: z.ZodOptional<z.ZodNumber>;
179
+ topP: z.ZodOptional<z.ZodNumber>;
180
+ maxTokens: z.ZodOptional<z.ZodNumber>;
181
+ seed: z.ZodOptional<z.ZodNumber>;
182
+ }, z.ZodUnknown, "strip">>>;
183
+ retrievedAtomSetId: z.ZodString;
184
+ }, "strip", z.ZodTypeAny, {
185
+ modelId: string;
186
+ modelVersion: string;
187
+ promptTemplateVersion: string;
188
+ contextTemplateVersion: string;
189
+ samplingParams: Readonly<z.objectOutputType<{
190
+ temperature: z.ZodOptional<z.ZodNumber>;
191
+ topP: z.ZodOptional<z.ZodNumber>;
192
+ maxTokens: z.ZodOptional<z.ZodNumber>;
193
+ seed: z.ZodOptional<z.ZodNumber>;
194
+ }, z.ZodUnknown, "strip">>;
195
+ retrievedAtomSetId: string;
196
+ }, {
197
+ modelId: string;
198
+ modelVersion: string;
199
+ promptTemplateVersion: string;
200
+ contextTemplateVersion: string;
201
+ samplingParams: Readonly<z.objectInputType<{
202
+ temperature: z.ZodOptional<z.ZodNumber>;
203
+ topP: z.ZodOptional<z.ZodNumber>;
204
+ maxTokens: z.ZodOptional<z.ZodNumber>;
205
+ seed: z.ZodOptional<z.ZodNumber>;
206
+ }, z.ZodUnknown, "strip">>;
207
+ retrievedAtomSetId: string;
208
+ }>>>;
209
+ }, "strip", z.ZodTypeAny, {
210
+ axes: Readonly<{
211
+ calibratedConfidence: Readonly<{
212
+ estimate: number;
213
+ n: number;
214
+ intervalWidth: number;
215
+ provenance: "asserted" | "backtest" | "seed" | "live";
216
+ }>;
217
+ assertedConfidence: Readonly<{
218
+ estimate: number;
219
+ n: number;
220
+ intervalWidth: number;
221
+ provenance: "asserted" | "backtest" | "seed" | "live";
222
+ }>;
223
+ consequence: {
224
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
225
+ assertedAt: string;
226
+ kind: "property-risk";
227
+ basis: string;
228
+ auditRef?: string | undefined;
229
+ } | {
230
+ assertedAt: string;
231
+ kind: "not-applicable";
232
+ reason: string;
233
+ };
234
+ }>;
235
+ assembledAt: string;
236
+ modelAttribution?: Readonly<{
237
+ modelId: string;
238
+ modelVersion: string;
239
+ promptTemplateVersion: string;
240
+ contextTemplateVersion: string;
241
+ samplingParams: Readonly<z.objectOutputType<{
242
+ temperature: z.ZodOptional<z.ZodNumber>;
243
+ topP: z.ZodOptional<z.ZodNumber>;
244
+ maxTokens: z.ZodOptional<z.ZodNumber>;
245
+ seed: z.ZodOptional<z.ZodNumber>;
246
+ }, z.ZodUnknown, "strip">>;
247
+ retrievedAtomSetId: string;
248
+ }> | undefined;
249
+ }, {
250
+ axes: Readonly<{
251
+ calibratedConfidence: Readonly<{
252
+ estimate: number;
253
+ n: number;
254
+ intervalWidth: number;
255
+ provenance: "asserted" | "backtest" | "seed" | "live";
256
+ }>;
257
+ assertedConfidence: Readonly<{
258
+ estimate: number;
259
+ n: number;
260
+ intervalWidth: number;
261
+ provenance: "asserted" | "backtest" | "seed" | "live";
262
+ }>;
263
+ consequence: {
264
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
265
+ assertedAt: string;
266
+ kind: "property-risk";
267
+ basis: string;
268
+ auditRef?: string | undefined;
269
+ } | {
270
+ assertedAt: string;
271
+ kind: "not-applicable";
272
+ reason: string;
273
+ };
274
+ }>;
275
+ assembledAt: string;
276
+ modelAttribution?: Readonly<{
277
+ modelId: string;
278
+ modelVersion: string;
279
+ promptTemplateVersion: string;
280
+ contextTemplateVersion: string;
281
+ samplingParams: Readonly<z.objectInputType<{
282
+ temperature: z.ZodOptional<z.ZodNumber>;
283
+ topP: z.ZodOptional<z.ZodNumber>;
284
+ maxTokens: z.ZodOptional<z.ZodNumber>;
285
+ seed: z.ZodOptional<z.ZodNumber>;
286
+ }, z.ZodUnknown, "strip">>;
287
+ retrievedAtomSetId: string;
288
+ }> | undefined;
289
+ }>>>;
290
+ sourceVintage: z.ZodOptional<z.ZodString>;
291
+ verificationStatus: z.ZodEnum<["machine", "human", "unsurveyed"]>;
292
+ sourceAdapter: z.ZodString;
293
+ evaluatedAt: z.ZodString;
294
+ sourceCitation: z.ZodString;
295
+ extractedAt: z.ZodString;
296
+ asOf: z.ZodOptional<z.ZodString>;
297
+ entityType: z.ZodLiteral<"rail-corridor-fact">;
298
+ atomDid: z.ZodEffects<z.ZodString, string, string>;
299
+ parcelNodeId: z.ZodEffects<z.ZodString, string, string>;
300
+ reasoningChain: z.ZodObject<{
301
+ reasoningKind: z.ZodLiteral<"observed">;
302
+ }, "strip", z.ZodTypeAny, {
303
+ reasoningKind: "observed";
304
+ }, {
305
+ reasoningKind: "observed";
306
+ }>;
307
+ sourceTier: z.ZodEnum<["ntad-narn", "absent"]>;
308
+ bufferMeters: z.ZodNumber;
309
+ nearRailCorridor: z.ZodOptional<z.ZodBoolean>;
310
+ corridorStatus: z.ZodOptional<z.ZodEnum<["active", "abandoned", "rail-trail"]>>;
311
+ corridorClass: z.ZodOptional<z.ZodEnum<["mainline", "spur", "yard"]>>;
312
+ nearestCorridorDistanceMeters: z.ZodOptional<z.ZodNumber>;
313
+ atGradeCrossings: z.ZodOptional<z.ZodArray<z.ZodObject<{
314
+ crossingId: z.ZodString;
315
+ distanceMeters: z.ZodNumber;
316
+ }, "strict", z.ZodTypeAny, {
317
+ crossingId: string;
318
+ distanceMeters: number;
319
+ }, {
320
+ crossingId: string;
321
+ distanceMeters: number;
322
+ }>, "many">>;
323
+ absence: z.ZodOptional<z.ZodObject<{
324
+ kind: z.ZodEnum<["no-rail-coverage", "no-parcel-geometry"]>;
325
+ reason: z.ZodString;
326
+ }, "strict", z.ZodTypeAny, {
327
+ kind: "no-parcel-geometry" | "no-rail-coverage";
328
+ reason: string;
329
+ }, {
330
+ kind: "no-parcel-geometry" | "no-rail-coverage";
331
+ reason: string;
332
+ }>>;
333
+ verifiedAbsence: z.ZodOptional<z.ZodObject<{
334
+ evaluated: z.ZodLiteral<true>;
335
+ provenanceScope: z.ZodArray<z.ZodString, "many">;
336
+ }, "strict", z.ZodTypeAny, {
337
+ evaluated: true;
338
+ provenanceScope: string[];
339
+ }, {
340
+ evaluated: true;
341
+ provenanceScope: string[];
342
+ }>>;
343
+ accessPolicy: z.ZodEnum<["public-free", "public-paid", "platform-internal", "tenant-private", "tenant-shared"]>;
344
+ }, "strip", z.ZodTypeAny, {
345
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
346
+ entityType: "rail-corridor-fact";
347
+ sourceCitation: string;
348
+ extractedAt: string;
349
+ atomDid: string;
350
+ evaluatedAt: string;
351
+ verificationStatus: "machine" | "human" | "unsurveyed";
352
+ sourceAdapter: string;
353
+ parcelNodeId: string;
354
+ reasoningChain: {
355
+ reasoningKind: "observed";
356
+ };
357
+ atomTier: AtomTier;
358
+ sourceTier: "absent" | "ntad-narn";
359
+ bufferMeters: number;
360
+ asOf?: string | undefined;
361
+ readContract?: Readonly<{
362
+ axes: Readonly<{
363
+ calibratedConfidence: Readonly<{
364
+ estimate: number;
365
+ n: number;
366
+ intervalWidth: number;
367
+ provenance: "asserted" | "backtest" | "seed" | "live";
368
+ }>;
369
+ assertedConfidence: Readonly<{
370
+ estimate: number;
371
+ n: number;
372
+ intervalWidth: number;
373
+ provenance: "asserted" | "backtest" | "seed" | "live";
374
+ }>;
375
+ consequence: {
376
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
377
+ assertedAt: string;
378
+ kind: "property-risk";
379
+ basis: string;
380
+ auditRef?: string | undefined;
381
+ } | {
382
+ assertedAt: string;
383
+ kind: "not-applicable";
384
+ reason: string;
385
+ };
386
+ }>;
387
+ assembledAt: string;
388
+ modelAttribution?: Readonly<{
389
+ modelId: string;
390
+ modelVersion: string;
391
+ promptTemplateVersion: string;
392
+ contextTemplateVersion: string;
393
+ samplingParams: Readonly<z.objectOutputType<{
394
+ temperature: z.ZodOptional<z.ZodNumber>;
395
+ topP: z.ZodOptional<z.ZodNumber>;
396
+ maxTokens: z.ZodOptional<z.ZodNumber>;
397
+ seed: z.ZodOptional<z.ZodNumber>;
398
+ }, z.ZodUnknown, "strip">>;
399
+ retrievedAtomSetId: string;
400
+ }> | undefined;
401
+ }> | undefined;
402
+ absence?: {
403
+ kind: "no-parcel-geometry" | "no-rail-coverage";
404
+ reason: string;
405
+ } | undefined;
406
+ verifiedAbsence?: {
407
+ evaluated: true;
408
+ provenanceScope: string[];
409
+ } | undefined;
410
+ sourceVintage?: string | undefined;
411
+ nearRailCorridor?: boolean | undefined;
412
+ corridorStatus?: "active" | "abandoned" | "rail-trail" | undefined;
413
+ corridorClass?: "mainline" | "spur" | "yard" | undefined;
414
+ nearestCorridorDistanceMeters?: number | undefined;
415
+ atGradeCrossings?: {
416
+ crossingId: string;
417
+ distanceMeters: number;
418
+ }[] | undefined;
419
+ }, {
420
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
421
+ entityType: "rail-corridor-fact";
422
+ sourceCitation: string;
423
+ extractedAt: string;
424
+ atomDid: string;
425
+ evaluatedAt: string;
426
+ verificationStatus: "machine" | "human" | "unsurveyed";
427
+ sourceAdapter: string;
428
+ parcelNodeId: string;
429
+ reasoningChain: {
430
+ reasoningKind: "observed";
431
+ };
432
+ atomTier: AtomTier;
433
+ sourceTier: "absent" | "ntad-narn";
434
+ bufferMeters: number;
435
+ asOf?: string | undefined;
436
+ readContract?: Readonly<{
437
+ axes: Readonly<{
438
+ calibratedConfidence: Readonly<{
439
+ estimate: number;
440
+ n: number;
441
+ intervalWidth: number;
442
+ provenance: "asserted" | "backtest" | "seed" | "live";
443
+ }>;
444
+ assertedConfidence: Readonly<{
445
+ estimate: number;
446
+ n: number;
447
+ intervalWidth: number;
448
+ provenance: "asserted" | "backtest" | "seed" | "live";
449
+ }>;
450
+ consequence: {
451
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
452
+ assertedAt: string;
453
+ kind: "property-risk";
454
+ basis: string;
455
+ auditRef?: string | undefined;
456
+ } | {
457
+ assertedAt: string;
458
+ kind: "not-applicable";
459
+ reason: string;
460
+ };
461
+ }>;
462
+ assembledAt: string;
463
+ modelAttribution?: Readonly<{
464
+ modelId: string;
465
+ modelVersion: string;
466
+ promptTemplateVersion: string;
467
+ contextTemplateVersion: string;
468
+ samplingParams: Readonly<z.objectInputType<{
469
+ temperature: z.ZodOptional<z.ZodNumber>;
470
+ topP: z.ZodOptional<z.ZodNumber>;
471
+ maxTokens: z.ZodOptional<z.ZodNumber>;
472
+ seed: z.ZodOptional<z.ZodNumber>;
473
+ }, z.ZodUnknown, "strip">>;
474
+ retrievedAtomSetId: string;
475
+ }> | undefined;
476
+ }> | undefined;
477
+ absence?: {
478
+ kind: "no-parcel-geometry" | "no-rail-coverage";
479
+ reason: string;
480
+ } | undefined;
481
+ verifiedAbsence?: {
482
+ evaluated: true;
483
+ provenanceScope: string[];
484
+ } | undefined;
485
+ sourceVintage?: string | undefined;
486
+ nearRailCorridor?: boolean | undefined;
487
+ corridorStatus?: "active" | "abandoned" | "rail-trail" | undefined;
488
+ corridorClass?: "mainline" | "spur" | "yard" | undefined;
489
+ nearestCorridorDistanceMeters?: number | undefined;
490
+ atGradeCrossings?: {
491
+ crossingId: string;
492
+ distanceMeters: number;
493
+ }[] | undefined;
494
+ }>, {
495
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
496
+ entityType: "rail-corridor-fact";
497
+ sourceCitation: string;
498
+ extractedAt: string;
499
+ atomDid: string;
500
+ evaluatedAt: string;
501
+ verificationStatus: "machine" | "human" | "unsurveyed";
502
+ sourceAdapter: string;
503
+ parcelNodeId: string;
504
+ reasoningChain: {
505
+ reasoningKind: "observed";
506
+ };
507
+ atomTier: AtomTier;
508
+ sourceTier: "absent" | "ntad-narn";
509
+ bufferMeters: number;
510
+ asOf?: string | undefined;
511
+ readContract?: Readonly<{
512
+ axes: Readonly<{
513
+ calibratedConfidence: Readonly<{
514
+ estimate: number;
515
+ n: number;
516
+ intervalWidth: number;
517
+ provenance: "asserted" | "backtest" | "seed" | "live";
518
+ }>;
519
+ assertedConfidence: Readonly<{
520
+ estimate: number;
521
+ n: number;
522
+ intervalWidth: number;
523
+ provenance: "asserted" | "backtest" | "seed" | "live";
524
+ }>;
525
+ consequence: {
526
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
527
+ assertedAt: string;
528
+ kind: "property-risk";
529
+ basis: string;
530
+ auditRef?: string | undefined;
531
+ } | {
532
+ assertedAt: string;
533
+ kind: "not-applicable";
534
+ reason: string;
535
+ };
536
+ }>;
537
+ assembledAt: string;
538
+ modelAttribution?: Readonly<{
539
+ modelId: string;
540
+ modelVersion: string;
541
+ promptTemplateVersion: string;
542
+ contextTemplateVersion: string;
543
+ samplingParams: Readonly<z.objectOutputType<{
544
+ temperature: z.ZodOptional<z.ZodNumber>;
545
+ topP: z.ZodOptional<z.ZodNumber>;
546
+ maxTokens: z.ZodOptional<z.ZodNumber>;
547
+ seed: z.ZodOptional<z.ZodNumber>;
548
+ }, z.ZodUnknown, "strip">>;
549
+ retrievedAtomSetId: string;
550
+ }> | undefined;
551
+ }> | undefined;
552
+ absence?: {
553
+ kind: "no-parcel-geometry" | "no-rail-coverage";
554
+ reason: string;
555
+ } | undefined;
556
+ verifiedAbsence?: {
557
+ evaluated: true;
558
+ provenanceScope: string[];
559
+ } | undefined;
560
+ sourceVintage?: string | undefined;
561
+ nearRailCorridor?: boolean | undefined;
562
+ corridorStatus?: "active" | "abandoned" | "rail-trail" | undefined;
563
+ corridorClass?: "mainline" | "spur" | "yard" | undefined;
564
+ nearestCorridorDistanceMeters?: number | undefined;
565
+ atGradeCrossings?: {
566
+ crossingId: string;
567
+ distanceMeters: number;
568
+ }[] | undefined;
569
+ }, {
570
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
571
+ entityType: "rail-corridor-fact";
572
+ sourceCitation: string;
573
+ extractedAt: string;
574
+ atomDid: string;
575
+ evaluatedAt: string;
576
+ verificationStatus: "machine" | "human" | "unsurveyed";
577
+ sourceAdapter: string;
578
+ parcelNodeId: string;
579
+ reasoningChain: {
580
+ reasoningKind: "observed";
581
+ };
582
+ atomTier: AtomTier;
583
+ sourceTier: "absent" | "ntad-narn";
584
+ bufferMeters: number;
585
+ asOf?: string | undefined;
586
+ readContract?: Readonly<{
587
+ axes: Readonly<{
588
+ calibratedConfidence: Readonly<{
589
+ estimate: number;
590
+ n: number;
591
+ intervalWidth: number;
592
+ provenance: "asserted" | "backtest" | "seed" | "live";
593
+ }>;
594
+ assertedConfidence: Readonly<{
595
+ estimate: number;
596
+ n: number;
597
+ intervalWidth: number;
598
+ provenance: "asserted" | "backtest" | "seed" | "live";
599
+ }>;
600
+ consequence: {
601
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
602
+ assertedAt: string;
603
+ kind: "property-risk";
604
+ basis: string;
605
+ auditRef?: string | undefined;
606
+ } | {
607
+ assertedAt: string;
608
+ kind: "not-applicable";
609
+ reason: string;
610
+ };
611
+ }>;
612
+ assembledAt: string;
613
+ modelAttribution?: Readonly<{
614
+ modelId: string;
615
+ modelVersion: string;
616
+ promptTemplateVersion: string;
617
+ contextTemplateVersion: string;
618
+ samplingParams: Readonly<z.objectInputType<{
619
+ temperature: z.ZodOptional<z.ZodNumber>;
620
+ topP: z.ZodOptional<z.ZodNumber>;
621
+ maxTokens: z.ZodOptional<z.ZodNumber>;
622
+ seed: z.ZodOptional<z.ZodNumber>;
623
+ }, z.ZodUnknown, "strip">>;
624
+ retrievedAtomSetId: string;
625
+ }> | undefined;
626
+ }> | undefined;
627
+ absence?: {
628
+ kind: "no-parcel-geometry" | "no-rail-coverage";
629
+ reason: string;
630
+ } | undefined;
631
+ verifiedAbsence?: {
632
+ evaluated: true;
633
+ provenanceScope: string[];
634
+ } | undefined;
635
+ sourceVintage?: string | undefined;
636
+ nearRailCorridor?: boolean | undefined;
637
+ corridorStatus?: "active" | "abandoned" | "rail-trail" | undefined;
638
+ corridorClass?: "mainline" | "spur" | "yard" | undefined;
639
+ nearestCorridorDistanceMeters?: number | undefined;
640
+ atGradeCrossings?: {
641
+ crossingId: string;
642
+ distanceMeters: number;
643
+ }[] | undefined;
644
+ }>;
645
+ export declare function createRailCorridorFact(input: z.input<typeof RAIL_CORRIDOR_FACT_SCHEMA>): RailCorridorFactAtomInstance;
646
+ //# sourceMappingURL=rail-corridor-fact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rail-corridor-fact.d.ts","sourceRoot":"","sources":["../../src/property/rail-corridor-fact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,EAcL,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC9B,MAAM,aAAa,CAAC;AAErB;;;;;;GAMG;AACH,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,oBAAoB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IACvE,UAAU,EAAE,sBAAsB,CAAC;IACnC,gFAAgF;IAChF,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,gFAAgF;IAChF,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,aAAa,CAAC,2BAA2B,CAAC,CAAC;IAC9D,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACtC;AAkBD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoGlC,CAAC;AAEL,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,GAC/C,4BAA4B,CAE9B"}