@empressaio/atom-contract 1.7.0 → 1.9.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 (79) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.md +39 -0
  3. package/dist/actor-record.d.ts +208 -0
  4. package/dist/actor-record.d.ts.map +1 -0
  5. package/dist/actor-record.js +98 -0
  6. package/dist/actor-record.js.map +1 -0
  7. package/dist/conformance/common.d.ts +11 -0
  8. package/dist/conformance/common.d.ts.map +1 -1
  9. package/dist/conformance/common.js +9 -0
  10. package/dist/conformance/common.js.map +1 -1
  11. package/dist/conformance/index.d.ts +1 -1
  12. package/dist/conformance/index.d.ts.map +1 -1
  13. package/dist/conformance/index.js +1 -1
  14. package/dist/conformance/index.js.map +1 -1
  15. package/dist/encumbrances/administrative-rule.d.ts +2 -2
  16. package/dist/encumbrances/restriction-clause.d.ts +2 -2
  17. package/dist/encumbrances/restriction-corpus.d.ts +2 -2
  18. package/dist/index.d.ts +5 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/obligation.d.ts +54 -6
  23. package/dist/obligation.d.ts.map +1 -1
  24. package/dist/obligation.js +14 -0
  25. package/dist/obligation.js.map +1 -1
  26. package/dist/og/common.d.ts +2 -2
  27. package/dist/og/mineral-lease.d.ts +6 -6
  28. package/dist/og/ownership-interest.d.ts +8 -8
  29. package/dist/og/pad.d.ts +6 -6
  30. package/dist/og/production-timeseries.d.ts +4 -4
  31. package/dist/og/rrc-lease.d.ts +4 -4
  32. package/dist/og/well.d.ts +4 -4
  33. package/dist/og/zone.d.ts +2 -2
  34. package/dist/property/buildable-envelope.d.ts +464 -0
  35. package/dist/property/buildable-envelope.d.ts.map +1 -0
  36. package/dist/property/buildable-envelope.js +63 -0
  37. package/dist/property/buildable-envelope.js.map +1 -0
  38. package/dist/property/common.d.ts +513 -0
  39. package/dist/property/common.d.ts.map +1 -0
  40. package/dist/property/common.js +66 -0
  41. package/dist/property/common.js.map +1 -0
  42. package/dist/property/fixtures.d.ts +102 -0
  43. package/dist/property/fixtures.d.ts.map +1 -0
  44. package/dist/property/fixtures.js +299 -0
  45. package/dist/property/fixtures.js.map +1 -0
  46. package/dist/property/index.d.ts +23 -0
  47. package/dist/property/index.d.ts.map +1 -0
  48. package/dist/property/index.js +19 -0
  49. package/dist/property/index.js.map +1 -0
  50. package/dist/property/setback-rule.d.ts +887 -0
  51. package/dist/property/setback-rule.d.ts.map +1 -0
  52. package/dist/property/setback-rule.js +53 -0
  53. package/dist/property/setback-rule.js.map +1 -0
  54. package/dist/property/zoning-fact.d.ts +538 -0
  55. package/dist/property/zoning-fact.d.ts.map +1 -0
  56. package/dist/property/zoning-fact.js +48 -0
  57. package/dist/property/zoning-fact.js.map +1 -0
  58. package/dist/read-contract/index.d.ts +1 -0
  59. package/dist/read-contract/index.d.ts.map +1 -1
  60. package/dist/read-contract/index.js +1 -0
  61. package/dist/read-contract/index.js.map +1 -1
  62. package/dist/read-contract/reasoning-axes.d.ts +475 -0
  63. package/dist/read-contract/reasoning-axes.d.ts.map +1 -0
  64. package/dist/read-contract/reasoning-axes.js +75 -0
  65. package/dist/read-contract/reasoning-axes.js.map +1 -0
  66. package/dist/reasoning/fixtures.d.ts +63 -0
  67. package/dist/reasoning/fixtures.d.ts.map +1 -0
  68. package/dist/reasoning/fixtures.js +127 -0
  69. package/dist/reasoning/fixtures.js.map +1 -0
  70. package/dist/reasoning/index.d.ts +9 -0
  71. package/dist/reasoning/index.d.ts.map +1 -0
  72. package/dist/reasoning/index.js +9 -0
  73. package/dist/reasoning/index.js.map +1 -0
  74. package/dist/reasoning-chain.d.ts +177 -0
  75. package/dist/reasoning-chain.d.ts.map +1 -0
  76. package/dist/reasoning-chain.js +63 -0
  77. package/dist/reasoning-chain.js.map +1 -0
  78. package/dist/workspace/property-workspace.d.ts +6 -6
  79. package/package.json +9 -1
