diff --git a/docs/evidence/member-gates-headers-20261013.md b/docs/evidence/member-gates-headers-20261013.md new file mode 100644 index 0000000..316f8fb --- /dev/null +++ b/docs/evidence/member-gates-headers-20261013.md @@ -0,0 +1,36 @@ +# Shared member-gate declaration correction + +Objective: make the two shared Python gate files discoverable by the hub's +existing divergence guard. Source base: `35bb98527884df798c4120957452ba37bae01e90` (telegram-dev 0.2.4). + +The integration check found six missing declarations across telegram-dev, xr-dev +and web3d-dev: `test/member_gates.py` and `test/member_gates_test.py` are identical +copies, but did not carry machine-readable `shared-mechanism`/`diverges` headers. +Each now declares its stable mechanism ID, `diverges: none`, and all three owners. +No exemption or similarity-floor change was made in the hub. + +Validation performed on this candidate: + +- The real hub function `check_a_copied_mechanism_declares_its_divergence` was + evaluated against isolated copies of these six files. Baseline: six missing + declaration failures; corrected: zero. Adding an undeclared module constant to + one copy still refused all three declarations in that file group. +- `npm test`: exit 0. +- `python3 test/member_gates_test.py`: 42 real process controls, zero failures. +- Python AST dumps excluding positions were identical before/after for both files. + The only source edits are comments; existing execution and negative plants are + unchanged. Hosted normal candidate validation remains required before merge. +- `npm pack --dry-run --json`: 22 files, version 0.2.4. Exact path set and + every SHA-256 matched the previously downloaded and source-verified published + 0.2.4 tarball. Test files and this evidence are outside the npm payload. + +Decision: this is a repository-only successor, not a new package release. Keep +version 0.2.4, its published payload, and historical tag untouched. The hub +may pin the merged successor while retaining the verified package version. + +Next task: independent review, ordinary draft-to-ready candidate checks, then +normal exact-head merge; coordinator reruns the hub integration guard with all +three corrected owner commits. No installed skill or host setting changes. + +Skills: task-pipeline (normal delivery), make-skill (unchanged package proof), +agent-sync (local advisory ownership), evidence-docs (bounded check receipts). diff --git a/test/member_gates.py b/test/member_gates.py index 01796c4..42cc61b 100644 --- a/test/member_gates.py +++ b/test/member_gates.py @@ -1,3 +1,6 @@ +# shared-mechanism: sshlg-skills/member-gates-v1 +# diverges: none +# Copies: telegram-dev, xr-dev, web3d-dev; change and verify the family together. """Portable owner gates, shared byte-for-byte by the FW02 member wave. Stdlib only. Release validation checks the current workflow's structural contract, diff --git a/test/member_gates_test.py b/test/member_gates_test.py index fcdc1b8..6dae4c4 100644 --- a/test/member_gates_test.py +++ b/test/member_gates_test.py @@ -1,4 +1,7 @@ #!/usr/bin/env python3 +# shared-mechanism: sshlg-skills/member-gates-test-v1 +# diverges: none +# Copies: telegram-dev, xr-dev, web3d-dev; change and verify the family together. """Real validator plants for the portable member gate contract; no network.""" from pathlib import Path import os