docs(demo): call it the Test Automation Diagram everywhere
The scripts said "flow chart" while the artifact the audience is following has a name. Telling a room to follow along on the flow chart and then handing them something titled Test Automation Diagram makes them hunt for the match. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
151cd574a9
commit
5fd5e6d729
@ -6,7 +6,7 @@
|
||||
# hermes_triage_demo.sh status # current incident/alert state, no changes
|
||||
# hermes_triage_demo.sh preflight # confirm the lab is ready to demo
|
||||
# hermes_triage_demo.sh reset # restore the demo to its pre-run state
|
||||
# hermes_triage_demo.sh monitor [code] # stream the flow chart stages live
|
||||
# hermes_triage_demo.sh monitor [code] # follow the Test Automation Diagram live
|
||||
#
|
||||
# FIRST RUN: copy hermes_triage_demo.env.example to hermes_triage_demo.env in
|
||||
# this directory and fill it in. That file is git-ignored precisely so it can
|
||||
@ -79,7 +79,8 @@ for line in sys.stdin:
|
||||
}
|
||||
|
||||
# `monitor` follows the fixture job; `monitor code` follows the code-proposal
|
||||
# job, which takes the source-proposal branch of the chart instead.
|
||||
# job, which takes the source-proposal branch of the Test Automation Diagram
|
||||
# instead. Both narrate the same diagram, stage for stage.
|
||||
cmd_monitor() {
|
||||
local which="${1:-fixture}"
|
||||
[ "$which" = "code" ] && export MONITOR_JOB="$CODE_JOB"
|
||||
|
||||
@ -2,9 +2,10 @@
|
||||
"""Narrate the triage flow live, showing every command it runs.
|
||||
|
||||
Run in a second terminal beside the demo. When a stage of
|
||||
`mermaid/TestAutomation.mmd` is reached this prints, in order:
|
||||
the Test Automation Diagram (`mermaid/TestAutomation.mmd`) is reached this
|
||||
prints, in order:
|
||||
|
||||
the stage banner, naming the chart subgraph
|
||||
the stage banner, naming the diagram subgraph
|
||||
the service UI to look at, if one changes at that stage
|
||||
each command, echoed before it runs, then its output
|
||||
|
||||
@ -14,9 +15,9 @@ reading the raw answer is the difference between a demonstration and an
|
||||
assertion.
|
||||
|
||||
Two honest limits. This reports at subgraph granularity, not per node: the
|
||||
chart draws the collector, response check, marker check and authorizer
|
||||
diagram draws the collector, response check, marker check and authorizer
|
||||
separately, and a refusal here names the gate rather than walking all twelve.
|
||||
And it follows one incident on one job, whereas the chart describes the whole
|
||||
And it follows one incident on one job, whereas the diagram describes the whole
|
||||
system.
|
||||
|
||||
Read-only. Every command below is a read; nothing here changes the cluster.
|
||||
@ -48,7 +49,7 @@ BOLD, DIM, GREEN, CYAN, YELLOW, RED, RESET = (
|
||||
"\033[1m", "\033[2m", "\033[32m", "\033[36m", "\033[33m", "\033[31m", "\033[0m"
|
||||
)
|
||||
|
||||
# stage key -> (chart subgraph, what it means, chart path, UI worth showing)
|
||||
# stage key -> (diagram subgraph, what it means, diagram path, UI worth showing)
|
||||
STAGES: dict[str, tuple[str, str, str, str]] = {
|
||||
"detect": (
|
||||
"Detect and gather",
|
||||
@ -135,7 +136,7 @@ def banner(key: str) -> None:
|
||||
subgraph, meaning, path, ui = STAGES[key]
|
||||
print(f"\n{GREEN}{'─' * 70}{RESET}")
|
||||
print(f"{GREEN}{BOLD} {stamp()} {subgraph}{RESET}{GREEN} — {meaning}{RESET}")
|
||||
print(f"{DIM} chart: {path}{RESET}")
|
||||
print(f"{DIM} diagram: {path}{RESET}")
|
||||
if ui:
|
||||
print(f"{YELLOW} look at: {ui}{RESET}")
|
||||
print(f"{GREEN}{'─' * 70}{RESET}")
|
||||
@ -331,7 +332,7 @@ def evidence_for(key: str, incident: str = "") -> None:
|
||||
f" fault - and reads 'healthy' above because Ariadne has just patched"
|
||||
f" it. That single field changing is the repair.{RESET}\n")
|
||||
if key == "outputs":
|
||||
print(f" {DIM}on the chart this is the 'records and artifacts' edge out of the"
|
||||
print(f" {DIM}on the diagram this is the 'records and artifacts' edge out of the"
|
||||
f" whole Ariadne response box, not out of one branch. Every path ends"
|
||||
f" here: an executed action, an escalation, or a pull request all record"
|
||||
f" the same audit events and metrics.{RESET}")
|
||||
@ -349,7 +350,7 @@ def evidence_for(key: str, incident: str = "") -> None:
|
||||
|
||||
|
||||
class Monitor:
|
||||
"""Track which flow-chart stage the current incident has reached."""
|
||||
"""Track which Test Automation Diagram stage the current incident has reached."""
|
||||
|
||||
def __init__(self) -> None:
|
||||
self.done: set[str] = set()
|
||||
@ -373,7 +374,7 @@ class Monitor:
|
||||
print(f"\n{BOLD}{YELLOW}══ incident {incident} ══{RESET}")
|
||||
|
||||
def checklist(self) -> None:
|
||||
print(f"\n{BOLD} flow chart progress{RESET}")
|
||||
print(f"\n{BOLD} Test Automation Diagram progress{RESET}")
|
||||
for key in ORDER:
|
||||
tick = f"{GREEN}✓{RESET}" if key in self.done else f"{DIM}·{RESET}"
|
||||
print(f" {tick} {key:<9} {STAGES[key][0]:<22} {DIM}{STAGES[key][2]}{RESET}")
|
||||
@ -381,7 +382,8 @@ class Monitor:
|
||||
|
||||
|
||||
def main() -> None:
|
||||
print(f"{BOLD}Hermes triage monitor — following mermaid/TestAutomation.mmd{RESET}")
|
||||
print(f"{BOLD}Hermes triage monitor — following the Test Automation Diagram"
|
||||
f" (mermaid/TestAutomation.mmd){RESET}")
|
||||
print(f"{DIM}Every command is echoed before it runs. Read-only. Ctrl-C to stop.{RESET}")
|
||||
print(f"{YELLOW}Jenkins: {JENKINS}/job/{JOB}/{RESET}")
|
||||
print(f"{YELLOW}Gitea: {GITEA}/bstein{RESET}")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user