Motion Lab

Halcyon / CI observability

Your pipeline, explained.

Halcyon watches your existing CI and tells you, in one sentence, why the build broke. No agent to install, no YAML to rewrite, no new place to look.

npx halcyon watch --repo .

$ halcyon explain --last

Every observability product on the market shows youa graph of a thing that already went wrong.The useful picture is the one drawn before the incident:what runs, what it waits on, and which single edge inthat diagram is why your deploys take nineteen minutes.

SVG storytelling

Watch it think

Four stages, two branches, one summary. This is the diagram Halcyon builds from your existing config — it is not a picture of a pipeline, it is your pipeline.

A continuous integration pipeline, four stagesA commit enters at Source and fans out to two parallel Build jobs, linux and darwin. Both feed a single Test stage running 1,284 tests, which gates Deploy. The same sequence is written out as a list beneath this diagram.SourcecommitBuildlinuxBuilddarwinTest1,284Deploygated
  1. 01

    Source

    Commit lands. Halcyon reads the diff, not just the SHA, so it knows which jobs can be skipped.

  2. 02

    Build

    Two targets in parallel. Cache hits are reported as hits, not as suspiciously fast builds.

  3. 03

    Test

    The branch that fails most. Flaky tests are marked as flaky from history rather than re-run three times in hope.

  4. 04

    Deploy

    Gated on the two above. If it is blocked, the reason is one sentence at the top of the page.

Nineteen minutes, and where they go

Four stages, and one of them is not work — it is a queue. No dashboard on the market shows a team the shape of their own wait, because the shape is embarrassing and the vendor is selling the runner.

  1. Queuednot workWaiting for a runner6m 42s
  2. CheckoutClone, submodules, cache restore1m 36s
  3. Build · linuxCompile and link3m 34s
  4. Build · darwinCompile, link, sign4m 28s
  5. Test1,284 tests across 6 shards2m 11s
  6. DeployGated, then thirty seconds33s

Median pipeline · 19m 04s · measured over 30 days

Features

Three things, done properly

  • Root cause, not log tail

    Halcyon reads the failure the way you would: it finds the first error, not the last line, and shows you the four lines around it with the rest collapsed.

  • Flake detection that is honest

    A test that passed on retry is marked as flaky and counted. No green tick for a build that needed three attempts, because that tick is a lie you will pay for later.

  • Minutes, attributed

    Which jobs burn your runner minutes, ranked, with the cache-miss rate beside them. Usually two jobs are eighty per cent of the bill.

Comparison

Before and after

Your CI log

  ✗ 1 of 1,284 tests failed
  at Object.<anonymous> (src/lib/parse.ts:118:11)
  at Module._compile (node:internal/modules/cjs/loader)
  at Object.Module._extensions..js (node:internal/modules)
  ... 412 more lines
  ##[error]Process completed with exit code 1.

Halcyon

  • parse.ts:118 threw on an empty header row.
  • Introduced by a6f21c3 — "skip blank rows" — 14 minutes ago.
  • Not flaky: failed 3 of 3 runs on this branch, 0 of 200 on main.
  • Suggested: guard `rows[0]` before the destructure on line 118.

Integrations

It watches what you already have

Read-only, via the API you already pay for. Nothing runs inside your pipeline.

  • Orbit CIWebhooks + REST
  • ForgeChecks API
  • Kiln BuildPolling
  • RelayWebhooks
  • StacklineREST
  • AnvilWebhooks

Details

The boring details

Access
Read-only token. We never write to your repository.
Retention
Ninety days of runs, then aggregate only.
Data residency
EU or US, chosen at signup, not changeable after.
Runtime
Nothing installed in your pipeline. No agent, no action, no step.
Export
Everything, as JSON, from the dashboard, at any time.

Pricing

Pricing

Per repository, not per seat. Invite whoever needs to look.

  • Solo

    Free

    one repository

    • Root-cause summaries
    • Thirty-day retention
    • One integration
  • Team

    $18

    per repository, per month

    • Everything in Solo
    • Flake detection and history
    • Runner-minute attribution
    • Ninety-day retention
    • Unlimited members
  • Org

    $14

    per repository, per month, from 20

    • Everything in Team
    • SSO and audit log
    • Data residency choice
    • Priority support

A calm layer over your CI

Point it at a repository and it will have something useful to say within one build.

Watch a repositoryConcept work — fictional brand, built to demonstrate technique. Nothing is for sale.