Skip to content

LP-0018: OpenStreetMap integration — decentralized map data distribution - #71

Merged
mart1n-xyz merged 12 commits into
masterfrom
lp-0018-openstreetmap-integration
Sep 5, 2026
Merged

LP-0018: OpenStreetMap integration — decentralized map data distribution#71
mart1n-xyz merged 12 commits into
masterfrom
lp-0018-openstreetmap-integration

Conversation

@mart1n-xyz

@mart1n-xyz mart1n-xyz commented May 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Addresses review from fryorcraken and weboko, plus a scope decision: no follow-up viewer prize; the OSM registry SDK is a required Basecamp module (full API for the distribution app, limited subset for other Basecamp apps).
  • Integrity: downloads trust the content-addressed CID. Geofabrik MD5 is required only at local-import time.
  • Adoption: coverage (≥15 countries and ≥25 verified region entries on Logos testnet 0.3) plus ecosystem reuse (≥5 independent modules, including ≥3 Basecamp apps). Redundant mirroring and community vouching are discretionary.
  • Spec shape: no technical appendix (frozen region list kept for coverage). Prize $1500. Pinned to Logos testnet 0.3 (a later testnet is a follow-up prize, not a reset rule). CLI, cycle counts, mkLogosModule, and module-catalog publishing added, matching LP-0023.

Test plan

  • Review prize structure against LP-0000 template
  • Confirm README table entry for LP-0018 (Draft, Medium)
  • Confirm CID integrity vs import-time MD5 split is consistent
  • Confirm the SDK is a Basecamp module (not an out-of-Basecamp app)
  • Confirm Adoption coverage + reuse bars; mirroring/vouching discretionary
  • Confirm testnet 0.3 pin and no reset contingency
  • Confirm LEZ-only registry requirement is consistent throughout

mart1n-xyz and others added 3 commits May 28, 2026 13:23
Restates success criteria in the appendix alongside technical design so
builders and evaluators have a single combined specification.

Co-authored-by: Cursor <cursoragent@cursor.com>
Mirror LP-0017 registry, supportability, submission, and usability
patterns; expand appendix checklist to match updated criteria.

Co-authored-by: Cursor <cursoragent@cursor.com>
Aligns LP-0018 with standard on-chain prize patterns: mandatory LEZ
deployment, SPEL IDL, sequencer tests, and RISC0 demo requirements.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

github-actions Bot commented May 28, 2026

Copy link
Copy Markdown

✅ Validation passed

A reviewer will assess against the prize criteria.
ℹ️ Prize proposal for LP-0018.


Automated check. See solution template and TERMS.

