2.5 KiB
2.5 KiB
Standalone Site Registry Implementation Plan
For agentic workers: Use superpowers:executing-plans inline. No subagents or Argand worktrees.
Goal: Produce a reusable standalone repository and verifiable source release.
Architecture: Retain the registry and atomic helper as two workspace crates. Preserve runtime bytes and wire packaging, consumer examples and release gates around their existing APIs. Use an isolated build directory.
Tech Stack: Rust, SQLite, Python 3.11 standard library tooling, OpenSSH, Forgejo Actions.
Task 1: Extract the verified baseline
- Verify signed Argand commit 47911062b00d87f215ba61c41965faf8a7f4b7f7.
- Export only
engine/crates/argand-site-registryandengine/crates/argand-atomic. - Write
UPSTREAM.jsonwith original path/blob/hash evidence and a two-crateCargo.toml. - Prune the inherited lock with
cargo metadata --offline --format-version 1; retain exact dependency versions.
Task 2: Make standalone use and trust policy concrete
- Add root README, LICENSE, source-license entrypoint, CONTRIBUTING, SECURITY and governance docs.
- Add Rust
examples/lookup.rsand Pythonexamples/lookup.pyconsumers of existing query contracts. - Run both consumers on the native fixture and compare full lookup outputs, including attribution.
Task 3: Package and verify source releases
- Add deterministic source archive and verification commands in
scripts/source_release.py. - Test determinism, dirty-tree refusal, no-clobber, tampering and unsafe archive members in
tests/test_source_release.py. - Add
scripts/check.shand.forgejo/workflows/ci.ymlusing an isolated runner without release secrets. - Document explicit release signing, downstream pins and incident response in
docs/RELEASING.mdanddocs/TRUST.md.
Task 4: Validate and land the bounded task
- Run
cargo fmt --all -- --check,cargo check --workspace --all-targets --locked --offline,cargo clippy --workspace --all-targets --locked --offline -- -D warnings,cargo test --workspace --locked --offlineand strictcargo doc. - Build the native executable and retain the all-five-source CLI fixture outside the repo.
- Rebuild/run tests from the release archive outside the original workspace.
- Review every initial tracked file and dependency change, sign the local commit and release receipt.
- Record exact validation, publication and Argand cutover state; release any coordination window.