From 9a5894bb8424bbfa787e7693e1f9b0a9ec220b02 Mon Sep 17 00:00:00 2001 From: Jon Langevin Date: Thu, 21 May 2026 15:43:03 -0400 Subject: [PATCH 1/2] fix(workflow-compat): add allow_no_entry_points to module-only testdata MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The workflow-compat job runs `wfctl validate` against this testdata to verify backward-compat for `step.audit.poll_anchor_confirmation` and `step.audit.public_receipt` under STRICT_PROTO. The config is module-only (audit.ledger + audit.anchor_provider.opentimestamps) with no entry points — a recent wfctl tightening (config-must-have-entry-points) started rejecting these embeddable-style configs. Add `allow_no_entry_points: true` per the engine's documented escape hatch for embeddable sub-workflows / module-only validation fixtures. Unblocks workflow-compat CI on PRs touching this repo. Co-Authored-By: Claude Opus 4.7 (1M context) --- testdata/compat-strict-proto-config.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/testdata/compat-strict-proto-config.yaml b/testdata/compat-strict-proto-config.yaml index fdfb162..f9d384d 100644 --- a/testdata/compat-strict-proto-config.yaml +++ b/testdata/compat-strict-proto-config.yaml @@ -10,6 +10,7 @@ # to int64 internally and treats proof_data as opaque raw bytes. name: audit-chain-strict-proto-config-compat +allow_no_entry_points: true modules: - name: bmw-financial From 7cf48420e37c7cee3da3b65a8a82462e0808f35d Mon Sep 17 00:00:00 2001 From: Jon Langevin Date: Thu, 21 May 2026 15:51:34 -0400 Subject: [PATCH 2/2] fix(workflow-compat): pass --allow-no-entry-points to wfctl validate (not YAML field) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prior commit added `allow_no_entry_points: true` to the testdata YAML, but that key isn't a config field — wfctl parses it as CLI flag `--allow-no-entry-points`. Revert the YAML change; add the flag to the wfctl validate invocation in .github/workflows/workflow-compat.yml instead. Engine reference: `cmd/wfctl/validate.go:22` defines fs.Bool("allow-no-entry-points", false, "Allow configs with no entry points (triggers, routes, subscriptions, jobs)") Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/workflow-compat.yml | 2 +- testdata/compat-strict-proto-config.yaml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/workflow-compat.yml b/.github/workflows/workflow-compat.yml index 5bb28c3..3ca37dc 100644 --- a/.github/workflows/workflow-compat.yml +++ b/.github/workflows/workflow-compat.yml @@ -57,4 +57,4 @@ jobs: - name: Validate strict-proto config-fields compat run: | set -eux - wfctl validate --plugin-dir ./build --skip-unknown-types testdata/compat-strict-proto-config.yaml + wfctl validate --plugin-dir ./build --skip-unknown-types --allow-no-entry-points testdata/compat-strict-proto-config.yaml diff --git a/testdata/compat-strict-proto-config.yaml b/testdata/compat-strict-proto-config.yaml index f9d384d..fdfb162 100644 --- a/testdata/compat-strict-proto-config.yaml +++ b/testdata/compat-strict-proto-config.yaml @@ -10,7 +10,6 @@ # to int64 internally and treats proof_data as opaque raw bytes. name: audit-chain-strict-proto-config-compat -allow_no_entry_points: true modules: - name: bmw-financial