fix(demo): keep the whole diagnosis on screen and explain a proposed remediation
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed

The diagnosis dump was clipped at 16 lines, which was already tight and now
truncates the stored outcome once a suggested remediation is present - the
audience would see the JSON cut off mid-object at exactly the moment the
interesting field appears.

Also says what that field means when it shows up, since a proposal is easy to
misread as something Ariadne is about to do. It is inert: no gate reads it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
jenkins 2026-08-06 21:21:16 -03:00
parent c73a79a243
commit df41cde9f8

View File

@ -271,7 +271,7 @@ def diagnosis_event() -> None:
"""Show the diagnosis Ariadne stored: what Hermes said, and the verdict."""
run(["kubectl", "-n", NS_ARIADNE, "exec", "deploy/ariadne", "-c", "ariadne", "--",
"sh", "-c", _DIAG_QUERY], limit=16)
"sh", "-c", _DIAG_QUERY], limit=26)
def evidence_for(key: str, incident: str = "") -> None:
@ -291,7 +291,9 @@ def evidence_for(key: str, incident: str = "") -> None:
f" and every tool call it made are visible:{RESET}")
diagnosis_event()
print(f" {DIM}Hermes holds no Git or Kubernetes write access; this JSON is its"
f" entire output{RESET}\n")
f" entire output. When outcome.suggested_remediation is populated, Hermes found"
f" no action that fits and is proposing one for a maintainer to build; it is"
f" recorded and printed in the issue, and no gate reads it{RESET}\n")
elif key == "gates":
print(f" {DIM}the authorization is a match between three separate things: an action"
f" Ariadne already has code to perform, an action id Hermes is permitted to"