Architecture Specification
Project Howitzer implements a pure "Blunt UI" architectural paradigm built with Qt 6 C++ for Apple Silicon. Every view and control is deterministic, testable, and free of uncontrolled network side-effects.
Core Component Map
├── QToolBar (navToolBar)
│ └── QActionGroup (actDirectFire, actArsenal, actBattery, actFiringRange, actMagazine, actSettings)
├── QStackedWidget (viewStack)
│ ├── [0] DirectFireView (QWidget)
│ │ ├── Top Bar (methodComboBox, urlLineEdit, pullButton)
│ │ └── QSplitter
│ │ ├── Request Tabs (Headers, Params, Auth, Body)
│ │ └── Response Inspector (statusBadge, latencyBadge, sizeBadge, bodyEdit, headersTable)
│ ├── [1] ArsenalView (QWidget)
│ │ ├── Prompts (systemPromptEdit, userPromptTemplateEdit)
│ │ ├── Variables Matrix (variablesTable, addVarBtn, removeVarBtn)
│ │ ├── Hyperparameters (tempSlider, topPSlider, maxTokensSpinBox, modelSelector)
│ │ └── Schema & Output (jsonSchemaToggle, testPromptBtn, tokenCountBadge, outputEdit)
│ ├── [2] BatteryView (QWidget)
│ │ ├── Pipeline Tree (stageTreeWidget with Stages 1..4 default)
│ │ ├── Stage Editor (nameEdit, urlEdit, payloadEdit, extractionRuleEdit)
│ │ ├── Execution Engine (executionModeComboBox, pullBatteryBtn)
│ │ └── Telemetry Console (batteryProgressBar, batteryLogView)
│ ├── [3] FiringRangeView (QWidget)
│ │ ├── Salvo Controls (unifiedPromptEdit, pullSalvoButton)
│ │ ├── 3-Column Splitter (Model A: Gemini, Model B: Local Qwen, Model C: Claude)
│ │ └── Diff & Arbiter Splitter (diffViewerTextEdit, arbiterToggle, arbiterSynthesisEdit)
│ └── [4] MagazineView (QWidget)
│ ├── Hardware Enclave Guard (enclaveStatusBadge, toggleEnclaveButton)
│ ├── Environment Selector (Prod, Staging, Local)
│ ├── Secret Vault Ledger (secretsTable with masked/unmasked toggle)
│ └── Shell Hook Generator (shellCommandDisplay, copyShellCommandButton)
├── QStatusBar (statusBar)
│ └── Permanent Labels (statusPermanentLabel, activeViewLabel, enclaveStatusIndicator)
├── SettingsDialog (QDialog)
│ └── Tabs (General, Network, Inference & Hardware, Shell Integration)
└── HowitzerSplashScreen (QWidget)
└── Monolithic boot sequence with diagnostic log lines and progress telemetry
The Sovereign Design Laws
1. The Blunt UI Mandate
Every button, tab, and slider must have complete UI wiring with zero "mockups that do nothing." Controls manipulate deterministic in-memory state models, guaranteeing high acuity and reliable testing.
2. Zero Telemetry Leaks
All operations run strictly on the local machine or deterministic user-configured endpoints. No silent analytics pings, no telemetry beacons, and no forced cloud accounts.
3. TDD Structural Verification
Every core view is validated with a dedicated CTest suite compiled against LLVM profile instrumentation, ensuring branch coverage exceeds 95% at all times.