@empressaio/atom-contract 1.11.0 → 1.13.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.
Files changed (34) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/README.md +13 -2
  3. package/dist/conformance/common.d.ts +1 -1
  4. package/dist/conformance/common.js +1 -1
  5. package/dist/property/building-footprint.d.ts +649 -0
  6. package/dist/property/building-footprint.d.ts.map +1 -0
  7. package/dist/property/building-footprint.js +86 -0
  8. package/dist/property/building-footprint.js.map +1 -0
  9. package/dist/property/common.d.ts +248 -0
  10. package/dist/property/common.d.ts.map +1 -1
  11. package/dist/property/common.js +148 -0
  12. package/dist/property/common.js.map +1 -1
  13. package/dist/property/fixtures.d.ts +239 -0
  14. package/dist/property/fixtures.d.ts.map +1 -1
  15. package/dist/property/fixtures.js +483 -0
  16. package/dist/property/fixtures.js.map +1 -1
  17. package/dist/property/index.d.ts +3 -0
  18. package/dist/property/index.d.ts.map +1 -1
  19. package/dist/property/index.js +3 -0
  20. package/dist/property/index.js.map +1 -1
  21. package/dist/property/parcel-node.d.ts +710 -0
  22. package/dist/property/parcel-node.d.ts.map +1 -0
  23. package/dist/property/parcel-node.js +156 -0
  24. package/dist/property/parcel-node.js.map +1 -0
  25. package/dist/property/road-node.d.ts +2 -5
  26. package/dist/property/road-node.d.ts.map +1 -1
  27. package/dist/property/road-node.js +1 -2
  28. package/dist/property/road-node.js.map +1 -1
  29. package/dist/property/setback-rule.d.ts +16 -16
  30. package/dist/property/utility-easement.d.ts +724 -0
  31. package/dist/property/utility-easement.d.ts.map +1 -0
  32. package/dist/property/utility-easement.js +81 -0
  33. package/dist/property/utility-easement.js.map +1 -0
  34. package/package.json +1 -1
