diff --git a/docs/information/local-verification.md b/docs/information/local-verification.md index 3983991..ed4ee5f 100644 --- a/docs/information/local-verification.md +++ b/docs/information/local-verification.md @@ -3,20 +3,22 @@ "schema": "wellmanifest.docs/document/v1", "id": "local-verification", "kind": "information", - "version": 1, + "version": 2, "title": "Fixop local verification", "status": "proposed", "owner": "semcod/fixop", "created": "2026-09-08", "updated": "2026-09-08", "review_after": "2026-09-15", - "source_revision": "9b24f634e9c50b35e9e768562bc7e915d69b5b36", + "source_revision": "8e2274641346859dace82ed50201cd4d45ce5e37", "affected_repositories": [ "semcod/fixop" ], "evidence": [ "https://github.com/semcod/fixop/issues/4", - "https://github.com/subactor/onedev-agent/issues/207" + "https://github.com/subactor/onedev-agent/issues/207", + "https://github.com/semcod/fixop/issues/6", + "https://github.com/subactor/onedev-agent/issues/209" ] } --- @@ -52,3 +54,21 @@ Passing mocked Linux tests does not prove real infrastructure remediation, Windo ## Acceptance Observe the deployed executor on this unchanged canary head, retain both Python results and the documentation result, then independently require the local gate alongside both hosted checks. Publish through the trusted Validator adapter. + + +## Shared protected Python boundary + +The protected repository wrapper delegates input validation and matrix execution +to `locked-python-matrix.py`, loaded from its absolute sibling path in the +executor image. Candidate paths cannot select the helper. Repository identity, +approved dependency hashes and both exact Python versions remain specific to +this project; a job for the other deployed repository is rejected before any +candidate subprocess. Dependency environments and hosted requirements are +unchanged. + +The common regression suite exercises both repository contracts, including +modified/missing/symlinked inputs, failure propagation, cross-repository binding +and a candidate-directory helper substitution. Runtime publication still +requires `onedev/local-verify`, `test (3.10)` and `test (3.13)` through the +independent Validator. This documentation change is the real deployment canary +for the shared runner; record exact head, base and merge-tree evidence. diff --git a/project/ticket-006/README.md b/project/ticket-006/README.md new file mode 100644 index 0000000..3cccf6d --- /dev/null +++ b/project/ticket-006/README.md @@ -0,0 +1,12 @@ +# ticket-006: Shared protected Python verification + +Status: IN_PROGRESS / PUBLICATION. + +Session authorization: continue, push, test and deploy. +Allocation: https://github.com/semcod/fixop/issues/6. + +AC-01: Document the shared protected boundary with unchanged dependency contract. +AC-02: Run the deployed canary and preserve both hosted checks. +AC-03: Publish independently with exact head/base/merge result. + +Canonical result: ../../docs/information/local-verification.md. diff --git a/project/ticket-006/intent.json b/project/ticket-006/intent.json new file mode 100644 index 0000000..faad67f --- /dev/null +++ b/project/ticket-006/intent.json @@ -0,0 +1,17 @@ +{ + "schema": "new-project.intent/v3", + "ticket": "ticket-006", + "summary": "Document and verify shared protected Python execution", + "workstream": "integration", + "allowedPaths": [ + "docs/information/local-verification.md", + "project/ticket-006/**" + ], + "forbiddenPaths": [ + "pyproject.toml", + "uv.lock", + ".github/workflows/**" + ], + "dependsOn": [], + "conflictsWith": [] +}