@empressaio/atom-contract 1.12.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,55 @@
2
2
 
3
3
  All notable changes to `@empressaio/atom-contract` (formerly `@hauska/atom-contract`) are documented here.
4
4
 
5
+ ## [1.13.0] - 2026-08-08
6
+
7
+ Additive minor — `parcel-node`, the Rail 1 parcel identity and geometry-provenance
8
+ anchor. MCP has advertised this entity type on the property chain since the chain
9
+ shipped, with no producer behind it; this lands the shape so the engine can write it.
10
+
11
+ ### Added
12
+
13
+ - **`parcel-node`** on `./property` — observed parcel ANCHOR atom
14
+ (`reasoningKind: observed`, uniform `public-free`). Carries parcel identity
15
+ (`parcelNodeId`, `countyFips`, `keyKind`, per-key-provenance `externalKeys`),
16
+ ring provenance (`geometrySourceTier: txgio-stratmap | county-arcgis-override |
17
+ absent`, `sourceVintage`, `divergenceObservationCount`), and load state
18
+ (`geometryLoaded`).
19
+ - **Geometry by reference, never by value.** `geometryStoreRef` is a typed pointer
20
+ `{ store: "txgio_parcel", countyFips, propId }` into the single geometry truth
21
+ frame (Geometry Law rule 1, `_decisions/2026-08-07_envelope_saga_close_and_geometry_law`).
22
+ The schema is `.strict()` on that pointer, so an inlined ring is a parse error —
23
+ the atom cannot become a second source of geometry truth.
24
+ - **First-class typed absence**, matching the `building-footprint` /
25
+ `utility-easement` pattern: county-level `verifiedAbsence` (mandatory non-empty
26
+ `provenanceScope`, fail-closed when `geometrySourceTier: absent`) on the
27
+ `{fips}:_county_coverage` anchor, plus per-parcel `absence` kinds
28
+ `no-parcel-geometry`, `geometry-incomplete` (MultiPolygon truncation finding),
29
+ and `parcel-key-unresolved`. Absence and a resolved pointer are mutually
30
+ exclusive; `geometryLoaded` must agree with the pointer.
31
+ - `PARCEL_KEY_KIND_SCHEMA` (`prop_id | geo_id_crosswalk`) — records which key the
32
+ second `parcelNodeId` token carries for crosswalk counties. Identity metadata,
33
+ not the join-quality rate (which stays a manifest/roster metric, not atomized).
34
+ - `parcelNodeAtomDid`, `PARCEL_NODE_ATOM_DID_PATTERN` — preserves the already
35
+ published MCP form `did:hauska:parcel-node:{parcelNodeId}`; the schema rejects
36
+ an `atomDid` that does not embed its own `parcelNodeId`.
37
+ - Fixtures: Bastrop loaded parcel, Travis crosswalk-key parcel, county-coverage
38
+ verified absence, per-parcel absence, MultiPolygon-incomplete finding, and six
39
+ negative fixtures.
40
+ - `PROPERTY_CONFORMANCE_TARGET_VERSION = "1.13.0"`.
41
+
42
+ ### Explicitly NOT in 1.13.0
43
+
44
+ - Parcel ring geometry as atom payload — rejected; `txgio_parcel` stays the one
45
+ ring per parcel.
46
+ - Any change to `parcelNodeId` shape or the MCP `parcel_node_id` parameter —
47
+ re-keying was rejected (2,269 call sites, published tool parameter, DIDs embed
48
+ the key).
49
+ - A new relationship layer — `atom_links` already ships.
50
+ - `cad-parcel-roll`, `land-use-fact`, `parcel-owner-facet`, `flood-hazard-fact`,
51
+ `soil-survey-fact` — later rails in the same spec.
52
+ - `buildable-envelope.absence` — still queued.
53
+
5
54
  ## [1.12.0] - 2026-08-05
6
55
 
7
56
  Additive minor — building footprint and utility easement site-layer atoms (ADR-029 / T3).
