Hydra Architect
SkillDatabases & dataUse when designing or evolving Hydra platform architecture across Elixir/Phoenix, SQLite, VictoriaMetrics/VictoriaLogs analytics, native/Rust, and runtime boundaries.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Hydra Architect skill
What this skill tells your AI
The instructions your AI receives, as published by streamband/hydra-srt in .agents/skills/hydra-architect/SKILL.md and read by ahel’s review.
When to use
Use this skill for architecture/design work in Hydra:
- new subsystems and major refactors,
- data model and migration strategy,
- OTP lifecycle and process boundaries,
- reliability/operability decisions,
- implementation planning for coding agents.
Hydra-specific defaults
- Primary source of truth:
SQLitevia Ecto (ecto_sqlite3). - Analytics sink: external
VictoriaMetrics(route stats samples and route events over HTTP:8428) andVictoriaLogs(pipeline logs over HTTP:9428) — not transactional source of truth. - Control plane: Elixir/Phoenix.
- Media/runtime work may involve native components and GStreamer.
- Prefer incremental evolution over big-bang rewrites.
Non-negotiable principles
- Persist domain state in SQLite; do not store authoritative entity state in GenServers.
- Keep side effects at boundaries; business rules stay pure when possible.
- Use
Ecto.Multior explicit transactions for multi-step writes. - Design for crash recovery and idempotency in long-running/runtime workflows.
- Every architecture change includes test strategy and rollback path.
Decision policy (context over dogma)
- Ash/Oban/Broadway are optional tools, not mandatory defaults.
- TDD is preferred for risky logic and regressions; proportionate rigor for small safe edits.
- Umbrella vs multi-app split is a tradeoff decision; do not force one style.
Architecture workflow
- Confirm scope and constraints
- Problem, success criteria, latency/reliability targets, migration risk.
- Map current system touchpoints
- Read impacted modules, schemas, migrations, supervisors, API handlers, and tests.
- Identify SQLite tables and any VictoriaMetrics/VictoriaLogs analytics coupling.
- Propose 1-2 viable designs
- For each option: data flow, transaction boundaries, failure modes, observability, and cost.
- Choose and document one design
- Record rationale and explicit tradeoffs.
- List invariants that must remain true.
- Produce implementation plan
- Small, reversible steps with validation after each step.
- Include feature flag / staged rollout when risk is non-trivial.
SQLite guidance (Hydra)
- Treat SQLite as authoritative operational state.
- Keep migrations backward-compatible when feasible.
- Avoid lock-heavy long transactions in hot paths.
- Validate constraints at DB and changeset layers.
- For backups/restore-sensitive changes, call out integrity implications explicitly.
Victoria analytics guidance (Hydra)
- Use VictoriaMetrics for historical route stats (
hydra_srt_stats_sample) and route events (hydra_srt_route_event) via Prometheus remote-write style import and PromQL/Export APIs. - Use VictoriaLogs for pipeline log history via JSON-line ingest and LogSQL query APIs.
- Analytics writes should be resilient to delay/retry; ingestion failures must not take down control-plane operations unless explicitly required.
- VictoriaLogs retention is governed by server-side
-retentionPeriod; there is no per-request delete API — plan resets around data-dir clears or retention changes.
OTP and runtime boundaries
- GenServers are for orchestration, caches, buffering, and lifecycle control.
- Domain truth lives in DB, not process memory.
- Define restart semantics per child and expected recovery behavior.
- Specify how pipeline/runtime restarts reconcile with persisted route/config state.
Required outputs for architecture tasks
For substantial architecture work, produce these artifacts (keep concise):
Context: problem, constraints, non-goals.Option A/B: tradeoffs and failure modes.Chosen design: data model, boundaries, supervision impact.Plan: ordered implementation steps.Validation: tests, telemetry checks, and rollback strategy.
Review checklist
- Clear ownership of authoritative state (SQLite vs in-memory vs Victoria analytics stores).
- Transaction boundaries are explicit and safe.
- Failure/retry/idempotency paths are defined.
- Migration and rollback path are realistic.
- Test plan covers regressions and concurrency-sensitive paths.
- Operational signals (logs/metrics) are sufficient for debugging.
Anti-patterns to avoid
- Treating Victoria analytics stores as system-of-record.
- Hiding domain mutations in controllers/web layer.
- Long blocking work in request path when async boundary is appropriate.
- Large refactors without staged verification.
- Architecture docs with no executable plan.
Signals
- GitHub stars
- 143
- Forks
- 10
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
hydra-architect- Source
- github.com/streamband/hydra-srt