fix(ci): unbreak Hawk and match its documented advisory intent - #720
Conversation
Hawk died before linting: mcp_dashboard_tool_test.rs used serde_json Value inside a test-transport test without importing it, and Hawk builds that target while the ordinary gates do not. With that fixed it reports ~9k visibility findings, and its step hard failed on them even though the job header says Hawk is not a required check until the workspace is clean. The step now reports without gating. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c6fe3eb2d1
ℹ️ 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".
| # while the workspace carries ~9k visibility findings. Keep `-D | ||
| # warnings` so the report stays honest, and drop the gate until the | ||
| # backlog is burned down and this line can be removed. | ||
| continue-on-error: true |
There was a problem hiding this comment.
Keep Hawk execution failures visible
When the Hawk invocation fails for a reason other than the known visibility findings—for example, an all-feature target stops compiling or Hawk crashes—continue-on-error: true also turns that failure into a successful job, so CI can go green without producing the advisory report at all. The compile failure fixed by this same commit is exactly such a scenario. Make findings non-blocking without accepting every failure from the command, such as by avoiding promotion of warnings to an error exit or distinguishing Hawk's findings exit code.
AGENTS.md reference: AGENTS.md:L126-L128
Useful? React with 👍 / 👎.
…plan-reopened' into claude/fix-ci-hawk
The base landed the same test-transport gated import independently. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Updated to base head. The That is the whole remaining diff — 7 added lines in The reasoning is unchanged and still holds: with the build fixed, Hawk reports 9,032 visibility findings (7,069
|
9a526da
into
codex/tracedecay-total-redesign-plan-reopened
Two separate problems, one job
1. Hawk never got to lint. It died at compile:
mcp_dashboard_tool_test.rsusesserde_json::Valueinside a#[cfg(feature = "test-transport")]test but only importsjson. Hawk builds that target with--all-features; the ordinary gates do not — same rot class as the earliertest-transportbreakage, where a target nothing routinely builds is free to stop compiling. Fixed with a matching gated import, following the file's existing pattern.2. With that fixed, Hawk runs — and reports 9,032 findings. So the job would have gone on failing regardless of the import.
The job's own header already says what should happen here:
But the step ran
-D warningswith nocontinue-on-error, so it hard-failed and surfaced as a red check. The intent and the implementation disagreed; this makes them agree.-D warningsis deliberately kept so the report stays honest and the backlog stays visible. Only the gate is dropped, with a comment saying to remove that line once the backlog is burned down.What this does not do
It does not fix 9,032 visibility findings, and it is not an attempt to hide them. If you would rather Hawk stay gating, the alternative is a baseline file or a per-crate ratchet — say so and I will do that instead.
Verification
cargo +1.97.1 hawk check --target-dir target/hawk -D warningsnow completes and produces its report instead of failing to build.cargo check --tests --features test-transport --lockedis clean.🤖 Generated with Claude Code