Files
ARCADIA-Studio/harness/experiments/compact-help-20261001/package/artifact-review.md
T

42 lines
6.3 KiB
Markdown

# Independent compact Help package and server evidence review
No blocking finding in the reviewed artifact integrity, provenance, notices, or bounded server evidence. This review does not accept the packaged desktop workflow or the complete first release. The reviewer performed read-only byte/JSON/PE checks and inspected existing runtime evidence; no compiler, application launch, GUI action or Gitea mutation was performed. This review file is the only reviewer-created artifact.
## Exact package and integrity
Reviewed `ArcadiaStudio-0.2.0-preview.compact-help.20261001-x86_64-pc-windows-gnullvm.zip`: 34,184,534 bytes, SHA256 `18af75c7aea60bb0d5db5b1925d0d0815ecd08afc5bb258438851cfda809a6f2`.
Independent checks verified all 565 ZIP entries against extracted bytes, the exact extracted file set, 564 SHA256SUMS entries and all 559 package input hashes. Archive names have no absolute/traversal paths, backslash ambiguity, colon paths or case-insensitive duplicates. Package BuildEvidence equals the supplied evidence file. Independent PE parsing reproduces all three recorded import lists and finds no delay-import directory. Dynamic runtime behavior remains a separate check.
Provenance correctly distinguishes desktop source `6e7c4ddaf0775198384a8c4882809ea8e14b2976`, reused server source `715036e132677dd2bc2fb37ed316d93dc9987aec`, and package documentation source `ea23e229260d7d050b3c3b88e77c3a851e936abe`. It identifies Rust 1.98.1, gnullvm and dev/unoptimized profile. Executable hashes match the recorded final desktop (`d55ecad4...`) and released server (`6cebacc1...`). The source comparison has no core, server, Cargo or vendor dependency changes; the documentation commit changes only acceptance evidence. These are checked provenance records, not an independent rebuild.
## Runtime, notices and documentation
The selected DLL is `f45604a12e8bcd839fd86f667c1be1cc7c4f9da2b3c69ff381ac708f0e1ae7d4`, matching the final desktop runtime and the selected LLVM-MinGW 20260826 x86_64 toolchain. Its packaged distribution LICENSE matches that toolchain exactly. The component notice matches the reviewed manifest's DLL-bound entry and exact LLVM commit `ea7d852a70e8bdfaf601d6626a760f9771b2c4b4`; distribution build correspondence remains the stated external provenance limitation.
All 489 referenced notice hashes pass. The 268 dependency package identities, registry checksums, features and local source-hash inventories agree with the accepted donor inventory except for intended `oa-desktop` source changes. Rust notice/target-library inventory is identical. Cargo.lock and all seven shared workspace-input hashes match the checkout. This is notice/inventory verification, not a universal license or binary asset audit.
All 66 collected source documentation/example/deployment/license files match the checkout. The package document checker resolves all 18 local links. Built-in Help execution is outside this static check.
## Fresh server pairing evidence
The donor server's old packaged runtime was `aa282fa4...`; its historical runtime acceptance does not establish the new pairing. The fresh smoke pins the server and `f45604a1...` DLL, uses the newly extracted package, an unrelated working directory, a fresh store, loopback port 54695, and a system-only child PATH. Both process command lines point to this extracted server.
The reviewer compared the adapted harness with the prior accepted harness and independently checked all 11 captured HTTP request/response pairs. The 23-check result is supported: readiness; exact packaged OpenAPI; source import and readback; stable model IDs distinct from resource identity; CRLF and comment preservation; a name-only complete-model change from revision 1 to 2; changed ETag; stale If-Match refusal with 412/revision_conflict; unchanged accepted model/source after refusal; exact committed envelope; and identical envelope, source, ETag and stored bytes after restart. The store hash is `62d1fed82f4fc793f3173beb8693fbde94d6aabf4e38e161da93b59178969ee2`. Logs contain only expected startup messages; stdout is empty.
The first run contains a harness-only fixture encoding error: adaptation changed the old em dash comment to the literal mojibake text `—` (U+00E2, U+20AC, U+201D). Its exact current UTF-8 input/output comparison remains valid, but it did not exercise the intended em dash. The original run and its bytes remain preserved.
The parent then ran `server-smoke-unicode02` with a fresh store and processes. Independent script comparison shows only the fixture comment changed to U+2014; runtime pins and behavioral assertions are unchanged. The reviewer independently reconciled this run's 11 captured HTTP exchanges, exact original/edited source bytes and CRLF, complete model delta, revision 1 to 2, ETags, 412 refusal, stored envelope and exact restart readback. All checks agree with its 23-check PASS result. The corrected source contains exactly one non-ASCII codepoint, U+2014. The new resource is `53a28b61-1736-4bc4-8553-28995488647f`; its revision-1 and revision-2 ETags match that resource. The package ZIP remains unchanged.
| Evidence | First run (`server-smoke`) | Corrected run (`server-smoke-unicode02`) |
| --- | --- | --- |
| `run.py` SHA256 | `41d25f1d63b32737859674f414470c06868948db60f29a63eb5ac6b6857addb3` | `20344608a0623584a0e0ac66dc7f435a0de053d39b4254e92f1c1148aed8e8b9` |
| `original.arcadia` SHA256 | `c40896187097d97830b807e993aff39a93b62a1824abc46760c3b487767fa3f5` | `1f6b88cbcc3ac12995192feca91e07b9f6d536f2d21d0df6f42aa08f5c745ba9` |
| Committed store SHA256 | `62d1fed82f4fc793f3173beb8693fbde94d6aabf4e38e161da93b59178969ee2` | `f615fd9d08ed4e0bb4f2b7b13fa52095959e34c73ac3498487a8544d23eb13fb` |
Each run's two owned server processes were stopped with Windows TerminateProcess after acknowledged requests, producing exit code 1. This supports restart persistence of acknowledged writes, not graceful shutdown, in-flight-write recovery or power-loss safety. Authentication, remote/TLS behavior, concurrency/load and wider API semantics were not exercised.
## Acceptance boundary
Fresh packaged desktop edit/save/undo/redo/reopen and contextual Help checks remain owned by the native reviewer. Publish their actual results separately. Retain development-preview limitations, the distinction between final focused checks and inherited full-suite evidence, and the outstanding complete-project requirements. Existing published assets remain unchanged.