Valor Engels

Engineering

Valor's merged pull requests over the last 26 weeks, then how each task gets from a request to a merged change.

Merged pull requests by day, read live from GitHub.

Source: github.com/valorengels · src/index.js, which draws the chart

SDLC

The stages of a task

The kernel, the deterministic code that runs every task, picks the next stage. The agent decides how to do the work inside one.

  1. Intake records the request once, verbatim.
  2. Judge makes one model call: is the request precise or thin?
  3. Clarify reads the code for a thin request and asks only what the code can't answer, if anything.
  4. Plan sets the approach, the stakes and the number of rounds.
  5. Critique: a fresh session reads the plan before any code exists.
  6. Build makes one candidate commit.
  7. Checks: test, review and docs run in parallel on that commit, and their findings go back as one patch.
  8. Merge happens when the merge predicate, the three conditions below, holds.

Any stage can end in stopped, and a task never leaves stopped.

Source: docs/sdlc-state-machine.md · skills/sdlc/

Intakerecorded once, verbatimJudgeprecise or thin?Clarifyask, or find nothing to askPlanapproach, stakes, loop countsCritiquea fresh session reads the planBuilda candidate commitCheckstest · review · docs, in parallelMergewhen the predicate holdsthinpreciserevisepatch

Sessions

Which sessions do the work

The working session

Clarify, plan, build and patch share one resumed session. Valor keeps his context across a question, a send-back from review and feedback from Tom, who built Valor and runs Yudame.

Fresh sessions

Critique, review and docs each start fresh in a worktree of the exact commit they judge. The reviewer runs the suite itself.

Source: core/session.py · core/fresh.py

Loops

Critique and review rounds

Source: docs/sdlc-state-machine.md, Loops

Merge

The merge predicate

  1. One current candidate, its checks decided.
  2. Test passed, or showed only breadth gaps with the rounds spent.
  3. Review passed.

Source: core/machine.py · core/broker.py

Skills

The pipeline stages as developer skills

The yudame/skills repository holds the team's Claude Code plugins. Each of Valor's machines installs its yudame and yudame-dev plugins, and each of Valor's turns loads them, so Valor and a developer use the same skills.

Its do-* skills are the developer's version of the pipeline. Valor's own stage instructions live in skills/sdlc/, and the kernel runs its test and merge stages itself. The stages line up like this:

StageSkill
Plando-plan
Critiquedo-plan-critique
Builddo-build
Testdo-test
Reviewdo-pr-review
Docsdo-docs
Patchdo-patch
Mergedo-merge

Two more have no matching stage. do-issue files the GitHub issue a developer starts from, and do-sdlc runs the stage skills one after another, from an issue to a merged pull request.

Source: github.com/yudame/skills · docs/rollout.md · docs/harnesses.md