M-3: Diagnostics banner queue — enqueued/dismissed/dismissBanner + copyStateDump (F-016) #111

Open
opened 2026-05-12 19:37:01 +00:00 by KofTwentyTwo · 0 comments
KofTwentyTwo commented 2026-05-12 19:37:01 +00:00 (Migrated from github.com)

Goal

Diagnostics banner queue: systemBannerEnqueued + systemBannerDismissed + dismissBanner. copyStateDump split into command (writes clipboard) + emitted banner event. Wraps HUDBannerCoordinator. Resolves F-016.

Scope

  • Events: systemBannerEnqueued(BannerSpec), systemBannerDismissed(BannerID)
  • Command: dismissBanner(bannerId:)
  • Command: copyStateDump writes clipboard, emits banner
  • Wrap HUDBannerCoordinator — no AppKit panel independent emit

Files

  • packages/JarvisAPI/Sources/JarvisAPI/Surfaces/Diagnostics+Adapter.swift
  • packages/HUD/Sources/HUD/HUDBannerCoordinator.swift

Acceptance

  • 2 events + 2 commands wired
  • Banner enqueue produces exactly ONE event (no AppKit independent emit)
  • copyStateDump writes clipboard + emits banner with confirmation text
  • F-016 closed (banner queue typed)

Test

Scenarios S-DIAG-004..006 (enqueue, dismiss, copyStateDump round-trip).

Parent epic

#7

Source

.planning/architecture/JARVIS-API-MIGRATION-PLAN.md §2.4 (M-3.3)
.planning/architecture/JARVIS-API-DESIGN-v0.2.md F-016

## Goal Diagnostics banner queue: systemBannerEnqueued + systemBannerDismissed + dismissBanner. copyStateDump split into command (writes clipboard) + emitted banner event. Wraps HUDBannerCoordinator. Resolves F-016. ## Scope - Events: `systemBannerEnqueued(BannerSpec)`, `systemBannerDismissed(BannerID)` - Command: `dismissBanner(bannerId:)` - Command: `copyStateDump` writes clipboard, emits banner - Wrap `HUDBannerCoordinator` — no AppKit panel independent emit ## Files - `packages/JarvisAPI/Sources/JarvisAPI/Surfaces/Diagnostics+Adapter.swift` - `packages/HUD/Sources/HUD/HUDBannerCoordinator.swift` ## Acceptance - [ ] 2 events + 2 commands wired - [ ] Banner enqueue produces exactly ONE event (no AppKit independent emit) - [ ] `copyStateDump` writes clipboard + emits banner with confirmation text - [ ] F-016 closed (banner queue typed) ## Test Scenarios `S-DIAG-004..006` (enqueue, dismiss, copyStateDump round-trip). ## Parent epic #7 ## Source `.planning/architecture/JARVIS-API-MIGRATION-PLAN.md` §2.4 (M-3.3) `.planning/architecture/JARVIS-API-DESIGN-v0.2.md` F-016
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/Jarvis#111