Overlay the aos ward-specs bundle in Formula/ward.rb before go build (ward#503 step 2, human gate) #3

Closed
opened 2026-07-07 22:44:42 +00:00 by coilyco-ops · 1 comment
Member

Human gate (Kai) - ward#503 step 2

The fleet's brew install ward builds ward from source (go build ./cmd/ward in Formula/ward.rb), embedding whatever .ward/ward-kdl/ is in the ward source tarball via go:embed. Today that tree still carries the coilyco values, so brew ward is correct. The moment ward's tree is neutralized (ward#503 step 4), a source-built brew ward would embed the NEUTRAL bundle and the fleet loses its coilyco config. This formula must overlay the aos ward-specs bundle before go build first.

Per ward#503, the tap is canonically on GitHub and this is your gate - no autonomous run touches the fleet install root. This issue carries the exact change so it is a paste-and-PR.

The change (add before the existing system "go", "build" ...)

Add a pinned resource + overlay. Pin to the fresh aos release that agentic-os#332 publishes (NOT v0.202.0, which is stale - wait for the sync to cut a new ward-specs-<newtag>), and fill its .sha256:

  resource "ward-specs" do
    url "https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os/releases/download/<NEWTAG>/ward-specs-<NEWTAG>.tar.gz"
    sha256 "<sha256 from the .sha256 sidecar>"
  end

  def install
    # ... existing ENV[...] lines ...
    # Overlay the aos-authored coilyco bundle onto the neutral tree before build.
    resource("ward-specs").stage do
      cp_r Dir["*"], buildpath/".ward/ward-kdl/"
    end
    # then the existing: system "go", "build", ...

Match the exact extract layout to what agentic-os#332 ships (the tarball's internal path) and to ward's assets-dir convention (ward#453). Mirror the fail-closed spirit of ward's release overlay: a blank/missing resource must fail the build, never silently ship neutral.

Sequencing

Do this after agentic-os#332 lands and publishes its new ward-specs release (so the pin exists), and before ward#503 step 4 (the tree neutralization) is dispatched. Landing this is what unblocks the final neutralization.

agentic-os#332 (the aos bundle this pins to), ward#644 (the release-binary overlay, the sibling of this for the non-brew install paths), ward#503 (the plan). Filed from the read-only director surface (she/her).

## Human gate (Kai) - ward#503 step 2 The fleet's `brew install ward` builds ward **from source** (`go build ./cmd/ward` in `Formula/ward.rb`), embedding whatever `.ward/ward-kdl/` is in the ward source tarball via `go:embed`. Today that tree still carries the coilyco values, so brew ward is correct. **The moment ward's tree is neutralized (ward#503 step 4), a source-built brew ward would embed the NEUTRAL bundle and the fleet loses its coilyco config.** This formula must overlay the aos ward-specs bundle **before** `go build` first. Per ward#503, the tap is canonically on **GitHub** and this is **your** gate - no autonomous run touches the fleet install root. This issue carries the exact change so it is a paste-and-PR. ## The change (add before the existing `system "go", "build" ...`) Add a pinned resource + overlay. **Pin to the fresh aos release** that agentic-os#332 publishes (NOT v0.202.0, which is stale - wait for the sync to cut a new `ward-specs-<newtag>`), and fill its `.sha256`: ```ruby resource "ward-specs" do url "https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os/releases/download/<NEWTAG>/ward-specs-<NEWTAG>.tar.gz" sha256 "<sha256 from the .sha256 sidecar>" end def install # ... existing ENV[...] lines ... # Overlay the aos-authored coilyco bundle onto the neutral tree before build. resource("ward-specs").stage do cp_r Dir["*"], buildpath/".ward/ward-kdl/" end # then the existing: system "go", "build", ... ``` Match the exact extract layout to what agentic-os#332 ships (the tarball's internal path) and to ward's assets-dir convention (ward#453). Mirror the fail-closed spirit of ward's release overlay: a blank/missing resource must fail the build, never silently ship neutral. ## Sequencing Do this **after** agentic-os#332 lands and publishes its new `ward-specs` release (so the pin exists), and **before** ward#503 step 4 (the tree neutralization) is dispatched. Landing this is what unblocks the final neutralization. ## Related agentic-os#332 (the aos bundle this pins to), ward#644 (the release-binary overlay, the sibling of this for the non-brew install paths), ward#503 (the plan). Filed from the read-only director surface (she/her).
Author
Member

Superseded by the config-driven ward epic (ward#650). #650 settles that ward ships one precompiled, byte-identical binary per platform - no build-from-source at install, no per-variant builds, no bundle overlay before go build. The brew formula becomes download-and-verify of the released artifact (the existing bump-tap-formula url+sha256 rewrite stays), and per-user config is resolved live at runtime via WARD_CONFIG_REF, not baked. Tracked ward-side in ward#657. Closing as superseded. Filed from the read-only director surface (she/her).

Superseded by the config-driven ward epic (ward#650). #650 settles that ward ships **one precompiled, byte-identical binary per platform** - no build-from-source at install, no per-variant builds, no bundle overlay before `go build`. The brew formula becomes **download-and-verify** of the released artifact (the existing `bump-tap-formula` url+sha256 rewrite stays), and per-user config is resolved live at runtime via `WARD_CONFIG_REF`, not baked. Tracked ward-side in **ward#657**. Closing as superseded. Filed from the read-only director surface (she/her).
Sign in to join this conversation.
No description provided.