package/README.md CHANGED
@@ -279,7 +279,7 @@ import {
279
279
  ## Property reasoning atom kinds (master WDLL 3.2–3.6)
280
280
 
281
281
  Parcel buildable-answer chain atoms ship on the `./property` subpath
282
- (v1.9.0+): `zoning-fact`, `setback-rule`, `buildable-envelope`,
282
+ (v1.9.0+): `parcel-node`, `zoning-fact`, `setback-rule`, `buildable-envelope`,
283
283
  `parcel-terrain-model`, `road-node`, `building-footprint`, `utility-easement`.
284
284
  All are data-tier (`atomTier: "data"`) and default to `public-free`
285
285
  accessPolicy when undeclared on the registration.
@@ -307,6 +307,7 @@ import {
307
307
 
308
308
  | `entityType` | `reasoningKind` | Key fields |
309
309
  |---|---|---|
310
+ | `parcel-node` | `observed` | `keyKind`, `geometryStoreRef` pointer (never the ring) OR `absence`/`verifiedAbsence` |
310
311
  | `zoning-fact` | `observed` | `district` OR `absence.no-zoning-stamp` |
311
312
  | `setback-rule` | `observed` | `front`/`side`/`rear`, typed `sourceCodeAtomRef`, `matchBasis` |
312
313
  | `buildable-envelope` | `derived` | `buildable-envelope-inset-v1`, input refs to fact + rule + geometry |
@@ -315,6 +316,11 @@ import {
315
316
  | `building-footprint` | `observed` | `footprintGeometry` OR `absence`/`verifiedAbsence`; `sourceTier` |
316
317
  | `utility-easement` | `observed` | `easementGeometry`, `easementClass`, `public-free` always |
317
318
 
319
+ `parcel-node` is the Rail 1 anchor every other property rail keys on. It records
320
+ parcel identity and ring PROVENANCE; the ring itself stays in `txgio_parcel`, the
321
+ one geometry truth frame (Geometry Law rule 1). `geometryStoreRef` is a strict
322
+ pointer, so an inlined ring fails to parse.
323
+
318
324
  ICC royalties on code citations accrue via core `ObligationAtomInstance`
319
325
  rows — no standalone `SourceAttribution` type.
320
326
 
@@ -22,7 +22,7 @@ export type ReasoningConformanceTargetVersion = typeof REASONING_CONFORMANCE_TAR
22
22
  /**
23
23
  * Pin property atom kind adopters to this semver (master WDLL 3.2–3.6).
24
24
  */
25
- export declare const PROPERTY_CONFORMANCE_TARGET_VERSION: "1.12.0";
25
+ export declare const PROPERTY_CONFORMANCE_TARGET_VERSION: "1.13.0";
26
26
  export type PropertyConformanceTargetVersion = typeof PROPERTY_CONFORMANCE_TARGET_VERSION;
27
27
  /** Data-level atoms carry signed history; app-level workflow containers skip it. */
28
28
  export type AtomTier = "data" | "app";
@@ -19,7 +19,7 @@ export const REASONING_CONFORMANCE_TARGET_VERSION = "1.8.0";
19
19
  /**
20
20
  * Pin property atom kind adopters to this semver (master WDLL 3.2–3.6).
21
21
  */
22
- export const PROPERTY_CONFORMANCE_TARGET_VERSION = "1.12.0";
22
+ export const PROPERTY_CONFORMANCE_TARGET_VERSION = "1.13.0";
23
23
  export const ATOM_TIER_VALUES = ["data", "app"];
24
24
  export const ACCESS_POLICY_VALUES = [
25
25
  "public-free",
@@ -640,6 +640,92 @@ export declare const BUILDING_FOOTPRINT_ABSENCE_SCHEMA: z.ZodObject<{
640
640
  reason: string;
641
641
  }>;
642
642
  export type BuildingFootprintAbsence = z.infer<typeof BUILDING_FOOTPRINT_ABSENCE_SCHEMA>;
643
+ /**
644
+ * Which external key the second token of `parcelNodeId` carries.
645
+ *
646
+ * Eight Central-TX counties fail a straight `prop_id` join and route through a
647
+ * geo_id / address crosswalk (`90_operations/OPS-1_texas_source_registry.md`).
648
+ * Recording the key KIND on the anchor is identity metadata — it is not the
649
+ * join-quality RATE, which stays a manifest/roster metric and is deliberately
650
+ * not atomized.
651
+ */
652
+ export type ParcelKeyKind = "prop_id" | "geo_id_crosswalk";
653
+ export declare const PARCEL_KEY_KIND_SCHEMA: z.ZodEnum<["prop_id", "geo_id_crosswalk"]>;
654
+ /**
655
+ * Where the parcel ring came from.
656
+ *
657
+ * `absent` is the typed-absence tier (mirrors `building-footprint` /
658
+ * `utility-easement`): the county was probed and no ring source published.
659
+ */
660
+ export type ParcelGeometrySourceTier = "txgio-stratmap" | "county-arcgis-override" | "absent";
661
+ export declare const PARCEL_GEOMETRY_SOURCE_TIER_SCHEMA: z.ZodEnum<["txgio-stratmap", "county-arcgis-override", "absent"]>;
662
+ /**
663
+ * Pointer to the single geometry truth frame — NEVER the ring bytes.
664
+ *
665
+ * Geometry Law rule 1 (`_decisions/2026-08-07_envelope_saga_close_and_geometry_law`):
666
+ * one ring per parcel, `txgio_parcel` is the truth frame. Ten engine files read
667
+ * that store directly; duplicating the ring into an atom would create a second
668
+ * source of geometry truth and re-open rule 3's master defect class. This
669
+ * reference resolves to the ring; it does not restate it.
670
+ */
671
+ export declare const PARCEL_GEOMETRY_STORE_REF_SCHEMA: z.ZodObject<{
672
+ store: z.ZodLiteral<"txgio_parcel">;
673
+ countyFips: z.ZodString;
674
+ propId: z.ZodString;
675
+ }, "strict", z.ZodTypeAny, {
676
+ store: "txgio_parcel";
677
+ countyFips: string;
678
+ propId: string;
679
+ }, {
680
+ store: "txgio_parcel";
681
+ countyFips: string;
682
+ propId: string;
683
+ }>;
684
+ export type ParcelGeometryStoreRef = z.infer<typeof PARCEL_GEOMETRY_STORE_REF_SCHEMA>;
685
+ /**
686
+ * Per-parcel typed absence for `parcel-node`.
687
+ *
688
+ * - `no-parcel-geometry` — county IS loaded, parcel key resolves nothing.
689
+ * Fail-closed and distinct from not-yet-loaded, which is county-level
690
+ * `verifiedAbsence` on the `{fips}:_county_coverage` anchor.
691
+ * - `geometry-incomplete` — the store row carries a MultiPolygon whose extra
692
+ * rings the serving path would silently truncate. Emit the finding; do not
693
+ * pass a half-parcel off as the parcel.
694
+ * - `parcel-key-unresolved` — crosswalk county where the key kind could not be
695
+ * established; a guessed join is worse than an honest gap.
696
+ */
697
+ export declare const PARCEL_NODE_ABSENCE_KINDS: readonly ["no-parcel-geometry", "geometry-incomplete", "parcel-key-unresolved"];
698
+ export type ParcelNodeAbsenceKind = (typeof PARCEL_NODE_ABSENCE_KINDS)[number];
699
+ export declare const PARCEL_NODE_ABSENCE_SCHEMA: z.ZodObject<{
700
+ kind: z.ZodEnum<["no-parcel-geometry", "geometry-incomplete", "parcel-key-unresolved"]>;
701
+ reason: z.ZodString;
702
+ }, "strict", z.ZodTypeAny, {
703
+ kind: "no-parcel-geometry" | "geometry-incomplete" | "parcel-key-unresolved";
704
+ reason: string;
705
+ }, {
706
+ kind: "no-parcel-geometry" | "geometry-incomplete" | "parcel-key-unresolved";
707
+ reason: string;
708
+ }>;
709
+ export type ParcelNodeAbsence = z.infer<typeof PARCEL_NODE_ABSENCE_SCHEMA>;
710
+ /**
711
+ * One external key with its own provenance. A parcel anchor may carry several
712
+ * (prop_id from the TxGIO row, geo_id from the CAD roll); each states where it
713
+ * came from so a consumer never has to guess which key a join used.
714
+ */
715
+ export declare const PARCEL_EXTERNAL_KEY_SCHEMA: z.ZodObject<{
716
+ keyKind: z.ZodEnum<["prop_id", "geo_id_crosswalk"]>;
717
+ keyValue: z.ZodString;
718
+ sourceCitation: z.ZodString;
719
+ }, "strict", z.ZodTypeAny, {
720
+ sourceCitation: string;
721
+ keyKind: "prop_id" | "geo_id_crosswalk";
722
+ keyValue: string;
723
+ }, {
724
+ sourceCitation: string;
725
+ keyKind: "prop_id" | "geo_id_crosswalk";
726
+ keyValue: string;
727
+ }>;
728
+ export type ParcelExternalKey = z.infer<typeof PARCEL_EXTERNAL_KEY_SCHEMA>;
643
729
  export type UtilityEasementSourceTier = "plat-gis-authoritative" | "county-gis" | "record-extracted" | "absent";
644
730
  export declare const UTILITY_EASEMENT_SOURCE_TIER_SCHEMA: z.ZodEnum<["plat-gis-authoritative", "county-gis", "record-extracted", "absent"]>;
645
731
  export type UtilityEasementClass = "utility" | "drainage" | "ingress-egress" | "combined" | "unknown";
@@ -1 +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,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB,QAAqB,CAAC;AAEvD,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;AAEzD,0DAA0D;AAC1D,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD,eAAO,MAAM,gBAAgB,8CAAoC,CAAC;AAElE,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;EAGvC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;EAGrC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;IAGpC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE1E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;IAInC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;EAKpC,CAAC;AAEZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,kCAAkC,CAC1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kCAAkC,EAAG,kBAA2B,CAAC;AAE9E,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,MAAM,MAAM,2BAA2B,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;AAE7E,eAAO,MAAM,gCAAgC,EAAE,aAAa,CAAC,2BAA2B,CACpD,CAAC;AAErC,eAAO,MAAM,qCAAqC,+CAIhD,CAAC;AAEH,kEAAkE;AAClE,eAAO,MAAM,4BAA4B;;;;;CAK/B,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACnC,mBAAmB,GACnB,YAAY,GACZ,QAAQ,CAAC;AAEb,eAAO,MAAM,qCAAqC,0DAIhD,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,+BAA+B,EAAG,sBAA+B,CAAC;AAE/E,eAAO,MAAM,iCAAiC;;;;;;;;;EAG5C,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,iCAAiC,CACzC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC,wBAAwB,GACxB,YAAY,GACZ,kBAAkB,GAClB,QAAQ,CAAC;AAEb,eAAO,MAAM,mCAAmC,mFAK9C,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAC5B,SAAS,GACT,UAAU,GACV,gBAAgB,GAChB,UAAU,GACV,SAAS,CAAC;AAEd,eAAO,MAAM,6BAA6B,6EAMxC,CAAC;AAEH,eAAO,MAAM,6BAA6B,EAAG,qBAA8B,CAAC;AAE5E,eAAO,MAAM,+BAA+B;;;;;;;;;EAG1C,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAErF,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;EAO/B,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/property/common.ts"],"names":[],"mappings":"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"}
@@ -129,6 +129,63 @@ export const BUILDING_FOOTPRINT_ABSENCE_SCHEMA = z.object({
129
129
  kind: z.literal(BUILDING_FOOTPRINT_ABSENCE_KIND),
130
130
  reason: z.string().min(1),
131
131
  });
132
+ export const PARCEL_KEY_KIND_SCHEMA = z.enum(["prop_id", "geo_id_crosswalk"]);
133
+ export const PARCEL_GEOMETRY_SOURCE_TIER_SCHEMA = z.enum([
134
+ "txgio-stratmap",
135
+ "county-arcgis-override",
136
+ "absent",
137
+ ]);
138
+ /**
139
+ * Pointer to the single geometry truth frame — NEVER the ring bytes.
140
+ *
141
+ * Geometry Law rule 1 (`_decisions/2026-08-07_envelope_saga_close_and_geometry_law`):
142
+ * one ring per parcel, `txgio_parcel` is the truth frame. Ten engine files read
143
+ * that store directly; duplicating the ring into an atom would create a second
144
+ * source of geometry truth and re-open rule 3's master defect class. This
145
+ * reference resolves to the ring; it does not restate it.
146
+ */
147
+ export const PARCEL_GEOMETRY_STORE_REF_SCHEMA = z
148
+ .object({
149
+ store: z.literal("txgio_parcel"),
150
+ countyFips: z.string().regex(/^\d{5}$/, "countyFips must be 5 digits"),
151
+ propId: z.string().min(1),
152
+ })
153
+ .strict();
154
+ /**
155
+ * Per-parcel typed absence for `parcel-node`.
156
+ *
157
+ * - `no-parcel-geometry` — county IS loaded, parcel key resolves nothing.
158
+ * Fail-closed and distinct from not-yet-loaded, which is county-level
159
+ * `verifiedAbsence` on the `{fips}:_county_coverage` anchor.
160
+ * - `geometry-incomplete` — the store row carries a MultiPolygon whose extra
161
+ * rings the serving path would silently truncate. Emit the finding; do not
162
+ * pass a half-parcel off as the parcel.
163
+ * - `parcel-key-unresolved` — crosswalk county where the key kind could not be
164
+ * established; a guessed join is worse than an honest gap.
165
+ */
166
+ export const PARCEL_NODE_ABSENCE_KINDS = [
167
+ "no-parcel-geometry",
168
+ "geometry-incomplete",
169
+ "parcel-key-unresolved",
170
+ ];
171
+ export const PARCEL_NODE_ABSENCE_SCHEMA = z
172
+ .object({
173
+ kind: z.enum(PARCEL_NODE_ABSENCE_KINDS),
174
+ reason: z.string().min(1),
175
+ })
176
+ .strict();
177
+ /**
178
+ * One external key with its own provenance. A parcel anchor may carry several
179
+ * (prop_id from the TxGIO row, geo_id from the CAD roll); each states where it
180
+ * came from so a consumer never has to guess which key a join used.
181
+ */
182
+ export const PARCEL_EXTERNAL_KEY_SCHEMA = z
183
+ .object({
184
+ keyKind: PARCEL_KEY_KIND_SCHEMA,
185
+ keyValue: z.string().min(1),
186
+ sourceCitation: z.string().min(1),
187
+ })
188
+ .strict();
132
189
  export const UTILITY_EASEMENT_SOURCE_TIER_SCHEMA = z.enum([
133
190
  "plat-gis-authoritative",
134
191
  "county-gis",
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/property/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/property/common.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import type { SetbackRuleAtomInstance } from "./setback-rule.js";
10
10
  import type { ZoningFactAtomInstance } from "./zoning-fact.js";
11
11
  import type { RoadNodeAtomInstance } from "./road-node.js";
12
12
  import type { UtilityEasementAtomInstance } from "./utility-easement.js";
13
+ import type { ParcelNodeAtomInstance } from "./parcel-node.js";
13
14
  /**
14
15
  * Hays County (48209) — parcel 48209:156346, RS district from city GIS stamp.
15
16
  * WDLL 3.3 zoning FACT probe.
@@ -165,6 +166,160 @@ export declare const BASTROP_PARCEL_FOOTPRINT_ABSENCE_FIXTURE: BuildingFootprint
165
166
  export declare const BASTROP_CITY_EASEMENT_FIXTURE: UtilityEasementAtomInstance;
166
167
  /** County-coverage easement absence for Bastrop County. */
167
168
  export declare const BASTROP_COUNTY_EASEMENT_ABSENCE_FIXTURE: UtilityEasementAtomInstance;
169
+ /**
170
+ * Bastrop County (48021) parcel 27303 — loaded TxGIO ring, straight prop_id key.
171
+ * The atom points at `txgio_parcel`; it does not restate the ring.
172
+ */
173
+ export declare const BASTROP_PARCEL_NODE_FIXTURE: ParcelNodeAtomInstance;
174
+ /**
175
+ * Travis County (48453) — crosswalk key kind. `prop_id` is unreliable in this
176
+ * county (OPS-1 join-quality HOLD), so the anchor records that the second token
177
+ * is a crosswalk key rather than pretending a clean prop_id join happened.
178
+ */
179
+ export declare const TRAVIS_CROSSWALK_PARCEL_NODE_FIXTURE: ParcelNodeAtomInstance;
180
+ /**
181
+ * County-level typed absence — the ring source registry was probed for this
182
+ * county and nothing is published. Satisfied-absent, not not-yet.
183
+ */
184
+ export declare const COUNTY_COVERAGE_PARCEL_NODE_ABSENCE_FIXTURE: ParcelNodeAtomInstance;
185
+ /**
186
+ * Per-parcel absence in a LOADED county — the key resolves nothing. Fail-closed
187
+ * and distinct from the county-level not-yet case above.
188
+ */
189
+ export declare const BASTROP_PARCEL_NODE_ABSENCE_FIXTURE: ParcelNodeAtomInstance;
190
+ /**
191
+ * MultiPolygon truncation finding — the store row carries rings the serving
192
+ * path would silently drop. Report it; never serve a half-parcel as the parcel.
193
+ */
194
+ export declare const BASTROP_PARCEL_NODE_INCOMPLETE_FIXTURE: ParcelNodeAtomInstance;
195
+ /** Negative — sourceTier absent without verifiedAbsence (must fail closed). */
196
+ export declare const NEGATIVE_PARCEL_NODE_ABSENT_NO_VERIFIED: {
197
+ entityType: "parcel-node";
198
+ atomDid: string;
199
+ parcelNodeId: string;
200
+ countyFips: string;
201
+ keyKind: "prop_id";
202
+ reasoningChain: {
203
+ reasoningKind: "observed";
204
+ };
205
+ geometrySourceTier: "absent";
206
+ geometryLoaded: boolean;
207
+ accessPolicy: "public-free";
208
+ sourceCitation: string;
209
+ extractedAt: string;
210
+ verificationStatus: "machine";
211
+ sourceAdapter: string;
212
+ evaluatedAt: string;
213
+ atomTier: "data";
214
+ };
215
+ /** Negative — geometry pointer AND typed absence on the same atom. */
216
+ export declare const NEGATIVE_PARCEL_NODE_REF_AND_ABSENCE: {
217
+ entityType: "parcel-node";
218
+ atomDid: string;
219
+ parcelNodeId: string;
220
+ countyFips: string;
221
+ keyKind: "prop_id";
222
+ reasoningChain: {
223
+ reasoningKind: "observed";
224
+ };
225
+ geometrySourceTier: "txgio-stratmap";
226
+ geometryStoreRef: {
227
+ store: "txgio_parcel";
228
+ countyFips: string;
229
+ propId: string;
230
+ };
231
+ geometryLoaded: boolean;
232
+ absence: {
233
+ kind: "no-parcel-geometry";
234
+ reason: string;
235
+ };
236
+ accessPolicy: "public-free";
237
+ sourceCitation: string;
238
+ extractedAt: string;
239
+ verificationStatus: "machine";
240
+ sourceAdapter: string;
241
+ evaluatedAt: string;
242
+ atomTier: "data";
243
+ };
244
+ /** Negative — the ring body inlined on the atom (Geometry Law rule 1 guard). */
245
+ export declare const NEGATIVE_PARCEL_NODE_INLINE_GEOMETRY: {
246
+ entityType: "parcel-node";
247
+ atomDid: string;
248
+ parcelNodeId: string;
249
+ countyFips: string;
250
+ keyKind: "prop_id";
251
+ reasoningChain: {
252
+ reasoningKind: "observed";
253
+ };
254
+ geometrySourceTier: "txgio-stratmap";
255
+ geometryStoreRef: {
256
+ store: "txgio_parcel";
257
+ countyFips: string;
258
+ propId: string;
259
+ geometry: {
260
+ type: "Polygon";
261
+ coordinates: number[][][];
262
+ };
263
+ };
264
+ geometryLoaded: boolean;
265
+ accessPolicy: "public-free";
266
+ sourceCitation: string;
267
+ extractedAt: string;
268
+ verificationStatus: "machine";
269
+ sourceAdapter: string;
270
+ evaluatedAt: string;
271
+ atomTier: "data";
272
+ };
273
+ /** Negative — pointer names a different parcel than the atom claims. */
274
+ export declare const NEGATIVE_PARCEL_NODE_REF_MISMATCH: {
275
+ entityType: "parcel-node";
276
+ atomDid: string;
277
+ parcelNodeId: string;
278
+ countyFips: string;
279
+ keyKind: "prop_id";
280
+ reasoningChain: {
281
+ reasoningKind: "observed";
282
+ };
283
+ geometrySourceTier: "txgio-stratmap";
284
+ geometryStoreRef: {
285
+ store: "txgio_parcel";
286
+ countyFips: string;
287
+ propId: string;
288
+ };
289
+ geometryLoaded: boolean;
290
+ accessPolicy: "public-free";
291
+ sourceCitation: string;
292
+ extractedAt: string;
293
+ verificationStatus: "machine";
294
+ sourceAdapter: string;
295
+ evaluatedAt: string;
296
+ atomTier: "data";
297
+ };
298
+ /** Negative — parcel identity behind a paywall. */
299
+ export declare const NEGATIVE_PARCEL_NODE_NON_PUBLIC_POLICY: {
300
+ entityType: "parcel-node";
301
+ atomDid: string;
302
+ parcelNodeId: string;
303
+ countyFips: string;
304
+ keyKind: "prop_id";
305
+ reasoningChain: {
306
+ reasoningKind: "observed";
307
+ };
308
+ geometrySourceTier: "txgio-stratmap";
309
+ geometryStoreRef: {
310
+ store: "txgio_parcel";
311
+ countyFips: string;
312
+ propId: string;
313
+ };
314
+ geometryLoaded: boolean;
315
+ accessPolicy: "public-paid";
316
+ sourceCitation: string;
317
+ extractedAt: string;
318
+ verificationStatus: "machine";
319
+ sourceAdapter: string;
320
+ evaluatedAt: string;
321
+ atomTier: "data";
322
+ };
168
323
  /** Negative — ml-derived without ODC-By in sourceCitation. */
169
324
  export declare const NEGATIVE_FOOTPRINT_ML_NO_ODC_BY: {
170
325
  entityType: "building-footprint";
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/property/fixtures.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAKhF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAkBzE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,sBAuBtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,sBA+B5C,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,0BAA0B,EAAE,uBAgDxC,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,kCAAkC,EAAE,uBAmBhD,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,6BAA6B,EAAE,uBAuB3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,EAAE,6BAgD7C,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;CAcjD,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,+BAA+B;;;;;;;uBAOnB,EAAE;;;;;;CAM1B,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;CAWhD,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;CAiBhD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,8BA6F5C,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kCAAkC,EAAE,oBAuEhD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,6BA6B1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wCAAwC,EAAE,6BAsBtD,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,wCAAwC,EAAE,6BAoBtD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,2BAyB3C,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,uCAAuC,EAAE,2BAsBrD,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;CA0B3C,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;CAcjD,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;CAsB/C,CAAC"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/property/fixtures.ts"],"names":[],"mappings":"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"}