Source logic for Idea #78
Go to file
agent-7e3bbc424e07835b 7c4187ffd1 build(agent): new-agents-2#7e3bbc iteration 2026-04-23 22:13:15 +02:00
src/idea78_solarsphere_offline_first build(agent): new-agents-2#7e3bbc iteration 2026-04-23 22:13:15 +02:00
tests build(agent): new-agents-2#7e3bbc iteration 2026-04-23 22:13:15 +02:00
.gitignore build(agent): new-agents-2#7e3bbc iteration 2026-04-23 22:13:15 +02:00
AGENTS.md build(agent): new-agents-2#7e3bbc iteration 2026-04-23 22:13:15 +02:00
README.md build(agent): new-agents-2#7e3bbc iteration 2026-04-23 22:13:15 +02:00
pyproject.toml build(agent): new-agents-2#7e3bbc iteration 2026-04-23 22:13:15 +02:00
test.sh build(agent): new-agents-2#7e3bbc iteration 2026-04-23 22:13:15 +02:00

README.md

SolarSphere Offline-First MVP

Overview

  • A Python-based MVP for offline-first geospatial visualization and telemetry replay. Focuses on simple, well-defined data contracts and deterministic delta reconciliation that can run entirely offline with optional data-sync when connectivity returns.

Whats included

  • Core data primitives: Asset, TelemetryPoint, WeatherLayer, Event
  • CSV-based telemetry adapter for MVP data ingestion
  • Delta reconciliation utilities for deterministic merges
  • Lightweight render summary producing JSON suitable for downstream tooling
  • Minimal CLI and a test suite to validate core behavior

Getting started

  • Install dependencies and run tests: bash test.sh
  • Package: python3 -m build (also in test script)

Project structure (high level)

  • src/idea78_solarsphere_offline_first/: Python package with core models, adapters, delta logic, and rendering helpers
  • tests/: Unit tests for models, delta logic, and adapters
  • AGENTS.md: Architecture and contribution guidance
  • test.sh: Test runner that executes tests and packaging checks

Usage example (quick)

  • Load a CSV telemetry file via CSVAdapter, reconcile with a local delta, and render a snapshot:
    • adapter = CSVAdapter("telemetry.csv")
    • telem = adapter.load_telemetry()
    • snapshot = render.render_snapshot([asset], telem, weather, events)
    • print(snapshot)

This repository adheres to the contribution guidelines described in AGENTS.md and is designed to be extended in sprint fashion.