You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 200b191
Browse filesBrowse the repository at this point in the historyBrowse files
fix(integration-platform): classify code-based checks statically on manual run (CS-715) (#3376)
* fix(integration-platform): classify code-based checks statically on manual run (CS-715)
The manual "run a check" endpoint decided whether a run was dynamic (held as an
'inconclusive' result for the self-heal agent, and hidden from the run history)
versus static (shown as failed/pass) by checking only whether an active
DynamicIntegration row existed for the provider slug.
Several providers ship a code-based manifest AND an active DynamicIntegration row
of the same slug for their extra DB-backed checks. A code manifest always wins in
the registry, so the check that actually runs is the code one and must be
classified statically. Keying `isDynamic` off the DB row alone marked those
code-check runs 'inconclusive', so their results were withheld from the manual
run while the scheduled and server-run paths (which guard on the code manifest)
kept showing them correctly.
Add a registry helper `isCodeManifest` and gate the manual-run `isDynamic` on it,
mirroring the scheduled/server-run paths: a provider with a code manifest is never
dynamic; only a provider with no code manifest is. Add unit tests covering the
bundled manifests, the mixed code+dynamic providers, and the dynamic-only case.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CRPjA4fQxdXuELyfTjYF8b
* fix(integration-platform): guard self-heal re-run classification for code-based checks (CS-715)
Extend the isCodeManifest guard from the manual run-check path to the self-heal
agent's re-run (rerunAndPersistCheck). A code-based provider that also has a
dynamic integration row of the same slug (github/vercel/aikido/rippling) was
re-held as 'inconclusive' on re-run — and since the agent cannot patch a code
check, it stayed hidden in a loop. It is now classified statically and its real
result is shown. Dynamic integrations are unaffected (isCodeManifest is false for
them, so the dynamic lookup runs exactly as before).
Tests:
- self-heal re-run reveals a code-based check as 'failed' (not re-held), even when
a dynamic row shares the slug.
- manual run-check treats a code-based provider as static under the same
condition; adds the isCodeManifest mock the controller spec now requires.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CRPjA4fQxdXuELyfTjYF8b
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments