Skip to content

Requirements Backlog

PCController Wiki Publisher edited this page Aug 9, 2026 · 3 revisions

Requirements Backlog

This is the canonical public map from normalized project requirements to GitHub issues. Closely related requests are grouped into one verifiable requirement; raw conversation text, machine-local paths, and private audit data are intentionally excluded.

  • Repository: atomicdeploy/PCController
  • Normalized requirements: 71
  • Open: 60
  • Closed with current evidence: 11
  • State policy: hardware, live-system, regression, partial-integration, and finalization work stays open until its own acceptance evidence exists.

3 open / 2 closed / 5 total

ID Issue State Requirement
fw-core-architecture #15 ✅ closed Reduce firmware entry point to modular, documented domain composition
mcu-eeprom-settings #16 ✅ closed Persist independent MCU settings with CRC, deferred writes, and page defaults
reset-safety-journal #17 🟡 open Complete graceful reset safety and reliable reset-cause journal telemetry
firmware-identity-layout-time #18 🟡 open Finalize compact build identity, time model, flash budget, and migration architecture
mcu-event-automation #87 🟡 open Persist compact board-owned event automations for offline-safe actions

4 open / 1 closed / 5 total

ID Issue State Requirement
board-pin-map-inputs #19 🟡 open Validate the complete board pin, shift-register, BT Audio, and reed mapping
measurement-sensors-i2c #20 🟡 open Deliver stable INA219 and dual-DS18B20 measurements with conflict-free I2C discovery
pwm-lighting-rgb-strip #21 🟡 open Complete PWM ownership, enclosure fade, status RGB, power light, and addressable strip behavior
displays-audio #22 🟡 open Finish smooth TM1637, optional LCD, buzzer, melody, and configurable cue behavior
cooperative-host-i2c-profile #23 ✅ closed Measure and implement the cooperative host-driven I2C/LCD profile

3 open / 0 closed / 3 total

ID Issue State Requirement
relay-motion-interlocks #24 🟡 open Verify relay mapping, break-before-make, side isolation, and safe stop behavior
motion-door-policy #25 🟡 open Apply a persisted four-mode motion-door safety policy to every command source
relay-user-controls-break-setting #26 🟡 open Expose R5-R8 behaviors and configurable break timing across all control surfaces

5 open / 0 closed / 5 total

ID Issue State Requirement
frontpanel-key-gestures #27 🟡 open Complete physical and remote key gestures with responsive hold acceleration
board-menu-hierarchy-settings #28 🟡 open Finish nested board menus, editors, save/discard, and persistent default-page behavior
first-run-board-synchronization #29 🟡 open Synchronize first-run setup, board initialization, and welcome melody
frontpanel-snapshot-remote-menus #30 🟡 open Mirror the live front panel and support remote keys plus PC-defined board menus
lcd-console-status-events #31 🟡 open Mirror console context to LCD and make Door the event-aware default page

4 open / 0 closed / 4 total

ID Issue State Requirement
rf-transport-learning-core #32 🟡 open Validate 433 MHz receive/transmit and end-to-end learned-record CRUD
rf-learning-sessions-capacity #33 🟡 open Add explicit RF learn sessions, unmapped defaults, and capacity for at least 20 records
rf-latency-gestures-guided #34 🟡 open Reduce RF action latency and verify click/hold/repeat behavior with guided capture
rf-metadata-format-reorder #35 🟡 open Provide consistent RF formatting, metadata, action search, and transactional reorder

2 open / 2 closed / 4 total

ID Issue State Requirement
protocol-native-uart #14 ✅ closed Replace Firmata with the native COBS/opcode UART protocol
protocol-command-event-coverage #36 🟡 open Complete native command coverage and immediate typed event delivery
protocol-frontpanel-menu-uptime #37 🟡 open Extend protocol schemas for live menus, front-panel snapshots, host state, and uptime
protocol-simulator-transport #38 ✅ closed Maintain deterministic native-protocol simulator and fragmented-transport tests

10 open / 0 closed / 10 total

ID Issue State Requirement
host-foundation-config-library #39 🟡 open Provide the Go host, Charm TUI foundation, separate hot-reloaded config, and reusable APIs
tui-pages-controls #40 🟡 open Build polished multipage TUI controls for board, settings, RF, programming, and automation
monitoring-format-history #41 🟡 open Improve monitoring presentation, adaptive units, subscriptions, graphs, and timeline
console-command-ux #42 🟡 open Finish console history, nested completion, command organization, and clean output
host-automation-hotkeys-os #43 🟡 open Complete macros, melodies, automations, hotkeys, notifications, and guarded OS actions
host-macro-recording-playback-sync #44 🟡 open Stream recorded macros into an MCU-timed queue with synchronized progress and safety
host-keyboard-bindings-output-state #45 🟡 open Add configurable keyboard motion/output bindings with authoritative live-state reconciliation
embedded-webui-native-experience #101 🟡 open Deliver the embedded responsive WebUI as a complete native-feeling controller client
privileged-service-tray-controller #116 🟡 open Run a privileged background service with a separate interactive tray controller
ui-surface-capability-parity #124 🟡 open Generate and enforce declared capability parity across TUI, WebUI, native GUI, CLI, and APIs

