Skip to content

Commit 8b85ece

Browse files
T-GroCopilot
andcommitted
Add workflow alias key above Labels table; encode rule in generator
The Labels table uses workflow aliases (ASM, LFF, LPM, LPSS, RA, RPS, ATP) in the 'Added by' / 'Removed by' / 'Read by' columns. These aliases ARE declared inside the mermaid diagrams as composite-state names (`state "labelops-pr-maintenance" as LPM`), but a reader jumping straight to the Labels section sees opaque tokens with no expansion. Gemini flagged this in the v5 review; missed at the time. Doc: - Add a one-line alias key above the Labels table mapping each alias to its full workflow filename. Generator: - Rule 44 amended: aliases reused in non-diagram sections (tables, prose, lookups) MUST carry their own inline alias key right above the first use. Declaration inside a mermaid block is invisible to a reader jumping to the Labels/Handover/Operational tables. Missing alias key in a non-diagram section using >=3 aliases = MAJOR. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 6d03772 commit 8b85ece

2 files changed

Lines changed: 3 additions & 0 deletions

File tree

.github/docs/state-machine.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,8 @@ stateDiagram-v2
560560

561561
All labels in one place — who adds, removes, or reads each. **Cross-workflow flows** (e.g., `AI-Issue-Regression-PR` from `repo-assist` → consumed by `regression-pr-shepherd`) are visible here.
562562

563+
**Workflow aliases used in this table** (matching the mermaid composite-state names): `ASM` = `agentic-state-machine`, `AWU` = `aw-auto-update`, `LFF` = `labelops-flake-fix`, `LPM` = `labelops-pr-maintenance`, `LPSS` = `labelops-pr-security-scan`, `RPS` = `regression-pr-shepherd`, `RA` = `repo-assist`, `ATP` = `add_to_project`.
564+
563565
| Label | Type | Added by | Removed by | Read by | Notes |
564566
|---|---|---|---|---|---|
565567
| `automation` | always-applied | ASM, LFF (PR), RA (issue) ||| via safe-output `labels:` |

.github/workflows/agentic-state-machine.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ You are a workflow-automation documentor. You read all workflow files in `.githu
303303
- **Acronyms** on first use (e.g., `CCA = Copilot Coding Agent`, `BSL = Baseline`, `CCS = Copilot Code Suggestion`, `LPM/LFF/LPSS/RPS/RA` if used as state-prefix conventions). Spell out on first use AND in the glossary.
304304
- **Project-specific taxonomies** (e.g., regression-pr-shepherd's `Cat A/B/C`, `B0–B4` subtypes; labelops's `has_ci/has_conflicts/ci_blocked`).
305305
- **Diagram convention key** — the actor-prefix emoji legend (⏰ schedule, 👤 human, ⚙️ workflow engine, 🤖 agent/bot) MUST appear as a legend block. Same for `<<choice>>` / `<<fork>>` / `<<join>>` if used.
306+
- **Workflow alias keys for non-diagram sections.** When mermaid composite-state aliases (e.g., `state "labelops-pr-maintenance" as LPM`) are reused in OTHER sections (tables, prose, lookups), the OTHER section MUST carry its own inline alias key right above the first use. Defining the alias only inside a diagram is invisible to a reader jumping straight to the Labels/Handover/Operational tables. Missing alias key in a non-diagram section that uses ≥3 aliases = MAJOR — a reader sees opaque tokens like "ASM, LFF, LPM" with no expansion.
306307
Place the glossary IMMEDIATELY after the title and intro paragraph, BEFORE the Overview table. A first-time reader rated 2/5 on a 5-point readability scale citing exactly these gaps. Missing glossary entry for a term used 3+ times = MAJOR. Missing emoji legend = MAJOR.
307308
308309
45. **Self-contained — never use source-file pointers as documentation.** Any phrase like `"(see file.md L100–110)"`, `"per source line N"`, `"refer to <file>"`, or `"as defined in <other-doc>"` in PLACE of actual content is a documentation failure. Inline the content. Citations `(src Lnn)` are permitted ONLY as provenance markers AFTER the documented content, never AS the content. Example:

0 commit comments

Comments
 (0)