Add a new plot/chart type to RING-5 (subclass BasePlot, emit engine-agnostic traces, register in PlotFactory, wire config UI, test). Use when the user asks to add or modify a visualization/chart/plot type.
Add a new data-transformation shaper to RING-5's pipeline (subclass Shaper, add a discriminated-union TypedDict config, register in ShaperFactory with a camelCase key, add the UI config). Use when the user wants a new transform/shaper/pipeline step.
Gate the ApplicationAPI facade contract — the single Web→Core entry point, its three sub-APIs, and the async parse/scan protocol. Use when verifying API usage, reviewing facade/service changes, or checking that the UI talks to core only through the facade.
Gate the RING-5 architecture — the 7 hard rules and the strict 3-layer dependency direction (Web → Core ← Parsing). Use before merging, after any structural/refactor change, or when asked to "check architecture", "run the arch gate", or verify layer boundaries.
Sweep code and docs for dead, duplicated, or stale paths/symbols and remove them — repoint drifted paths, delete docs for removed subsystems, and enforce canon-only docs (no "was X, now Y" history). Use when asked to clean up stale references, dead paths, doc debt, or legacy shims/aliases.
Write or debug RING-5's Streamlit UI tests — the no-browser AppTest/ui_logic/ui_unit layers and the Playwright browser e2e/visual suite (Page Object Model, data-testid selectors, and Streamlit-specific gotchas). Use for any UI test, Playwright, AppTest, screenshot, or flaky-UI-test task.
Gate the gem5 parsing/scanning subsystem for correctness — no data fabrication, async-only API, the StatType lifecycle invariant, Perl regex duplication, and worker-pool lifecycle. Use to verify parser/scanner/Perl/stat-type changes before merging (complements the parsing-and-variable-types build skill).
Improve RING-5's gem5 parsing/scanning — performance (Perl worker pool, pattern aggregation, async pools), robustness, and new strategies — without breaking the correctness invariants. Use when asked to speed up, harden, or extend the parser (for adding a stat type, use parsing-and-variable-types; to gate it, use parser-check).