5 open / 0 closed / 5 total

ID Issue State Requirement
ipc-websocket-api-suite #46 🟡 open Provide unversioned living IPC, REST, JSON-RPC, WebSocket, and bridge APIs
network-bridge-discovery #47 🟡 open Bridge controller hosts over the network with mDNS/SSDP discovery
http-webhooks-socketio-messages #48 🟡 open Add bidirectional HTTP, webhooks, WebSocket client/server, Socket.IO, and actionable messages
remote-control-security #49 🟡 open Define security and policy gates for every remote and disruptive control path
network-artifact-import-export-sync #117 🟡 open Serve, fetch, import, export, and synchronize controller artifacts between hosts

3 open / 2 closed / 5 total

ID Issue State Requirement
stable-device-selection #50 ✅ closed Select the controller by stable identity, friendly name, COM name, or VID/PID
usb-reconnect-notifications #51 🟡 open Validate event-driven USB reconnect and opt-in DTR reset semantics
primary-serial-owner-ipc #52 🟡 open Enforce one serial owner and route secondary processes through IPC
controller-discovery-authority #53 ✅ closed Make controller-owned discovery authoritative and explain platform inventory drift
serial-lifecycle-contract #54 🟡 open Keep the serial protocol connected independently of telemetry subscriptions

5 open / 1 closed / 6 total

ID Issue State Requirement
uart-urclock-programming #55 ✅ closed Use UART Urboot/Urclock as the normal programming path and verify application return
preflash-backup-dedup-restore #56 🟡 open Require atomic flash/EEPROM backup, hash deduplication, and verified restore before writes
canonical-host-programming-entrypoint #57 🟡 open Route every build, upload, verify, backup, and recovery through the host tool
hex-patch-settings-export #58 🟡 open Finish guarded Intel HEX patching and separate live settings export from EEPROM parsing
graceful-host-snapshot #59 🟡 open Write an atomic diagnostic board snapshot on graceful host exit
urboot-custom-progress-backend #88 🟡 open Maintain a reproducible Urboot-Custom progress-hook patch and safe ISP install plan

6 open / 2 closed / 8 total

ID Issue State Requirement
arduino-go-dependencies #60 🟡 open Provision managed firmware and host toolchains plus globally discoverable UPX
project-import-structure #61 ✅ closed Preserve reusable project layers, merge LocalLib variants, and consolidate source/tool directories
native-virtual-board #62 ✅ closed Provide a desktop virtual board for fast native protocol and behavior tests
tooling-entrypoint-consolidation #63 🟡 open Unify build and programmer policy behind one command-plan implementation
canonical-host-artifact-packaging #64 🟡 open Produce one current source-identified controller artifact with verified packaging
latest-toolchain-update-automation #89 🟡 open Automate latest-compatible dependency updates with resolved-lock reproducibility
authorized-reusable-component-porting #118 🟡 open Directly port all applicable generalized components from authorized sibling applications
canonical-cross-language-contracts #125 🟡 open Generate protocol, settings, hardware, and capability definitions from canonical contracts

3 open / 1 closed / 4 total

ID Issue State Requirement
github-license-notices #65 ✅ closed Publish the complete repository with dual licensing and preserved third-party notices
canonical-documentation-guide #66 🟡 open Organize starter-friendly documentation with complete operational and architecture coverage
final-code-documentation-gate #67 🟡 open Run the final concise code-comment and missing-requirement audit after layouts freeze
requirements-backlog-publication #68 🟡 open Maintain a deduplicated public requirements map and true GitHub sub-issue hierarchy

7 open / 0 closed / 7 total

ID Issue State Requirement
hardware-frontpanel-audio #69 🟡 open Validate final-image buttons, menus, reset stability, and audio cues on hardware
hardware-door-bt-temperature #70 🟡 open Validate enclosure, BT Audio, and temperature-role transitions on hardware
hardware-pwm-displays-lighting #71 🟡 open Visually validate TM1637, PWM, enclosure fade, power/RGB, and D6 strip
hardware-relay-motion #72 🟡 open Load-test relay identification, motion directions, interlocks, and door policy safely
hardware-rf-handset #73 🟡 open Complete real-handset RF capture, mapping, gesture, removal, and transmit validation
hardware-lcd-usb-macro #74 🟡 open Validate optional LCD, USB lifecycle, and a harmless cancellable macro end to end
release-handoff #75 🟡 open Complete final release evidence, launch, operating handoff, and acceptance closure

Synchronization

Run the idempotent helper from the repository root:

node Tools/Audit/sync-github-requirements.mjs --apply

Without --apply, the helper performs a read-only plan and still validates catalog labels and epic identities.

Clone this wiki locally