Fix Mermaid stateDiagram parse errors in CI-STATE.md
Simplify transition labels to remove characters that break
stateDiagram-v2 parsing: '::' (conflicts with class-assignment
syntax), '()', "'", '\n', '—', and '/' in label text.

https://claude.ai/code/session_017MNchjRinRhX1v2M5gnr2v
change
commit d26dd57b1d2f69a8bcd7fffe6cff2f3062647cb2
author Claude <noreply@anthropic.com>
date
parent 44ca88e8
diff --git a/docs/CI-STATE.md b/docs/CI-STATE.md
index ad1db4a..27116b3 100644
--- a/docs/CI-STATE.md
+++ b/docs/CI-STATE.md
@@ -15,17 +15,17 @@ A run owns its jobs; jobs FK on `(run_id, job_id)` and cascade delete.
 
 ```mermaid
 stateDiagram-v2
-    [*] --> pending : Runs::create
+    [*] --> pending : Runs.create
 
-    pending  --> active     : GET /api/run/bootstrap (quire-ci fetches payload)
-    pending  --> superseded : Runs::create (same repo/ref) — supersede_existing
-    pending  --> failed     : reconcile_orphans\nfailure_kind='orphaned'
+    pending  --> active     : bootstrap endpoint
+    pending  --> superseded : supersede_existing
+    pending  --> failed     : reconcile_orphans
 
-    active   --> complete   : transition(Complete, None)
-    active   --> failed     : transition(Failed, 'pipeline-failure')
-    active   --> failed     : transition(Failed, 'process-crashed')
-    active   --> superseded : Runs::create (same repo/ref) — docker kill + supersede_existing
-    active   --> failed     : reconcile_orphans\nfailure_kind='orphaned'
+    active   --> complete   : transition Complete
+    active   --> failed     : pipeline-failure
+    active   --> failed     : process-crashed
+    active   --> superseded : supersede_existing
+    active   --> failed     : reconcile_orphans
 
     complete   --> [*]
     failed     --> [*]
@@ -103,16 +103,16 @@ Successful and superseded runs leave `failure_kind` NULL. The set is open — UI
 
 ```mermaid
 stateDiagram-v2
-    [*] --> complete : ingest JobFinished(outcome='complete')
-    [*] --> failed   : ingest JobFinished(outcome='failed')
+    [*] --> complete : JobFinished complete
+    [*] --> failed   : JobFinished failed
 
     complete --> [*]
     failed   --> [*]
 
-    pending --> [*] : no producer yet — see Gaps
-    active  --> [*] : no producer yet — see Gaps
-    skipped --> [*] : no producer yet — see Gaps
-    aborted --> [*] : no producer yet — see Gaps
+    pending --> [*] : no producer yet
+    active  --> [*] : no producer yet
+    skipped --> [*] : no producer yet
+    aborted --> [*] : no producer yet
 ```
 
 ### Transitions in code