Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 08a6d5a

Browse files
committed
docs: add validation and witness verification instructions to CLAUDE.md
- Add Validation & Witness Verification section with 4-step procedure - Document proof hash regeneration workflow - List witness bundle contents and key proof artifacts - Update ADR list (now 28 ADRs including ADR-024, ADR-027, ADR-028) - Update Pre-Merge Checklist: add proof verification and witness bundle steps - Update test commands to full workspace (1,031+ tests) - Set default branch to main Co-Authored-By: claude-flow <[email protected]>
1 parent 322eddb commit 08a6d5a

1 file changed

Lines changed: 64 additions & 18 deletions

File tree

claude.md

Lines changed: 64 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,33 +21,77 @@ All 5 ruvector crates integrated in workspace:
2121
- `ruvector-attention``model.rs` (apply_spatial_attention) + `bvp.rs`
2222

2323
### Architecture Decisions
24-
All ADRs in `docs/adr/` (ADR-001 through ADR-017). Key ones:
24+
28 ADRs in `docs/adr/` (ADR-001 through ADR-028). Key ones:
2525
- ADR-014: SOTA signal processing (Accepted)
2626
- ADR-015: MM-Fi + Wi-Pose training datasets (Accepted)
2727
- ADR-016: RuVector training pipeline integration (Accepted — complete)
2828
- ADR-017: RuVector signal + MAT integration (Proposed — next target)
29+
- ADR-024: Contrastive CSI embedding / AETHER (Accepted)
30+
- ADR-027: Cross-environment domain generalization / MERIDIAN (Accepted)
31+
- ADR-028: ESP32 capability audit + witness verification (Accepted)
2932

3033
### Build & Test Commands (this repo)
3134
```bash
32-
# Rust — check training crate (no GPU needed)
35+
# Rust — full workspace tests (1,031 tests, ~2 min)
3336
cd rust-port/wifi-densepose-rs
34-
cargo check -p wifi-densepose-train --no-default-features
35-
36-
# Rust — run all tests
37-
cargo test -p wifi-densepose-train --no-default-features
37+
cargo test --workspace --no-default-features
3838

39-
# Rust — full workspace check
40-
cargo check --workspace --no-default-features
39+
# Rust — single crate check (no GPU needed)
40+
cargo check -p wifi-densepose-train --no-default-features
4141

42-
# Python — proof verification
42+
# Python — deterministic proof verification (SHA-256)
4343
python v1/data/proof/verify.py
4444

4545
# Python — test suite
4646
cd v1 && python -m pytest tests/ -x -q
4747
```
4848

49+
### Validation & Witness Verification (ADR-028)
50+
51+
**After any significant code change, run the full validation:**
52+
53+
```bash
54+
# 1. Rust tests — must be 1,031+ passed, 0 failed
55+
cd rust-port/wifi-densepose-rs
56+
cargo test --workspace --no-default-features
57+
58+
# 2. Python proof — must print VERDICT: PASS
59+
cd ../..
60+
python v1/data/proof/verify.py
61+
62+
# 3. Generate witness bundle (includes both above + firmware hashes)
63+
bash scripts/generate-witness-bundle.sh
64+
65+
# 4. Self-verify the bundle — must be 7/7 PASS
66+
cd dist/witness-bundle-ADR028-*/
67+
bash VERIFY.sh
68+
```
69+
70+
**If the Python proof hash changes** (e.g., numpy/scipy version update):
71+
```bash
72+
# Regenerate the expected hash, then verify it passes
73+
python v1/data/proof/verify.py --generate-hash
74+
python v1/data/proof/verify.py
75+
```
76+
77+
**Witness bundle contents** (`dist/witness-bundle-ADR028-<sha>.tar.gz`):
78+
- `WITNESS-LOG-028.md` — 33-row attestation matrix with evidence per capability
79+
- `ADR-028-esp32-capability-audit.md` — Full audit findings
80+
- `proof/verify.py` + `expected_features.sha256` — Deterministic pipeline proof
81+
- `test-results/rust-workspace-tests.log` — Full cargo test output
82+
- `firmware-manifest/source-hashes.txt` — SHA-256 of all 7 ESP32 firmware files
83+
- `crate-manifest/versions.txt` — All 15 crates with versions
84+
- `VERIFY.sh` — One-command self-verification for recipients
85+
86+
**Key proof artifacts:**
87+
- `v1/data/proof/verify.py` — Trust Kill Switch: feeds reference signal through production pipeline, hashes output
88+
- `v1/data/proof/expected_features.sha256` — Published expected hash
89+
- `v1/data/proof/sample_csi_data.json` — 1,000 synthetic CSI frames (seed=42)
90+
- `docs/WITNESS-LOG-028.md` — 11-step reproducible verification procedure
91+
- `docs/adr/ADR-028-esp32-capability-audit.md` — Complete audit record
92+
4993
### Branch
50-
All development on: `claude/validate-code-quality-WNrNw`
94+
Default branch: `main`
5195

5296
---
5397

@@ -93,14 +137,16 @@ All development on: `claude/validate-code-quality-WNrNw`
93137

94138
Before merging any PR, verify each item applies and is addressed:
95139

96-
1. **Tests pass**`cargo test` (Rust) and `python -m pytest` (Python) green
97-
2. **README.md** — Update platform tables, crate descriptions, hardware tables, feature summaries if scope changed
98-
3. **CHANGELOG.md** — Add entry under `[Unreleased]` with what was added/fixed/changed
99-
4. **User guide** (`docs/user-guide.md`) — Update if new data sources, CLI flags, or setup steps were added
100-
5. **ADR index** — Update ADR count in README docs table if a new ADR was created
101-
6. **Docker Hub image** — Only rebuild if Dockerfile, dependencies, or runtime behavior changed (not needed for platform-gated code that doesn't affect the Linux container)
102-
7. **Crate publishing** — Only needed if a crate is published to crates.io and its public API changed (workspace-internal crates don't need publishing)
103-
8. **`.gitignore`** — Add any new build artifacts or binaries
140+
1. **Rust tests pass**`cargo test --workspace --no-default-features` (1,031+ passed, 0 failed)
141+
2. **Python proof passes**`python v1/data/proof/verify.py` (VERDICT: PASS)
142+
3. **README.md** — Update platform tables, crate descriptions, hardware tables, feature summaries if scope changed
143+
4. **CHANGELOG.md** — Add entry under `[Unreleased]` with what was added/fixed/changed
144+
5. **User guide** (`docs/user-guide.md`) — Update if new data sources, CLI flags, or setup steps were added
145+
6. **ADR index** — Update ADR count in README docs table if a new ADR was created
146+
7. **Witness bundle** — Regenerate if tests or proof hash changed: `bash scripts/generate-witness-bundle.sh`
147+
8. **Docker Hub image** — Only rebuild if Dockerfile, dependencies, or runtime behavior changed
148+
9. **Crate publishing** — Only needed if a crate is published to crates.io and its public API changed
149+
10. **`.gitignore`** — Add any new build artifacts or binaries
104150

105151
## Build & Test
106152

0 commit comments

Comments
 (0)