Skip to content

chore: release preparation for 1.8.0 (F1) - #136

Merged
bal7hazar merged 7 commits into
mainfrom
chore/release-1.8.0-prep
Sep 27, 2026
Merged

bal7hazar merged 7 commits into
mainfrom
chore/release-1.8.0-prep

Conversation

@bal7hazar

@bal7hazar bal7hazar commented Sep 27, 2026 •

Copy link
Copy Markdown
Collaborator

Last lot before the 1.8.0 publication. Nothing is published or tagged.

Changes

  • hexmap facade: HexMap::ring calls Bits::and and Dilation::dilate / expand_small directly; the three BfsInternal delegations are removed (gas unchanged, ring 99_903). keep_component stays on Bfs::reachable (edge semantics). bench_map budgets lowered (P1 escalation).
  • hexmap README: Rng bias bound (2^-56 per pool), determinism (a seed gives the same map for a given version; generator streams are part of the API from 1.8.0, each generator already has a test pinning one seed's grid), endpoints on walls panic (unlike origami_map), current gas figures.
  • Packages: .scarbignore in every crate keeps test-only files out of the tarballs (tests/, and for hexmap src/tests/, the printer and GAS.md). origami_hexmap: 943.98 KiB → 400.42 KiB (138.66 → 64.54 KiB compressed).
    • hexmap's test modules are now gated on #[cfg(test)] instead of #[cfg(target: "test")]. Scarb also sets the latter when a dependent runs its tests, so with the files excluded, a consumer's scarb test failed.
    • origami_map keeps its printer in the package, so its sources are unchanged.
  • Consumer check (outside the repo): a package depending on the six unpacked tarballs builds, and its tests pass. That includes a Starknet contract calling new_cave + search_path and storing a u252, and one storing a DiscreteGDA. Class sizes are in the report.
  • README examples: every crate has a tests/readme.cairo that compiles its README examples against the public API. This found a real bug: DiscreteGDA / ContinuousGDA fields were private, so the structs could not be built outside origami_defi. They are now pub, as LinearVRGDA's are.
  • Docs: root README (crate table, scarb add <crate>@1.8.0, toolchain, what's new in 1.8.0) and a new CHANGELOG.md.
  • Release workflow: on a v* tag, it checks the tag against the six crate versions, runs scarb package, then runs gh release create --generate-notes with the default GITHUB_TOKEN. The publish job is guarded by SCARB_REGISTRY_AUTH_TOKEN through an env indirection, so it is a no-op until the secret exists, and it skips versions already on scarbs.xyz.
  • .gitignore: .scratch, .p1, REPORT.md.

🤖 Generated with Claude Code

bal7hazar and others added 7 commits September 27, 2026 21:20
…h_map budgets, README determinism

- HexMap::ring calls Bits::and and Dilation::dilate / expand_small; the three
  BfsInternal delegations are removed (gas unchanged: ring 99_903).
- bench_map budgets lowered after P1 (compute_distribution 203k, Caver
  keep_component variants 561k / 101k / 1.167M).
- README: current gas figures, Rng bias bound (2^-56 per pool), determinism and
  stream stability from 1.8.0, endpoints on walls panic (unlike origami_map).
- GAS.md: F1 section, L2 A* section marked dropped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
.scarbignore in every crate: integration tests, and for origami_hexmap the
src/tests benchmarks, the printer and GAS.md (origami_map: its printer). The
modules are declared under #[cfg(target: "test")], so the package
verification build compiles without them. origami_hexmap: 943.98 KiB -> 398.88 KiB.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- tests/readme.cairo in each crate runs the README examples against the public
  API (integration tests, not packaged).
- origami_defi: DiscreteGDA and ContinuousGDA fields are pub, as LinearVRGDA's:
  the README example could not compile outside the crate.
- defi and security READMEs: the missing imports.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Crate list, scarb add <crate>@1.8.0 for the six crates, toolchain, what's new in
1.8.0 (toolchain, algebra removed, defi on fixed Q32.32, origami_hexmap gas
figures from GAS.md), and a CHANGELOG with the 1.8.0 entry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rded publish

On a v* tag: check the tag against the six crate versions, scarb package them
and create the GitHub release (gh, default GITHUB_TOKEN, generated notes). The
publish job runs only when SCARB_REGISTRY_AUTH_TOKEN is set (env indirection)
and skips the versions already on scarbs.xyz. .gitignore: .scratch, .p1,
REPORT.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
scarb also sets cfg(target: "test") when a dependent package runs its tests: with the files kept out of the package, a consumer's scarb test failed on the missing hexmap test modules and map printer. hexmap declares them under cfg(test) (this package's own tests only); origami_map keeps its printer in the package (no change to its sources).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t A4)

neighbor returns None and is_walkable false for a position at or above W * H; hex_distance panics with 'Asserter: position not inside'. The test is a bounded_int product, difference and sign, for any u8 dimensions since HexMapTrait::new stays unchecked (now documented, with the list of validating functions). distance_to doc: walls block. Per call: neighbor 6_391 -> 6_959, is_walkable 6_550 -> 7_073, hex_distance 9_462 -> 10_393; u16, u8, row and single-product variants measured dearer and larger in Sierra (GAS.md, F1). CHANGELOG dated 2026-09-27.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bal7hazar
bal7hazar merged commit 6821f07 into main Sep 27, 2026
10 checks passed
@bal7hazar
bal7hazar deleted the chore/release-1.8.0-prep branch September 27, 2026 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant