From 58d504e4f45d3df006a495a926502dc4af4e7107 Mon Sep 17 00:00:00 2001 From: nicweyand Date: Sun, 13 Sep 2026 01:25:02 -0400 Subject: [PATCH] docs: record v0.2 validation --- docs/VALIDATION.md | 54 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/docs/VALIDATION.md b/docs/VALIDATION.md index a49e814..6ccb9f6 100644 --- a/docs/VALIDATION.md +++ b/docs/VALIDATION.md @@ -1,4 +1,46 @@ -# Initial standalone validation, 2026-09-12 +# Validation + +## Version 0.2.0 release validation, 2026-09-13 + +Implementation commit: `e83f43d00f38fb1a8973316fc045ac4139069aaa`, signed by +Nic Weyand. This release hardens immutable generation reads and authenticated +review evidence, adds typed diffs and explicit resolution outcomes, and exposes +read-only audit and evaluation commands. Schema version 2 preserves legacy +review history but requires cryptographically authenticated decisions for release +signing. + +Linux x86_64 with Rust/Cargo 1.98.1, Python 3.14.7 and two Cargo build jobs passed: + +- Rust formatting, all-target compilation, Clippy with warnings denied, strict + API documentation and all 32 Rust tests. +- All eight Python source-release tests, Python and shell syntax checks, + ShellCheck, documentation links, and native CLI/Rust/Python consumer parity. +- Adversarial checks for unsigned SQLite WAL injection and generation symlinks, + unauthenticated or tampered reviewer evidence, reviewer identity and trust-file + mismatch, approval invalidation, revocation-only diffs, ambiguous identities, + confusable domain queries, malformed evaluation cases and observation scope. +- `cargo audit --deny warnings` with no vulnerabilities, unmaintained packages, + unsound packages or yanked dependencies reported. + +The warm local acceptance run took 16.39 seconds with 1,140,856 KiB peak process +RSS. It produced 32 passing Rust tests and eight passing Python tests. These are +single-machine development measurements, not provider-scale import or serving +capacity claims. + +[Hosted Forgejo Actions run 1](https://git.argand.org/nicweyand/argand-site-registry/actions/runs/1) +passed the exact implementation commit in 3 minutes 43 seconds. The repository-scoped +runner used image `argand-site-registry-ci@sha256:9dfad38312b7384839893225cd01835a6e8cb24c75e870fc959e460590be9c3d`, +built from the digest-pinned Rust 1.98.0 image declared in `ci/Dockerfile`. The +workflow fetched the public commit without credentials, ran acceptance, compared +two deterministic source archives and receipts, verified the receipt pin, then +reran acceptance from extracted source. The runner has no production mounts, +signing material or dataset-publishing authority. + +No provider data was acquired, no reviewer decision or dataset generation was +created, and no Argand integration or production route was changed during this +release validation. + +## Initial standalone validation, 2026-09-12 Implementation commit: `2a0fe1714b8ffb2e80203722bcb7987c630f432d`, signed by Nic Weyand. The subsequent completion documentation changes no runtime or packaging code. @@ -41,13 +83,13 @@ extensions, symlinks, submodules, traversal paths and uncommitted changes. Tests exercise receipt/archive tampering, duplicate JSON keys, unsafe members and no-clobber output. All documentation links resolve locally. -## Operational state +### Operational state at initial publication -The code is independently buildable. The public Forgejo repository requires +The code was independently buildable. The public Forgejo repository required signed commits and restricts direct pushes and merges to the maintainer; review -rules apply to administrators. CI workflow commands were validated locally. -Actions is disabled pending a dedicated isolated runner, so there is no hosted CI -run or automatically produced remote artifact claim. +rules applied to administrators. CI workflow commands were validated locally. +Actions was disabled pending a dedicated isolated runner, so the initial +validation made no hosted CI run or automatically produced remote artifact claim. No provider dataset was newly acquired, no production approval was fabricated, and no dataset timer, public Navigate route or registry generation was promoted.