Files
planet/TODO.md
rayd1o 81970a1d05
Some checks failed
ci / backend (push) Has been cancelled
ci / frontend (push) Has been cancelled
ci / delivery (push) Has been cancelled
release / images (push) Has been cancelled
release: bump version to 0.60.0
2026-05-17 02:50:42 +08:00

9.7 KiB

TODO

This file is the active backlog only. Completed history belongs in docs/CHANGELOG.md; detailed designs belong in docs/plans/.

Earth

  • 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.
  • High-precision country boundary tile framework: implement the static vector tile builder, versioned seed output, frontend bbox tile loader, debounce, in-flight dedupe, and LRU cache described in Earth High Precision Boundary Tiles Plan.
  • Add the pmtiles-mvt frontend 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 downstream earth_boundary_tiles PMTiles builder.
  • Replace debug GeoJSON boundary tiles with the real earth-boundaries-china-pov-v1.pmtiles production 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-10 preserves 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.
  • Presentation controller ownership: replace the singleton card fallback in presentation-controller.js with a presentation/card token check before BGP/News migrate onto the shared controller, so connectors only attach to their owning card.
  • 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.
  • Earth news cruise: connect Earth news to the generic cruise queue via a news adapter rather than coupling news-specific sequencing into main.js.

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, and Crusoe.
  • 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

  • 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 / inet6num whois as a finer fallback layer after prefix_geography, OpenGeoFeed, and RIR delegated data.

Platform

  • Earth preferences scope: keep current device-local Earth preferences in localStorage; only design backend user preferences if account-level synchronization becomes a real product requirement.
  • System logs: finish a usable Planet log viewing flow that covers backend, frontend, AI Provider, and collector/task logs, with filtering and tailing.
  • Console UI modernization: gradually replace Ant Design with Planet-owned components and a consistent Tabler Icons based icon system.
  • Earth live sync: design a unified realtime invalidation path for summary/BGP/satellite updates if polling and current WebSocket channels become insufficient.

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

  • Refined BGP observer and anomaly hover/click feel.
  • 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_geography as a separate data layer instead of treating prefix_scope as 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.

Obsolete Or Superseded

  • AIS v3.1 old /geo/vessels full-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.