From 4d00a1fe8f93fadeb34f9a760677d348dae71743 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Tue, 25 Aug 2026 11:07:01 +0100 Subject: [PATCH] fix(ci): point the merge brain at a populated store MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The hourly merge-orchestration cycle has been reading its own in-repo data/verisim, which has no observations/ directory at all — the store has subdirs for annealing-states, dispatch, health, neural-states, outcomes, patterns, recipes and scan-history, but nothing ever wrote observations there. So every tick since the cron was added has deliberated over an empty directory and uploaded an empty manifest that expired in 7 days. This workflow's own header already named the fix: "Point MERGE_ORCH_STORE at a populated store (e.g. a checked-out verisim-data) via a repo variable; the default data/verisim is the in-repo store." Check out verisimdb-data (public, the estate's canonical flat-file scan store) at ./store and default MERGE_ORCH_STORE to it. The vars override still wins, so this only changes the default. Read-only: the brain stays token-free and never writes to the store. The farm's merge-observe.yml is the token-bearing producer that fills observations/ — see hyperpolymath/.git-private-farm#127. Without that PR this checkout finds an empty observations/ and behaviour is unchanged; with it, the loop closes as far as the manifest. No actions.lock change needed: the added step reuses actions/checkout@v7.0.1, already registered for this workflow at .github/workflows/actions.lock:52. Co-Authored-By: Claude Opus 5 --- .github/workflows/merge-orchestrate.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/merge-orchestrate.yml b/.github/workflows/merge-orchestrate.yml index b20748fb..abbcb7dc 100644 --- a/.github/workflows/merge-orchestrate.yml +++ b/.github/workflows/merge-orchestrate.yml @@ -33,12 +33,24 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 15 env: - MERGE_ORCH_STORE: ${{ vars.MERGE_ORCH_STORE || 'data/verisim' }} + MERGE_ORCH_STORE: ${{ vars.MERGE_ORCH_STORE || 'store' }} steps: - name: Checkout uses: actions/checkout@v7.0.1 + # The brain needs a POPULATED store. Its in-repo data/verisim has no + # observations/ directory -- the farm's merge-observe.yml writes them to + # verisimdb-data, the estate's canonical flat-file store. Without this + # checkout the cycle reads an empty directory and decides nothing, which + # is what it has been doing every hour since the cron was added. + # Read-only: the brain stays token-free and never writes here. + - name: Checkout the observation store (verisimdb-data) + uses: actions/checkout@v7.0.1 + with: + repository: hyperpolymath/verisimdb-data + path: store + - name: Setup Erlang/Elixir uses: erlef/setup-beam@v1.24.1 with: