From 72ba99916903b16222894f97476b465733b49492 Mon Sep 17 00:00:00 2001 From: "Reference Field, Inc." Date: Wed, 2 Sep 2026 19:18:54 -0400 Subject: [PATCH 1/3] Run advisory validation on main pushes --- .github/workflows/protocol-validation.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/protocol-validation.yml b/.github/workflows/protocol-validation.yml index 97257ba..e13d572 100644 --- a/.github/workflows/protocol-validation.yml +++ b/.github/workflows/protocol-validation.yml @@ -2,6 +2,9 @@ name: Operational-memory protocol validation on: pull_request: + push: + branches: + - main workflow_dispatch: permissions: @@ -26,7 +29,10 @@ jobs: - name: Validate protocol structure run: python tools/validate_protocol.py -# This workflow is intentionally advisory and does not run on every direct -# operational-memory write. It runs for pull requests or when manually -# dispatched. PROTOCOL.yaml declares blocking_required_check: false, and the -# recommended main-branch ruleset does not require this status check. +# This workflow is intentionally advisory. It runs for pull requests, every +# push to canonical main (including normal operational-memory writes), or when +# manually dispatched. Main-push validation is a post-write repository-integrity +# check; immediate persistence claims still depend on write readback/verification, +# not on waiting for this workflow. PROTOCOL.yaml declares +# blocking_required_check: false, and the recommended main-branch ruleset does +# not require this status check. From 0b2153784167efa1c61244ff175710949f228afb Mon Sep 17 00:00:00 2001 From: "Reference Field, Inc." Date: Wed, 2 Sep 2026 19:19:16 -0400 Subject: [PATCH 2/3] Declare advisory main-push validation contract --- PROTOCOL.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/PROTOCOL.yaml b/PROTOCOL.yaml index ae7e8d6..0c1df6a 100644 --- a/PROTOCOL.yaml +++ b/PROTOCOL.yaml @@ -151,6 +151,11 @@ validation: mode: advisory script: tools/validate_protocol.py workflow: .github/workflows/protocol-validation.yml + runs_on_pull_request: true + runs_on_main_push: true + manual_dispatch_available: true + main_push_is_post_write_integrity_check: true + immediate_persistence_claim_depends_on_readback_not_ci: true blocking_required_check: false release_lifecycle: From 1d7cf13879543c86652c5ce727611d4a52ae1a92 Mon Sep 17 00:00:00 2001 From: "Reference Field, Inc." Date: Wed, 2 Sep 2026 19:20:03 -0400 Subject: [PATCH 3/3] Document post-write main validation behavior --- OPERATIONS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OPERATIONS.md b/OPERATIONS.md index 2c9083c..ad2f6df 100644 --- a/OPERATIONS.md +++ b/OPERATIONS.md @@ -144,7 +144,7 @@ A health check has two layers. Use the advisory validator declared in `PROTOCOL.yaml` when available. It checks machine-verifiable invariants such as required files, project registration/template structure, identifier uniqueness/reference integrity, supersession lifecycle consistency, manifest identity fields, and soft budget warnings. -The included GitHub Action is advisory and intentionally does **not** run on every direct operational-memory write. It runs for pull requests or when manually dispatched. It is **not** a required status check and does not block ordinary direct ChatGPT writes to `main`. +The included GitHub Action remains advisory, but now runs for pull requests, every push to canonical `main` including normal operational-memory writes, or manual dispatch. A main-push run is an independent post-write repository-integrity check; it does not replace the immediate write/readback verification required before claiming persistence. It is **not** a required status check and does not block ordinary direct ChatGPT writes to `main`. ### Semantic layer