Full test and ship v0.4.0 #34

Closed
opened 2026-09-29 16:15:36 +00:00 by Winnie · 12 comments
Owner

Parent: #28. Once the mains are competitive and the probe suite passes, run the full test suite and cut the v0.4.0 release (macOS ARM64 tarball).

Parent: #28. Once the mains are competitive and the probe suite passes, run the full test suite and cut the v0.4.0 release (macOS ARM64 tarball).
Author
Owner

Keeping this open as the ship gate: full test + v0.4.0 release happen here once #38 and #39 land. Everything else from the old breakdown is superseded by #35-#40.

Keeping this open as the ship gate: full test + v0.4.0 release happen here once #38 and #39 land. Everything else from the old breakdown is superseded by #35-#40.
Author
Owner

Gate issue. Activates when #38, #39, #40 land. Assigned subagent is pre-running the full test suite (vet, unit tests, interactive spectate smoke, darwin/arm64 build) against current master so nothing is invented at ship time. No v0.4.0 until the three merge.

Gate issue. Activates when #38, #39, #40 land. Assigned subagent is pre-running the full test suite (vet, unit tests, interactive spectate smoke, darwin/arm64 build) against current master so nothing is invented at ship time. No v0.4.0 until the three merge.
Author
Owner

Subagent started: pre-running the full test suite against current master (vet, tests, interactive spectate smoke, darwin/arm64 build) so the ship gate has a dry run before #38/#39/#40 land. No release until the gate passes.

Subagent started: pre-running the full test suite against current master (vet, tests, interactive spectate smoke, darwin/arm64 build) so the ship gate has a dry run before #38/#39/#40 land. No release until the gate passes.
Author
Owner

Ship-gate dry run (v0.4.0) against master da67404 — worktree 34-ship-gate

This is the dry run only — no release cut, gate still waits on #39.

