Skip to content

ci(release): restore skip-not-fail for live Loomweave conformance#18

Merged
tachyon-beep merged 1 commit into
mainfrom
fix/release-loomweave-skip-not-fail
Jun 25, 2026
Merged

ci(release): restore skip-not-fail for live Loomweave conformance#18
tachyon-beep merged 1 commit into
mainfrom
fix/release-loomweave-skip-not-fail

Conversation

@tachyon-beep

Copy link
Copy Markdown
Collaborator

Why

Owner decision (2026-06-25): Legis does not run live Loomweave SEI conformance in remote CI — no CI-reachable Loomweave oracle is provisioned (the local dogfood Loomweave is 127.0.0.1-only, unreachable from a GitHub Actions runner).

The 1.1.1 hardening (551ff64 fix(ci): fail closed on missing release conformance) made the live-loomweave-conformance job fail closed when LOOMWEAVE_URL / LOOMWEAVE_LIVE_ORACLE_LOCATOR / LEGIS_LOOMWEAVE_HMAC_KEY are unset. In this setup that config is permanently absent, so the job always fails and the publish job is always skipped — the v1.2.0 PyPI publish is blocked with no path forward.

What

Restore the previously-reviewed skip-not-fail behavior (0dafc83 fix(release): make live-Loomweave conformance skip-not-fail, never block publish):

  • Config absent → job passes as a fast no-op, emits a ::notice::, and publish proceeds.
  • Config present (e.g. a future provisioned/self-hosted runner) → the live oracle runs for real and a conformance failure still blocks publish. The gate still bites where it can.
  • The LEGIS_LOOMWEAVE_HMAC_KEY secret stays scoped to the steps that use it (preserving 87cb54d fix(ci): scope release oracle secret).

Scope of the change

This narrows only the live oracle check. The build job still gates publish on the full offline test suite, mypy, per-package coverage floors, the offline SEI conformance oracle (test_sei_oracle.py), the policy-boundary honesty gate, and the tag↔version match.

Note: release.yml's release-triggered jobs are not exercised by PR CI; this PR's value is the recorded rationale for the governance-control change.

🤖 Generated with Claude Code

Owner decision 2026-06-25: Legis does not run live Loomweave SEI
conformance in remote CI (no CI-reachable Loomweave oracle is stood
up). The 1.1.1 hardening (551ff64) made the conformance job fail closed
when the oracle config is absent, which permanently blocks the PyPI
publish in this setup.

Restore the previously-reviewed skip-not-fail behavior (0dafc83): when
LOOMWEAVE_URL / LOOMWEAVE_LIVE_ORACLE_LOCATOR / LEGIS_LOOMWEAVE_HMAC_KEY
are unset the job passes as a no-op and emits a ::notice::, so publish
proceeds; when they ARE present the live oracle still runs and a
failure still blocks publish. The HMAC secret stays scoped to the steps
that use it (preserving 87cb54d).

This narrows only the live oracle check. The build job still gates
publish on the full offline suite, mypy, per-package coverage floors,
the offline SEI conformance oracle, the policy-boundary honesty gate,
and the tag/version match.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@tachyon-beep tachyon-beep merged commit a0965b9 into main Jun 25, 2026
1 of 2 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 55ef25fd82

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

echo "::error::Missing required release conformance environment: ${joined}"
exit 1
echo "::notice::Live Loomweave oracle not provisioned (${joined} unset) — skipping conformance, not blocking publish."
echo "configured=false" >> "$GITHUB_OUTPUT"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Update the release workflow invariant test

The release build still runs the full offline suite via uv run pytest ..., and tests/test_ci_workflow.py::test_release_publish_requires_live_loomweave_conformance still asserts that the live job does not emit configured=false/true, does not mention not blocking publish, and has no conditional oracle step. With this new output/skip path, that test fails during the build job, so the release remains blocked even when the live oracle is intentionally skipped; please update or remove the stale workflow invariant with this change.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant