Chance Brothers sync interface

Interface Guide

Experimental technical partner preview. This is not a stable production API, is not safe for automatic import, and is not access-controlled. It documents manual comparison and review of LUX Light Archive Chance Brothers data. LUX stores lighthouses and sites, but also lenses, optics, lanterns, towers, museum objects, and other heritage assets that may move or survive separately.

Agent handoff

Use these machine-readable and plain-text contracts to understand the preview format and prepare a human-reviewed integration plan. Do not feed the preview directly into another CMS.

Open agent JSON Download Markdown spec Back to sync

Snapshot protocol

The exchange files describe a dated generated snapshot. Use this section when comparing imports across time or reporting a parser/import bug.

MetadataValue
generated_at2026-08-23T06:52:29+00:00
archive_version.versionv0.24.456-review
archive_version.display_versionv0.24.456
extractor.scriptscripts/build_static_site.py
  1. Before manual evaluation, verify source_snapshot_id and source_snapshot_checksum; generated_at and archive_version are build metadata, not snapshot identity.
  2. If reporting an import issue, include generated_at, archive_version.version, extractor.script, the endpoint path, and the affected lux_asset_id or cht_source_id.
  3. Use public comparison.csv/json only as a public-safe compatibility worklist; generate the private full-inventory package before reporting complete partner gaps.
  4. Share a full-inventory package intentionally and validate any returned acknowledgement against its package and stable gap IDs.
  5. When a CHT page appears to have reused LUX data, store the CHT URL as a partner link only; do not promote it to independent source evidence.
  6. Never infer deletion from absence; record missing_from_latest_snapshot and require a separate reviewed decision.

Full review versus public compatibility

A complete bidirectional gap report uses the intentionally generated private review package. The public comparison endpoints contain a public-safe subset and must not be quoted as the complete gap between LUX and CHT.

PopulationDeliveryFull gap claims
partner_review_full_inventoryintentionally generated private review packageYes, review evidence only
public_safe_compatibility_subset/chance-brothers/comparison.json and .csvNo

Private package command: run scripts/chance_partner_reconciliation.py with generate. The complete reproducible command is in the agent JSON and Markdown contracts.

Optional improvements Chance may adopt

Entirely voluntary. The current map export remains usable and none of these capabilities is required for the present exchange. They would only make later identity and change comparisons easier and more precise.

CapabilitySuggestionWhy it helps
stable_record_idPersistent record IDKeeps identity stable when a title or URL slug changes.
modified_atRecord modified timestampMakes incremental comparison and changed-row review more precise.
revision_or_content_hashRevision or content hashLets both sides prove which record version was compared.
structured_full_record_exportStructured full-record exportReduces page-by-page fetching when comparing claims and evidence.
record_lifecycle_stateRedirected, superseded, or removed stateDistinguishes a deliberate lifecycle change from a temporary absence.

Model

Chance Brothers sync data model LUX heritage assets, the CHT snapshot, and the manual partner overlay feed exports and comparison reports; curator review records confirmed partner decisions back into the overlay. LUX heritage asset lens / optic / lantern / tower CSV / JSON export public-safe import rows GeoJSON mapped points only Comparison report matches / gaps / adoption signals CHT snapshot prepared source rows Curator review confirm / reject / adoption signal Partner overlay manual counterpart decisions
Mermaid source for agents
flowchart LR
  LUX[LUX heritage_asset\nlens / optic / lantern / tower] --> Export[CSV / JSON export]
  LUX --> GeoJSON[GeoJSON mapped points]
  LUX --> Comparison[Comparison report]
  CHT[CHT snapshot] --> Comparison
  Overlay[partner link overlay\nmanual review] --> Export
  Overlay --> Comparison
  Comparison --> Review[Curator review\nconfirm / reject / adoption signal]
  Review --> Overlay

Endpoints

PathFormatUse
/chance-brothers/export.csvcsvFlat manual-review projection of public-safe Chance Brothers payloads; not automatic-import authoritative.
/chance-brothers/export.jsonjsonAuthoritative preview serialization with snapshot, hash, state, and provenance metadata.
/chance-brothers/lighthouses.geojsongeojsonMapped point overlay for records with coordinates.
/chance-brothers/comparison.csvcsvReconciliation report between LUX rows and the latest prepared CHT snapshot.
/chance-brothers/comparison.jsonjsonPublic-safe compatibility comparison; review-only, not an import source or full-inventory gap report.
/chance-brothers/sync/extractions/html+jsonSelectable historical map extractions, snapshot deltas, and curated notes/gap packages.

Core concepts

ConceptMeaning
heritage_assetA first-class LUX object such as a lens, optic, lantern, apparatus, tower, museum object, or related component. It is not always a lighthouse page.
lighthouse_or_siteA host place or navigation site that may contain, display, replace, or historically relate to a Chance Brothers asset.
current_host_idReviewed LUX lighthouse/lightship host when known. It may be blank when an asset is known but not yet matched to a host record.
current_locationSource-import or reviewed location used for matching and mapping. Coordinates are not automatically accepted canonical lighthouse coordinates.
source_evidenceThe source rows supporting or discovering the asset. Object-level links are useful provenance but not automatically field-level evidence.
partner_linkManual counterpart/adoption review row for Chance Heritage Trust exchange. It is separate from independent source evidence.

Fields

Use the JSON and Markdown contracts for machine import. These field lists are collapsed here so the human guide stays readable.

CSV / JSON export 35 fields
CSV / JSON export
exchange_record_id
schema_version
record_hash
lux_id
lux_asset_id
subject_family
subject_subtype
partner_id
external_record_id
external_url
partner_record_state
preferred_name
aliases
latitude
longitude
object_distinction
manufacturer
review_status
publication_state
exchange_assertion_state
counterpart_state
public_lux_url
generated_at
source_snapshot_id
source_snapshot_checksum
raw_record_hash
collision_cohort_id
visibility_mode
media_state
spatial_eligibility
spatial_omission_reason
field_provenance_hash
field_provenance_json
media_json
downstream_impact_json
Comparison 10 fields
Comparison
comparison_status
lux_asset_id
lux_title
lux_url
cht_source_id
cht_title
cht_url
match_method
review_action
review_note
GeoJSON properties 15 fields
GeoJSON properties
exchange_record_id
schema_version
record_hash
lux_id
external_record_id
partner_record_state
preferred_name
subject_subtype
manufacturer
review_status
publication_state
exchange_assertion_state
counterpart_state
public_lux_url
source_snapshot_id
Partner overlay 7 fields
Partner overlay
lux_asset_id
cht_source_id
cht_url
match_status
adoption_status
reviewed_at
reviewer_note

Import guidance for agents

  1. Do not automatically import any partner-preview endpoint into a CMS.
  2. Use JSON as the reference representation; CSV and GeoJSON are projections of the same rows.
  3. Use lighthouses.geojson only for mapped points; unmapped assets can still be valid records.
  4. Do not import comparison.csv/json as facts; it is a reconciliation worklist.
  5. Blank image fields mean no public-safe image is currently exported.
  6. Do not treat matched_cht_url as independent evidence when the CHT page may have reused LUX data.
  7. Keep heritage assets distinct from lighthouse/site pages: a lens or optic may move, survive separately, or lack a confirmed host.

Citation, contact, and public reuse

This Chance channel is a review-preview partner surface, not a stable API SLA. For public export guidance, citation patterns, and institutional contact, use the archive reuse pages.

Data / Reuse How to Cite Contact