Onboarding

Sparki

27 cards ~ 2.2 h Foundational

Foundational walk through the sparki project. Read top to bottom if you're new; no prior context assumed.

  1. sparki beginner 5 min

    Service Topology: What Actually Runs

    Use when: onboarding to sparki-tools and deciding which repo a change belongs in; someone names auth-shield, deploy-loco, smithy or storm as if they were live; tracing a request from the browser to a build log

  2. sparki intermediate 6 min

    Engine Packages: The Shipped Path vs the Subsystems Tree

    Use when: adding a capability to api-engine and deciding where it goes; someone cites subsystems/score or subsystems/loco as running code; debugging which package owns a failing API route

  3. sparki intermediate 5 min

    Pipeline Config: Contract Stages, Stored Steps, Triggers

    Use when: writing or reviewing a pipeline payload for POST /api/v1/pipelines; a step timeout or retry does not behave as the schema suggests; adding a field to PipelineStep in api-contracts

  4. sparki intermediate 6 min

    Build Lifecycle: Pending Row to Remote Worker to Final Status

    Use when: debugging a build that stays pending or fails with 'worker lost'; explaining how long a build may run and who stops it; tracing how a triggered build becomes logs and a final status

  5. sparki intermediate 4 min

    Per-Build WebSocket Stream

    Use when: wiring the build log view to live output; debugging a dashboard that misses log lines or status changes; checking who may open a build's stream

  6. sparki intermediate 5 min

    Loco Deployment State Machine

    Use when: writing a deployment status query; explaining why a deploy is `validating` vs `pending`; adding a new terminal status

  7. sparki intermediate 5 min

    Deployment Strategies & Rollback

    Use when: choosing direct vs blue-green vs canary for a new service; investigating an unexpected auto-rollback; wiring a new platform adapter into deploy-loco

  8. sparki beginner 4 min

    Project Detection Surface (Scan)

    Use when: someone asks whether Sparki scans repositories today; re-enabling project detection behind the isolated worker; adding a language or framework to the detector set

  9. sparki intermediate 5 min

    Score Metric Model

    Use when: adding a new metric type to the scoring engine; rendering a quality score on the dashboard; debugging a flaky-test detection result

  10. sparki intermediate 5 min

    Engine Observability: /health, /metrics, DSN and Grafana Cloud

    Use when: deciding where a new engine signal should surface; the DSN sparki-engine scrape shows up == 0; someone cites observability-storm, ELK, Istio or Kubernetes as the sparki stack

  11. sparki beginner 3 min

    Pipelines and Builds, Nothing You Cannot Use Yet

    Use when: writing the Sparki tagline or homepage hero; deciding whether a capability may be named in customer copy; explaining what category Sparki is in, today

  12. sparki beginner 3 min

    Mid-Task, Not Mid-Evaluation

    Use when: writing audience copy for the landing page; briefing a designer on who the user is at the moment of contact

  13. sparki beginner 3 min

    Confident, Kinetic, Opinionated

    Use when: writing or reviewing any Sparki copy; deciding whether a tagline draft sounds like Sparki

  14. sparki beginner 4 min

    The Design Journal Is the Launch

    Use when: explaining why Sparki publishes a design journal each sprint; framing the cross-channel cadence to a stakeholder

  15. sparki beginner 3 min

    Anti-References Are Internal; Customer Copy Names No Competitor

    Use when: a design or copy review reaches for a comparison with another CI tool; answering 'how is this different from X' on a sales call; checking whether a landing-page block may mention a competitor

  16. sparki intermediate 6 min

    Worker API: Claim Protocol and Token Model

    Use when: issuing, rotating or revoking a build-worker token; a worker gets 401, 403, 404 or 409 from /internal/worker/*; explaining what a stolen worker token can and cannot do

  17. sparki advanced 7 min

    Build Isolation: One Container per Step, Nothing from the Host

    Use when: answering a prospect's question about how customer code is isolated; provisioning or verifying the build-worker VPS (gate G9); changing a sandbox limit, default image or the build network

  18. sparki intermediate 6 min

    Billing via TOLL: Plan Ladder, Capabilities, Entitlement Cache

    Use when: support asks why Billing still shows Free after a successful checkout; changing a plan limit or adding a purchasable plan; preparing the live-mode switch (gate G-1-7)

  19. sparki intermediate 6 min

    Auth: Airlock Handoff to __app_session, and the TUI Device-Code Gap

    Use when: a signed-in user gets 401 missing_session from the engine; wiring a new client (TUI, CLI, script) to api-engine; someone says BetterAuth or auth-shield still guards sparki

  20. sparki intermediate 5 min

    Hosting Topology: Vercel, Railway, and the Unbought Worker VPS

    Use when: deciding where an env var, secret or DNS record for sparki lives; explaining why builds queue but never run; planning the G9 worker cutover

  21. sparki intermediate 5 min

    CI on the Mac Lab: mac-lab/ci Status, and What Left with eu-1

    Use when: a sparki PR shows no GitHub Actions checks and you wonder if CI ran; running the CI suite for a sparki repo by hand; deciding where a new check belongs after the eu-1 retirement

  22. sparki beginner 5 min

    The Demo Tenant: sparki-demo, demo@sparki.tools, Reset Rules

    Use when: preparing a prospect demo; a demo reset answers 409 or the demo login lands on an empty workspace; re-provisioning the demo login after an airlock change

  23. sparki intermediate 6 min

    The so1 Fold: What Retires, What Is Pending, What Runs Under Sparki (Nothing Yet)

    Use when: someone says a so1 feature 'is part of sparki now'; planning work against the 2026-11-21 so1.io expiry; deciding whether a so1 repo may be archived

  24. sparki intermediate 5 min

    Inherited Pattern: Error Envelope and Code-to-Status Mapping

    Use when: returning a new error from an api-engine handler; a client needs to branch on an engine error; comparing sparki's error shape with the retired so1 envelope

  25. sparki beginner 4 min

    Inherited Pattern: Request ID Propagation

    Use when: a customer reports an error and you need the matching log line; adding an outbound call from the engine; comparing sparki's correlation id with so1's requestId

  26. sparki intermediate 5 min

    Inherited Pattern: Adapters and the Credential Boundary

    Use when: adding an integration that needs a third-party secret; reviewing where a credential could leak to a browser or a build; comparing sparki's TOLL client and worker token with so1's adapters and secrets broker

  27. sparki intermediate 4 min

    Inherited Pattern: Same-Origin API Proxy

    Use when: the browser's API calls lose the session cookie or hit CORS errors; changing NEXT_PUBLIC_API_URL or adding a Next.js API route in web-app; comparing sparki's rewrite with so1's BFF route handler