Some checks failed
Standalone registry checks / check (push) Has been cancelled
97 lines
5.6 KiB
Markdown
97 lines
5.6 KiB
Markdown
# 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.
|
|
|
|
The baseline is Argand commit `47911062b00d87f215ba61c41965faf8a7f4b7f7`.
|
|
All extracted Rust, migration and provider-license bytes match UPSTREAM.json.
|
|
The extracted operator README changes only its working-directory instruction.
|
|
New files provide independent build metadata, examples, policy and release tooling.
|
|
The lockfile shrank from 642 packages to 246 with no new dependency versions.
|
|
|
|
## Acceptance
|
|
|
|
Linux x86_64, Rust/Cargo 1.98.1, Python 3.14, two Cargo build jobs. Passed:
|
|
|
|
- Rust formatting, all-target compilation and Clippy with warnings denied.
|
|
- All 23 Rust tests, zero failures or ignored tests; strict API documentation.
|
|
- Eight Python source-release tests, Python syntax checks, shell syntax and
|
|
ShellCheck for the check script and every workflow shell step.
|
|
- Native all-five-source fixture import, idempotency, alias lookup, explicit
|
|
identity joining, signed approval/activation, revocation and rollback refusal.
|
|
- Identical native CLI, Rust library example and Python example lookup envelopes,
|
|
including provenance, attribution and multiple regional properties. Every
|
|
consumer refused an incorrect generation pin.
|
|
- Two source archives and receipts from the implementation commit were byte-for-byte
|
|
identical. Receipt pin: `811af8fe2fd1e747b7745a44dba24e2397c01b43381e11846753e284caf6a275`.
|
|
- Full acceptance rerun from the verified archive outside the Git checkout, then
|
|
from `/tmp` to exclude the developer's ancestor Cargo configuration. Neither
|
|
extracted copy had a `.git` directory or accessed Argand's source tree.
|
|
|
|
The primary check took 28.24 seconds with 566,388 KiB peak process RSS after the
|
|
initial compiler check. A separate optimized build took 84.15 seconds with
|
|
602,340 KiB peak RSS. The archive check under `/tmp` took 101.64 seconds with
|
|
569,228 KiB peak RSS, including recompilation. These are local single-run toolchain
|
|
measurements, not serving-latency or full-provider capacity claims. Build output,
|
|
fixtures, disposable keys and detailed logs were retained outside the repository.
|
|
|
|
The final initial inventory was reviewed for credentials, private paths, datasets,
|
|
unrelated files and provenance loss. Source archives exclude private-key and dataset
|
|
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 at initial publication
|
|
|
|
The code was independently buildable. The public Forgejo repository required
|
|
signed commits and restricts direct pushes and merges to the maintainer; review
|
|
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.
|
|
Argand's live source/build window remained with its beta agent. Its embedded
|
|
registry dependency has not been replaced; docs/CONSUMERS.md describes cutover.
|