Commits on Source 11

  • Pierros Papadeas's avatar
    Update public tracker to showcase Libre Space satellites · 53d74975
    Pierros Papadeas authored
    
    
    Quick-select satellites now feature PHASMA-LAMARR (66673),
    PHASMA-DIRAC (66681), PeakSat (98378), and ISS (25544).
    Default tracking target changed to PHASMA-LAMARR.
    
    Co-Authored-By: default avatarClaude Opus 4.6 <noreply@anthropic.com>
    53d74975
  • Pierros Papadeas's avatar
    Update documentation, archive old research, add v0.3 research · 427f48c6
    Pierros Papadeas authored
    
    
    - Archive 8 v0.1-v0.2 research docs to docs/research/archive/
    - Add 6 fresh v0.3 research documents written by parallel agents:
      00-executive-summary, 01-architecture-review, 02-security-review,
      03-operations-scalability, 04-satnogs-integration, 05-technology-roadmap
    - Auto-select first active campaign on dashboard load for immediate
      telemetry visibility
    - Replace org dropdown with simple select + link (fixes z-index behind map)
    - Update DEVELOPMENT.md: Makefile targets, project structure, test counts
    - Update mkdocs.yml nav for new research structure
    - Fix mkdocs edit_uri: main -> master
    
    Co-Authored-By: default avatarClaude Opus 4.6 <noreply@anthropic.com>
    427f48c6
  • Pierros Papadeas's avatar
    Add admin dashboard, network discovery, join requests, and email restrictions · ed138d90
    Pierros Papadeas authored
    
    
    - System admin dashboard (/admin) with KPI overview, user/network/station
      management, and join request approval
    - Network directory (/networks) for browsing all orgs and requesting membership
    - JoinRequest model with pending/approved/denied lifecycle
    - is_admin flag on User model, auto-set for pierros@libre.space
    - Email domain restriction: only @libre.space can self-register, others need invitation
    - Member role management and removal APIs
    - Pin mkdocs versions in CI to avoid mkdocs 2.0 breaking changes
    - Remove --strict from mkdocs build to prevent INFO->warning promotion
    
    Co-Authored-By: default avatarClaude Opus 4.6 <noreply@anthropic.com>
    ed138d90
  • Pierros Papadeas's avatar
    docs: replace ASCII diagrams with Mermaid · cd2d6f95
    Pierros Papadeas authored
    - Architecture flowchart with styled subgraphs (Cloud, Ground, Space)
    - Entity-Relationship diagram for data model
    - Sequence diagram showing command flow from operator to hardware
    
    GitLab renders Mermaid natively in markdown.
    cd2d6f95
  • Pierros Papadeas's avatar
    docs: tone down overstated capabilities in README · 6da4052e
    Pierros Papadeas authored
    - Remove 'sub-second' claim (not measured/verified)
    - Remove 'milliseconds' from Magic Find (depends on catalog size)
    - Remove 'identify unknown signals' (it finds overhead satellites, not signal ID)
    - Remove 'self-register over MQTT' (registration is via web UI)
    - Clarify that LOOP_INTERVAL is configurable
    - Simplify telemetry claim to 'pass predictions'
    - Change 'Instant provisioning' to 'Station provisioning'
    6da4052e
  • Pierros Papadeas's avatar
    Fix Leaflet map tile rendering with invalidateSize · a2ce684b
    Pierros Papadeas authored
    
    
    Add invalidateSize() call after container layout settles and on
    window resize to prevent grey/missing tiles in flexbox/grid layouts.
    Applied to both dashboard and public tracker maps.
    
    Co-Authored-By: default avatarClaude Opus 4.6 <noreply@anthropic.com>
    a2ce684b
  • Pierros Papadeas's avatar
    Add CHANGELOG.md to repo root for GitLab sidebar visibility · afa08606
    Pierros Papadeas authored
    
    
    GitLab auto-detects CHANGELOG.md at the repository root and displays
    a link in the project sidebar. Copies the canonical docs/CHANGELOG.md
    to the root level.
    
    Co-Authored-By: default avatarClaude Opus 4.6 <noreply@anthropic.com>
    afa08606
  • Pierros Papadeas's avatar
    Add admin actions: join/delete networks, delete stations and campaigns · 7a2ce4b6
    Pierros Papadeas authored
    
    
    - Admin can join any network as owner (bypasses join request flow)
    - Admin can delete networks (cascades to memberships, stations, campaigns,
      assignments, transmitters, and join requests)
    - Admin can delete individual stations and campaigns
    - New Campaigns tab in admin dashboard with status, NORAD ID, priority,
      network, and station assignment count
    - All destructive actions require confirmation dialog
    
    Co-Authored-By: default avatarClaude Opus 4.6 <noreply@anthropic.com>
    7a2ce4b6
  • Pierros Papadeas's avatar
    Add hardware-in-the-loop testing with RPi + USRP B200mini + G-5500 · 06a2fb45
    Pierros Papadeas authored
    
    
    Add full HIL testing infrastructure for validating the agent data path
    with real ground station hardware (MQTT -> Agent -> rotctld/rigctld ->
    physical hardware -> telemetry readback).
    
    Agent changes:
    - Broker address configurable via TALOS_BROKER_HOST/TALOS_BROKER_PORT
    - rigctld socket support (connect_rig, get_freq, Hamlib F/M commands)
    - Telemetry loop includes rig frequency readback
    
    New files:
    - ops/rpi/ -- RPi provisioning (provision.sh, systemd services, udev
      rules, hardware.env template for G-5500 + USRP B200mini)
    - tests/test_integration/test_hil.py -- 17 tests across 5 classes
      (hardware health, rotator movement, SDR tuning, agent integration,
      full ISS pass simulation), gated by TALOS_HIL=1
    - tests/test_integration/conftest_hil.py -- SafeRotator fixture with
      position clamping, movement wait, and auto-park on teardown
    - docs/HIL_TESTING.md -- provisioning, config, and troubleshooting guide
    
    CI/CD:
    - test-hil job runs on hil-tagged RPi runner (allow_failure: true)
    - after_script parks rotator regardless of test outcome
    - build-agent optionally depends on test-hil
    
    Co-Authored-By: default avatarClaude Opus 4.6 (1M context) <noreply@anthropic.com>
    06a2fb45
  • Pierros Papadeas's avatar
    Add development roadmap consolidating all v0.3 research recommendations · 807e665d
    Pierros Papadeas authored
    
    
    Single source of truth for priorities across v0.3.1 through v0.7+.
    65 items organized by version and priority, cross-referenced to their
    source research documents. Each item has a sign-off status (PROPOSED,
    APPROVED, DONE, DEFERRED, DROPPED) for owner review.
    
    Co-Authored-By: default avatarClaude Opus 4.6 (1M context) <noreply@anthropic.com>
    807e665d
  • Pierros Papadeas's avatar
    v0.3.1: Security hardening, input validation, and code hygiene · 6e750fa0
    Pierros Papadeas authored
    
    
    11 quick-win items from the v0.3 research recommendations:
    
    Security:
    - Wrap agent on_message in try/except (malformed JSON no longer crashes)
    - Add secure=True to session cookie for HTTPS enforcement
    - Replace raw dict login with Pydantic EmailStr validation
    - Add max_length constraints to all API request string fields
    - Constrain Membership.role via DB CHECK constraint
    - Gate CI build stage on SAST security scans
    
    Code hygiene:
    - Delete dead core/tracker.py (161 lines, never imported)
    - Remove stale window_start/window_end from assignment schemas
    - Move ADMIN_EMAIL and ALLOWED_EMAIL_DOMAINS to env vars
    - Add --org CLI arg to agent for org-scoped MQTT topics
    
    Bug fix:
    - Compute footprint radius from orbital altitude (was hardcoded 2500 km)
    
    Also: email-validator added to dependencies, version bumped to 0.3.1,
    ROADMAP updated (11 items marked DONE), CHANGELOG updated.
    
    Co-Authored-By: default avatarClaude Opus 4.6 (1M context) <noreply@anthropic.com>
    6e750fa0
Loading
Loading