Repository navigation
feat: expose the Classic writing-books scenario - #643
Merged
Merged
Conversation
|
🎉 This PR is included in version 8.72.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
zoeyrose
added a commit
to atrinik/classic
that referenced
this pull request
Oct 9, 2026
…es (#567) ## Summary Applying a writing pen to a marked inventory book opens a title/text editor with Save, Cancel, explicit copy selection and permanent Sign and date confirmation. Closes #564. Companion content: atrinik/content#266 (`content@main`, Classic-target artifact). [Workspace PR #643](atrinik/atrinik#643), already merged, provides the deterministic `writing-books` preset. [Wrapper PR #644](atrinik/atrinik#644) supports main's verified inherited private-state capability. ## Implementation / behavior - Coordinate protocol revision 1083, bounded request/snapshot parsing, client popups and authoritative server commits. Preserve published access IDs and main's exploration IDs 25/32; append `BOOK_EDIT` at C2S 26/S2C 33. - Edit unsigned inventory books and copy both title and contents without transferring signatures. Persist authenticated character signatures, in-game dates and separate UTC timestamps; finalization locks title and text. - Fence commits against custody, identity, signed state, prerequisites and stale snapshots. Preserve quest hooks and safe script properties, handle stacks and reject unpaid/invisible items. - Charge one ink unit per newly inserted UTF-8 byte using exact bit-parallel LCS, bounded to 65,536 word updates at maximum text length. Unchanged text, deletions, titles and signing remain free. - Enforce finalization in the actual Python Object API, including protected setters, signature keys, bulk mutations and serialized-field/artifact injection routes. Safe quest metadata remains writable. - Retain drafts when closing/reopening on the same connection; clear them at actual disconnect, logout, shutdown and new-connection boundaries. Capture privacy remains denied until a clean frame is presented. - Retire message-bearing inscription commands with editor guidance. Preserve other skills and spell casting. ## Validation The three inline review findings are addressed in published revision `fbf212243`. Latest main `0d87e9073` is merged, including account exploration, runtime/provider fixes and informational Codecov reporting. Native and behavioral evidence records its tested revision `90dd453a`; independent review verifies identical relevant application, library, protocol and book-fixture inputs after the six-file benchmark-fixture refresh. - Independent integrated source review is clean, including exact ink costs, serialization bypasses, connection lifecycle and published protocol IDs. - Protocol generator/bindings, 13 protocol tests, import-history and whitespace checks pass. - The complete 386-test tooling suite passes in the pinned compiler image using a writable task-owned fixture snapshot. - Added independent DP-oracle, carry-boundary, maximum-size and repeated dry-pen regressions; real Python setter/clone/save/reload tests; real socket lifecycle and Settings → Logout/account-reuse assertions. - Fresh pinned native debug builds pass: server 61 tests, shared library 21 tests and protocol 2 CTest entries. Each client debug/coverage/ASan-UBSan run executes 70 passing tests and skips 24 GPU tests. - Actual software Vulkan/SDL replay passes nine book states, existing UI states, Settings → Logout/account-tag reuse and capture-privacy recovery assertions. - Isolated protocol-1083 gameplay passes all 22 checks; controlled restart passes three persistence checks. The owned server and runtime container are stopped. - Latest main's fixture refresh passes 50 focused Python tests and both provenance/byte verifiers; published command IDs, import history and whitespace checks pass. - Fresh server coverage/ASan-UBSan suites pass: 59/60 tests. Independent oracle and actual Python/script/lifecycle regressions pass in the instrumented builds. - All required hosted checks pass on final head `fbf212243` against main `0d87e9073`: Classic validation, CodeQL validation and Conventional PR title. Native Windows security tests and trusted GPU renderer coverage pass, including the fresh GPU-complete Codecov upload. - All three review threads have fix explanations and are resolved. Final independent source and evidence review is clean. ## Limitations / follow-up Fresh acceptance is complete. Codecov upload succeeds; reporting is informational under main's policy. Local SDL verification uses recorded Xvfb/lavapipe inputs and demonstrates software rendering behavior; hardware qualification remains separate. Companion content still requires integration and publication through its Classic-target artifact. No merge or release is included.
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.
Summary
Expose the server-owned
writing-bookspreset through the workspace scenario CLI and shell completion for the Classic book-writing issue.Companions: Classic PR #567 and content PR #266.
Implementation / behavior
writing-booksto the existing preset allowlists and document isolated creation/show/reset usage.content@mainand its Classic-target artifact.Validation
-lz; the full suite is not reported as passing.Limitations / follow-up
Hosted workspace CI passes on the published revision. Requires the companion Classic implementation and Classic-target content. The local full-suite environment limitations above remain; no host permissions, trust policy or package installation were changed.