Repository navigation
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: 69
- Open: 57
- Closed with current evidence: 12
- 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 |
9 open / 0 closed / 9 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 |
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 |
4 open / 3 closed / 7 total
| ID | Issue | State | Requirement |
|---|---|---|---|
arduino-go-dependencies |
#60 | β closed | 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 |
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 |
Run the idempotent helper from the repository root:
node Tools/Audit/sync-github-requirements.mjs --applyWithout --apply, the helper performs a read-only plan and still validates catalog labels and epic identities.
- π Getting started and operations
- πΊοΈ Repository and file map
- ποΈ Front panel and menus
- π§ Hardware initialization and tuning
- βοΈ Host configuration and integrations
- π§ Hosted front-panel menus
- π Portable WebUI
- π Protocol and network API
- π§© C library API
βοΈ Control-surface capability matrix
- ποΈ Build and packaging tool
- πΎ Firmware tool
- π₯οΈ Host Controller
- π§ͺ Virtual Board
- π¦ Dependency maintenance
- π‘οΈ Toolchain bootstrap and safe programming
- π§ Memory and feature tradeoffs
- π¦ CI/CD and releases
- π© Urboot-Custom reproducible fork
- π Audit and traceability tools
- β Project acceptance
- π Requirements backlog
- 𧬠Local-library variant comparison