Novolis Docs
novolis-governance / extraction-briefs/wave-9-wirefish-dogfood.md

Wave 9 — WireFish Avalonia dogfood

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)

AreaNovolis homeNotes
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 .pcap import/export
  • Display filters (Wireshark green bar); BPF only via WireFishOptions
  • Follow-stream, dissector plugins, statistics dialogs
  • Security scan panels (DevicePacketSecurityExtensions UI)

Dependencies

  • Novolis.Avalonia.ControlsNovolis.Avalonia.Layout
  • WireFishViewerNovolis.Transports.WireFish, Novolis.Messaging.Channels, Avalonia 12 + Fluent
  • Live capture requires Npcap (Windows) or libpcap

Done when

  • dotnet build / dotnet run --project apps/WireFishViewer from novolis-dogfooding
  • dotnet test for WireFishViewer.Tests and Novolis.Avalonia.Controls.Tests
  • App starts without Npcap (AllowNoCaptureDevices) with warning banner
  • Start/Stop capture, interface picker, packet list + detail + hex on selection

Related