Check Result
go vet ./... PASS (exit 0, no findings)
go test ./... PASS (ok machinetele.com/bankwars 0.003s)
darwin/arm64 cross-build PASS — bankwars-darwin-arm64 built; first 4 bytes cf fa ed fe (Mach-O 64 LE), cputype 0x100000c (ARM64)
spectate smoke — AI errors ([ai) PASS — 0 occurrences
spectate smoke — ACCT DIVERGENCE / CF DIVERGENCE FAIL — 2 ACCT DIVERGENCE lines; 0 CF DIVERGENCE

Smoke config: seed 33, players 6, max_turns 80, survivors 3, dice_faces 30, recovery_rate 0, bond_face 1000, bond_min 0.05, bond_term 10 (full gate config). Game completed cleanly (exit 0, final ranking printed).

The two accounting-divergence lines (both Bank 4):

ACCT DIVERGENCE Bank 4 turn 10: dEq 19196 netInc 18867 diff 328  ...
ACCT DIVERGENCE Bank 4 turn 13: dEq -11969 netInc -15355 diff 3386 ...

The turn-10 divergence immediately follows Bank 4 acquires Bank 3's position for 13476 (second price) — the acquisition is right at the boundary where equity change (19196) exceeds recognized net income (18867) by 328. Turn 13's diff is 3386. Reproduced exactly on a second run (identical lines, identical diffs) — deterministic under seed 33.

Gate verdict: not green — accounting identity breaks in a spectate game with this config. Awaiting #39 before ship.

**Ship-gate dry run (v0.4.0) against master `da67404` — worktree `34-ship-gate`** *This is the dry run only — no release cut, gate still waits on #39.* | Check | Result | |---|---| | `go vet ./...` | **PASS** (exit 0, no findings) | | `go test ./...` | **PASS** (`ok machinetele.com/bankwars 0.003s`) | | darwin/arm64 cross-build | **PASS** — `bankwars-darwin-arm64` built; first 4 bytes `cf fa ed fe` (Mach-O 64 LE), cputype `0x100000c` (ARM64) | | spectate smoke — AI errors (`[ai`) | **PASS** — 0 occurrences | | spectate smoke — ACCT DIVERGENCE / CF DIVERGENCE | **FAIL** — 2 `ACCT DIVERGENCE` lines; 0 `CF DIVERGENCE` | Smoke config: seed 33, players 6, max_turns 80, survivors 3, dice_faces 30, recovery_rate 0, bond_face 1000, bond_min 0.05, bond_term 10 (full gate config). Game completed cleanly (exit 0, final ranking printed). The two accounting-divergence lines (both Bank 4): ``` ACCT DIVERGENCE Bank 4 turn 10: dEq 19196 netInc 18867 diff 328 ... ACCT DIVERGENCE Bank 4 turn 13: dEq -11969 netInc -15355 diff 3386 ... ``` The turn-10 divergence immediately follows `Bank 4 acquires Bank 3's position for 13476 (second price)` — the acquisition is right at the boundary where equity change (19196) exceeds recognized net income (18867) by 328. Turn 13's diff is 3386. Reproduced exactly on a second run (identical lines, identical diffs) — deterministic under seed 33. Gate verdict: **not green** — accounting identity breaks in a spectate game with this config. Awaiting #39 before ship.
Author
Owner

Ship gate now includes two new prerequisites Robert requested on #39: #46 structured iteration log and #47 the researcher-grade PDF report, emailed before the release. Both are release blockers alongside #39's mains work.

Ship gate now includes two new prerequisites Robert requested on #39: #46 structured iteration log and #47 the researcher-grade PDF report, emailed before the release. Both are release blockers alongside #39's mains work.
Author
Owner

Gate update: the 2 ACCT DIVERGENCE lines from the dry run are fixed. That run was on master before PR #50 merged. Re-ran the identical smoke (seed 33, default config) on current master (7f503c4, includes #50): 0 divergence lines, exit 0. The gate check is now green on that line; the remaining blocker is the four per-AI brains (#52-#55) and the final merged bench + PDF.

Gate update: the 2 ACCT DIVERGENCE lines from the dry run are fixed. That run was on master before PR #50 merged. Re-ran the identical smoke (seed 33, default config) on current master (7f503c4, includes #50): 0 divergence lines, exit 0. The gate check is now green on that line; the remaining blocker is the four per-AI brains (#52-#55) and the final merged bench + PDF.
Author
Owner

Acknowledged — I own this gate now.

Plan, in order:

  1. Dry-run the gate now on current master (7f503c4 + merged #56 mill + merged #57 adapt): go vet, go test ./..., darwin/arm64 build + Mach-O check, spectate smoke (0 [ai errors, 0 divergences). This proves the release path while #52/#54 finish.
  2. When empire (#52) and vault (#54) land, run the gate once more against the final master: same checks + the full 100-game bench, and generate the #47 PDF report from iterations.json + issue history.
  3. Email the PDF to Robert, cut v0.4.0 (tag + macOS ARM64 tarball in its own subdir), deliver tarball by email + drive.

First dry-run comment lands with the check table.

Acknowledged — I own this gate now. Plan, in order: 1. Dry-run the gate now on current master (7f503c4 + merged #56 mill + merged #57 adapt): `go vet`, `go test ./...`, darwin/arm64 build + Mach-O check, spectate smoke (0 `[ai` errors, 0 divergences). This proves the release path while #52/#54 finish. 2. When empire (#52) and vault (#54) land, run the gate once more against the final master: same checks + the full 100-game bench, and generate the #47 PDF report from iterations.json + issue history. 3. Email the PDF to Robert, cut v0.4.0 (tag + macOS ARM64 tarball in its own subdir), deliver tarball by email + drive. First dry-run comment lands with the check table.
Author
Owner

Gate dry run #1 — master 3fe3b3f (includes #56 mill + #57 adapt)

Check Result
go vet ./... PASS (exit 0)
go test ./... PASS (ok, 1.065s)
darwin/arm64 cross-build PASS — 3,635,010 bytes, magic 0xfeedfacf (Mach-O 64 LE), cputype 0x0100000c (ARM64)
spectate smoke (seed 33, Defaults config, 6 players, adapt×3/empire/mill/vault) PASS — exit 0, 0 [ai errors, 0 ACCT DIVERGENCE, 0 CF DIVERGENCE; game ended turn 23, winner an adapt seat
linux go build PASS

The release path is green on everything merged so far. Remaining before the real gate: #52 (empire) and #54 (vault) landing, then the final 100-game merged bench + the #47 PDF report, then tag v0.4.0 + macOS ARM64 tarball (own subdir) + email delivery.

## Gate dry run #1 — master `3fe3b3f` (includes #56 mill + #57 adapt) | Check | Result | |---|---| | `go vet ./...` | **PASS** (exit 0) | | `go test ./...` | **PASS** (ok, 1.065s) | | darwin/arm64 cross-build | **PASS** — 3,635,010 bytes, magic `0xfeedfacf` (Mach-O 64 LE), cputype `0x0100000c` (ARM64) | | spectate smoke (seed 33, Defaults config, 6 players, adapt×3/empire/mill/vault) | **PASS** — exit 0, 0 `[ai` errors, 0 ACCT DIVERGENCE, 0 CF DIVERGENCE; game ended turn 23, winner an adapt seat | | linux `go build` | **PASS** | The release path is green on everything merged so far. Remaining before the real gate: #52 (empire) and #54 (vault) landing, then the final 100-game merged bench + the #47 PDF report, then tag v0.4.0 + macOS ARM64 tarball (own subdir) + email delivery.
Author
Owner

All four brains landed — final gate starting on master 771a6dc248

  • #52 empire → PR #58 merged (base, deposit-drought, cash-glut, rate-war)
  • #53 mill → PR #56 merged (default-storm, hot-caps, mega-loans)
  • #54 vault → PR #59 merged (bond-economy, tight-cash)
  • #55 adapt → PR #57 merged (base, patient-market, micro-economy, duel)

Final gate sequence now running: (1) vet + tests + darwin/arm64 build + spectate smoke on the merged master, (2) full 100-game x 13-preset merged bench, (3) #47 PDF report from the real iterations.json + bench results, (4) PDF emailed to Robert, (5) v0.4.0 tag + macOS ARM64 tarball (own subdir) delivered by email + drive. Results land here as each step completes.

## All four brains landed — final gate starting on master `771a6dc248` - #52 empire → PR #58 merged (base, deposit-drought, cash-glut, rate-war) - #53 mill → PR #56 merged (default-storm, hot-caps, mega-loans) - #54 vault → PR #59 merged (bond-economy, tight-cash) - #55 adapt → PR #57 merged (base, patient-market, micro-economy, duel) Final gate sequence now running: (1) vet + tests + darwin/arm64 build + spectate smoke on the merged master, (2) full 100-game x 13-preset merged bench, (3) #47 PDF report from the real iterations.json + bench results, (4) PDF emailed to Robert, (5) v0.4.0 tag + macOS ARM64 tarball (own subdir) delivered by email + drive. Results land here as each step completes.

@Winnie do some issues need to be closed?

@Winnie do some issues need to be closed?
Author
Owner

Yes — done. Closed the four brain issues just now, each with a comment saying what shipped and which PR carried it:

  • #52 empire → PR #58 (wins base, deposit-drought, cash-glut, rate-war)
  • #53 mill → PR #56 (wins default-storm, hot-caps, mega-loans)
  • #54 vault → PR #59 (wins bond-economy, tight-cash)
  • #55 adapt → PR #57 (wins base, patient-market, micro-economy, duel)

Still open on purpose: #34 (this gate — final merged bench is running right now on master 771a6dc248), #39 (umbrella, closes when the gate passes and v0.4.0 ships), #28 (the parent — I'll close it with the release), and the backlogs #26 (v0.5.0 ideas) and #15 (central bank) which stay open per your roadmap.

Yes — done. Closed the four brain issues just now, each with a comment saying what shipped and which PR carried it: - #52 empire → PR #58 (wins base, deposit-drought, cash-glut, rate-war) - #53 mill → PR #56 (wins default-storm, hot-caps, mega-loans) - #54 vault → PR #59 (wins bond-economy, tight-cash) - #55 adapt → PR #57 (wins base, patient-market, micro-economy, duel) Still open on purpose: #34 (this gate — final merged bench is running right now on master `771a6dc248`), #39 (umbrella, closes when the gate passes and v0.4.0 ships), #28 (the parent — I'll close it with the release), and the backlogs #26 (v0.5.0 ideas) and #15 (central bank) which stay open per your roadmap.
Author
Owner

Gate passed and v0.4.0 shipped. Final checks on master 430f2ec: go vet exit 0, go test ok, darwin/arm64 build (Mach-O 0xfeedfacf / ARM64 0x0100000c verified), spectate smoke 0 [ai errors + 0 ACCT/CF divergences, and the 100-game deterministic merged bench (adapt 575 / mill 392 / empire 194 / vault 125). The #47 researcher PDF was generated from the real iterations.json and emailed before the release; the macOS ARM64 tarball went out by email + forge release asset + drive mirror. Closing.

Gate passed and v0.4.0 shipped. Final checks on master 430f2ec: go vet exit 0, go test ok, darwin/arm64 build (Mach-O 0xfeedfacf / ARM64 0x0100000c verified), spectate smoke 0 [ai errors + 0 ACCT/CF divergences, and the 100-game deterministic merged bench (adapt 575 / mill 392 / empire 194 / vault 125). The #47 researcher PDF was generated from the real iterations.json and emailed before the release; the macOS ARM64 tarball went out by email + forge release asset + drive mirror. Closing.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Winnie/bankwars#34
No description provided.