Repository navigation
Complete the Permit installation loop and local trial; release 0.3.0 - #32
Merged
Merged
Conversation
Every install now holds a stable installation id (ins_ + 32 hex, persisted beside the gate state) that rides along with credential verification, so credentials bound to installation_id finally verify on the matching install and fail closed everywhere else. The id is typed into the GateInfo RPC and shown copyable on the License page. The 14-day trial moves to permit local-trial state (fixed window + last_seen high-water mark, clock-rollback detection); legacy trial-started date state migrates on first read — an active window keeps its remaining time, an expired one stays expired, and Trial cannot restart a consumed window.
The deb still depended on libgtk-3 + libwebkit2gtk-4.1 — the stack the 0.1.0 Rivet migration removed — while the GTK4 host links gtk4, gio, ncurses, zlib and libsecret. Depends is now libgtk-4-1 (>= 4.10) + libsecret-1-0 (plus the engine tools); the rpm spec moves gtk3/ webkit2gtk4.1 to gtk4/libsecret the same way.
…duct ACCEPTANCE.md still described the WebKitGTK stack (gtk3/webkit deps, the old page names, glaze-era entry commands, a 22.04 gate). It now matches the Rivet/GTK4 product, adds license and update-window acceptance points, and points at rivet-acceptance.rktd as the executable gate. The vendor guide documents installation-bound issuance; the roadmap marks the signed update channel as delivered.
…ield The 0.3.0 contract change is intentional: GateInfo carries the installation identity as a typed field, so the compatibility baseline moves with it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #31 (single-writer declaration). Salvages the still-valid gaps from the stale parallel migration #27 against the current commerce edition model.
What lands
Permit installation loop (new)
ins_+ 32 hex, generated on first use, persisted at~/.gptp-studio/installation-id.installation_id-bound credentials verify on the matching install and fail closed everywhere else (entitlement-validatealso threads the id intoedition-entitled?, which re-runs the base policy).GateInfoRPC gains a typedinstallation_idfield; the License page shows it selectable/copyable with vendor guidance, replacing the stalelicense.licplaceholder.Local trial on permit primitives (behavior change)
trial-startedstate migrates on first read: active keeps its remaining window, expired stays expired, Trial cannot restart a consumed window; corrupt state reads as absent.Fixes
libgtk-4-1 (>= 4.10) + libsecret-1-0instead of the removedlibgtk-3 + libwebkit2gtk-4.1set (the GTK4 host's real link surface since 0.1.0).Release 0.3.0
## 0.3.0heading;scripts/check-release-version.sh v0.3.0passes.linux/GeneratedBackend.hppregenerated with the current rivet main generator (adds the_withintimeout surface plus the new field).Validation
raco test tests/*.rkt: 631 tests, the only failure is the knownplatform: "linux"wire assertion on macOS (this branch's CI is the Linux referee).v0.3.0tag.