Skip to content

Add bounded Topology feed and TRACE evidence validation to dev1 - #225

Draft
n30nex wants to merge 1 commit into
dev1from
codex/dev1-topology-server-20261013
Draft

n30nex wants to merge 1 commit into
dev1from
codex/dev1-topology-server-20261013

Conversation

@n30nex

@n30nex n30nex commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

Topology needs a bounded link snapshot so a 24-hour view does not page through every route and exhaust the shared request budget. Add GET /api/v1/routes/topology for deduplicated adjacent links, with validated region/window filters, a 100,000-link cap and short cache. Expose cached MeshMapper scope catalogue metadata and mark channel messages decrypted with the default Public key for the paired web view.

The dev1 audit also found malformed TRACE payloads resolving into confident routes, including unvisited requested hops. Validate TRACE structure using its own 1/2/4/8-byte hash widths, retain all identity candidates, and promote only consumed, unambiguous hops. Retained raw observations are preserved and receive quality reasons; this does not prove RF corruption or remove historical neighbour aggregates. Fixes #223.

Paired frontend: MeshCore-Beacon/beacon-web#165. Targets the new dev1 baseline at the current upstream server revision. Preview version: 2.1.0-dev1.1 (API version 2.1.0). No schema, retention, Collector or credentials changes.

Validation: build, format, vet, full Go suite, PostgreSQL topology/trace-quality regressions, existing database and backup tests, scope refresh race tests, vulnerability scan and generated Swagger all passed in CI. The exact candidate image passed its Actions build. The qualified candidate is now deployed on dev1.meshcore.ca; see runtime evidence below.

Runtime qualification: deployed v2.1.0-dev1.1, web 33793697e721498d30b2a2a33013c1448b158fc2 and server 1d3f7ce6211bce9a3bb8fc0693eb4d10965c3fac, using digest-pinned Actions images. All 27 public assets match. The sampled 24h snapshot returned 8,029 links in 0.967s without a cap. Both MQTT brokers are connected and app/web have zero restarts. Desktop/narrow Topology, pan/orbit/zoom, fullscreen, global-region focus reset, live activity, Atlas persistence/Heard by and suspect-trace reveal/analyzer checks passed. A naturally received Public message included the required metadata; automated tests cover bubble rendering/expiry.

Only dev1 app/web changed; schema, data, retention, configuration, other containers and Pi/production were preserved. Saved prior images were load-verified; a fresh database archive passed full stream validation and a separate schema restore. The paired rollback checkpoint is retained privately. This is an open-PR candidate deployment, not a merge into dev1.

Separate release concerns remain: #224 (route reconfirm timeouts) and #226 (synchronous boot backfill, about 159 seconds to readiness in this rollout). Those are not claimed fixed by this PR.

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.

1 participant