@@ -0,0 +1,513 @@
1
+ /**
2
+ * Shared property reasoning atom substrate (master WDLL 3.2–3.6).
3
+ *
4
+ * Property fact / rule / derived kinds reuse 1.8.0 primitives:
5
+ * {@link ReasoningChain}, {@link AtomInputRef}, {@link PropertyConsequence},
6
+ * {@link ReasoningReadContract}, {@link ActorRecordAtomInstance},
7
+ * {@link ObligationAtomInstance}.
8
+ *
9
+ * **Calibrated confidence at READ (I-E):** instances MAY carry a
10
+ * {@link ReasoningThreeAxisConfidence}-shaped asserted snapshot at write
11
+ * time (including a placeholder `calibratedConfidence` with
12
+ * `provenance: "asserted"`). At READ, the calibrated axis resolves through
13
+ * the calibration overlay — it is NOT composed-and-frozen on the instance.
14
+ * Do not invent a frozen multiply (e.g. no `labeling x district` field).
15
+ */
16
+ import { z } from "zod";
17
+ import type { AccessPolicy } from "../registration.js";
18
+ import type { AtomTier } from "../conformance/common.js";
19
+ import { type WidthedConfidence } from "../read-contract/common.js";
20
+ import { type ReasoningReadContract } from "../read-contract/reasoning-axes.js";
21
+ /** Central-TX parcel node id: `{county_fips}:{prop_id}`. */
22
+ export declare const PARCEL_NODE_ID_PATTERN: RegExp;
23
+ export declare const PROPERTY_ATOM_TIER: AtomTier;
24
+ export declare const PROPERTY_DEFAULT_ACCESS_POLICY: AccessPolicy;
25
+ export declare const PROPERTY_ACCESS_POLICY_SCHEMA: z.ZodEnum<["public-free", "public-paid", "platform-internal", "tenant-private", "tenant-shared"]>;
26
+ /** Quality gate fields required on every property reasoning atom. */
27
+ export declare const PROPERTY_QUALITY_GATE_FIELDS: {
28
+ readonly sourceCitation: z.ZodString;
29
+ readonly extractedAt: z.ZodString;
30
+ readonly asOf: z.ZodOptional<z.ZodString>;
31
+ };
32
+ /** Honest absence when no zoning polygon stamps the parcel. */
33
+ export declare const ZONING_ABSENCE_KIND: "no-zoning-stamp";
34
+ export declare const ZONING_ABSENCE_SCHEMA: z.ZodObject<{
35
+ kind: z.ZodLiteral<"no-zoning-stamp">;
36
+ reason: z.ZodString;
37
+ }, "strip", z.ZodTypeAny, {
38
+ kind: "no-zoning-stamp";
39
+ reason: string;
40
+ }, {
41
+ kind: "no-zoning-stamp";
42
+ reason: string;
43
+ }>;
44
+ export type ZoningAbsence = z.infer<typeof ZONING_ABSENCE_SCHEMA>;
45
+ /** Honest absence when setback match falls back to a conservative default. */
46
+ export declare const SETBACK_ABSENCE_KIND: "setback-fallback";
47
+ export declare const SETBACK_ABSENCE_SCHEMA: z.ZodObject<{
48
+ kind: z.ZodLiteral<"setback-fallback">;
49
+ reason: z.ZodString;
50
+ }, "strip", z.ZodTypeAny, {
51
+ kind: "setback-fallback";
52
+ reason: string;
53
+ }, {
54
+ kind: "setback-fallback";
55
+ reason: string;
56
+ }>;
57
+ export type SetbackAbsence = z.infer<typeof SETBACK_ABSENCE_SCHEMA>;
58
+ export type SetbackMatchBasis = "exact" | "prefix" | "fallback";
59
+ export declare const SETBACK_MATCH_BASIS_VALUES: ReadonlyArray<SetbackMatchBasis>;
60
+ export declare const SETBACK_MATCH_BASIS_SCHEMA: z.ZodEnum<["exact", "prefix", "fallback"]>;
61
+ /**
62
+ * Per-field provenance consumed from setback JSON (fan gift — do not invent
63
+ * tiers). Keys are scalar field names (`front`, `side`, `rear`).
64
+ */
65
+ export interface SetbackFieldProvenanceEntry {
66
+ atomDid: string;
67
+ confidence: WidthedConfidence;
68
+ }
69
+ export declare const SETBACK_FIELD_PROVENANCE_ENTRY_SCHEMA: z.ZodObject<{
70
+ atomDid: z.ZodString;
71
+ confidence: z.ZodReadonly<z.ZodObject<{
72
+ readonly estimate: z.ZodNumber;
73
+ readonly n: z.ZodNumber;
74
+ readonly intervalWidth: z.ZodNumber;
75
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
76
+ }, "strip", z.ZodTypeAny, {
77
+ estimate: number;
78
+ n: number;
79
+ intervalWidth: number;
80
+ provenance: "asserted" | "backtest" | "seed" | "live";
81
+ }, {
82
+ estimate: number;
83
+ n: number;
84
+ intervalWidth: number;
85
+ provenance: "asserted" | "backtest" | "seed" | "live";
86
+ }>>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ confidence: Readonly<{
89
+ estimate: number;
90
+ n: number;
91
+ intervalWidth: number;
92
+ provenance: "asserted" | "backtest" | "seed" | "live";
93
+ }>;
94
+ atomDid: string;
95
+ }, {
96
+ confidence: Readonly<{
97
+ estimate: number;
98
+ n: number;
99
+ intervalWidth: number;
100
+ provenance: "asserted" | "backtest" | "seed" | "live";
101
+ }>;
102
+ atomDid: string;
103
+ }>;
104
+ export declare const SETBACK_FIELD_PROVENANCE_SCHEMA: z.ZodObject<{
105
+ front: z.ZodOptional<z.ZodObject<{
106
+ atomDid: z.ZodString;
107
+ confidence: z.ZodReadonly<z.ZodObject<{
108
+ readonly estimate: z.ZodNumber;
109
+ readonly n: z.ZodNumber;
110
+ readonly intervalWidth: z.ZodNumber;
111
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
112
+ }, "strip", z.ZodTypeAny, {
113
+ estimate: number;
114
+ n: number;
115
+ intervalWidth: number;
116
+ provenance: "asserted" | "backtest" | "seed" | "live";
117
+ }, {
118
+ estimate: number;
119
+ n: number;
120
+ intervalWidth: number;
121
+ provenance: "asserted" | "backtest" | "seed" | "live";
122
+ }>>;
123
+ }, "strip", z.ZodTypeAny, {
124
+ confidence: Readonly<{
125
+ estimate: number;
126
+ n: number;
127
+ intervalWidth: number;
128
+ provenance: "asserted" | "backtest" | "seed" | "live";
129
+ }>;
130
+ atomDid: string;
131
+ }, {
132
+ confidence: Readonly<{
133
+ estimate: number;
134
+ n: number;
135
+ intervalWidth: number;
136
+ provenance: "asserted" | "backtest" | "seed" | "live";
137
+ }>;
138
+ atomDid: string;
139
+ }>>;
140
+ side: z.ZodOptional<z.ZodObject<{
141
+ atomDid: z.ZodString;
142
+ confidence: z.ZodReadonly<z.ZodObject<{
143
+ readonly estimate: z.ZodNumber;
144
+ readonly n: z.ZodNumber;
145
+ readonly intervalWidth: z.ZodNumber;
146
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
147
+ }, "strip", z.ZodTypeAny, {
148
+ estimate: number;
149
+ n: number;
150
+ intervalWidth: number;
151
+ provenance: "asserted" | "backtest" | "seed" | "live";
152
+ }, {
153
+ estimate: number;
154
+ n: number;
155
+ intervalWidth: number;
156
+ provenance: "asserted" | "backtest" | "seed" | "live";
157
+ }>>;
158
+ }, "strip", z.ZodTypeAny, {
159
+ confidence: Readonly<{
160
+ estimate: number;
161
+ n: number;
162
+ intervalWidth: number;
163
+ provenance: "asserted" | "backtest" | "seed" | "live";
164
+ }>;
165
+ atomDid: string;
166
+ }, {
167
+ confidence: Readonly<{
168
+ estimate: number;
169
+ n: number;
170
+ intervalWidth: number;
171
+ provenance: "asserted" | "backtest" | "seed" | "live";
172
+ }>;
173
+ atomDid: string;
174
+ }>>;
175
+ rear: z.ZodOptional<z.ZodObject<{
176
+ atomDid: z.ZodString;
177
+ confidence: z.ZodReadonly<z.ZodObject<{
178
+ readonly estimate: z.ZodNumber;
179
+ readonly n: z.ZodNumber;
180
+ readonly intervalWidth: z.ZodNumber;
181
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
182
+ }, "strip", z.ZodTypeAny, {
183
+ estimate: number;
184
+ n: number;
185
+ intervalWidth: number;
186
+ provenance: "asserted" | "backtest" | "seed" | "live";
187
+ }, {
188
+ estimate: number;
189
+ n: number;
190
+ intervalWidth: number;
191
+ provenance: "asserted" | "backtest" | "seed" | "live";
192
+ }>>;
193
+ }, "strip", z.ZodTypeAny, {
194
+ confidence: Readonly<{
195
+ estimate: number;
196
+ n: number;
197
+ intervalWidth: number;
198
+ provenance: "asserted" | "backtest" | "seed" | "live";
199
+ }>;
200
+ atomDid: string;
201
+ }, {
202
+ confidence: Readonly<{
203
+ estimate: number;
204
+ n: number;
205
+ intervalWidth: number;
206
+ provenance: "asserted" | "backtest" | "seed" | "live";
207
+ }>;
208
+ atomDid: string;
209
+ }>>;
210
+ }, "strict", z.ZodTypeAny, {
211
+ front?: {
212
+ confidence: Readonly<{
213
+ estimate: number;
214
+ n: number;
215
+ intervalWidth: number;
216
+ provenance: "asserted" | "backtest" | "seed" | "live";
217
+ }>;
218
+ atomDid: string;
219
+ } | undefined;
220
+ side?: {
221
+ confidence: Readonly<{
222
+ estimate: number;
223
+ n: number;
224
+ intervalWidth: number;
225
+ provenance: "asserted" | "backtest" | "seed" | "live";
226
+ }>;
227
+ atomDid: string;
228
+ } | undefined;
229
+ rear?: {
230
+ confidence: Readonly<{
231
+ estimate: number;
232
+ n: number;
233
+ intervalWidth: number;
234
+ provenance: "asserted" | "backtest" | "seed" | "live";
235
+ }>;
236
+ atomDid: string;
237
+ } | undefined;
238
+ }, {
239
+ front?: {
240
+ confidence: Readonly<{
241
+ estimate: number;
242
+ n: number;
243
+ intervalWidth: number;
244
+ provenance: "asserted" | "backtest" | "seed" | "live";
245
+ }>;
246
+ atomDid: string;
247
+ } | undefined;
248
+ side?: {
249
+ confidence: Readonly<{
250
+ estimate: number;
251
+ n: number;
252
+ intervalWidth: number;
253
+ provenance: "asserted" | "backtest" | "seed" | "live";
254
+ }>;
255
+ atomDid: string;
256
+ } | undefined;
257
+ rear?: {
258
+ confidence: Readonly<{
259
+ estimate: number;
260
+ n: number;
261
+ intervalWidth: number;
262
+ provenance: "asserted" | "backtest" | "seed" | "live";
263
+ }>;
264
+ atomDid: string;
265
+ } | undefined;
266
+ }>;
267
+ export type SetbackFieldProvenance = z.infer<typeof SETBACK_FIELD_PROVENANCE_SCHEMA>;
268
+ /** Optional read-contract snapshot on write; calibrated axis resolves at READ. */
269
+ export declare const PROPERTY_READ_CONTRACT_SCHEMA: z.ZodReadonly<z.ZodObject<{
270
+ axes: z.ZodReadonly<z.ZodObject<{
271
+ calibratedConfidence: z.ZodReadonly<z.ZodObject<{
272
+ readonly estimate: z.ZodNumber;
273
+ readonly n: z.ZodNumber;
274
+ readonly intervalWidth: z.ZodNumber;
275
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
276
+ }, "strip", z.ZodTypeAny, {
277
+ estimate: number;
278
+ n: number;
279
+ intervalWidth: number;
280
+ provenance: "asserted" | "backtest" | "seed" | "live";
281
+ }, {
282
+ estimate: number;
283
+ n: number;
284
+ intervalWidth: number;
285
+ provenance: "asserted" | "backtest" | "seed" | "live";
286
+ }>>;
287
+ assertedConfidence: z.ZodReadonly<z.ZodObject<{
288
+ readonly estimate: z.ZodNumber;
289
+ readonly n: z.ZodNumber;
290
+ readonly intervalWidth: z.ZodNumber;
291
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
292
+ }, "strip", z.ZodTypeAny, {
293
+ estimate: number;
294
+ n: number;
295
+ intervalWidth: number;
296
+ provenance: "asserted" | "backtest" | "seed" | "live";
297
+ }, {
298
+ estimate: number;
299
+ n: number;
300
+ intervalWidth: number;
301
+ provenance: "asserted" | "backtest" | "seed" | "live";
302
+ }>>;
303
+ consequence: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
304
+ kind: z.ZodLiteral<"property-risk">;
305
+ stratum: z.ZodEnum<[import("../read-contract/reasoning-axes.js").PropertyRiskStratum, ...import("../read-contract/reasoning-axes.js").PropertyRiskStratum[]]>;
306
+ basis: z.ZodString;
307
+ assertedAt: z.ZodString;
308
+ auditRef: z.ZodOptional<z.ZodString>;
309
+ }, "strip", z.ZodTypeAny, {
310
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
311
+ assertedAt: string;
312
+ kind: "property-risk";
313
+ basis: string;
314
+ auditRef?: string | undefined;
315
+ }, {
316
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
317
+ assertedAt: string;
318
+ kind: "property-risk";
319
+ basis: string;
320
+ auditRef?: string | undefined;
321
+ }>, z.ZodObject<{
322
+ kind: z.ZodLiteral<"not-applicable">;
323
+ reason: z.ZodString;
324
+ assertedAt: z.ZodString;
325
+ }, "strip", z.ZodTypeAny, {
326
+ assertedAt: string;
327
+ kind: "not-applicable";
328
+ reason: string;
329
+ }, {
330
+ assertedAt: string;
331
+ kind: "not-applicable";
332
+ reason: string;
333
+ }>]>;
334
+ }, "strip", z.ZodTypeAny, {
335
+ calibratedConfidence: Readonly<{
336
+ estimate: number;
337
+ n: number;
338
+ intervalWidth: number;
339
+ provenance: "asserted" | "backtest" | "seed" | "live";
340
+ }>;
341
+ assertedConfidence: Readonly<{
342
+ estimate: number;
343
+ n: number;
344
+ intervalWidth: number;
345
+ provenance: "asserted" | "backtest" | "seed" | "live";
346
+ }>;
347
+ consequence: {
348
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
349
+ assertedAt: string;
350
+ kind: "property-risk";
351
+ basis: string;
352
+ auditRef?: string | undefined;
353
+ } | {
354
+ assertedAt: string;
355
+ kind: "not-applicable";
356
+ reason: string;
357
+ };
358
+ }, {
359
+ calibratedConfidence: Readonly<{
360
+ estimate: number;
361
+ n: number;
362
+ intervalWidth: number;
363
+ provenance: "asserted" | "backtest" | "seed" | "live";
364
+ }>;
365
+ assertedConfidence: Readonly<{
366
+ estimate: number;
367
+ n: number;
368
+ intervalWidth: number;
369
+ provenance: "asserted" | "backtest" | "seed" | "live";
370
+ }>;
371
+ consequence: {
372
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
373
+ assertedAt: string;
374
+ kind: "property-risk";
375
+ basis: string;
376
+ auditRef?: string | undefined;
377
+ } | {
378
+ assertedAt: string;
379
+ kind: "not-applicable";
380
+ reason: string;
381
+ };
382
+ }>>;
383
+ assembledAt: z.ZodString;
384
+ modelAttribution: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
385
+ modelId: z.ZodString;
386
+ modelVersion: z.ZodString;
387
+ promptTemplateVersion: z.ZodString;
388
+ contextTemplateVersion: z.ZodString;
389
+ samplingParams: z.ZodReadonly<z.ZodObject<{
390
+ temperature: z.ZodOptional<z.ZodNumber>;
391
+ topP: z.ZodOptional<z.ZodNumber>;
392
+ maxTokens: z.ZodOptional<z.ZodNumber>;
393
+ seed: z.ZodOptional<z.ZodNumber>;
394
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
395
+ temperature: z.ZodOptional<z.ZodNumber>;
396
+ topP: z.ZodOptional<z.ZodNumber>;
397
+ maxTokens: z.ZodOptional<z.ZodNumber>;
398
+ seed: z.ZodOptional<z.ZodNumber>;
399
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
400
+ temperature: z.ZodOptional<z.ZodNumber>;
401
+ topP: z.ZodOptional<z.ZodNumber>;
402
+ maxTokens: z.ZodOptional<z.ZodNumber>;
403
+ seed: z.ZodOptional<z.ZodNumber>;
404
+ }, z.ZodUnknown, "strip">>>;
405
+ retrievedAtomSetId: z.ZodString;
406
+ }, "strip", z.ZodTypeAny, {
407
+ modelId: string;
408
+ modelVersion: string;
409
+ promptTemplateVersion: string;
410
+ contextTemplateVersion: string;
411
+ samplingParams: Readonly<z.objectOutputType<{
412
+ temperature: z.ZodOptional<z.ZodNumber>;
413
+ topP: z.ZodOptional<z.ZodNumber>;
414
+ maxTokens: z.ZodOptional<z.ZodNumber>;
415
+ seed: z.ZodOptional<z.ZodNumber>;
416
+ }, z.ZodUnknown, "strip">>;
417
+ retrievedAtomSetId: string;
418
+ }, {
419
+ modelId: string;
420
+ modelVersion: string;
421
+ promptTemplateVersion: string;
422
+ contextTemplateVersion: string;
423
+ samplingParams: Readonly<z.objectInputType<{
424
+ temperature: z.ZodOptional<z.ZodNumber>;
425
+ topP: z.ZodOptional<z.ZodNumber>;
426
+ maxTokens: z.ZodOptional<z.ZodNumber>;
427
+ seed: z.ZodOptional<z.ZodNumber>;
428
+ }, z.ZodUnknown, "strip">>;
429
+ retrievedAtomSetId: string;
430
+ }>>>;
431
+ }, "strip", z.ZodTypeAny, {
432
+ axes: Readonly<{
433
+ calibratedConfidence: Readonly<{
434
+ estimate: number;
435
+ n: number;
436
+ intervalWidth: number;
437
+ provenance: "asserted" | "backtest" | "seed" | "live";
438
+ }>;
439
+ assertedConfidence: Readonly<{
440
+ estimate: number;
441
+ n: number;
442
+ intervalWidth: number;
443
+ provenance: "asserted" | "backtest" | "seed" | "live";
444
+ }>;
445
+ consequence: {
446
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
447
+ assertedAt: string;
448
+ kind: "property-risk";
449
+ basis: string;
450
+ auditRef?: string | undefined;
451
+ } | {
452
+ assertedAt: string;
453
+ kind: "not-applicable";
454
+ reason: string;
455
+ };
456
+ }>;
457
+ assembledAt: string;
458
+ modelAttribution?: Readonly<{
459
+ modelId: string;
460
+ modelVersion: string;
461
+ promptTemplateVersion: string;
462
+ contextTemplateVersion: string;
463
+ samplingParams: Readonly<z.objectOutputType<{
464
+ temperature: z.ZodOptional<z.ZodNumber>;
465
+ topP: z.ZodOptional<z.ZodNumber>;
466
+ maxTokens: z.ZodOptional<z.ZodNumber>;
467
+ seed: z.ZodOptional<z.ZodNumber>;
468
+ }, z.ZodUnknown, "strip">>;
469
+ retrievedAtomSetId: string;
470
+ }> | undefined;
471
+ }, {
472
+ axes: Readonly<{
473
+ calibratedConfidence: Readonly<{
474
+ estimate: number;
475
+ n: number;
476
+ intervalWidth: number;
477
+ provenance: "asserted" | "backtest" | "seed" | "live";
478
+ }>;
479
+ assertedConfidence: Readonly<{
480
+ estimate: number;
481
+ n: number;
482
+ intervalWidth: number;
483
+ provenance: "asserted" | "backtest" | "seed" | "live";
484
+ }>;
485
+ consequence: {
486
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
487
+ assertedAt: string;
488
+ kind: "property-risk";
489
+ basis: string;
490
+ auditRef?: string | undefined;
491
+ } | {
492
+ assertedAt: string;
493
+ kind: "not-applicable";
494
+ reason: string;
495
+ };
496
+ }>;
497
+ assembledAt: string;
498
+ modelAttribution?: Readonly<{
499
+ modelId: string;
500
+ modelVersion: string;
501
+ promptTemplateVersion: string;
502
+ contextTemplateVersion: string;
503
+ samplingParams: Readonly<z.objectInputType<{
504
+ temperature: z.ZodOptional<z.ZodNumber>;
505
+ topP: z.ZodOptional<z.ZodNumber>;
506
+ maxTokens: z.ZodOptional<z.ZodNumber>;
507
+ seed: z.ZodOptional<z.ZodNumber>;
508
+ }, z.ZodUnknown, "strip">>;
509
+ retrievedAtomSetId: string;
510
+ }> | undefined;
511
+ }>>;
512
+ export type PropertyReadContract = ReasoningReadContract;
513
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/property/common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,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;AAEzD,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,oCAAoC,CAAC;AAE5C,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB,QAA4B,CAAC;AAEhE,eAAO,MAAM,kBAAkB,EAAE,QAAiB,CAAC;AAEnD,eAAO,MAAM,8BAA8B,EAAE,YAA4B,CAAC;AAE1E,eAAO,MAAM,6BAA6B,mGAAuB,CAAC;AAElE,qEAAqE;AACrE,eAAO,MAAM,4BAA4B;;;;CAI/B,CAAC;AAEX,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,EAAG,iBAA0B,CAAC;AAE9D,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAElE,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,EAAG,kBAA2B,CAAC;AAEhE,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEpE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhE,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,iBAAiB,CAIvE,CAAC;AAEF,eAAO,MAAM,0BAA0B,4CAIrC,CAAC;AAEH;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGhD,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMjC,CAAC;AAEZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAErF,kFAAkF;AAClF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAiC,CAAC;AAE5E,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Shared property reasoning atom substrate (master WDLL 3.2–3.6).
3
+ *
4
+ * Property fact / rule / derived kinds reuse 1.8.0 primitives:
5
+ * {@link ReasoningChain}, {@link AtomInputRef}, {@link PropertyConsequence},
6
+ * {@link ReasoningReadContract}, {@link ActorRecordAtomInstance},
7
+ * {@link ObligationAtomInstance}.
8
+ *
9
+ * **Calibrated confidence at READ (I-E):** instances MAY carry a
10
+ * {@link ReasoningThreeAxisConfidence}-shaped asserted snapshot at write
11
+ * time (including a placeholder `calibratedConfidence` with
12
+ * `provenance: "asserted"`). At READ, the calibrated axis resolves through
13
+ * the calibration overlay — it is NOT composed-and-frozen on the instance.
14
+ * Do not invent a frozen multiply (e.g. no `labeling x district` field).
15
+ */
16
+ import { z } from "zod";
17
+ import { ACCESS_POLICY_SCHEMA } from "../conformance/common.js";
18
+ import { WIDTHED_CONFIDENCE_SCHEMA, } from "../read-contract/common.js";
19
+ import { REASONING_READ_CONTRACT_SCHEMA, } from "../read-contract/reasoning-axes.js";
20
+ /** Central-TX parcel node id: `{county_fips}:{prop_id}`. */
21
+ export const PARCEL_NODE_ID_PATTERN = /^\d{5}:[A-Za-z0-9._-]+$/;
22
+ export const PROPERTY_ATOM_TIER = "data";
23
+ export const PROPERTY_DEFAULT_ACCESS_POLICY = "public-free";
24
+ export const PROPERTY_ACCESS_POLICY_SCHEMA = ACCESS_POLICY_SCHEMA;
25
+ /** Quality gate fields required on every property reasoning atom. */
26
+ export const PROPERTY_QUALITY_GATE_FIELDS = {
27
+ sourceCitation: z.string().min(1),
28
+ extractedAt: z.string().min(1),
29
+ asOf: z.string().min(1).optional(),
30
+ };
31
+ /** Honest absence when no zoning polygon stamps the parcel. */
32
+ export const ZONING_ABSENCE_KIND = "no-zoning-stamp";
33
+ export const ZONING_ABSENCE_SCHEMA = z.object({
34
+ kind: z.literal(ZONING_ABSENCE_KIND),
35
+ reason: z.string().min(1),
36
+ });
37
+ /** Honest absence when setback match falls back to a conservative default. */
38
+ export const SETBACK_ABSENCE_KIND = "setback-fallback";
39
+ export const SETBACK_ABSENCE_SCHEMA = z.object({
40
+ kind: z.literal(SETBACK_ABSENCE_KIND),
41
+ reason: z.string().min(1),
42
+ });
43
+ export const SETBACK_MATCH_BASIS_VALUES = [
44
+ "exact",
45
+ "prefix",
46
+ "fallback",
47
+ ];
48
+ export const SETBACK_MATCH_BASIS_SCHEMA = z.enum([
49
+ "exact",
50
+ "prefix",
51
+ "fallback",
52
+ ]);
53
+ export const SETBACK_FIELD_PROVENANCE_ENTRY_SCHEMA = z.object({
54
+ atomDid: z.string().min(1),
55
+ confidence: WIDTHED_CONFIDENCE_SCHEMA,
56
+ });
57
+ export const SETBACK_FIELD_PROVENANCE_SCHEMA = z
58
+ .object({
59
+ front: SETBACK_FIELD_PROVENANCE_ENTRY_SCHEMA.optional(),
60
+ side: SETBACK_FIELD_PROVENANCE_ENTRY_SCHEMA.optional(),
61
+ rear: SETBACK_FIELD_PROVENANCE_ENTRY_SCHEMA.optional(),
62
+ })
63
+ .strict();
64
+ /** Optional read-contract snapshot on write; calibrated axis resolves at READ. */
65
+ export const PROPERTY_READ_CONTRACT_SCHEMA = REASONING_READ_CONTRACT_SCHEMA;
66
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/property/common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,yBAAyB,GAE1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,8BAA8B,GAE/B,MAAM,oCAAoC,CAAC;AAE5C,4DAA4D;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAa,MAAM,CAAC;AAEnD,MAAM,CAAC,MAAM,8BAA8B,GAAiB,aAAa,CAAC;AAE1E,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAAoB,CAAC;AAElE,qEAAqE;AACrE,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1B,CAAC;AAEX,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAA0B,CAAC;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAIH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAA2B,CAAC;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,OAAO;IACP,QAAQ;IACR,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,IAAI,CAAC;IAC/C,OAAO;IACP,QAAQ;IACR,UAAU;CACX,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,UAAU,EAAE,yBAAyB;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC;KAC7C,MAAM,CAAC;IACN,KAAK,EAAE,qCAAqC,CAAC,QAAQ,EAAE;IACvD,IAAI,EAAE,qCAAqC,CAAC,QAAQ,EAAE;IACtD,IAAI,EAAE,qCAAqC,CAAC,QAAQ,EAAE;CACvD,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,kFAAkF;AAClF,MAAM,CAAC,MAAM,6BAA6B,GAAG,8BAA8B,CAAC"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Property reasoning atom fixtures — master WDLL 3.2–3.6 Central-TX probes.
3
+ *
4
+ * Parcel ids are real Central-TX node anchors for grading notes.
5
+ */
6
+ import type { BuildableEnvelopeAtomInstance } from "./buildable-envelope.js";
7
+ import type { SetbackRuleAtomInstance } from "./setback-rule.js";
8
+ import type { ZoningFactAtomInstance } from "./zoning-fact.js";
9
+ /**
10
+ * Hays County (48209) — parcel 48209:156346, RS district from city GIS stamp.
11
+ * WDLL 3.3 zoning FACT probe.
12
+ */
13
+ export declare const HAYS_ZONING_FACT_FIXTURE: ZoningFactAtomInstance;
14
+ /**
15
+ * Bexar County (48029) — parcel 48029:410119, null zoning honest-absence.
16
+ * WDLL 3.3 negative probe — NOT a stamped I-2 invent.
17
+ */
18
+ export declare const BEXAR_NULL_ZONING_FACT_FIXTURE: ZoningFactAtomInstance;
19
+ /** Comal County (48091) — exact-match setback with typed code atom ref. WDLL 3.4/3.5. */
20
+ export declare const COMAL_SETBACK_RULE_FIXTURE: SetbackRuleAtomInstance;
21
+ /** Travis County prefix-match fixture — WDLL 3.4 prefix grading. */
22
+ export declare const TRAVIS_PREFIX_SETBACK_RULE_FIXTURE: SetbackRuleAtomInstance;
23
+ /** Fallback match with honest-absence — Kyle R1-T / Bexar I-2 fallback grading. */
24
+ export declare const FALLBACK_SETBACK_RULE_FIXTURE: SetbackRuleAtomInstance;
25
+ /**
26
+ * Derived envelope for 48209:156346 — WDLL 3.6.
27
+ * Inputs: zoning-fact + setback-rule + geometry + front-edge reference fields.
28
+ */
29
+ export declare const HAYS_BUILDABLE_ENVELOPE_FIXTURE: BuildableEnvelopeAtomInstance;
30
+ /** Negative — bare string citation instead of AtomInputRef (WDLL 3.5 fail). */
31
+ export declare const NEGATIVE_SETBACK_BARE_STRING_CITATION: {
32
+ entityType: "setback-rule";
33
+ atomDid: string;
34
+ parcelNodeId: string;
35
+ reasoningChain: {
36
+ reasoningKind: "observed";
37
+ };
38
+ front: number;
39
+ side: number;
40
+ rear: number;
41
+ sourceCodeAtomRef: string;
42
+ matchBasis: "exact";
43
+ accessPolicy: "public-free";
44
+ sourceCitation: string;
45
+ extractedAt: string;
46
+ atomTier: "data";
47
+ };
48
+ /** Negative — derived without inputAtomRefs. */
49
+ export declare const NEGATIVE_ENVELOPE_NO_INPUT_REFS: {
50
+ entityType: "buildable-envelope";
51
+ atomDid: string;
52
+ parcelNodeId: string;
53
+ reasoningChain: {
54
+ reasoningKind: "derived";
55
+ derivationMethod: "buildable-envelope-inset-v1";
56
+ inputAtomRefs: [];
57
+ };
58
+ accessPolicy: "public-free";
59
+ sourceCitation: string;
60
+ extractedAt: string;
61
+ atomTier: "data";
62
+ };
63
+ /** Negative — zoning with both district and absence. */
64
+ export declare const NEGATIVE_ZONING_DISTRICT_AND_ABSENCE: {
65
+ entityType: "zoning-fact";
66
+ atomDid: string;
67
+ parcelNodeId: string;
68
+ reasoningChain: {
69
+ reasoningKind: "observed";
70
+ };
71
+ district: string;
72
+ absence: {
73
+ kind: "no-zoning-stamp";
74
+ reason: string;
75
+ };
76
+ accessPolicy: "public-free";
77
+ sourceCitation: string;
78
+ extractedAt: string;
79
+ atomTier: "data";
80
+ };
81
+ /** Negative — fallback matchBasis without honest-absence. */
82
+ export declare const NEGATIVE_SETBACK_FALLBACK_NO_ABSENCE: {
83
+ entityType: "setback-rule";
84
+ atomDid: string;
85
+ parcelNodeId: string;
86
+ reasoningChain: {
87
+ reasoningKind: "observed";
88
+ };
89
+ front: number;
90
+ side: number;
91
+ rear: number;
92
+ sourceCodeAtomRef: {
93
+ atomDid: string;
94
+ role: "rule";
95
+ };
96
+ matchBasis: "fallback";
97
+ accessPolicy: "public-free";
98
+ sourceCitation: string;
99
+ extractedAt: string;
100
+ atomTier: "data";
101
+ };
102
+ //# sourceMappingURL=fixtures.d.ts.map