Skip to content

feat(action): forward --verify opt-in flag for fire (cueapi-cli #55 parity)#17

Merged
mikemolinet merged 1 commit into
mainfrom
feat/forward-fire-verify-flag
May 12, 2026
Merged

feat(action): forward --verify opt-in flag for fire (cueapi-cli #55 parity)#17
mikemolinet merged 1 commit into
mainfrom
feat/forward-fire-verify-flag

Conversation

@mikemolinet
Copy link
Copy Markdown
Collaborator

Summary

cueapi-cli #55 added a --verify opt-in flag to the fire command for Phase 2 body-verify. This PR forwards the flag from the Action to the CLI so GitHub Actions workflows can opt into body-verify on cues fire.

Why opt-in for fire (vs default-on for messages)

Substrate /v1/cues/{id}/fire echoes a pydantic-after-parse body that may include server-side default-population, causing spurious diff vs the CLI's canonical-JSON serialization. So fire's verify is opt-in; messages' verify is default-on (different endpoint, different echo semantics post-#798 spec-lock).

Change

  • Adds new verify action input (default empty/false)
  • Wires VERIFY env var to the fire case in runs.steps
  • Wires [ "$VERIFY" = "true" ] && cmd+=(--verify) into the fire shell case

Naming clarity

The verify input is intentionally NOT the same as no-verify:

Input Used by Default Opt-in or opt-out
no-verify messages-send / message-to verify-on opt-out (set "true" to opt out)
verify fire verify-off opt-in (set "true" to opt in)

Both inputs are documented with the divergence noted explicitly.

Companion PRs in the body-verify Phase 2 stack

🤖 Generated with Claude Code

…arity)

cueapi-cli #55 added a --verify opt-in flag to the `fire` command for
Phase 2 body-verify (Mike directive 2026-05-11). The Action's fire step
should forward it so GitHub Actions callers can opt into body-verify
on cues fire from their workflows.

## Why opt-in for fire (vs default-on for messages)

Substrate /v1/cues/{id}/fire echoes a pydantic-after-parse body that
may include server-side default-population, causing spurious diff vs
the CLI's canonical-JSON serialization. So fire's verify is opt-in;
messages' verify is default-on (different endpoint, different echo
semantics post-#798 spec-lock).

## Change

- Adds a new `verify` action input (default empty/false).
- Sets `VERIFY: ${{ inputs.verify }}` env in runs.steps.
- Wires `[ "$VERIFY" = "true" ] && cmd+=(--verify)` into the fire case.

## Naming clarity

The `verify` input is intentionally NOT the same as `no-verify`:
- `no-verify`: messages-send / message-to (default-on opt-out — verify-on by default)
- `verify`: fire (default-off opt-in — verify-off by default)

Both inputs are documented with the divergence noted explicitly.

## Out of scope

- No test framework in cueapi-action (action.yml + shell). YAML validates;
  the runtime path was inherited from the cli #55 changes which have
  219/219 tests passing including `test_fire_verify_*`.

Companion PRs:
- cueapi-cli #55 (--verify flag)
- cueapi-python #41 (auto_verify kwarg)
- cueapi-mcp #36 (auto_verify schema field on cueapi_fire_cue)
@mikemolinet mikemolinet merged commit 9c1defd into main May 12, 2026
@mikemolinet mikemolinet deleted the feat/forward-fire-verify-flag branch May 12, 2026 01:02
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