|
1 | | -= Verification Pillar |
| 1 | +// SPDX-License-Identifier: MPL-2.0 |
| 2 | += Verification Pillar — gv-clade-index |
| 3 | + |
| 4 | +== Status: no formal-proof surface |
| 5 | + |
| 6 | +gv-clade-index is a `gv`/`db` project — a JavaScript Cloudflare Worker over a |
| 7 | +VeriSimDB/KV registry. It has *no native ABI/FFI surface*, so there are no Idris2 / |
| 8 | +Lean / Coq / Agda proofs to maintain here, and none are outstanding. The template |
| 9 | +ABI proofs that once implied otherwise were removed; see `PROOF-NEEDS.md`. |
| 10 | + |
| 11 | +== What stands in for "proofs" here |
| 12 | + |
| 13 | +Correctness is assured by executable evidence appropriate to a data/edge service: |
| 14 | + |
| 15 | +* *Worker test suite* — `worker/test/worker.test.js`: routing, input validation, |
| 16 | + security headers, CORS, error paths, and a fuzz sweep (no uncontrolled 5xx). |
| 17 | +* *Data-integrity invariants* — `worker/test/data.test.js` asserts the registry's |
| 18 | + "theorems": the 12-clade invariant; count consistency |
| 19 | + (`total_repos == |by_name| == Σ member_count`); every clade member resolves; |
| 20 | + `prefixed == "<clade>-<name>"`; valid secondary codes; and forge primary-key |
| 21 | + (`github`) + `uuid` uniqueness. |
| 22 | +* *CI gate* — `.github/workflows/worker-ci.yml` runs these on every PR. |
| 23 | + |
| 24 | +== When real proofs would apply |
| 25 | + |
| 26 | +Only if a native/compiled ABI surface is introduced. At that point, add |
| 27 | +domain-specific Idris2 proofs per the pattern referenced in `PROOF-NEEDS.md` |
| 28 | +(e.g. `proven`, `typed-wasm`, `echidna`). The `proofs/`, `safety_case/`, and |
| 29 | +`traceability/` units are retained for RSR structure until then. |
0 commit comments