Skip to content

test(cli): self-diagnosing consent-down test (fix the red cell on main) - #112

Merged
hyperpolymath merged 4 commits into
mainfrom
arena/01a0edde-feedback-o-tron
Sep 29, 2026
Merged

hyperpolymath merged 4 commits into
mainfrom
arena/01a0edde-feedback-o-tron

Conversation

@arena-ai-coding-agent

Copy link
Copy Markdown
Contributor

main is currently red: all three Elixir cells fail on exactly one test, run/2 confirm gate a yes with the consent service down sends nothing and exits non-zero.

Why PR #111 was needed first: log archives live on results-receiver.actions.githubusercontent.com, which the sandbox cannot reach, so the failure could not be read the way a human would. That PR (already merged) re-emits the failing block as a check annotation.

The diagnosis from mix test exit code 2: that is not a plain assertion failure — it is the branch where an exception escapes the suite, and the only candidate here is the on_exit that restores the consent service's registered name. It is now best-effort and cannot raise. The assertions also name the values they compare, so if this still fails the next run says which of the two behaviours is wrong rather than only which test.

No behaviour changed; nothing but the test moved.

Arena Agent and others added 2 commits September 29, 2026 17:09
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
…n non-fatal

main is red on one cell, and the log archive is not reachable from anywhere
I can read, so the fix has to carry its own diagnosis.

`test run/2 confirm gate a yes with the consent service down sends nothing
and exits non-zero` was the single failure across all three cells. Exit
code 2 from `mix test` is not a plain assertion failure: it is the branch
where an exception escapes the suite, and the only way for that to happen
here is teardown. So the `on_exit` that puts the consent service's name
back is now best-effort and cannot raise — an exception there reports
against whichever test happens to be running, which is how one broken
test hides behind an innocent one.

The assertions now name both values they compare, in the message:

  * a wrong exit code means the refusal branch was never taken, which
    would mean the CLI minted a capability with the service down, i.e.
    the gate failed open;
  * an empty stderr means the branch was taken but said nothing, which
    would mean the refusal is invisible to the person it is refusing.

Two diagnostics worth having either way: if this still fails, the next
run says which of the two it is, instead of only naming the test.

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: c5d152c9-1902-4ab3-a54c-a173c7298f9f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

The floor is stated as "cowlib 2.20 does not compile on OTP 26", which was
a reading of a version constraint. It is now a measurement: on 2026-09-19
every OTP 26 cell in CI (Elixir 1.15, 1.16 and 1.17) failed with
`function parse/1 undefined`, while the same commit's OTP 27 cell passed
cleanly.

Both places that carry the rationale now carry the evidence — the README
where the floor is promised, and the CI matrix comment where it is
enforced and where someone will look when they wonder why the old Elixir
versions are gone.

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
@hyperpolymath
hyperpolymath merged commit 4ffe058 into main Sep 29, 2026
35 of 36 checks passed
@hyperpolymath
hyperpolymath deleted the arena/01a0edde-feedback-o-tron branch September 29, 2026 18:33
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