novolis-governance / extraction-briefs/wave-9-wirefish-dogfood.md
Wave 9 — WireFish Avalonia dogfood
Policies that keep the org coherent
dotnetgovernancenovolis
Target repos: novolis-avalonia, novolis-transports, novolis-dogfooding
Source inspiration: WireShark layout (packet list, protocol tree, hex dump)
Acceptance app: novolis-dogfooding/apps/WireFishViewer
Scope (in)
| Area | Novolis home | Notes |
|---|---|---|
| Analyzer workspace layout | `Novolis.Avalonia.Layout` | `AnalyzerWorkspace`, `ToolbarRow`, `FilterBar`, `DetailTreeNode` |
| Hex dump, tree, packet table | `Novolis.Avalonia.Controls` | `HexDumpView`, `TreeDetailsView`, `PacketTableView` |
| Live capture UI | `novolis-dogfooding/apps/WireFishViewer` | Dogfoods `Novolis.Transports.WireFish` |
| Protocol tree + row formatting tests | `WireFishViewer.Tests` | TUnit |
Out of scope
- Offline
.pcapimport/export - Display filters (Wireshark green bar); BPF only via
WireFishOptions - Follow-stream, dissector plugins, statistics dialogs
- Security scan panels (
DevicePacketSecurityExtensionsUI)
Dependencies
Novolis.Avalonia.Controls→Novolis.Avalonia.LayoutWireFishViewer→Novolis.Transports.WireFish,Novolis.Messaging.Channels, Avalonia 12 + Fluent- Live capture requires Npcap (Windows) or libpcap
Done when
dotnet build/dotnet run --project apps/WireFishViewerfromnovolis-dogfoodingdotnet testforWireFishViewer.TestsandNovolis.Avalonia.Controls.Tests- App starts without Npcap (
AllowNoCaptureDevices) with warning banner - Start/Stop capture, interface picker, packet list + detail + hex on selection