Repository navigation
conformance: reject duplicate evidence ids - #27
Conversation
Add invalid/duplicate-id so verify fails SCHEMA when two items share an id, matching SPEC §4.3 uniqueness. Fixes new-world-coder#14 Signed-off-by: Team Humaki <team@humaki.com>
new-world-coder
left a comment
There was a problem hiding this comment.
Validation vs issue #14 + contribution rules
Looks good — this is a clean first contribution.
| Check | Status |
|---|---|
Issue #14: fixture under conformance/v0.1/invalid/ |
✅ invalid/duplicate-id |
| Issue #14: README row | ✅ |
Issue #14: verify exits 1 |
✅ (INVALID / SCHEMA) |
| SPEC §4.3 / §7 uniqueness | ✅ exercised correctly |
DCO (Signed-off-by) |
✅ |
| Scope (no LLM/cloud/compliance verdict language) | ✅ |
| Digests match file bytes | ✅ |
Local go test ./... |
✅ |
| GitHub Actions CI (after first-time fork approval) | ✅ |
Extra credit beyond the issue acceptance criteria: the in-package unit test + conformance path test is exactly the right hardening so the fixture cannot rot.
Non-blocking follow-ups (maintainer or optional follow-on PR)
.github/workflows/ci.ymlstill only smoke-checksbad-digestandpath-traversalunder “Conformance invalid must fail”. Worth addingduplicate-id(and eventually the other invalid fixtures) so CI mirrors the README table — not a blocker sincego testalready covers this case.- Optional: assert
SCHEMA+ the duplicate-id message inTestConformanceInvalidDuplicateIDthe same wayTestDuplicateEvidenceIDalready does.
Welcome — and thank you for being AegisProof’s first external contributor. 🙌
| if verify.ExitCode(rep.Result) != 1 { | ||
| t.Fatalf("want exit 1 got %d", verify.ExitCode(rep.Result)) | ||
| } | ||
| } |
There was a problem hiding this comment.
Nit (non-blocking): identical file bytes + identical digests correctly isolate the failure to duplicate id (not digest). Nice choice.
Optional hardening for this test only: also assert a SCHEMA error mentioning duplicate evidence id, matching TestDuplicateEvidenceID above — so a future regression that fails for the wrong reason still fails the test.
e45e02f
into
new-world-coder:cursor/aegisproof-v0.1-spec-and-cli
Cover every invalid README case (including duplicate-id from #27) and run CI on the active development branch. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Thank you for AegisProof’s first external contribution — and for going beyond the issue with the unit + conformance path tests so the fixture can’t rot. Welcome, and we hope you’ll stick around for more |
Fixes #14.
Adds
conformance/v0.1/invalid/duplicate-idfor the SPEC §4.3 / §7 rule that evidenceidvalues must be unique. Two items shareid: awith otherwise valid locators and digests;aegisproof verifyreportsINVALID/SCHEMAand exits 1.Also covers the fixture from
internal/verifyso the path cannot rot.