@@ -0,0 +1,710 @@
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 ParcelExternalKey, type ParcelGeometrySourceTier, type ParcelGeometryStoreRef, type ParcelKeyKind, type ParcelNodeAbsence, type SiteLayerVerifiedAbsence } from "./common.js";
7
+ /**
8
+ * Parcel node ANCHOR atom — parcel identity and geometry provenance.
9
+ *
10
+ * Rail 1 of the county shape. This atom is the citable record that a parcel
11
+ * exists, which external key names it, where its ring came from, and at what
12
+ * vintage. Every other property rail keys on `parcelNodeId`, so this is the
13
+ * anchor the chain hangs from — MCP has advertised the type since the property
14
+ * chain shipped (`did:hauska:parcel-node:{parcelNodeId}`); this closes the gap
15
+ * where nothing produced it.
16
+ *
17
+ * **It is NOT the geometry.** Geometry Law rule 1 fixes one ring per parcel in
18
+ * `txgio_parcel`; the ten engine files that serve geometry read that store
19
+ * directly. `geometryStoreRef` is a POINTER into that truth frame. Putting the
20
+ * ring in the atom would create a second source of geometry truth, re-open the
21
+ * defect class Geometry Law rule 3 closed, and multiply row count by the whole
22
+ * statewide parcel corpus. Do not add a geometry body field to this type.
23
+ *
24
+ * **Typed absence is first-class**, matching `building-footprint` /
25
+ * `utility-easement`: a parcel we established does not exist, or a county whose
26
+ * ring source we probed and found unpublished, is a FINDING with provenance —
27
+ * not a missing row. `sourceTier: "absent"` fails closed unless `verifiedAbsence`
28
+ * carries a non-empty `provenanceScope`, and absence never coexists with a
29
+ * resolved `geometryStoreRef`.
30
+ */
31
+ export interface ParcelNodeAtomInstance {
32
+ entityType: "parcel-node";
33
+ /** `did:hauska:parcel-node:{parcelNodeId}` — the convention MCP already serves. */
34
+ atomDid: string;
35
+ /** `{county_fips}:{prop_id}`, or the `{fips}:_county_coverage` anchor. */
36
+ parcelNodeId: string;
37
+ countyFips: string;
38
+ /** Which key kind the second token of `parcelNodeId` carries. */
39
+ keyKind: ParcelKeyKind;
40
+ /** Additional external keys, each with its own provenance. */
41
+ externalKeys?: ReadonlyArray<ParcelExternalKey>;
42
+ reasoningChain: Extract<ReasoningChain, {
43
+ reasoningKind: "observed";
44
+ }>;
45
+ geometrySourceTier: ParcelGeometrySourceTier;
46
+ /** Pointer into the single geometry truth frame. Never the ring itself. */
47
+ geometryStoreRef?: ParcelGeometryStoreRef;
48
+ /** False when the county ring set is not in the store yet. */
49
+ geometryLoaded: boolean;
50
+ /** Per-parcel typed absence (fail-closed; distinct from not-yet-loaded). */
51
+ absence?: ParcelNodeAbsence;
52
+ /** County-level verified absence on the `_county_coverage` anchor. */
53
+ verifiedAbsence?: SiteLayerVerifiedAbsence;
54
+ /**
55
+ * Count of `PARCEL-RING-SOURCE-DIVERGENCE` observations between the county
56
+ * CAD ring and the TxGIO ring. Reporting only — it never re-picks the truth
57
+ * frame, which stays TxGIO unless an explicit override tier is recorded.
58
+ */
59
+ divergenceObservationCount?: number;
60
+ accessPolicy: AccessPolicy;
61
+ sourceCitation: string;
62
+ extractedAt: string;
63
+ asOf?: string;
64
+ sourceVintage?: string;
65
+ verificationStatus: "machine" | "human" | "unsurveyed";
66
+ sourceAdapter: string;
67
+ evaluatedAt: string;
68
+ atomTier: AtomTier;
69
+ readContract?: ReasoningReadContract;
70
+ }
71
+ /** Canonical parcel-node DID (matches the published MCP property-chain form). */
72
+ export declare function parcelNodeAtomDid(parcelNodeId: string): string;
73
+ export declare const PARCEL_NODE_ATOM_DID_PATTERN: RegExp;
74
+ export declare const PARCEL_NODE_SCHEMA: z.ZodEffects<z.ZodObject<{
75
+ atomTier: z.ZodLiteral<AtomTier>;
76
+ readContract: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
77
+ axes: z.ZodReadonly<z.ZodObject<{
78
+ calibratedConfidence: z.ZodReadonly<z.ZodObject<{
79
+ readonly estimate: z.ZodNumber;
80
+ readonly n: z.ZodNumber;
81
+ readonly intervalWidth: z.ZodNumber;
82
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
83
+ }, "strip", z.ZodTypeAny, {
84
+ estimate: number;
85
+ n: number;
86
+ intervalWidth: number;
87
+ provenance: "asserted" | "backtest" | "seed" | "live";
88
+ }, {
89
+ estimate: number;
90
+ n: number;
91
+ intervalWidth: number;
92
+ provenance: "asserted" | "backtest" | "seed" | "live";
93
+ }>>;
94
+ assertedConfidence: z.ZodReadonly<z.ZodObject<{
95
+ readonly estimate: z.ZodNumber;
96
+ readonly n: z.ZodNumber;
97
+ readonly intervalWidth: z.ZodNumber;
98
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ estimate: number;
101
+ n: number;
102
+ intervalWidth: number;
103
+ provenance: "asserted" | "backtest" | "seed" | "live";
104
+ }, {
105
+ estimate: number;
106
+ n: number;
107
+ intervalWidth: number;
108
+ provenance: "asserted" | "backtest" | "seed" | "live";
109
+ }>>;
110
+ consequence: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
111
+ kind: z.ZodLiteral<"property-risk">;
112
+ stratum: z.ZodEnum<[import("../read-contract/reasoning-axes.js").PropertyRiskStratum, ...import("../read-contract/reasoning-axes.js").PropertyRiskStratum[]]>;
113
+ basis: z.ZodString;
114
+ assertedAt: z.ZodString;
115
+ auditRef: z.ZodOptional<z.ZodString>;
116
+ }, "strip", z.ZodTypeAny, {
117
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
118
+ assertedAt: string;
119
+ kind: "property-risk";
120
+ basis: string;
121
+ auditRef?: string | undefined;
122
+ }, {
123
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
124
+ assertedAt: string;
125
+ kind: "property-risk";
126
+ basis: string;
127
+ auditRef?: string | undefined;
128
+ }>, z.ZodObject<{
129
+ kind: z.ZodLiteral<"not-applicable">;
130
+ reason: z.ZodString;
131
+ assertedAt: z.ZodString;
132
+ }, "strip", z.ZodTypeAny, {
133
+ assertedAt: string;
134
+ kind: "not-applicable";
135
+ reason: string;
136
+ }, {
137
+ assertedAt: string;
138
+ kind: "not-applicable";
139
+ reason: string;
140
+ }>]>;
141
+ }, "strip", z.ZodTypeAny, {
142
+ calibratedConfidence: Readonly<{
143
+ estimate: number;
144
+ n: number;
145
+ intervalWidth: number;
146
+ provenance: "asserted" | "backtest" | "seed" | "live";
147
+ }>;
148
+ assertedConfidence: Readonly<{
149
+ estimate: number;
150
+ n: number;
151
+ intervalWidth: number;
152
+ provenance: "asserted" | "backtest" | "seed" | "live";
153
+ }>;
154
+ consequence: {
155
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
156
+ assertedAt: string;
157
+ kind: "property-risk";
158
+ basis: string;
159
+ auditRef?: string | undefined;
160
+ } | {
161
+ assertedAt: string;
162
+ kind: "not-applicable";
163
+ reason: string;
164
+ };
165
+ }, {
166
+ calibratedConfidence: Readonly<{
167
+ estimate: number;
168
+ n: number;
169
+ intervalWidth: number;
170
+ provenance: "asserted" | "backtest" | "seed" | "live";
171
+ }>;
172
+ assertedConfidence: Readonly<{
173
+ estimate: number;
174
+ n: number;
175
+ intervalWidth: number;
176
+ provenance: "asserted" | "backtest" | "seed" | "live";
177
+ }>;
178
+ consequence: {
179
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
180
+ assertedAt: string;
181
+ kind: "property-risk";
182
+ basis: string;
183
+ auditRef?: string | undefined;
184
+ } | {
185
+ assertedAt: string;
186
+ kind: "not-applicable";
187
+ reason: string;
188
+ };
189
+ }>>;
190
+ assembledAt: z.ZodString;
191
+ modelAttribution: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
192
+ modelId: z.ZodString;
193
+ modelVersion: z.ZodString;
194
+ promptTemplateVersion: z.ZodString;
195
+ contextTemplateVersion: z.ZodString;
196
+ samplingParams: z.ZodReadonly<z.ZodObject<{
197
+ temperature: z.ZodOptional<z.ZodNumber>;
198
+ topP: z.ZodOptional<z.ZodNumber>;
199
+ maxTokens: z.ZodOptional<z.ZodNumber>;
200
+ seed: z.ZodOptional<z.ZodNumber>;
201
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
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">, z.objectInputType<{
207
+ temperature: z.ZodOptional<z.ZodNumber>;
208
+ topP: z.ZodOptional<z.ZodNumber>;
209
+ maxTokens: z.ZodOptional<z.ZodNumber>;
210
+ seed: z.ZodOptional<z.ZodNumber>;
211
+ }, z.ZodUnknown, "strip">>>;
212
+ retrievedAtomSetId: z.ZodString;
213
+ }, "strip", z.ZodTypeAny, {
214
+ modelId: string;
215
+ modelVersion: string;
216
+ promptTemplateVersion: string;
217
+ contextTemplateVersion: string;
218
+ samplingParams: Readonly<z.objectOutputType<{
219
+ temperature: z.ZodOptional<z.ZodNumber>;
220
+ topP: z.ZodOptional<z.ZodNumber>;
221
+ maxTokens: z.ZodOptional<z.ZodNumber>;
222
+ seed: z.ZodOptional<z.ZodNumber>;
223
+ }, z.ZodUnknown, "strip">>;
224
+ retrievedAtomSetId: string;
225
+ }, {
226
+ modelId: string;
227
+ modelVersion: string;
228
+ promptTemplateVersion: string;
229
+ contextTemplateVersion: string;
230
+ samplingParams: Readonly<z.objectInputType<{
231
+ temperature: z.ZodOptional<z.ZodNumber>;
232
+ topP: z.ZodOptional<z.ZodNumber>;
233
+ maxTokens: z.ZodOptional<z.ZodNumber>;
234
+ seed: z.ZodOptional<z.ZodNumber>;
235
+ }, z.ZodUnknown, "strip">>;
236
+ retrievedAtomSetId: string;
237
+ }>>>;
238
+ }, "strip", z.ZodTypeAny, {
239
+ axes: Readonly<{
240
+ calibratedConfidence: Readonly<{
241
+ estimate: number;
242
+ n: number;
243
+ intervalWidth: number;
244
+ provenance: "asserted" | "backtest" | "seed" | "live";
245
+ }>;
246
+ assertedConfidence: Readonly<{
247
+ estimate: number;
248
+ n: number;
249
+ intervalWidth: number;
250
+ provenance: "asserted" | "backtest" | "seed" | "live";
251
+ }>;
252
+ consequence: {
253
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
254
+ assertedAt: string;
255
+ kind: "property-risk";
256
+ basis: string;
257
+ auditRef?: string | undefined;
258
+ } | {
259
+ assertedAt: string;
260
+ kind: "not-applicable";
261
+ reason: string;
262
+ };
263
+ }>;
264
+ assembledAt: string;
265
+ modelAttribution?: Readonly<{
266
+ modelId: string;
267
+ modelVersion: string;
268
+ promptTemplateVersion: string;
269
+ contextTemplateVersion: string;
270
+ samplingParams: Readonly<z.objectOutputType<{
271
+ temperature: z.ZodOptional<z.ZodNumber>;
272
+ topP: z.ZodOptional<z.ZodNumber>;
273
+ maxTokens: z.ZodOptional<z.ZodNumber>;
274
+ seed: z.ZodOptional<z.ZodNumber>;
275
+ }, z.ZodUnknown, "strip">>;
276
+ retrievedAtomSetId: string;
277
+ }> | undefined;
278
+ }, {
279
+ axes: Readonly<{
280
+ calibratedConfidence: Readonly<{
281
+ estimate: number;
282
+ n: number;
283
+ intervalWidth: number;
284
+ provenance: "asserted" | "backtest" | "seed" | "live";
285
+ }>;
286
+ assertedConfidence: Readonly<{
287
+ estimate: number;
288
+ n: number;
289
+ intervalWidth: number;
290
+ provenance: "asserted" | "backtest" | "seed" | "live";
291
+ }>;
292
+ consequence: {
293
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
294
+ assertedAt: string;
295
+ kind: "property-risk";
296
+ basis: string;
297
+ auditRef?: string | undefined;
298
+ } | {
299
+ assertedAt: string;
300
+ kind: "not-applicable";
301
+ reason: string;
302
+ };
303
+ }>;
304
+ assembledAt: string;
305
+ modelAttribution?: Readonly<{
306
+ modelId: string;
307
+ modelVersion: string;
308
+ promptTemplateVersion: string;
309
+ contextTemplateVersion: string;
310
+ samplingParams: Readonly<z.objectInputType<{
311
+ temperature: z.ZodOptional<z.ZodNumber>;
312
+ topP: z.ZodOptional<z.ZodNumber>;
313
+ maxTokens: z.ZodOptional<z.ZodNumber>;
314
+ seed: z.ZodOptional<z.ZodNumber>;
315
+ }, z.ZodUnknown, "strip">>;
316
+ retrievedAtomSetId: string;
317
+ }> | undefined;
318
+ }>>>;
319
+ sourceVintage: z.ZodOptional<z.ZodString>;
320
+ verificationStatus: z.ZodEnum<["machine", "human", "unsurveyed"]>;
321
+ sourceAdapter: z.ZodString;
322
+ evaluatedAt: z.ZodString;
323
+ sourceCitation: z.ZodString;
324
+ extractedAt: z.ZodString;
325
+ asOf: z.ZodOptional<z.ZodString>;
326
+ entityType: z.ZodLiteral<"parcel-node">;
327
+ atomDid: z.ZodEffects<z.ZodString, string, string>;
328
+ parcelNodeId: z.ZodEffects<z.ZodString, string, string>;
329
+ countyFips: z.ZodString;
330
+ keyKind: z.ZodEnum<["prop_id", "geo_id_crosswalk"]>;
331
+ externalKeys: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
332
+ keyKind: z.ZodEnum<["prop_id", "geo_id_crosswalk"]>;
333
+ keyValue: z.ZodString;
334
+ sourceCitation: z.ZodString;
335
+ }, "strict", z.ZodTypeAny, {
336
+ sourceCitation: string;
337
+ keyKind: "prop_id" | "geo_id_crosswalk";
338
+ keyValue: string;
339
+ }, {
340
+ sourceCitation: string;
341
+ keyKind: "prop_id" | "geo_id_crosswalk";
342
+ keyValue: string;
343
+ }>, "many">>>;
344
+ reasoningChain: z.ZodObject<{
345
+ reasoningKind: z.ZodLiteral<"observed">;
346
+ }, "strip", z.ZodTypeAny, {
347
+ reasoningKind: "observed";
348
+ }, {
349
+ reasoningKind: "observed";
350
+ }>;
351
+ geometrySourceTier: z.ZodEnum<["txgio-stratmap", "county-arcgis-override", "absent"]>;
352
+ geometryStoreRef: z.ZodOptional<z.ZodObject<{
353
+ store: z.ZodLiteral<"txgio_parcel">;
354
+ countyFips: z.ZodString;
355
+ propId: z.ZodString;
356
+ }, "strict", z.ZodTypeAny, {
357
+ store: "txgio_parcel";
358
+ countyFips: string;
359
+ propId: string;
360
+ }, {
361
+ store: "txgio_parcel";
362
+ countyFips: string;
363
+ propId: string;
364
+ }>>;
365
+ geometryLoaded: z.ZodBoolean;
366
+ absence: z.ZodOptional<z.ZodObject<{
367
+ kind: z.ZodEnum<["no-parcel-geometry", "geometry-incomplete", "parcel-key-unresolved"]>;
368
+ reason: z.ZodString;
369
+ }, "strict", z.ZodTypeAny, {
370
+ kind: "no-parcel-geometry" | "geometry-incomplete" | "parcel-key-unresolved";
371
+ reason: string;
372
+ }, {
373
+ kind: "no-parcel-geometry" | "geometry-incomplete" | "parcel-key-unresolved";
374
+ reason: string;
375
+ }>>;
376
+ verifiedAbsence: z.ZodOptional<z.ZodObject<{
377
+ evaluated: z.ZodLiteral<true>;
378
+ provenanceScope: z.ZodArray<z.ZodString, "many">;
379
+ }, "strict", z.ZodTypeAny, {
380
+ evaluated: true;
381
+ provenanceScope: string[];
382
+ }, {
383
+ evaluated: true;
384
+ provenanceScope: string[];
385
+ }>>;
386
+ divergenceObservationCount: z.ZodOptional<z.ZodNumber>;
387
+ accessPolicy: z.ZodEnum<["public-free", "public-paid", "platform-internal", "tenant-private", "tenant-shared"]>;
388
+ }, "strip", z.ZodTypeAny, {
389
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
390
+ entityType: "parcel-node";
391
+ sourceCitation: string;
392
+ extractedAt: string;
393
+ atomDid: string;
394
+ evaluatedAt: string;
395
+ verificationStatus: "machine" | "human" | "unsurveyed";
396
+ sourceAdapter: string;
397
+ countyFips: string;
398
+ keyKind: "prop_id" | "geo_id_crosswalk";
399
+ parcelNodeId: string;
400
+ reasoningChain: {
401
+ reasoningKind: "observed";
402
+ };
403
+ atomTier: AtomTier;
404
+ geometrySourceTier: "absent" | "txgio-stratmap" | "county-arcgis-override";
405
+ geometryLoaded: boolean;
406
+ asOf?: string | undefined;
407
+ readContract?: Readonly<{
408
+ axes: Readonly<{
409
+ calibratedConfidence: Readonly<{
410
+ estimate: number;
411
+ n: number;
412
+ intervalWidth: number;
413
+ provenance: "asserted" | "backtest" | "seed" | "live";
414
+ }>;
415
+ assertedConfidence: Readonly<{
416
+ estimate: number;
417
+ n: number;
418
+ intervalWidth: number;
419
+ provenance: "asserted" | "backtest" | "seed" | "live";
420
+ }>;
421
+ consequence: {
422
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
423
+ assertedAt: string;
424
+ kind: "property-risk";
425
+ basis: string;
426
+ auditRef?: string | undefined;
427
+ } | {
428
+ assertedAt: string;
429
+ kind: "not-applicable";
430
+ reason: string;
431
+ };
432
+ }>;
433
+ assembledAt: string;
434
+ modelAttribution?: Readonly<{
435
+ modelId: string;
436
+ modelVersion: string;
437
+ promptTemplateVersion: string;
438
+ contextTemplateVersion: string;
439
+ samplingParams: Readonly<z.objectOutputType<{
440
+ temperature: z.ZodOptional<z.ZodNumber>;
441
+ topP: z.ZodOptional<z.ZodNumber>;
442
+ maxTokens: z.ZodOptional<z.ZodNumber>;
443
+ seed: z.ZodOptional<z.ZodNumber>;
444
+ }, z.ZodUnknown, "strip">>;
445
+ retrievedAtomSetId: string;
446
+ }> | undefined;
447
+ }> | undefined;
448
+ absence?: {
449
+ kind: "no-parcel-geometry" | "geometry-incomplete" | "parcel-key-unresolved";
450
+ reason: string;
451
+ } | undefined;
452
+ verifiedAbsence?: {
453
+ evaluated: true;
454
+ provenanceScope: string[];
455
+ } | undefined;
456
+ sourceVintage?: string | undefined;
457
+ externalKeys?: readonly {
458
+ sourceCitation: string;
459
+ keyKind: "prop_id" | "geo_id_crosswalk";
460
+ keyValue: string;
461
+ }[] | undefined;
462
+ geometryStoreRef?: {
463
+ store: "txgio_parcel";
464
+ countyFips: string;
465
+ propId: string;
466
+ } | undefined;
467
+ divergenceObservationCount?: number | undefined;
468
+ }, {
469
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
470
+ entityType: "parcel-node";
471
+ sourceCitation: string;
472
+ extractedAt: string;
473
+ atomDid: string;
474
+ evaluatedAt: string;
475
+ verificationStatus: "machine" | "human" | "unsurveyed";
476
+ sourceAdapter: string;
477
+ countyFips: string;
478
+ keyKind: "prop_id" | "geo_id_crosswalk";
479
+ parcelNodeId: string;
480
+ reasoningChain: {
481
+ reasoningKind: "observed";
482
+ };
483
+ atomTier: AtomTier;
484
+ geometrySourceTier: "absent" | "txgio-stratmap" | "county-arcgis-override";
485
+ geometryLoaded: boolean;
486
+ asOf?: string | undefined;
487
+ readContract?: Readonly<{
488
+ axes: Readonly<{
489
+ calibratedConfidence: Readonly<{
490
+ estimate: number;
491
+ n: number;
492
+ intervalWidth: number;
493
+ provenance: "asserted" | "backtest" | "seed" | "live";
494
+ }>;
495
+ assertedConfidence: Readonly<{
496
+ estimate: number;
497
+ n: number;
498
+ intervalWidth: number;
499
+ provenance: "asserted" | "backtest" | "seed" | "live";
500
+ }>;
501
+ consequence: {
502
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
503
+ assertedAt: string;
504
+ kind: "property-risk";
505
+ basis: string;
506
+ auditRef?: string | undefined;
507
+ } | {
508
+ assertedAt: string;
509
+ kind: "not-applicable";
510
+ reason: string;
511
+ };
512
+ }>;
513
+ assembledAt: string;
514
+ modelAttribution?: Readonly<{
515
+ modelId: string;
516
+ modelVersion: string;
517
+ promptTemplateVersion: string;
518
+ contextTemplateVersion: string;
519
+ samplingParams: Readonly<z.objectInputType<{
520
+ temperature: z.ZodOptional<z.ZodNumber>;
521
+ topP: z.ZodOptional<z.ZodNumber>;
522
+ maxTokens: z.ZodOptional<z.ZodNumber>;
523
+ seed: z.ZodOptional<z.ZodNumber>;
524
+ }, z.ZodUnknown, "strip">>;
525
+ retrievedAtomSetId: string;
526
+ }> | undefined;
527
+ }> | undefined;
528
+ absence?: {
529
+ kind: "no-parcel-geometry" | "geometry-incomplete" | "parcel-key-unresolved";
530
+ reason: string;
531
+ } | undefined;
532
+ verifiedAbsence?: {
533
+ evaluated: true;
534
+ provenanceScope: string[];
535
+ } | undefined;
536
+ sourceVintage?: string | undefined;
537
+ externalKeys?: readonly {
538
+ sourceCitation: string;
539
+ keyKind: "prop_id" | "geo_id_crosswalk";
540
+ keyValue: string;
541
+ }[] | undefined;
542
+ geometryStoreRef?: {
543
+ store: "txgio_parcel";
544
+ countyFips: string;
545
+ propId: string;
546
+ } | undefined;
547
+ divergenceObservationCount?: number | undefined;
548
+ }>, {
549
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
550
+ entityType: "parcel-node";
551
+ sourceCitation: string;
552
+ extractedAt: string;
553
+ atomDid: string;
554
+ evaluatedAt: string;
555
+ verificationStatus: "machine" | "human" | "unsurveyed";
556
+ sourceAdapter: string;
557
+ countyFips: string;
558
+ keyKind: "prop_id" | "geo_id_crosswalk";
559
+ parcelNodeId: string;
560
+ reasoningChain: {
561
+ reasoningKind: "observed";
562
+ };
563
+ atomTier: AtomTier;
564
+ geometrySourceTier: "absent" | "txgio-stratmap" | "county-arcgis-override";
565
+ geometryLoaded: boolean;
566
+ asOf?: string | undefined;
567
+ readContract?: Readonly<{
568
+ axes: Readonly<{
569
+ calibratedConfidence: Readonly<{
570
+ estimate: number;
571
+ n: number;
572
+ intervalWidth: number;
573
+ provenance: "asserted" | "backtest" | "seed" | "live";
574
+ }>;
575
+ assertedConfidence: Readonly<{
576
+ estimate: number;
577
+ n: number;
578
+ intervalWidth: number;
579
+ provenance: "asserted" | "backtest" | "seed" | "live";
580
+ }>;
581
+ consequence: {
582
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
583
+ assertedAt: string;
584
+ kind: "property-risk";
585
+ basis: string;
586
+ auditRef?: string | undefined;
587
+ } | {
588
+ assertedAt: string;
589
+ kind: "not-applicable";
590
+ reason: string;
591
+ };
592
+ }>;
593
+ assembledAt: string;
594
+ modelAttribution?: Readonly<{
595
+ modelId: string;
596
+ modelVersion: string;
597
+ promptTemplateVersion: string;
598
+ contextTemplateVersion: string;
599
+ samplingParams: Readonly<z.objectOutputType<{
600
+ temperature: z.ZodOptional<z.ZodNumber>;
601
+ topP: z.ZodOptional<z.ZodNumber>;
602
+ maxTokens: z.ZodOptional<z.ZodNumber>;
603
+ seed: z.ZodOptional<z.ZodNumber>;
604
+ }, z.ZodUnknown, "strip">>;
605
+ retrievedAtomSetId: string;
606
+ }> | undefined;
607
+ }> | undefined;
608
+ absence?: {
609
+ kind: "no-parcel-geometry" | "geometry-incomplete" | "parcel-key-unresolved";
610
+ reason: string;
611
+ } | undefined;
612
+ verifiedAbsence?: {
613
+ evaluated: true;
614
+ provenanceScope: string[];
615
+ } | undefined;
616
+ sourceVintage?: string | undefined;
617
+ externalKeys?: readonly {
618
+ sourceCitation: string;
619
+ keyKind: "prop_id" | "geo_id_crosswalk";
620
+ keyValue: string;
621
+ }[] | undefined;
622
+ geometryStoreRef?: {
623
+ store: "txgio_parcel";
624
+ countyFips: string;
625
+ propId: string;
626
+ } | undefined;
627
+ divergenceObservationCount?: number | undefined;
628
+ }, {
629
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
630
+ entityType: "parcel-node";
631
+ sourceCitation: string;
632
+ extractedAt: string;
633
+ atomDid: string;
634
+ evaluatedAt: string;
635
+ verificationStatus: "machine" | "human" | "unsurveyed";
636
+ sourceAdapter: string;
637
+ countyFips: string;
638
+ keyKind: "prop_id" | "geo_id_crosswalk";
639
+ parcelNodeId: string;
640
+ reasoningChain: {
641
+ reasoningKind: "observed";
642
+ };
643
+ atomTier: AtomTier;
644
+ geometrySourceTier: "absent" | "txgio-stratmap" | "county-arcgis-override";
645
+ geometryLoaded: boolean;
646
+ asOf?: string | undefined;
647
+ readContract?: Readonly<{
648
+ axes: Readonly<{
649
+ calibratedConfidence: Readonly<{
650
+ estimate: number;
651
+ n: number;
652
+ intervalWidth: number;
653
+ provenance: "asserted" | "backtest" | "seed" | "live";
654
+ }>;
655
+ assertedConfidence: Readonly<{
656
+ estimate: number;
657
+ n: number;
658
+ intervalWidth: number;
659
+ provenance: "asserted" | "backtest" | "seed" | "live";
660
+ }>;
661
+ consequence: {
662
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
663
+ assertedAt: string;
664
+ kind: "property-risk";
665
+ basis: string;
666
+ auditRef?: string | undefined;
667
+ } | {
668
+ assertedAt: string;
669
+ kind: "not-applicable";
670
+ reason: string;
671
+ };
672
+ }>;
673
+ assembledAt: string;
674
+ modelAttribution?: Readonly<{
675
+ modelId: string;
676
+ modelVersion: string;
677
+ promptTemplateVersion: string;
678
+ contextTemplateVersion: string;
679
+ samplingParams: Readonly<z.objectInputType<{
680
+ temperature: z.ZodOptional<z.ZodNumber>;
681
+ topP: z.ZodOptional<z.ZodNumber>;
682
+ maxTokens: z.ZodOptional<z.ZodNumber>;
683
+ seed: z.ZodOptional<z.ZodNumber>;
684
+ }, z.ZodUnknown, "strip">>;
685
+ retrievedAtomSetId: string;
686
+ }> | undefined;
687
+ }> | undefined;
688
+ absence?: {
689
+ kind: "no-parcel-geometry" | "geometry-incomplete" | "parcel-key-unresolved";
690
+ reason: string;
691
+ } | undefined;
692
+ verifiedAbsence?: {
693
+ evaluated: true;
694
+ provenanceScope: string[];
695
+ } | undefined;
696
+ sourceVintage?: string | undefined;
697
+ externalKeys?: readonly {
698
+ sourceCitation: string;
699
+ keyKind: "prop_id" | "geo_id_crosswalk";
700
+ keyValue: string;
701
+ }[] | undefined;
702
+ geometryStoreRef?: {
703
+ store: "txgio_parcel";
704
+ countyFips: string;
705
+ propId: string;
706
+ } | undefined;
707
+ divergenceObservationCount?: number | undefined;
708
+ }>;
709
+ export declare function createParcelNode(input: z.input<typeof PARCEL_NODE_SCHEMA>): ParcelNodeAtomInstance;
710
+ //# sourceMappingURL=parcel-node.d.ts.map