v0.2.9
Booley 0.2.9
Booley 0.2.9 moves elaboration checks into sim, gives synthesis and FPGA implementation a shared report format, fixes setup, ticket, image, and diagnostic failures, and updates the runtime toolchain.
New features
synthandfpgawrite the same versionedimplementationobject with the policy-resolved grade, Target identity, quality-of-results metrics, recipe, provenance, baseline comparison, cache state, and immutable report and log pointers. Both Flows also write atomic stable aliases, numbered reports, and live multi-Target progress. PR #187booley flow sim --elab-onlycompiles, elaborates, and links an ordinary untraced Simulation Target without running tests.--build-onlyis a permanent alias,--standaloneadds the reusable-module sweep, and successful builds recordelab_pass_<target>before simulation. See Upgrade notes for migration steps. PR #185booley initaccepts links into another live checkout when the packaged skill trees match. Retargeting a managed or equivalent link requiresbooley init --force, displays both targets, and preserves unrelated files, directories, links, and junctions. Issue #178
Quality of life
- The ticket-creation approval gate shows each new Target's name, destination, and full definition with the Ticket. If validation changes a Target, the gate asks for approval again. PR #170
booley session refreshand Session and Project Image builds stream redirected output and emit heartbeats during silent stages. Bounded failure diagnostics remain available. Issue #176- Booley keeps user guides under
docs/user/and implementation material underdocs/internals/, with separate Flow reference and troubleshooting guides. Setup directs new Tickets tobooley runand labels the host checkhost_prerequisites. PR #162, PR #171 - The Session Runtime ships Verible v0.0-4157-gfdbac312, Claude Code 2.1.251, and Codex CLI 0.151.0. PR #189
Bug fixes
- Pulled GHCR sandbox flavors verify parent ancestry by registry digest, retain their short tags, and pass an immutable local image ID into Interactive Mode. Locally built images still reject stale ancestry. Issue #172
- Sealed Tickets resolve criterion Targets in the contract worktree after creating it. Contract-only Targets work during fresh setup and resume, while destination-only Targets cannot replace the reviewed contract. Issue #173
- On Windows,
booley initapplies guarded LF normalization to the project checkout and a separately cloned project-data repository. Doctor identifies the repository that remains unsafe. Issue #174 - Deep Doctor carries its internal Target authority into Lint. The deliberate bad-case Target receives a design-failure grade without becoming visible on public Target surfaces. Issue #175
- Live checkouts read their own
VERSIONinstead of combining stale distribution metadata with the checkout's commit identity. Wheels still report their owning distribution metadata. Issue #177
Upgrade notes
- Replace
booley flow elabwithbooley flow sim --elab-only. Movestandalone_frontendfrom[flows.elab]to[flows.sim], removeelabfrom Target Doctor lists, and readsim_<target>.jsonwithmode: "elab_only"instead ofelab_<target>.json. Removekeep_build_dir; Simulation now retains its untraced build cache after success and failure.