Integrate the gor 0.1.0 candidate - #116
Conversation
|
Exact-head candidate proof is complete for this PR batch. Head: Local exact-head evidence after
Hosted exact-head result:
The first two hosted runs exposed real macOS and Windows path portability defects. The repairs were design-led, covered by focused tests, and independently reviewed. The final follow-up review found no P0, P1, or P2 issue. The runner emitted a non-blocking Node.js action deprecation annotation; it did not skip or fail a required job. Boundary: this is PR-head and merge-preview proof, not final squash-commit proof on remote |
What Changed and Why
This integrates the reviewed gor 0.1.0 delivery batches as one release candidate.
The candidate makes the Single Silo path one complete public product:
v0.0.5data migration proof;The branch contains 23 individually implemented and reviewed commits so their boundaries remain inspectable. The repository is squash-only; the squash result on
masterwill be a new commit and must receive fresh final-candidate proof.Tracking
Tracks #102, #103, #104, #105, #106, #107, #108, #109, #110, #111, #112, #113, #114, and #115.
These issues intentionally remain open through this PR. They can be settled only after the squash commit is on remote
masterand the required final-master evidence exists.Specification
Batches 1 through 7 and local Batch 8 implementation are complete. The documented Gap remains accurate: hosted proof on the eventual final
mastercommit, the successful exact tagged-module run, and publication are not part of the PR-head claim.Breaking Changes and Migration
The 0.1.0 public API and generated files are not source-compatible with
v0.0.5. Applications must stop all processes, back up the SQLite database and sidecars, update the Grain marker and public API names, configure Stores before Runtime start, and regenerate all generated code. Rolling upgrade is not supported.The first 0.1.0 start automatically migrates gor-managed SQLite State, Reminder, and Member data. The complete procedure is in Upgrade from v0.0.5.
User-Visible Change
Verification
Exact local PR head:
56989534e940d9c1265235569599d57deb4d2261Environment: Linux amd64, kernel
7.0.0-27-generic, Go1.26.5.make ci: exit 0 in 74.55 seconds aftergo clean -testcache. It started 638 default tests, 638 race tests, 20 simulation tests, 19 generator tests, 45 Transport network tests, 50 Shadow network tests, two resource tests, and three focused 10-second fuzz targets.make external: exit 0 in 45.16 seconds aftergo clean -testcache. It started four release-command contract tests, one Quick Start process test, and 20 external module tests. The exactv0.0.5upgrade proof passed in 17.60 seconds.31497527109: success. Linux Go 1.25 and stable, macOS arm64, Windows amd64, stablegovulncheck, and the aggregatecijob passed. Every macOS and Windows default, simulation, generator, generated-file, Transport network, and Shadow network step ran and passed.v0.0.5migration mutation: replacing both Reminder identity column renames with a no-op made both durability tiers fail withno such column: grain_type; restoring the implementation made the focused test pass.31494247843) passed both Linux jobs and exposed macOS symlink-path and Windows SQLite URI, path, file-mode, and line-ending defects. Commitf6380a1repairs those defects with design updates and focused platform tests.31496555870) passed both Linux jobs and every macOS step. Windows exposed that the integration tests selected file-name characters forbidden by Windows and matched raw paths against quoted error text. Commit5698953keeps the URI contract and makes those tests platform-valid.Not claimed by this PR evidence:
mastersame-commit proof;make external-taggedcannot pass until exact tagv0.1.0exists;Mutation Test
Focused reports cover Activation lifecycle, Grain Timers, State recovery, Reminder delivery, generation, release limits and gates, and the later release-audit follow-ups in this diff. The mutations cover Activation reservation and release, bounded resource ownership, fail-closed test selection, external process restart and receipt comparison, exact tagged-module guards, State failure recovery, Invalid Reminder terminal handling, and exact
v0.0.5schema migration. Every accepted mutation failed at the intended behavior assertion before the implementation was restored.Required Checks
make cipasses locally.time.Now().time.Sleepfor synchronization.