11 KiB
11 KiB
TODO
This file is the active backlog only. Completed history belongs in docs/CHANGELOG.md; detailed designs belong in docs/plans/.
Earth
- Motion Agent v2 hardening: tune the implemented MediaPipe gesture recognizer across camera placements, exercise the UE command/control client, run reconnect and dual-camera soak tests, and continue the v3 calibrated 3D roadmap described in Motion Agent v2 Control Protocol And 3D Calibration Roadmap.
- Earth AI command entry: merge natural-language and speech-triggered LLM commands into the existing Earth search panel as described in Agent Runtime, Earth LLM Command, And Speech Entry Plan.
- Earth action executor: implement safe visualization actions for layer toggles, batch highlights, filters, focus, result panels, and clear-highlight behavior.
- Earth entity matching: support stable entity ids and batch matching for Beidou satellites, mainland China compute centers, BGP, news, vessels, and cables.
- Replace debug GeoJSON boundary tiles with the real
earth-boundaries-china-pov-v1.pmtilesproduction artifact after audited admin-0 / coastline / claim-line sources and the PMTiles toolchain are available. - Import authoritative China POV / coastline / claim-line source packages through the three standard Earth boundary source collectors, then rebuild a versioned PMTiles artifact so highest zoom
8-10preserves trusted source geometry instead of seed data. - Earth boundary data: acquire or generate auditable China POV geometry for Zangnan, Aksai Chin, Taiwan/Penghu, Diaoyu Dao and affiliated islands, Chiwei Yu, South China Sea islands, Kosovo, Gaza, and the official dashed maritime claim line before implementing final visual changes.
- Earth high-resolution basemap tiles: implement the viewport-loaded imagery layer described in Earth High Resolution Basemap Tiles Plan, using high-precision coastline as the alignment reference instead of replacing the globe with one huge texture.
- BGP frontend maintainability: split bgp.js by responsibility into data loading, marker rendering, overlays, and animation once the current interaction behavior is stable.
- Optional BGP marker experiment: evaluate HTML markers for BGP incident/collector points if WebGL marker density or fixed screen-size clickability becomes a real blocker.
Compute Centers And Location
- Unknown compute-center locations: continue reducing unresolved records through the shared location pipeline, with confidence, precision, reason, and verification date preserved in GeoJSON/details.
- Compute-center registry: keep expanding the local canonical location registry with
canonical_name, aliases, operator, country/region/city, coordinates, confidence, and source notes. - Compute-center enrichment: improve source-page parsing for Epoch AI and related collectors by extracting location clues from detail pages, embedded JSON, schema.org, OpenGraph, script variables, PDFs, and press releases.
- Compute-center identity normalization: normalize operator / cluster / facility aliases such as
xAI / Colossus / Memphis,OpenAI / Stargate,CoreWeave,Lambda, andCrusoe. - Compute-center manual review: add an export/review/import workflow for unresolved or estimated locations and feed confirmed results back into the registry.
AIS / Vessels
- AIS aggregation strategy v4: expose source priority, field-level merge rules, freshness windows, and protected dynamic-field rules in configuration, with validation and strategy version returned by vessel APIs.
- AIS vessel enrichment v5: add asynchronous vessel profile enrichment for ship type detail, AIS class, flag, dimensions, build year, operator, and cached media. Do not fetch third-party pages in the realtime AIS request path.
- AIS identity cleanup: continue identifying vessels whose display name is only
MMSI <number>and backfill names from AISStream static messages, BarentsWatch static fields, or enrichment cache.
AI Provider And Agents
- Unified integration config schema: implement the shared low-code schema engine for datasource, AI Provider, Web Search, and OCR configuration described in Integration Config Schema System Plan.
- AI provider routing: finish the OpenClaw-style provider/model routing refactor described in AI Provider OpenClaw-Style Routing Plan, so model-specific transport rules live in provider metadata rather than runtime hardcoding.
- AI provider catalog: replace the temporary
model_provider_apisbridge with structuredmodels_metadata, discovery descriptors, and incremental model sync with stale marking. - AI provider connectivity: keep the plug action as lightweight network/auth/model-directory validation only, and keep real generation tests inside Playground or explicit “trial run” actions.
- Agent runtime foundation: add auditable agent runs, steps, evidence, proposals, and the Agent operations UI described in Agent Runtime, Earth LLM Command, And Speech Entry Plan.
- Agent tool protocol: add backend JSON tool-call fallback, optional provider-native tool compatibility, tool whitelist validation, and policy-gated proposal application.
- Speech/ASR integration for agents: add provider-neutral transcription settings and API, defaulting to Whisper-compatible API providers while keeping text commands usable when ASR is unavailable.
- Earth voice wake: add device-local configurable wake-word preferences, microphone fallback states, and post-wake instruction upload for Earth commands.
- AI provider compatibility center: move provider/model compatibility rules into a JSON/YAML config read by runtime, instead of continuing to scatter provider-specific branches through Python code.
- Provider compatibility coverage: add explicit config for OpenAI, Anthropic, MiniMax, Ollama, Moonshot, DeepSeek, Qwen, GLM, Gemini, OpenRouter, vLLM, LM Studio, and One API.
- Compatibility schema: cover adapter type, base URL pattern, auth header, thinking/reasoning defaults, stream path, tool-call capability, multimodal capability, and provider-specific request patches.
- BGP geography fallback: evaluate
inetnum/inet6numwhois as a finer fallback layer afterprefix_geography,OpenGeoFeed, and RIR delegated data.
Archive
Archived items stay here so old context is not lost. Completed items remain checked; obsolete, invalid, or superseded items stay unchecked and include the reason.
Completed
- Implemented the high-precision country boundary tile framework from Earth High Precision Boundary Tiles Plan: static vector tile builder, versioned seed output, frontend bbox tile loader, debounce, in-flight dedupe, and LRU cache.
- Added the
pmtiles-mvtfrontend tile provider contract, MVT decoder dependencies, static PMTiles Nginx handling, collector artifact registration, production readiness check, and user operation docs for Earth boundaries. - Split Earth boundary ingestion into standard source collectors (
earth_admin0_boundaries,earth_coastline,earth_claim_lines) plus the downstreamearth_boundary_tilesPMTiles builder. - Refined BGP observer and anomaly
hover/clickfeel. - Added BGP anomaly relationship display with cables / regions.
- Added the Earth BGP activity layer so the map still feels alive when incident density is low.
- Added BGP state expression for stable observation, local fluctuation, and active incident states.
- Reframed "no active incident" as "observation network is running; no aggregate incident detected".
- Added collector / region recent activity scoring.
- Replaced oversized BGP incident glow with compact incident core plus outward pulse rings.
- Added BGP incident symbol types instead of using one generic bright marker.
- Switched BGP incident geography from collector-centric to prefix-centric priority.
- Added
prefix_geographyas a separate data layer instead of treatingprefix_scopeas prefix geography. - Added IPtoASN / IPtoCountry as the main prefix-centric geography source.
- Added OpenGeoFeed as a high-quality prefix geography override source.
- Made RIR delegated data a prefix geography fallback rather than the primary source.
- Added route leak and path instability / flap detectors after the activity layer work.
- Console UI modernization. Admin is now the only console, legacy Ant Design / Admin Next code paths and dependencies have been removed, and current console UI uses Planet-owned components.
- Earth news cruise adapter. News cruise now uses
news-cruise-adapter.jsand is wired frommain.jsinstead of keeping news-specific sequencing directly in the main Earth loop. - Presentation controller ownership.
PresentationControllernow guards async ownership through active request identity checks, and current callers pass per-request card targets so stale connector/card work cannot overwrite the active presentation. - Earth live sync. Database writes now flow through
earth_data_change_events,earth_db_change_listener, layer adapters, cache invalidation, and theearth_updatesWebSocket channel; the Earth frontend debounces updates and refreshes BGP, cables, compute centers, satellites, vessels, news, and interactables by layer. - System logs. Log sources now normalize into
LogEvent, Admin supports snapshot filtering plus WebSocket tail/follow, task/detail views deep-link into prefiltered logs, and Admin runtime errors report through theadmin-clientlog source.
Obsolete Or Superseded
- AIS v3.1 old
/geo/vesselsfull-merge requirement. Superseded by/api/v1/vessels/snapshot, controlled legacy fallback, and diagnostics in the AIS aggregation plan. - AIS v3.2 old framing of AISStream as a batch collector that needed conversion. Superseded by the implemented long-lived AISStream collector and realtime stream UI.
- AIS v3.3 old one-shot REST progress semantics for AISStream. Superseded by realtime stream status handling.
- AIS v3.4 broad identity cleanup wording. Folded into the active AIS identity cleanup and v5 enrichment tasks.
- Earth surface material overlay for boundary calibration. Superseded by the high-precision boundary tile plan; future work must use source-faithful boundary/coastline data rather than overlay calibration against the coarse base map.
- Hardcoded Earth news source extraction as a standalone task. Superseded by the broader Earth news source configuration and collector plans.
- Country-level compute-center fallback placement as a standalone task. Superseded by the shared location pipeline and registry/manual-review backlog.
- Earth preferences backend sync scope. Superseded by the current product decision to keep Earth preferences device-local in
localStorageuntil account-level synchronization becomes a real requirement.