name: streamdeck-lab
description: >
Iterate, evaluate, generate dynamic pages, and push context-aware layouts to Stream Deck.
triggers:
- streamdeck lab
- evaluate layout
- test streamdeck page
- promote layout
- generate streamdeck page
- push streamdeck layout
- mutate streamdeck page
provides:
- streamdeck-evaluation
- streamdeck-generation
- streamdeck-push
composes: [, task-monitor]
/streamdeck-lab
Iterate, evaluate, generate dynamic pages, and push context-aware layouts to Stream Deck.
Triggers
streamdeck lab
evaluate layout
test streamdeck page
promote layout
generate streamdeck page
push streamdeck layout
mutate streamdeck page
Usage
Static Evaluation
/streamdeck-lab evaluate --template sentinel_hud
/streamdeck-lab evaluate-all
/streamdeck-lab promote --template compliance_dashboard
Dynamic Page Generation (Chaotic Environments)
/streamdeck-lab generate --context sentinel_hud --events missile_warning,fuel_bingo
/streamdeck-lab mutate --template sentinel_hud --event threat_popup
/streamdeck-lab push --context sentinel_hud --events mode_a2a --page 10
/streamdeck-lab events --context sentinel_hud
What It Does
Evaluate (Static)
- Loads a page template from
config/page_templates/
- Evaluates against ground truth test cases in
ground_truth/contexts.json
- Scores on: workflow coverage (40%), icon appropriateness (20%), navigation (15%), layout density (15%), palette compliance (10%)
- Reports command wiring and information hierarchy presence
Generate (Dynamic)
- Takes a context identifier and list of active events
- Loads the base template for that context
- Applies event mutations (inject buttons, modify text, mode switch)
- Returns the mutated page layout with mutation log
- Supports MIL-STD-411F alert tiers: CRITICAL (flash), WARNING, ADVISORY
Push (Deploy)
- Generates a dynamic page (as above)
- Converts to ButtonDef objects
- Pushes to Stream Deck via
build_page socket command
- Auto-navigates to the page (unless --no-navigate)
Mutate (Single Event)
- Apply one event to an existing template
- Returns the mutated layout for inspection before pushing
Event Catalog
SENTINEL Events
| Event |
Alert Tier |
Description |
missile_warning |
CRITICAL |
Inbound missile — flash button, requires ACK |
fuel_bingo |
WARNING |
Fuel below bingo level |
comms_degraded |
ADVISORY |
Communications degraded |
threat_popup |
WARNING |
New hostile contact detected |
mode_a2a |
- |
Switch to air-to-air combat mode |
mode_a2g |
- |
Switch to air-to-ground mode |
mode_nav |
- |
Switch to navigation mode |
Compliance Events
| Event |
Alert Tier |
Description |
drift_detected |
WARNING |
Compliance drift detected |
cui_violation |
CRITICAL |
CUI marking violation |
F36 Plant Events
| Event |
Alert Tier |
Description |
test_failure |
WARNING |
Multiple test failures |
qa_hold |
CRITICAL |
QA hold — production line stop |
MIL-STD Information Hierarchy
Templates now encode information priority per MIL-STD-1472:
- PRIMARY (Row 1): Critical flight/safety data, scanned first
- SECONDARY (Row 2): Tactical awareness, weapons, subsystems
- TERTIARY (Row 3): Navigation, diagnostics, support
Dependencies
config/page_templates/ (page_memory)
config/icon_manifest.yaml (icon manifest)
streamdeck.widgets.nvis_base (NVIS palette constants)
streamdeck.utils.page_builder (build_page, push_page)
1---2name: streamdeck-lab3description: Iterate, evaluate, generate dynamic pages, and push context-aware layouts to Stream Deck.4---5
6---
7name: streamdeck-lab
8description: >
9 Iterate, evaluate, generate dynamic pages, and push context-aware layouts to Stream Deck.
10triggers:
11 - streamdeck lab
12 - evaluate layout
13 - test streamdeck page
14 - promote layout
15 - generate streamdeck page
16 - push streamdeck layout
17 - mutate streamdeck page
18provides:
19 - streamdeck-evaluation
20 - streamdeck-generation
21 - streamdeck-push
22composes: [, task-monitor]
23---
24
25# /streamdeck-lab
26
27Iterate, evaluate, generate dynamic pages, and push context-aware layouts to Stream Deck.
28
29## Triggers
30- `streamdeck lab`
31- `evaluate layout`
32- `test streamdeck page`
33- `promote layout`
34- `generate streamdeck page`
35- `push streamdeck layout`
36- `mutate streamdeck page`
37
38## Usage
39
40### Static Evaluation
41```
42/streamdeck-lab evaluate --template sentinel_hud
43/streamdeck-lab evaluate-all
44/streamdeck-lab promote --template compliance_dashboard
45```
46
47### Dynamic Page Generation (Chaotic Environments)
48```
49/streamdeck-lab generate --context sentinel_hud --events missile_warning,fuel_bingo
50/streamdeck-lab mutate --template sentinel_hud --event threat_popup
51/streamdeck-lab push --context sentinel_hud --events mode_a2a --page 10
52/streamdeck-lab events --context sentinel_hud
53```
54
55## What It Does
56
57### Evaluate (Static)
581. Loads a page template from `config/page_templates/`
592. Evaluates against ground truth test cases in `ground_truth/contexts.json`
603. Scores on: workflow coverage (40%), icon appropriateness (20%), navigation (15%), layout density (15%), palette compliance (10%)
614. Reports command wiring and information hierarchy presence
62
63### Generate (Dynamic)
641. Takes a context identifier and list of active events
652. Loads the base template for that context
663. Applies event mutations (inject buttons, modify text, mode switch)
674. Returns the mutated page layout with mutation log
685. Supports MIL-STD-411F alert tiers: CRITICAL (flash), WARNING, ADVISORY
69
70### Push (Deploy)
711. Generates a dynamic page (as above)
722. Converts to ButtonDef objects
733. Pushes to Stream Deck via `build_page` socket command
744. Auto-navigates to the page (unless --no-navigate)
75
76### Mutate (Single Event)
771. Apply one event to an existing template
782. Returns the mutated layout for inspection before pushing
79
80## Event Catalog
81
82### SENTINEL Events
83| Event | Alert Tier | Description |
84|-------|-----------|-------------|
85| `missile_warning` | CRITICAL | Inbound missile — flash button, requires ACK |
86| `fuel_bingo` | WARNING | Fuel below bingo level |
87| `comms_degraded` | ADVISORY | Communications degraded |
88| `threat_popup` | WARNING | New hostile contact detected |
89| `mode_a2a` | - | Switch to air-to-air combat mode |
90| `mode_a2g` | - | Switch to air-to-ground mode |
91| `mode_nav` | - | Switch to navigation mode |
92
93### Compliance Events
94| Event | Alert Tier | Description |
95|-------|-----------|-------------|
96| `drift_detected` | WARNING | Compliance drift detected |
97| `cui_violation` | CRITICAL | CUI marking violation |
98
99### F36 Plant Events
100| Event | Alert Tier | Description |
101|-------|-----------|-------------|
102| `test_failure` | WARNING | Multiple test failures |
103| `qa_hold` | CRITICAL | QA hold — production line stop |
104
105## MIL-STD Information Hierarchy
106Templates now encode information priority per MIL-STD-1472:
107- **PRIMARY** (Row 1): Critical flight/safety data, scanned first
108- **SECONDARY** (Row 2): Tactical awareness, weapons, subsystems
109- **TERTIARY** (Row 3): Navigation, diagnostics, support
110
111## Dependencies
112- `config/page_templates/` (page_memory)
113- `config/icon_manifest.yaml` (icon manifest)
114- `streamdeck.widgets.nvis_base` (NVIS palette constants)
115- `streamdeck.utils.page_builder` (build_page, push_page)