hasarak

Cut CI time in half, and keep it there.

hasarak maps where your CI minutes go, ranks the fixes by time saved, and hands each one to the team that owns it. When a new PR would add the time back, you hear about it before it merges.

GoalQ4 · 12 weeks
Median CI time on main under 12 minutes
Week 1Week 12
Start24m
Now15m
Target12m
Median CI duration on main, per week
Along the way

Twelve weeks toward a 12-minute build.

Week 1
Risk·Web platform

Three test suites account for 61% of CI time

The checkout, search and billing e2e suites run serially on one runner. Splitting them across four shards saves about 7 minutes.

Draft shard PROpen ENG-1310Est. −7m per run
Week 4
Drift·Infra

The integration job reinstalls dependencies on every run

Its cache key includes the commit sha, so it never hits. Four minutes of every run is npm install.

Draft cache fixMessage #infraEst. −4m per run
Week 9
Conflict·Mobile

A new e2e job in #812 undoes last month's sharding

#812 adds a serial job that waits on every shard. Merged as is, median CI goes back to 19 minutes.

Draft commentOpen #812Would add +4m
How it works

One goal, a steady stream of next steps.

You set the goal and how it's measured. hasarak keeps reading, re-ranks what's left every week, and sends each step to the people who own that part of the system. Nothing is posted, opened or moved until someone approves it.

What hasarak reads
  • GitHub Actions runs, jobs and timings
  • Workflow files and CODEOWNERS
  • Issues and cycles for the teams involved
01

Measure where the time goes

Breaks CI time down by workflow, job and test suite, and by the team that owns each.

02

Rank fixes by minutes saved

Each fix comes with an estimate, a drafted PR or issue, and an owner.

03

Guard the gains

Flags PRs that would add CI time back, before they merge.

Bring your own subscription

Runs on the Claude or ChatGPT plan you already pay for.

Reading months of CI runs and drafting fixes runs on the Claude or ChatGPT accounts you connect. hasarak spreads the work across them and moves on when one hits its limit.

  • No second AI billAnalysis and drafts use the Claude or ChatGPT plan you already have.
  • Pool several accountsConnect work and team accounts. hasarak spreads the load and moves on when one hits its limit.
  • The models you already useSuggestions come from the same models your team uses in Claude Code and Codex.
Connected accounts5-hour window

When Claude · Work runs low, hasarak moves to ChatGPT · Acme team.

FAQ

Questions about reducing CI time

How does hasarak estimate time saved?

It models recent runs with the proposed change: which jobs could run in parallel and which steps would hit cache. After the fix merges, the estimate is checked against real runs.

Does it change our workflows?

No. Workflow changes are drafted PRs you review and merge.

Which CI systems does it read?

GitHub Actions.

Which AI model does the work?

The one you connect. hasarak runs on your own Claude or ChatGPT subscription and can use several accounts at once.

Set a CI goal and see the first three fixes.