Skip to content
This repository was archived by the owner on Jun 21, 2026. It is now read-only.

Latest commit

 

History

History
140 lines (118 loc) · 5.99 KB

File metadata and controls

140 lines (118 loc) · 5.99 KB

Distributed Task Observatory Implementation Task List

Phase 0: Foundation & Contracts [x]

  • Initialize Bazel workspace and build rules
  • Define canonical event schemas and domain models (JSON Schema/OpenAPI)
  • Set up local development environment (kind cluster, kubectl)

Phase 1: Infrastructure & Platform [x]

  • Deploy RabbitMQ with Management UI
  • Deploy PostgreSQL with pgAdmin
  • Deploy NoSQL (Redis/MongoDB) with Management UI
  • Configure Kubernetes Ingress and Service routing

Phase 2: Core Service Implementation [x]

  • Implement Node.js API Gateway (Job submission, RabbitMQ producer)
  • Implement Python Job Processor (RabbitMQ consumer, PostgreSQL persistence)
  • Verify core job lifecycle (Submit -> Queue -> Process -> Store)

Phase 3: Observability Stack [x]

  • Deploy Prometheus and Alertmanager
  • Provision Grafana with initial dashboards
  • Instrument Node.js and Python services with Prometheus metrics
  • Configure standard alerts (Service down, Failure rate)

Phase 4: Aggregation & Read Model [x]

  • Implement Go Metrics Engine (RabbitMQ consumer, Redis/MongoDB persistence)
  • Implement Read Model API (Single source for UIs)
  • Verify metrics aggregation and read model consistency

Phase 5: Interface Layer [x]

  • Implement Rust TUI (ratatui) for real-time monitoring
  • Implement Web Mirror UI
  • Connect UIs to Read Model API and Prometheus

Phase 6: Hardening & Verification [x]

  • Execute Integration Gate (End-to-end proof)
  • Validate contract enforcement in CI
  • Final documentation and walkthrough

Phase 7: Testing & Determinism [x]

  • Add unit tests to all services
  • Implement schema-compliant mock data
  • Enforce deterministic test fixtures
  • Add Bazel build rules for Go services

Phase 8: Production-Grade Observability [x]

  • Add MongoDB for event sourcing audit trail
  • Create Grafana dashboard with 6 panels
  • Configure Prometheus scrape targets
  • Add CORS support to Read Model API

Phase 9: Message Filtering & Event Sourcing [x]

  • Implement job type filtering
  • Add MongoDB event persistence
  • Update Read Model to query MongoDB
  • Add /events endpoint to Read Model API

Phase 10: Startup Automation [x]

  • Create scripts/start-all.ps1 one-click startup
  • Add TUI cluster launcher mode
  • Add cluster status detection
  • Implement setup progress view in TUI
  • Create Web launcher.html for offline bootstrap

Phase 11: Version Governance [x ]

  • Add VERSION files to all services
  • Create check-service-versions.py script
  • Implement schema compatibility checking
  • Document versioning governance in README

Phase 12: Consumer Validation & TUI Enhancements [x]

  • Implement schema validator for Python processor
  • Add dead-letter queue for invalid messages
  • Add TUI loading splash with animation
  • Add TUI alerts panel
  • Add TUI task creation placeholder
  • Update Web Mirror for feature parity
  • Add unit tests for TUI components

Phase 13: Add Task/UI Launcher & Hardening [x]

  • Implement Add Task form in TUI (N key)
  • Implement UI Launcher in TUI (U key)
  • Add Web dashboard feature parity
  • Add error enums and input validation

Phase 14: Distribution Strategy [x]

  • Binary rename to odd-dashboard
  • CLI features (--version, doctor)
  • Install scripts (install.sh, install.ps1)
  • npm shim package
  • Release workflow

Phase 15: TUI Refactoring & Prerequisites Setup [x]

  • Refactor monolithic main.rs into modules
  • Add guided prerequisites setup
  • Add clipboard support via arboard

Phase 16: TypeScript Migration & Doctor Enhancement [x]

  • Enhance doctor command with OS-specific install commands
  • Migrate gateway tests to TypeScript with strict typing
  • Add root-level TypeScript/vitest configuration
  • Fix RedisInsight port mapping (5540 internal)
  • Add @semantic-release/changelog for CHANGELOG.md generation
  • Update BUILD.bazel for TypeScript tests

Phase 17: Testing Optimizations & CI Hardening [x]

  • Create docs/agents/INVARIANTS.md with cross-platform and contract guarantees
  • Add unified coverage enforcement via coverage-config.json and check-coverage.py
  • Parallelize Go tests with pwsh < 7 fallback
  • Add dorny/paths-filter for reliable change detection
  • Add integration gate trigger invariant for contract/service changes
  • Remove duplicate contracts CI job

Phase 31.6: CI Docker Build Context Fix [x]

  • Fix CI build-images job to use repo root context for Gateway/Processor
  • Remove fragile cp contracts workaround
  • Add scripts/validate-dockerfile-context.py prevention script
  • Add validation to CI workflow
  • Update INVARIANTS.md with accurate B1-B4 documentation

Phase 31.7: Mermaid Animator Expansion [x]

  • Implement Phase 1 tokenizers (Flowchart, State, Sequence)
  • Implement Phase 2 tokenizers (Sankey, Pie, Radar, Gantt, Mindmap, GitGraph, Class)
  • Create type detection router (src/type-router.js)
  • Add animation strategies (stream-flow, reveal, trace, cascade, branch-grow)
  • 110+ passing unit tests across 20+ suites

Phase 31.8: Docs Viewer & E2E Tests [x]

  • Create GitHub Pages experiment viewer (docs/index.html, docs/app.js)
  • Implement side-by-side comparison mode for assessments
  • Add responsive mobile stacking for compare mode
  • Add Playwright E2E tests (docs/tests/docs-viewer.spec.js)
  • Integrate with CI via path-filtered triggers

Phase 32: Docs Directory Refactor [x]

  • Move 7 .md files from docs/ to docs/agents/
  • Update all functional code references (README.md, scripts, doctor.rs)
  • Update internal cross-references in moved files
  • Enhance README Documentation section with docs/agents table
  • Update audit session data with new phases