@mart1n-xyz
mart1n-xyz requested a review from fryorcraken May 28, 2026 11:41
fryorcraken added a commit that referenced this pull request Aug 10, 2026
Four other open PRs (#36, #71, #75, #90) already claimed LP-0018, all
opened before this one. LP-0021 is the first number claimed by neither a
merged prize nor an open PR.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Introduce a country/subregion region model with a non-overlap invariant
and Geofabrik-path keys, add parent/level to the registry schema, and
thread the model through success criteria, scope, and the appendix.

Add an Adoption section with independently verifiable coverage,
redundant mirroring, freshness, and sustained-activity criteria plus a
testnet-reset contingency. Freeze the decomposed-country leaf ids (US,
China, Russia; India already fixed) so the closed set is reconstructable
from the document, and add a 25 verified-entry floor alongside the
15-country bar so coverage cannot be met by tiny single subregions.

Reference LP-0020 (OSM Map Viewer) as the complementary usage layer.

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread prizes/LP-0018.md Outdated
- Logos Storage module (for storing PBF files)
- LEZ (Logos Execution Zone) program for the on-chain OSM registry

Logos Storage may connect to an external Logos node until the built-in module is available.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is fine to omit already

Comment thread prizes/LP-0018.md Outdated
**Required (independently verifiable):**

- **Coverage.** At least **15 countries** from the predefined set (see [Appendix A.4](#a4-predefined-regions)) are covered on-chain and hosted in Logos Storage, and at least **25 total verified region entries** are covered across the set. A country counts as covered when it is a country-level entry that is registered, or a decomposed country (US, India, China, Russia) for which **at least one of its subregions** is registered. Each contributing entry must verify: the evaluator fetches the CID from Logos Storage, hashes the bytes, and confirms the hash matches Geofabrik's published MD5 for that snapshot. Entries whose stored bytes do not match Geofabrik do not count, and an unverified subregion does not make its country count. The 25-entry floor is above the 15-country minimum and forces some depth in the decomposed countries, so coverage cannot be met by decomposed countries each satisfied with a single small subregion.
- **Redundant mirroring.** Each **covered region entry** (a country-level region, or a registered subregion of a decomposed country) is registered by **at least 3 distinct accounts**, so no single operator is the sole source for any region. This is verifiable directly from registry entries. (The *count* of distinct accounts is objective; whether those accounts are genuinely independent operators is assessed under Discretionary signals below.)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

at least 3 distinct accounts sounds to me easily forgeable since accounts are just randomly generated Logos accounts

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Redundant mirroring is now a Discretionary signal: a covered region hosted by more than 5 operators (same CID, distinct hosting accounts), assessed qualitatively.

Comment thread prizes/LP-0018.md Outdated
**Discretionary signals (considered in addition, per Terms & Conditions):**

- **Operator independence.** The accounts behind the mirror counts are genuinely independent hosts with real account history, not one team spinning up accounts to satisfy the redundancy bar. Evaluators inspect on-chain and account histories.
- **Ecosystem reuse.** At least a few independent applications or modules consume the OSM registry module/SDK to discover or fetch regions. Use of the SDK is confirmable by code inspection; whether the consuming projects are genuine and independent of the submitting team is discretionary.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Ecosystem reuse.** At least a few independent applications or modules consume the OSM registry module/SDK to discover or fetch regions. Use of the SDK is confirmable by code inspection; whether the consuming projects are genuine and independent of the submitting team is discretionary.
- **Ecosystem reuse.** At least 5 independent applications or modules consume the OSM registry module/SDK to discover or fetch regions. Use of the SDK is confirmable by code inspection; whether the consuming projects are genuine and independent of the submitting team is discretionary.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would say a total of 5 modules, include 3 Basecamp applications (ui module).

Applications must be on a source forge, from independent developers, etc.

I suggest you take a similar approach to the registry λ-Prize: #127

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ecosystem reuse via the SDK: at least 5 independent modules, including at least 3 Logos Basecamp apps (UI modules), consuming the OSM distribution module. One of the 5 may use only the standalone SDK.

Comment thread prizes/LP-0018.md Outdated

---

## Appendix: Technical Design and Requirements

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section overall looks useful but at the same time makes a lot of choices for implementors.

I would personally try to simplify it or even remove with moving abstract things into FURPS

But we can keep it, I am not strongly against.

To clarify, I expect this to be used mainly by AI :)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would removing the appendix here and leave it to the challenger.

Comment thread prizes/LP-0018.md Outdated

## Prize Structure

- **Total Prize:** $X

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

Suggested change
- **Total Prize:** $X
- **Total Prize:** $1500

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added

Comment thread prizes/LP-0018.md Outdated
- [ ] **Region discovery**: fetch the Geofabrik index and display available regions with version info and their level in the region tree (country / subregion), restricted to the predefined set.
- [ ] **Host workflow**: download PBF from Geofabrik → store to Logos Storage → register on-chain via the OSM registry LEZ program.
- [ ] **Download workflow**: fetch from Logos Storage (if hosted) or Geofabrik (direct fallback).
- [ ] **Checksum verification**: verify a downloaded file against Geofabrik's published MD5 checksum.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't seem necessary as we want to avoid calling to Geofabrik just to do checksum. I also assume the CID also acts as a checksum

Suggested change
- [ ] **Checksum verification**: verify a downloaded file against Geofabrik's published MD5 checksum.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point

Comment thread prizes/LP-0018.md Outdated

**Discretionary signals (considered in addition, per Terms & Conditions):**

- **Operator independence.** The accounts behind the mirror counts are genuinely independent hosts with real account history, not one team spinning up accounts to satisfy the redundancy bar. Evaluators inspect on-chain and account histories.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be difficult or not of great value for onchain history.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dropped this. Did analogue approach to your PR

Comment thread prizes/LP-0018.md Outdated
**Discretionary signals (considered in addition, per Terms & Conditions):**

- **Operator independence.** The accounts behind the mirror counts are genuinely independent hosts with real account history, not one team spinning up accounts to satisfy the redundancy bar. Evaluators inspect on-chain and account histories.
- **Ecosystem reuse.** At least a few independent applications or modules consume the OSM registry module/SDK to discover or fetch regions. Use of the SDK is confirmable by code inspection; whether the consuming projects are genuine and independent of the submitting team is discretionary.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would say a total of 5 modules, include 3 Basecamp applications (ui module).

Applications must be on a source forge, from independent developers, etc.

I suggest you take a similar approach to the registry λ-Prize: #127

Comment thread prizes/LP-0018.md Outdated

---

## Appendix: Technical Design and Requirements

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would removing the appendix here and leave it to the challenger.

mart1n-xyz and others added 4 commits August 28, 2026 11:29
…tion.

Downloads now trust the content-addressed CID; Geofabrik MD5 is import-time
only. Drop freshness and sustained-activity bars, promote ecosystem reuse
of the SDK to a required criterion, and treat redundant mirroring as a
discretionary signal. Elevate the OSM registry SDK to a primary deliverable,
remove the technical appendix while keeping the frozen region list, drop
the LP-0020 viewer-prize reference, set the prize to $1500, and omit the
external-node implementation note.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep master's prize-table statuses and solution links, and add the
LP-0018 Draft row.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Pin to Logos testnet 0.3, drop the reset contingency, and treat a later
testnet as a follow-up prize. Add CLI, cycle counts, module-builder,
catalog publishing, and a Geofabrik exception on centralised services.
Fit Scope, Submission, and Evaluation to the LP-0023 shape. Keep the
SDK as a Basecamp module: full API for the distribution app, limited
subset for other Basecamp consumers.

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread prizes/LP-0018.md

- [ ] Deployed and tested against Logos testnet 0.3 (the canonical Logos LEZ zone).
- [ ] The submission builds and runs end-to-end on both **macOS (Apple Silicon)** and **Linux (x86_64)**.
- [ ] The Logos Basecamp modules (distribution app and SDK/module) are built with [`logos-module-builder`](https://github.com/logos-co/logos-module-builder) (`mkLogosModule`).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we would also want the module to be available in a published catalogue:

  • The Logos Core modules published to a module catalog: a fork of logos-modules-release-base, publishing releases via logos-modules-release-action. The catalog's logos-repo.json URL must be included so evaluators can install the module through the package-manager UI / lgpd.

Co-authored-by: Cursor <cursoragent@cursor.com>
Clarify that the prize spec is outcome criteria, not direction of a participant's approach, and point back to the program Terms & Conditions.

Co-authored-by: Cursor <cursoragent@cursor.com>
@mart1n-xyz
mart1n-xyz marked this pull request as ready for review September 2, 2026 07:22
fryorcraken added a commit that referenced this pull request Sep 3, 2026
Four other open PRs (#36, #71, #75, #90) already claimed LP-0018, all
opened before this one. LP-0021 is the first number claimed by neither a
merged prize nor an open PR.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
mart1n-xyz and others added 2 commits September 5, 2026 14:24
List it under adoption-first, require dual MIT and Apache-2.0, and evaluate against Adoption plus a solution PR.

Co-authored-by: Cursor <cursoragent@cursor.com>
@mart1n-xyz
mart1n-xyz merged commit 4ff20a5 into master Sep 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants