Skip to content

headwater is designed, not built. Its design book holds the design whole.

Roadmap

The statement is written and under review, and nothing is built. These steps build headwater, in the order of the capture design’s plan in agentplot/blueprints. Each is done by a check or an observation, never by a list ticked by hand.

H1Amendthe statementH2Scaffoldthe repositoryH3Walk throughthe scenariosH4Buildthe coreH5Buildthe lookupsH6Build theFlywheel pluginH7Build the ClaudeCode and herdr pluginsH1 waits on the operator's rulings. Each later step needs the one before it; H5, H6 and H7 need only the core.
H1Amendthe statementH2Scaffoldthe repositoryH3Walk throughthe scenariosH4Buildthe coreH5Buildthe lookupsH6Build theFlywheel pluginH7Build the ClaudeCode and herdr pluginsH1 waits on the operator's rulings.

H1 · Amend the statement. The operator’s rulings on its open questions go into it, with a watch-list entry’s claims and key, the capture the Flywheel plugin prints, each release marked inside or outside its declared range, each ecosystem’s package manager as a lookup with deps.dev where none runs, and a brief that names the ecosystem’s own command and can carry the published package’s diff.
Needs the operator’s rulings (plan steps D1, D2). Done when Vale is clean and the operator agrees to land it on main.

H2 · Scaffold the repository. The founding decisions (a Rust binary with seams, plugins outside the core, a JSON contract, state in the git directory, the pin decides what is new), its rules, devenv, moon, sluice’s gate, git-cliff and OpenSpec.
Needs H1. Done when sluice protects main and the first change lands through it.

H3 · Walk through the scenarios. A worked example of each against fake lookups, and the brief for the first phase.
Needs H2. Done when every scenario has an example, and the brief names the clauses the phase proves.

H4 · Build the core. The seams as traits with fakes, the store in the git directory, scan, notes, brief, acknowledge and overview with JSON output, and a conformance suite whose cases cite clauses.
Needs H3. Done when the suite passes against the fakes, and every Part A clause is cited.

H5 · Build the lookups. Each ecosystem’s package manager, read-only in the repository’s shell: npm, Go and mise by their own commands, and the configured registry’s index for Python and Cargo; deps.dev in batches where no package manager runs; GitHub through GraphQL with your own gh sign-in, ecosyste.ms, and OSV in batches; the range each declaration gives, and the published package’s diff for a brief.
Needs H4. Done when recorded requests and recorded package-manager output replay in the suite, a scan of swancloud’s watch list matches its release adapter release for release, and a package on a private registry is found through its package manager with a release outside its declared range marked so.

H6 · Build the Flywheel plugin. headwater capture prints a capture for every release newer than its pin.
Needs H4, the capture crate. Done when its output passes the capture contract’s conformance pack, and millpond lands it.

H7 · Build the Claude Code and herdr plugins. A skill and a command that read the overview and briefs, a herdr sidebar of unread releases, and a fix key that starts an agent in a worktree and submits to sluice, or hands the release to millpond where a plan runs the work.
Needs H4. Done when both plugins install from a tagged release and show a real repository’s releases.

swancloud generates its watch list once step H1 lands, and cuts its release signals over to headwater once the lookups and the Flywheel plugin are built and millpond runs. The loop is closed when a release headwater reports reaches a bump that lands through sluice.