Add authoritative recording status indicator #85
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/local-recall!85
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "agent/issue-28-recording-indicator"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #28.
RAGE transaction starts from immutable main
b798ab94e2c3ccc51ba723ee7f8a36352dfea4c9.Result
Adds a daemon-authoritative, content-free recording indicator boundary with closed states for off, paused, recording, privacy, locked, overloaded, faulted, and unavailable. Recording is rendered only from a fresh successful daemon status response; disconnect/failure discards stale recording metadata.
Adds one-action stop/privacy controls that always re-query daemon authority, a directly consumable Qtile polling/action adapter, and a generic StatusNotifierItem presentation/action adapter. The UI does not own lifecycle, capture, policy, storage, provider, or transport authority. Issue #29 remains owner of authenticated
ipc://server transport.Privacy/security
Status metadata is bounded to validated operational backend/source identifiers and aware last-capture timestamps. Failure reasons, screenshot/OCR content, titles, command lines, provider payloads, storage paths, and arbitrary exception text do not enter indicator presentation. Structural security tests prohibit capture/storage/provider/policy/lifecycle/subprocess/socket/zmq authority in the indicator modules.
RAGE evidence
Acceptance audit found presentation views without concrete Qtile/StatusNotifier action adapters. Test-only commit
2447933e46b6f3053ebecec9e5d3459732b160eeproduced the intended RED in CI run 710: formatting, Ruff, ShellCheck, strict Pyright, and failure-propagation passed, then unit tests failed because the adapters were absent. Production commit90311a3e2eeb272f702f8b9e9ea7cc2cd6effa4dadded only the missing adapters.A later verification-only formatting defect was fixed without changing behavior.
Verification
Exact final head
06816cc6abf8d45d6683eb98aafcd4d55ad07f00passed CI run 717:./scripts/check: greenNo Nix inputs changed, so no additional Nix dependency gate was required.
See
docs/indicator.mdandrage/issue-28-recording-indicator.orgfor the design and evidence record.