Skip to content

Latest commit

 

History

History
735 lines (676 loc) · 115 KB

README.md

File metadata and controls

735 lines (676 loc) · 115 KB

docs/updates: update log index

Progress.md holds only work that is not done yet. Everything that was done (what changed, measured numbers, decisions, snapshots) is recorded here: one batch file per month, one entry per piece of work, each entry with a fixed-format ID and tags, and one row per entry in the index below.

No TODOs here. If an entry mentions something still open, it only points to it (e.g. "open item: Progress.md #3"); the item itself lives in Progress.md.

How to query

Run from the repository root:

To find Command
every entry, one line each rg -n "^## U-2" docs/updates
entries of one type rg -n "^## U-2.*#done" docs/updates
entries with a topic tag rg -n "^## U-2.*#<tag>" docs/updates
one day or one month rg -n "^## U-202609" docs/updates
the full text of one entry rg -n -A 60 "^## U-20260922-01" docs/updates
any keyword rg -n "keyword" docs/updates

Without rg: git grep -n "^## U-2" -- docs/updates, or in PowerShell Select-String -Path docs/updates/*.md -Pattern '^## U-2'.

Entry format

## U-YYYYMMDD-NN · YYYY-MM-DD · one-line title · #type #topic

- **What**: ...
- **Result / numbers**: ...
- **Files**: `path` ...
- **Evidence**: commit, file:line, link ...
- **Open items**: none / see `Progress.md` ...
  • ID: U- + date + two-digit sequence for that day. IDs are never renumbered or reused, so code comments and other documents can cite them.
  • Type tag (exactly one): #done finished Progress.md item, #snapshot measurement or inventory, #decision, #incident, #migration, #docs, #release.
  • Topic tags are free-form (#mcp, #wayland, ...).
  • Keep conclusions, numbers, files and evidence; drop the reasoning trail and dead ends.

Batch rules

  1. One file per month: docs/updates/YYYY-MM.md. Append new entries at the end.
  2. Over about 800 lines, continue in YYYY-MM-b.md (then -c) and list it in the batch table below.
  3. Claim the ID under a lock. Several sessions may write this log at the same time (for example parallel autonomous runs), and without a lock two of them pick the same number:
    1. mkdir docs/updates/.id-lock. Creating a directory is atomic, so only one writer succeeds. If it already exists, someone else is claiming: wait a few seconds and retry. A lock older than 10 minutes is stale and may be removed.
    2. Find the day's last number with rg -n "^## U-YYYYMMDD" docs/updates and write the heading line and the index row.
    3. rmdir docs/updates/.id-lock, then fill in the body. Git never tracks the empty lock directory.
    4. Before committing, rg -c "^## U-<your ID>" docs/updates must report one match in total. If not, renumber your entry under the lock and fix its index row. Whoever merges a branch renumbers entries that reuse an ID.
  4. One line per index row: title only (about 60 characters), no summary.
  5. Never rewrite a recorded entry. Correct it with a new #decision or #incident entry and add "→ corrected in U-..." to the old one.

When a Progress.md item is done

In the same commit: delete the item from Progress.md, add a #done entry here that names it, and add its index row.


Index (newest first)

ID Date Title Tags Batch
U-20261103-01 2026-11-03 Hold the collector off around the presence reader's timed windows #incident #agent #ci #test 2026-11
U-20261102-03 2026-11-02 Require Python 3.11; stop supporting 3.10 #migration #deps #ci 2026-11
U-20261102-02 2026-11-02 Clear the SonarCloud findings the 1.1.0 release PR reported #ci #test #quality 2026-11
U-20261102-01 2026-11-02 Merge the release line into dev for 1.1.0 #release #migration 2026-11
U-20261101-17 2026-11-01 Patch the dependencies named in Dependabot security alerts #bugfix #deps #security #ci 2026-11
U-20261101-16 2026-11-01 Accept either refusal when a revocation races the lease watch #incident #ci #test 2026-11
U-20261101-15 2026-11-01 Observe only the maintenance call's own writes in the receipt test #incident #ci #test 2026-11
U-20261101-14 2026-11-01 Carry the listener's pid namespace in the Linux endpoint #incident #ci #linux 2026-11
U-20261101-13 2026-11-01 Run the Linux presence chain over the owned Linux channel #snapshot #agent #presence #linux 2026-11
U-20261101-12 2026-11-01 Build the Android helper's protocol handler and app #snapshot #agent #android 2026-11
U-20261101-11 2026-11-01 Start the Android device-side helper with its fence ledger #snapshot #agent #android 2026-11
U-20261101-10 2026-11-01 Audit the role boundaries against injected page text #done #agent #security 2026-11
U-20261101-09 2026-11-01 Read the XInput opcode through the public Display API #incident #ci #x11 2026-11
U-20261101-08 2026-11-01 Hold a first action until fresh state is re-established #done #agent #recovery 2026-11
U-20261101-07 2026-11-01 Write the deployment and rollback plan for the agent runtime #docs #agent #deployment 2026-11
U-20261101-06 2026-11-01 Add macOS and X11 physical-activity sources #snapshot #agent #presence #macos #x11 2026-11
U-20261101-05 2026-11-01 Report each managed-task area's readiness passively #done #agent #diagnostics 2026-11
U-20261101-04 2026-11-01 Widen the presence reader test's safety gate #incident #agent #ci #test 2026-11
U-20261101-03 2026-11-01 Bind the HTTP servers without a reverse lookup #incident #ci #macos #server 2026-11
U-20261101-02 2026-11-01 Move every macOS square from macos-14 to macos-15 #decision #ci #macos 2026-11
U-20261101-01 2026-11-01 Give the shared managed-task helper twenty seconds #incident #agent #ci #test 2026-11
U-20261031-05 2026-10-31 Cap the transfer peer's remaining time at its bound #incident #agent #ci #windows 2026-10-f
U-20261031-04 2026-10-31 Wait for the service's maintenance pass in two ownership tests #incident #agent #ci #test 2026-10-f
U-20261031-03 2026-10-31 Cap the helper's retirement deadline; contain a failed fixture #incident #agent #ci #windows 2026-10-f
U-20261031-02 2026-10-31 Give the Dev CI squares a 120-minute limit #decision #ci #windows 2026-10-f
U-20261031-01 2026-10-31 One-transaction agent schema; a racing resolve is no escape #incident #agent #ci #windows 2026-10-f
U-20261030-41 2026-10-30 Test the poll fallback and the SIGCHLD reset #snapshot #agent #linux #test 2026-10-e
U-20261030-42 2026-10-30 Give each epoch private temporary roots, and accept the installed service on a WSL host #snapshot #agent #linux #test 2026-10-e
U-20261030-43 2026-10-30 Close the twenty-seventh review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-44 2026-10-30 Close the twenty-eighth review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-45 2026-10-30 Close the twenty-ninth review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-46 2026-10-30 Close the thirtieth review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-47 2026-10-30 Close the thirty-first review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-48 2026-10-30 Close the thirty-second review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-49 2026-10-30 Close the thirty-third review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-50 2026-10-30 Close the thirty-fourth review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-51 2026-10-30 Close the thirty-fifth review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-52 2026-10-30 Close the thirty-sixth review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-53 2026-10-30 Close the thirty-seventh review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-54 2026-10-30 Close the thirty-eighth review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-55 2026-10-30 Close the thirty-ninth review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-56 2026-10-30 Close the fortieth review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-57 2026-10-30 Close the forty-first review of the private epoch roots #snapshot #agent #linux #test 2026-10-e
U-20261030-58 2026-10-30 Record the WSL host requirements as a finding #decision #agent #linux 2026-10-e
U-20261030-40 2026-10-30 Reset SIGCHLD at guardian start, and fall back to the pid watch when a pidfd cannot be polled #snapshot #agent #linux #test 2026-10-e
U-20261030-39 2026-10-30 Close the twenty-fourth review's notes on the stall watch and the fault fixtures #snapshot #agent #linux #test 2026-10-e
U-20261030-38 2026-10-30 Test the purge's fault paths and stall watch, close the manifest load gaps, and split the long test file #snapshot #agent #linux #test 2026-10-e
U-20261030-37 2026-10-30 Record the clean review of the owner service #snapshot #agent #linux 2026-10-e
U-20261030-36 2026-10-30 Judge manifest roots by what they resolve to, and test the anchoring #snapshot #agent #linux 2026-10-e
U-20261030-35 2026-10-30 Anchor purge roots without the sticky exception, and recheck what they resolve to #snapshot #agent #linux 2026-10-e
U-20261030-34 2026-10-30 Anchor manifest purge roots, and keep the purge's trust verdict out of errno #snapshot #agent #linux 2026-10-e
U-20261030-33 2026-10-30 Run the purge again for roots that exist but cannot be opened, and keep Progress.md to open items #snapshot #agent #linux 2026-10-e
U-20261030-32 2026-10-30 Close the eighteenth review's notes on crash handlers, roots and line lengths #snapshot #agent #linux #security 2026-10-e
U-20261030-31 2026-10-30 Purge /var/crash by default, and warn about unknown core_pattern handlers #snapshot #agent #linux #security 2026-10-e
U-20261030-30 2026-10-30 Start helpers with no core dump, and keep purges completing without message queues #snapshot #agent #linux #security 2026-10-e
U-20261030-29 2026-10-30 Re-detach mounts placed during the purge walk, and purge message queues through a detached mqueue mount #snapshot #agent #linux #security 2026-10-e
U-20261030-28 2026-10-30 Open purge entries without crossing mounts, and let stalled purges back off #snapshot #agent #linux #security 2026-10-e
U-20261030-27 2026-10-30 Read mount IDs from fdinfo, and kill purge children that stop making progress #snapshot #agent #linux #security 2026-10-e
U-20261030-26 2026-10-30 Read mount IDs without asking the filesystem, so other users' FUSE mounts are detached #snapshot #agent #linux #security 2026-10-e
U-20261030-25 2026-10-30 Detach mounts by descriptor during the purge walk, and refuse payload btrfs subvolumes #snapshot #agent #linux #security 2026-10-e
U-20261030-24 2026-10-30 Test the purge's mount boundary, walk btrfs subvolumes, and check SipHash against the reference #snapshot #agent #linux #security 2026-10-e
U-20261030-23 2026-10-30 Key the purge's directory identity, stay on the root's mount, and refuse passed-in io_uring rings #snapshot #agent #linux #security 2026-10-e
U-20261030-22 2026-10-30 Know directories by file handle, skip ones met again, and refuse io_uring #snapshot #agent #linux #security 2026-10-e
U-20261030-21 2026-10-30 Read every quarantine pass from the start, stop purges only on churn, and refuse set-ID bits #snapshot #agent #linux #security 2026-10-e
U-20261030-20 2026-10-30 Recognise the quarantine by inode, rerun short purges, and retry starts from the main loop #snapshot #agent #linux #security 2026-10-e
U-20261030-19 2026-10-30 Quarantine stubborn leftovers, bound epoch-N, and route helpers to their own epoch #snapshot #agent #linux #security 2026-10-e
U-20261030-18 2026-10-30 Treat a revoke during a protected launch as cancellation, not an error #snapshot #agent #linux 2026-10-e
U-20261030-17 2026-10-30 Keep a stubborn leftover from stopping the owner service, and never wait on a purge #snapshot #agent #linux #security 2026-10-e
U-20261030-16 2026-10-30 Purge off the guardian's loop, four payload slices, and a remote helper under the owner service #snapshot #agent #linux 2026-10-e
U-20261030-15 2026-10-30 Fix the third review's owner-service findings #snapshot #agent #linux #security 2026-10-e
U-20261030-14 2026-10-30 Keep display helpers local and route only display-free helpers to the owner service #snapshot #agent #linux 2026-10-e
U-20261030-13 2026-10-30 Let a spent owner-service epoch retire beside the next one #snapshot #agent #linux 2026-10-e
U-20261030-12 2026-10-30 Run the package's native worker under the owner service #snapshot #agent #linux 2026-10-e
U-20261030-11 2026-10-30 Remove what payload IDs left behind before reusing them #snapshot #agent #linux #security 2026-10-e
U-20261030-10 2026-10-30 Cap the owner service's whole epoch and keep helper files private #snapshot #agent #linux #security 2026-10-e
U-20261030-09 2026-10-30 Give each owner-service helper its own account and bound child leases and connection floods #snapshot #agent #linux #security 2026-10-e
U-20261030-08 2026-10-30 Keep idle connections from holding the owner service's epoch #snapshot #agent #linux 2026-10-e
U-20261030-07 2026-10-30 Confine the owner service's identity calls with seccomp #snapshot #agent #linux #security 2026-10-e
U-20261030-06 2026-10-30 Bound the owner service's drain and prove the guardian reclaims a dead service #snapshot #agent #linux 2026-10-e
U-20261030-05 2026-10-30 Check every ancestor of the guardian's state and cgroup paths #snapshot #agent #linux #security 2026-10-e
U-20261030-04 2026-10-30 Replay a lost START's ticket and pin nested children to the parent's account #snapshot #agent #linux #security 2026-10-e
U-20261030-03 2026-10-30 Trust the owner-service binding and endpoint only from root #snapshot #agent #linux #security 2026-10-e
U-20261030-02 2026-10-30 Cap each account's share of owner-service connections #snapshot #agent #linux #security 2026-10-e
U-20261030-01 2026-10-30 Bound each owner-service helper's processes and memory #snapshot #agent #linux #security 2026-10-e
U-20261029-23 2026-10-29 Fix the owner service blockers from independent review #snapshot #agent #linux #security 2026-10-e
U-20261029-22 2026-10-29 Move the Linux owner service sources into the repository #snapshot #agent #linux #packaging 2026-10-e
U-20261029-21 2026-10-29 Cap each client's share of an epoch's lease positions #snapshot #agent #linux 2026-10-e
U-20261029-20 2026-10-29 Stress revocation racing protected launches #snapshot #agent #linux #verification 2026-10-e
U-20261029-19 2026-10-29 Verify sibling sessions and a nested helper under a protected parent #snapshot #agent #linux #verification 2026-10-e
U-20261029-18 2026-10-29 Run the protected owner-service acceptance in WSL #snapshot #agent #linux #verification 2026-10-e
U-20261029-17 2026-10-29 Let the guardian verify client namespaces and hand over connections #snapshot #agent #linux #verification 2026-10-e
U-20261029-16 2026-10-29 Report helper containment in runtime status #snapshot #agent #diagnostics 2026-10-e
U-20261029-15 2026-10-29 Signal a POSIX helper group only while its leader still holds the ID #snapshot #agent #reliability 2026-10-e
U-20261029-14 2026-10-29 Let nested helpers open child leases with their delivered grant #snapshot #agent #linux 2026-10-e
U-20261029-13 2026-10-29 Add the guardian process with refusal and recovery evidence #snapshot #agent #linux #verification 2026-10-e
U-20261029-12 2026-10-29 Add the guardian's durable epoch journal #snapshot #agent #linux #verification 2026-10-e
U-20261029-11 2026-10-29 Route the five helper consumers through one channel factory #snapshot #agent #linux 2026-10-e
U-20261029-10 2026-10-29 Add the Linux owner-service client and observe it end to end #snapshot #agent #linux #verification 2026-10-e
U-20261029-09 2026-10-29 Relay helper application traffic through worker-owned pipes #snapshot #agent #linux #verification 2026-10-e
U-20261029-08 2026-10-29 Let a channel close stop a waiting request and fence late replies #snapshot #agent #reliability 2026-10-e
U-20261029-07 2026-10-29 Deliver the nested capability through the worker bootstrap pipe #snapshot #agent #linux #verification 2026-10-e
U-20261029-06 2026-10-29 Answer the independent review of the native service issuer #snapshot #agent #linux #verification 2026-10-e
U-20261029-05 2026-10-29 Implement the isolated native service issuer with peer and lease evidence #snapshot #agent #linux #verification 2026-10-e
U-20261029-04 2026-10-29 Review isolated native ownership without enabling production #snapshot #agent #linux #verification 2026-10-e
U-20261029-02 2026-10-29 Verify lazy exports and refine source and documentation gates #snapshot #agent #startup #verification 2026-10-e
U-20261029-01 2026-10-29 Verify native owner fixtures and retain full-suite failures #snapshot #agent #linux #verification 2026-10-e
U-20261028-09 2026-10-28 Defer X11 resources until explicit desktop use #snapshot #agent #linux #startup #verification 2026-10-e
U-20261028-08 2026-10-28 Verify atomic Linux spawn attributes and private pipes #snapshot #agent #presence #linux #verification 2026-10-e
U-20261028-07 2026-10-28 Verify literal source links and missing export chunks #done #agent #transfer #verification 2026-10-e
U-20261028-06 2026-10-28 Verify Linux transport in the corrected full suite #snapshot #agent #presence #linux #verification 2026-10-e
U-20261028-05 2026-10-28 Own Linux packet lifetime and preserve uncertain cleanup #snapshot #agent #presence #linux #verification 2026-10-e
U-20261028-04 2026-10-28 Keep completed Linux peer regression out of pending work #decision #agent #verification 2026-10-e
U-20261028-03 2026-10-28 Verify Linux peer evidence in the complete fixed-source suite #snapshot #agent #presence #linux #verification 2026-10-e
U-20261028-02 2026-10-28 Retain Linux connected peer evidence without desktop authority #snapshot #agent #presence #linux #verification 2026-10-e
U-20261028-01 2026-10-28 Verify corrected import source and audit finite cross-host delivery #done #agent #handoff #verification 2026-10-e
U-20261027-16 2026-10-27 Reject changed destination output before import acceptance #done #agent #handoff #integrity #verification 2026-10-e
U-20261027-15 2026-10-27 Verify corrected Windows presence through the full configured suite #done #agent #presence #windows #verification 2026-10-d
U-20261027-14 2026-10-27 Preserve readiness scope and optional imports in shipped task packages #done #agent #scope #packaging #verification 2026-10-d
U-20261027-13 2026-10-27 Bind persistent Windows presence to runtime and standard input lifetimes #done #agent #presence #windows #ownership #verification 2026-10-d
U-20261027-12 2026-10-27 Fence input-helper presence readers with live bounded checks #done #agent #presence #windows #ownership #verification 2026-10-d
U-20261027-11 2026-10-27 Keep shared Windows presence independent of caller cancellation #done #agent #presence #windows #ownership #verification 2026-10-d
U-20261027-10 2026-10-27 Share an owned Windows presence source through private brokers #done #agent #presence #windows #ownership #verification 2026-10-d
U-20261027-09 2026-10-27 Bind native presence pipes and verify owned process retirement #snapshot #agent #presence #windows #ownership #verification 2026-10-d
U-20261027-08 2026-10-27 Add closed presence protocol and native security primitives #snapshot #agent #presence #windows #verification 2026-10-d
U-20261027-07 2026-10-27 Implement header-only Windows presence source #snapshot #agent #presence #windows #verification 2026-10-d
U-20261027-06 2026-10-27 Revalidate native input after owner acknowledgement #done #agent #input #ownership #verification 2026-10-d
U-20261027-05 2026-10-27 Verify evidence ownership and USB full regression #done #agent #persistence #usb #verification 2026-10-d
U-20261027-04 2026-10-27 Preserve USB Unicode diagnostics and define evidence rollback #snapshot #agent #usb #compatibility #verification 2026-10-d
U-20261027-03 2026-10-27 Bind task evidence cache to its owning database #snapshot #agent #persistence #verification 2026-10-d
U-20261027-02 2026-10-27 Align transfer guides with the verified shared surfaces #docs #agent #handoff #compatibility #verification 2026-10-d
U-20261027-01 2026-10-27 Verify cross-host outcomes and isolated browser helper #snapshot #agent #handoff #browser #verification 2026-10-d
U-20261026-07 2026-10-26 Bind source exports and routed consent to current host authority #snapshot #agent #handoff #authority #routing #verification 2026-10-c
U-20261026-06 2026-10-26 Separate authenticated source peer reads from local delegation #snapshot #agent #handoff #http #verification 2026-10-c
U-20261026-05 2026-10-26 Bind reviewed local artifact snapshots to current source authority #snapshot #agent #handoff #source #verification 2026-10-c
U-20261026-04 2026-10-26 Bind private transfer reservations and owned cleanup #snapshot #agent #handoff #storage #verification 2026-10-c
U-20261026-03 2026-10-26 Validate immutable cross-host transfer data models #snapshot #agent #handoff #verification 2026-10-c
U-20261026-02 2026-10-26 Define cross-host artifact and evidence handoff contracts #decision #agent #handoff #P8 2026-10-c
U-20261026-01 2026-10-26 Preserve original browser context for bounded completion #snapshot #agent #browser #recovery #verification 2026-10-c
U-20261023-07 2026-10-23 Persist scoped task triggers and atomically deduplicate submissions #done #agent #scheduling 2026-10-c
U-20261023-06 2026-10-23 Add reviewed receipts and owned task evidence retention #done #agent #persistence 2026-10-c
U-20261023-05 2026-10-23 Gate shared desktop acquisition and preserve cancellation budgets #done #agent #ownership 2026-10-c
U-20261023-04 2026-10-23 Add reviewable managed workflow templates and semantic read-back #done #agent #workflows 2026-10-c
U-20261023-03 2026-10-23 Isolate native agent calls and retire owned input before transfer #done #agent #runtime 2026-10-c
U-20261023-02 2026-10-23 Add experimental managed task core and service surfaces #done #agent #runtime 2026-10-c
U-20261023-01 2026-10-23 Share agent and executor command boundaries #done #agent #P0 2026-10-c
U-20261021-14 2026-10-21 Reject inconclusive live EI cleanup and inspect native evidence #done #ci #D2 2026-10-b
U-20261021-13 2026-10-21 Collect bounded native EI teardown evidence on dev #done #ci #D2 2026-10-b
U-20261021-12 2026-10-21 Run cancellable diagnostics through owned GUI tasks and scoped I/O #done #diagnostics #D1 #F3 2026-10-b
U-20261021-11 2026-10-21 Add owner-bound cooperative task infrastructure without retaining widgets #done #gui #workers #F3 2026-10-b
U-20261021-10 2026-10-21 Preserve explicit cancellation before later diagnostic checks #done #diagnostics #cancellation #D1 2026-10-b
U-20261021-09 2026-10-21 Stop implicit CLI fallback after native pointer region refusal #done #wayland #authority #D1 2026-10-b
U-20261021-08 2026-10-21 Expose passive input and capture capabilities across SDK, commands and Diagnostics #done #capabilities #wayland #D1 2026-10-b
U-20261021-07 2026-10-21 Keep Diagnostics idle until its explicit Actions command #done #diagnostics #gui #D1 2026-10-b
U-20261021-06 2026-10-21 Close abandoned screenshot requests and partial D-Bus connections within I/O budgets #done #wayland #portal #D1 2026-10-b
U-20261021-05 2026-10-21 Release disconnected clipboard viewers without cyclic Qt garbage collection #done #clipboard #qt-lifetime #F3 2026-10-b
U-20261021-04 2026-10-21 Preserve native diagnostic argv and handled interrupts before tracing the suite #done #ci #native-diagnostics 2026-10-b
U-20261021-03 2026-10-21 Retain CI child output and Linux native backtraces after crashes #done #ci #native-diagnostics #D3 2026-10-b
U-20261021-02 2026-10-21 Keep Wayland native permission and session refusals from selecting CLI #done #wayland #input #D1 2026-10-b
U-20261021-01 2026-10-21 Release retained Qt clipboard fixture tracebacks #done #validation-only #qt-lifetime 2026-10-b
U-20261020-12 2026-10-20 Bind explicit clipboard transfers to original connections and authority #done #remote-desktop #clipboard #C3 2026-10-b
U-20261020-11 2026-10-20 Retain folder pending and offline changes through explicit GUI reconnect #done #remote-desktop #folder-sync #C3 2026-10
U-20261020-10 2026-10-20 Confirm native folder delivery after remote atomic publication #done #remote-desktop #file-commit #C3 2026-10
U-20261020-09 2026-10-20 Bind native folder receipts to the originally received bytes #done #remote-desktop #folder-sync #C3 2026-10
U-20261020-08 2026-10-20 Observe original cancellation before Python Task normalization #done #validation-only #remote-desktop #python310 2026-10
U-20261020-07 2026-10-20 Retire native file receives with their original peer and channel #done #remote-desktop #file-receive #C3 2026-10
U-20261020-06 2026-10-20 Confirm cancellable file writes and preserve connection ownership #done #remote-desktop #folder-sync #C3 2026-10
U-20261020-05 2026-10-20 Preserve folder content and stopped-worker ownership #done #remote-desktop #folder-sync #C3 2026-10
U-20261020-04 2026-10-20 Verify native root revocation inside default temporary roots #done #config-sync #validation #ci 2026-10
U-20261020-03 2026-10-20 Load reviewed native profiles without activating engines #done #config-sync #native #C3 2026-10
U-20261020-02 2026-10-20 Release rejected authentication slots before terminal replies #done #remote-desktop #auth #ci 2026-10
U-20261020-01 2026-10-20 Add reviewed workspace Sync UI with explicit live GUI preferences #done #config-sync #gui #C3 2026-10
U-20261019-25 2026-10-19 Synchronize referenced assets with causal definitions and complete inert profiles #done #config-sync #assets #C3 2026-10
U-20261019-24 2026-10-19 Coordinate source workspaces with causal outboxes and prepared recovery baselines #done #config-sync #C3 2026-10
U-20261019-23 2026-10-19 Bridge saved native workspace preferences into inert causal profiles #done #config-sync #workspace #C3 2026-10
U-20261019-22 2026-10-19 Keep sync validation portable and typed for paths and numeric bounds #bugfix #config-sync #validation 2026-10
U-20261019-21 2026-10-19 Capture six causal source adapters and publish inert native profiles #done #config-sync #adapters #C3 2026-10
U-20261019-20 2026-10-19 Complete hash-verified local asset generations #done #config-sync #assets #C3 2026-10
U-20261019-19 2026-10-19 Durable peer controls and atomic local full-resync adoption #done #config-sync #C2 2026-10
U-20261019-18 2026-10-19 Deliver causal outboxes with exact HTTP retries and atomic snapshot receipts #done #config-sync #causal 2026-10
U-20261019-17 2026-10-19 Validate causal server transitions and retain deletion fences #done #config-sync #causal 2026-10
U-20261019-16 2026-10-19 Add causal review models and durable local sync queues #done #config-sync #causal 2026-10
U-20261019-15 2026-10-19 Persist config buckets with atomic revisions and durable operation receipts #done #config-sync #sqlite 2026-10
U-20261019-14 2026-10-19 Generate sealed observed-path script candidates from selected journal runs #done #journal #codegen 2026-10
U-20261019-13 2026-10-19 Review and verify template candidates before atomic acceptance or exact rollback #done #self-healing #templates 2026-10
U-20261019-12 2026-10-19 Trace healing records to their original journal steps #done #self-healing #journal 2026-10
U-20261019-11 2026-10-19 Keep progress focused on unfinished work and active exemptions #docs #progress 2026-10
U-20261019-10 2026-10-19 Verify explicit healing operations using fresh logical evidence #done #self-healing #verification 2026-10
U-20261019-09 2026-10-19 Share runtime healing frames and record unverified operation evidence #done #self-healing #capture 2026-10
U-20261019-08 2026-10-19 Compare locator versions on provided frames across execution surfaces #done #self-healing #gui 2026-10
U-20261019-07 2026-10-19 Preserve self-healing cancellation and mask audit secrets #bugfix #self-healing 2026-10
U-20261019-06 2026-10-19 Record explicit manual runs across API, CLI and GUI #done #history #journal 2026-10
U-20261019-05 2026-10-19 Browse journal snapshots and history links in Run History #done #journal #gui 2026-10
U-20261019-04 2026-10-19 Add observed journal runs and dedicated MCP operations #done #journal #mcp 2026-10
U-20261019-03 2026-10-19 Add scoped journal commands and shared safe inspection #done #journal #executor 2026-10
U-20261019-02 2026-10-19 Expose journal capture and bounded CLI inspection #done #journal #cli 2026-10
U-20261019-01 2026-10-19 Keep complete DAG node diagnostics inside their owner mask #incident #security #dag 2026-10
U-20261018-19 2026-10-18 Preserve interrupted execution through history, workers and recovery guards #done #executor #cancellation 2026-10
U-20261018-18 2026-10-18 Link explicit journals to existing run-history owners #done #journal #history 2026-10
U-20261018-17 2026-10-18 Release SQLite connections after failed history initialization #incident #history #storage 2026-10
U-20261018-16 2026-10-18 Retain callback-owner secret masks through final error logging #done #security #callbacks 2026-10
U-20261018-15 2026-10-18 Keep secret masking alive through outer errors and diagnostic writes #done #security #diagnostics 2026-10
U-20261018-14 2026-10-18 Isolate the legacy CLI dispatch boundary without changing flags #done #cli #refactor 2026-10
U-20261018-13 2026-10-18 Mask resolved vault values during executor application logging #done #security #logging 2026-10
U-20261018-12 2026-10-18 Capture executor action lifecycles with worker parent links #done #journal #executor 2026-10
U-20261018-11 2026-10-18 Preserve foreign files when recovering journal tails #incident #journal #storage 2026-10
U-20261018-10 2026-10-18 Build versioned, redacted and durable action-journal storage #done #journal #storage 2026-10
U-20261018-09 2026-10-18 Separate sensitive MCP reads from viewer observation #done #mcp #rbac 2026-10
U-20261018-08 2026-10-18 Present REST RBAC mode and preserve legacy gate compatibility #done #rest #rbac 2026-10
U-20261018-07 2026-10-18 Release factory-built GUI panels on explicit tab close #done #gui #lifecycle 2026-10
U-20261018-06 2026-10-18 Isolate CLI previews, planner runs and state-machine variables #done #executor #variables 2026-10
U-20261018-05 2026-10-18 Report refused MCP window-state operations as tool errors #done #mcp #window 2026-10
U-20261018-04 2026-10-18 Recheck platform wheel gaps without lowering security floors #snapshot #deps #platforms 2026-10
U-20261018-03 2026-10-18 Bind deferred work to its registrant and isolate callbacks #done #security #rbac 2026-10
U-20261018-02 2026-10-18 Repair Sphinx source markup and remove completed progress history #done #docs 2026-10
U-20261018-01 2026-10-18 GUI pages scroll and workspace preferences persist without qt-material #done #gui #F2 2026-10
U-20261022-01 2026-10-22 Keep dependency metadata aligned #bugfix #deps #ci 2026-10
U-20261009-43 2026-10-09 The seven SonarCloud issues left on main after U-20261009-42 #done #quality #sonar #security 2026-10
U-20261009-42 2026-10-09 SonarCloud and Codacy backlog on main: 2,344 and 8 findings worked through #done #quality #sonar #codacy 2026-10
U-20261009-41 2026-10-09 Release 1.0.0; the publish job releases a hand-set version as written #release #ci 2026-10
U-20261009-40 2026-10-09 A result hook reports nested command results; secret-named result fields are masked at any depth and offered once #done #executor #gui #security 2026-10
U-20261009-39 2026-10-09 REST and MCP resources follow the read_data rule; a Slack /stop no longer waits for the run it stops #done #security #rbac #mcp #chatops 2026-10
U-20261009-38 2026-10-09 Script Builder shows a freshly issued token once; command results are masked before they are logged #done #gui #security 2026-10
U-20261009-37 2026-10-09 Plug-in tools can declare themselves read-only; stored records need read_data; a chat /run can be stopped; joining a bucket commits nothing #done #mcp #rbac #chatops #sync 2026-10
U-20261009-36 2026-10-09 GUI: task callbacks held weakly, dispose() on every panel and tab with background work, per-thread UI Automation, 52 fewer typing exemptions #done #gui #accessibility #typing 2026-10
U-20261009-35 2026-10-09 Config sync: oversize blobs refused before upload, unused blobs collected, a deletion held for 30 days, the mirror sees same-tick edits #done #sync 2026-10
U-20261009-34 2026-10-09 A stop wakes the polling waits; MCP can stop and list runs; a USB ACL file that fails its check denies everything; per-thread context #done #executor #mcp #security #rbac 2026-10
U-20261009-33 2026-10-09 The three newer macOS probes are asserted; the Python 3.10 segfault item is closed #done #macos #ci 2026-10
U-20261009-32 2026-10-09 READMEs list every environment variable, Sphinx builds without warnings, typing is also checked against the real Qt types #done #docs #ci #typing 2026-10
U-20261009-31 2026-10-09 Journal artifacts and exact-match secret masking, a Robot structure check, a VLM strategy and verified heals, real capability probes #done #journal #self-healing #capabilities 2026-10
U-20261009-30 2026-10-09 Config sync: reused operation ids are refused, old calls are causal, back-off is its own state, assets over HTTP #done #sync #protocol 2026-10
U-20261009-29 2026-10-09 MCP sessions belong to their user, read-only holds in every tool mode, one signed USB ACL file, owner-only private keys on Windows #done #security #mcp #rbac #usb 2026-10
U-20261009-28 2026-10-09 GUI lifecycle: stops that join a thread, queued viewer input, dispose(), one restyle per theme switch #done #gui #remote-desktop 2026-10
U-20261009-27 2026-10-09 GUI commands run off the GUI thread and a running script can be stopped #done #gui #executor 2026-10
U-20261009-26 2026-10-09 Six offline-validated examples, a configuration reference, strict typing for every module added this month, end-to-end tests on fakes #done #docs #typing #examples #H1 #H2 #H3 2026-10
U-20261009-25 2026-10-09 The Python 3.10 headless segfault: a prompt dialog that was its own reference cycle #bugfix #gui #ci 2026-10
U-20261009-24 2026-10-09 Follow-ups: USB waits, run-level scopes, load-and-use in one list, layout key names, file splits, Sphinx #done #followups 2026-10
U-20261009-23 2026-10-09 RBAC: deferred work runs as its owner, users have a management surface, data tools need read_data #done #security #rbac 2026-10
U-20261009-22 2026-10-09 MCP sessions can start with five tools and enable what they need #done #mcp #G1 #G2 #G3 2026-10
U-20261009-21 2026-10-09 Wayland capability states, explicit authorisation, opt-in physical recording and an opt-in libei helper #wayland #D1 #D2 #D3 2026-10
U-20261009-20 2026-10-09 GUI: scrolling pages, remembered window state, drawn close buttons, start tabs built on first click, benchmarks #done #gui #F1 #F4 2026-10
U-20261009-19 2026-10-09 A cancellable GUI task controller; the WebRTC panel split into twelve modules #gui #F3 2026-10
U-20261009-18 2026-10-09 Each mobile device has its own session; gestures, frames, app lifecycle and every surface from one command table #mobile #E1 #E2 #E3 #E4 2026-10
U-20261009-17 2026-10-09 Config sync survives restarts, refuses stale writes and merges by causality #done #sync #protocol #C1 #C2 #C3 2026-10
U-20261009-16 2026-10-09 Self-healing locator versions are measured on the same labelled frames #done #self-healing #B2 2026-10
U-20261009-15 2026-10-09 Opt-in action journal, and candidate scripts built from one run #done #journal #codegen #B1 #B3 2026-10
U-20261009-14 2026-10-09 The package gate refuses unlisted packages by default #done #security #breaking 2026-10
U-20261009-13 2026-10-09 REST routes and MCP tools are authorised by role when a user store is configured #done #security #rbac #A10 2026-10
U-20261009-12 2026-10-09 Remote-desktop hosts and viewers have owners #done #remote-desktop #gui #C4 2026-10
U-20261009-11 2026-10-09 Anthropic agent history is append-only; long runs restart from a summary #agent #A9 2026-10
U-20261009-10 2026-10-09 USB passthrough replies are paired by an echoed request id #done #usb #protocol #A4 2026-10
U-20261009-09 2026-10-09 Opt-in roots for MCP file arguments; viewer keeps pushed files in its download directory #done #security #mcp #remote-desktop #A6 2026-10
U-20261009-08 2026-10-09 Ed25519 action signatures keep the signing key away from execution; cryptography floor 50 #done #security #signing #A5 #A11 2026-10
U-20261009-07 2026-10-09 Every top-level run gets its own variable scope #done #executor #A3 2026-10
U-20261009-06 2026-10-09 macOS: click count on mouse events, minimised windows listed and restorable #done #macos 2026-10
U-20261009-05 2026-10-09 Templates at any path and in grayscale; OCR keeps the left box; negative centres floor #done #image #ocr #A14 2026-10
U-20261009-04 2026-10-09 Windows: per-monitor DPI, every-monitor capture, honest focus and layout; macOS frame in points #done #windows #dpi #capture #A8 #A12 2026-10
U-20261009-03 2026-10-09 Keyboard and mouse wrappers type and scroll what was asked #done #input #A13 2026-10
U-20261009-02 2026-10-09 Typing contract passes on mypy 2.4; CI checks with 2.4.0 #done #typing 2026-10
U-20261009-01 2026-10-09 pytest plugin loads from a top-level module; start-up no longer imports the facade #done #packaging #pytest #A1 2026-10
U-20261008-02 2026-10-08 GUI: navigation panel with search, dark and light themes from tokens, tabs built on first open #feature #gui #F1 #F2 2026-10
U-20261008-01 2026-10-08 The legacy CLI flags exit 1 when an action failed; reports go below TestPioneer's artifact directory #feature #cli #report #testpioneer 2026-10
U-20261006-01 2026-10-06 Make AutoControl discoverable and safer for AI agents #feature #ai #mcp #docs 2026-10
U-20261001-10 2026-10-01 The publish jobs install hash-locked build tooling and build with the locked setuptools #release #ci #security #X-13 2026-10
U-20261001-09 2026-10-01 CI publishes je_auto_control_dev from the dev branch; dev.toml says what pyproject.toml says #release #ci #X-13 2026-10
U-20261001-08 2026-10-01 Package gate in front of AC_add_package_to_executor #security #X-12 2026-10
U-20261001-07 2026-10-01 write_secret / AC_write_secret: type a password without logging, recording or returning it #done #keyboard #security #webrunner 2026-10
U-20261001-06 2026-10-01 Windows OEM keys, browser_home, launch_app2 and key aliases; canonical reverse lookup #feature #input #contract 2026-10
U-20261001-05 2026-10-01 Drag pacing for tween_drag / drag_path; an aborted drag lets go where it stopped #feature #bugfix #input 2026-10
U-20261001-04 2026-10-01 click_mouse(clicks=, interval=): a double-click in one call #feature #input 2026-10
U-20261001-03 2026-10-01 Tesseract setup helpers: find the engine, set tessdata, report status and languages #feature #ocr #contract 2026-10
U-20261001-02 2026-10-01 Pin the AC commands WebRunner's native WR_ac_* send; record the missing secret typing #contract #webrunner 2026-10
U-20261001-01 2026-10-01 Run AC_web_run's documented form, record WebRunner failures, gate through execute_one #bugfix #webrunner 2026-10
U-20260926-41 2026-09-26 Pin ruff's rule set in pyproject.toml so a ruff upgrade does not change what CI enforces #ci #tooling 2026-09-e
U-20260926-40 2026-09-26 Give French its CLDR ordinals, match a locale by language and fall back to Babel instead of English, compare =N selectors as numbers, and reject the patterns ICU rejects #bugfix #i18n 2026-09-e
U-20260926-39 2026-09-26 Count a yearly BYDAY ordinal within the year alongside BYMONTHDAY, keep DTSTART's microseconds, let count/until narrow a rule, apply DAILY BYSETPOS, end a series by its gap instead of a fixed 400 years, and refuse the rule parts RFC 5545 forbids #bugfix #scheduling 2026-09-e
U-20260926-38 2026-09-26 Encode a bytes attribute as OTLP bytesValue instead of its Python repr, and recognise problem+json only as the Content-Type media type #bugfix #observability #http 2026-09-e
U-20260926-37 2026-09-26 Leave untranslated entries out of a compiled .mo, as msgfmt does, so gettext readers fall back to the msgid instead of showing an empty string #bugfix #i18n 2026-09-e
U-20260926-36 2026-09-26 Validate a multipart boundary, refuse or redraw one a part contains so a field value cannot inject a part, and read only the boundary parameter #bugfix #security #http 2026-09-e
U-20260926-35 2026-09-26 Buffer an unterminated SSE line in pieces instead of re-splitting the whole buffer on every chunk #bugfix #performance #http 2026-09-e
U-20260926-34 2026-09-26 Keep a .env value that starts with #, keep the trailing whitespace of a multi-line value's lines, parse an unclosed quote in linear time, skip a BOM, and refuse to dump a key the parser cannot read back #bugfix #config 2026-09-d
U-20260926-33 2026-09-26 Keep a tracestate value's leading spaces, discard members that break its grammar instead of writing them back out, parse tracestate in linear time, and validate a hand-built trace context before formatting it #bugfix #security #observability 2026-09-d
U-20260926-32 2026-09-26 Parse Link headers with the RFC 8288 Appendix B algorithm, so a < in an unquoted parameter no longer swallows the next link #bugfix #http 2026-09-d
U-20260926-31 2026-09-26 Read cookie Expires with the RFC 6265 date algorithm, let the last valid Max-Age or Expires decide, take Max-Age as ASCII digits only, and ignore a Set-Cookie with a control character #bugfix #security #http 2026-09-d
U-20260926-30 2026-09-26 Resolve an encoded ../ in URL canonicalisation, never turn a //path into a host, normalise the query before sorting it, and keep an empty ? or # #bugfix #security #url 2026-09-d
U-20260926-29 2026-09-26 Count the Age header in HTTP cache freshness, keep the first of duplicate Cache-Control directives, and answer is_not_modified for any status #bugfix #http 2026-09-d
U-20260926-28 2026-09-26 Refuse an empty or non-string JWT key, refuse a token whose aud the policy does not name, and keep non-JSON claims inside JwtError #bugfix #security #jwt 2026-09-d
U-20260926-27 2026-09-26 Clear Codacy's three remaining findings on PR #490: two fake backends with narrower signatures than their base, and a test importing xml #ci #test 2026-09-d
U-20260926-26 2026-09-26 Decode a JSONPath surrogate pair written as two escapes into one character, and refuse the strings and indices RFC 9535 forbids #bugfix #jsonpath 2026-09-d
U-20260926-25 2026-09-26 Match JSON Schema patterns as ECMA-262 does, so ^\d+$ no longer accepts "123\n" or Arabic-Indic digits, and answer multipleOf past float range instead of raising OverflowError #bugfix #json-schema #security 2026-09-d
U-20260926-24 2026-09-26 Skip the tabs-menu leak test where qt_material is not installed, and catch the next main-window import that forgets to #ci #test 2026-09-d
U-20260926-23 2026-09-26 Call the VLM off the GUI thread, and show each engine's own running state in the Hotkeys, Scheduler and Triggers tabs, including after Tools > Start #bugfix #gui 2026-09-d
U-20260926-22 2026-09-26 The USB tabs enumerate devices off the GUI thread and only once shown, and share the hotplug watcher by count; email Poll now and Admin broadcast run off the GUI thread; one CallWorker replaces two copies #bugfix #gui #usb 2026-09-d
U-20260926-21 2026-09-26 Auto-click refuses a 0 ms interval; Actions-menu slots show framework and decode errors instead of leaking them; a recording that did not start is reported; template crops write into non-ASCII folders; the live HUD no longer logs its own sampling; rebuilding the View > Tabs menu no longer leaks menus and actions #bugfix #gui #audit 2026-09-d
U-20260926-20 2026-09-26 Every MCP tools/call is answered whatever the tool raises; plain HTTP POSTs answer in their body on a concurrent server; ac_egress_reset and ac_approve_artifact need confirmation; an unwritable audit log no longer fails a tool that ran; the JSON document tools take root arrays; malformed JSON-RPC envelopes are -32600 and an id of null is a request #bugfix #security #mcp #audit 2026-09-d
U-20260926-19 2026-09-26 The WebRTC host, transport and Opus track take the running event loop with asyncio.get_running_loop() instead of the deprecated-outside-a-loop get_event_loop() #maintenance #remote-desktop #python 2026-09-d
U-20260926-18 2026-09-26 test_field_entry_batch pins sys.platform, so macOS runners check the default clear plan instead of failing on the Backspace key U-20260926-12 gave macOS #tests #ci #macos 2026-09-d
U-20260926-17 2026-09-26 AC_rate_limit takes a changed rate for a reused name; the app-idle wait keeps its deadline; retry jitter and caps are validated; asset types refuse values they cannot hold; memory stores can be read while written; hand-written skills keep their tags and self-calling skills are bounded; blank locators are refused; the MCP saga reports rollback errors #bugfix #audit #infra 2026-09-d
U-20260926-16 2026-09-26 The headless suite records any input that reaches the real mouse or keyboard backend and fails that test; the recorder replay test no longer moves the real cursor #tests #safety 2026-09-d
U-20260926-15 2026-09-26 Sub-pixel and scale matching take 16-bit and float images and centre on the right pixel; one unscorable scale no longer aborts a sweep; rbac saves before it changes and hands out frozen copies; failure bundles mask secrets in nested mappings, tuples and reprs; malformed rubrics are refused; an aborted drag releases where it stopped and a click without a point clicks in place #bugfix #security #audit #vision 2026-09-d
U-20260926-14 2026-09-26 The offscreen screen-probe tests pin sys.platform, so macOS runners check the scaled case as other platforms do instead of failing it #tests #ci #macos 2026-09-d
U-20260926-13 2026-09-26 Repair commands without a db share one store per process; approval artifacts store numbers and lists as JSON; two quarantine stores on one file keep each other's names; renewal intervals must be positive and renewals never overlap; NumPy bboxes work in force mode; failing plugin imports are reported; timelines refuse NaN and negative durations #bugfix #audit #infra 2026-09-d
U-20260926-12 2026-09-26 AC_grid_cell reads locate_all_image's [left, top, right, bottom] boxes with box_format="ltrb"; macOS field clearing uses Backspace; dataset diffs refuse a missing key column and agree cell by cell; runs given as one name and pairs that never failed together no longer cluster; unknown critic effects, bad TOTP times and negative windows are refused; deep_merge shares nothing with its inputs #bugfix #audit #data 2026-09-d
U-20260926-11 2026-09-26 Every executor adapter and flow command reads on / off flags by their spelling through one as_bool, so "false" means off (it turned on ignore_case, pasted over the clipboard, and re-raised) #bugfix #executor 2026-09-d
U-20260926-10 2026-09-26 Element geometry is read in any shape and equal zero-area boxes match; interactive roles are known in UIA, AT-SPI, macOS AX and ARIA spelling and Tab skips disabled controls; quality and motion are measured on 8-bit frames; minimized windows have no client point; a NaN focus wait is refused #bugfix #audit #accessibility #vision 2026-09-d
U-20260926-09 2026-09-26 Region captures on macOS stay in points on Retina (scale_down=True), so colour blobs and other region results line up with the mouse; the matchers' grab_logical gap is recorded as BLOCKED #bugfix #macos #vision 2026-09-d
U-20260926-08 2026-09-26 json_contract checks NaN with math.isnan instead of a self-comparison, which SonarCloud read as a constant-false condition and failed PR #490's reliability gate on #quality #sonar 2026-09-d
U-20260926-07 2026-09-26 Drift tests refuse NaN; profiles keep mixed, huge and bool columns honest so inferred schemas accept their rows; short and 16-bit lines are found; 16-bit screenshots annotate in tone; runs killed mid-flight no longer hide history from test selection, sharding and flakiness; 0 s steps can regress; mining and baggage refuse empty inputs #bugfix #audit #data 2026-09-d
U-20260926-06 2026-09-26 Region captures reach every monitor on Windows (colour, HSV, histogram, SSIM, contrast, preprocess, colour waits, QR, colour stats, VLM, MCP screenshot) and colour blobs found in a region are in screen coordinates; AC_wait_actionable samples stability where the match is #bugfix #multi-monitor #vision 2026-09-d
U-20260926-05 2026-09-26 Script Builder region hints name the convention each command reads: [x, y, width, height] for the 27 that capture through grab_logical, [left, top, right, bottom] for AC_region_contrast, AC_read_qr and AC_region_color_stats #bugfix #gui #script-builder 2026-09-d
U-20260926-04 2026-09-26 Nested action lists run on the executor running them; dark-theme widgets classify; ß collates as ss; checksums take whole floats and any length; the IME wait keeps its deadline; TF-IDF keeps common terms and CJK words are searchable; unique ccorr matches are trusted; OCR text satisfies postconditions; reading flow takes every element shape #bugfix #audit 2026-09-d
U-20260926-03 2026-09-26 AC_resolve_ref / ac_resolve_ref no longer return secret:// values into executor records and MCP results; colour matches are in screen coordinates and ignore blank backgrounds; mark labels stay beside their marks; JSON snapshots match their own payload; config schemas reject null, containers and typo'd types #security #bugfix #audit 2026-09-d
U-20260926-02 2026-09-26 One reader for element geometry in every shape (set-of-marks dropped OCR boxes, consensus put accessibility elements at (0, 0)), finite consensus points, columns left of x = 0, ${var} sleeps in the recording editors, wrapped files in the flow debugger, and a framework name as a string #bugfix #audit #vision 2026-09-d
U-20260926-01 2026-09-26 Perceptual diff keeps an empty image in the executor and fails a zero budget on one pixel, text regions answer in screen coordinates, match_rotated_all finds every copy, actionability reads falsy probes and NumPy tokens, the generated project's example validates, and grid fill counts a spanning box once #bugfix #audit #vision 2026-09-d
U-20260925-55 2026-09-25 Semantic replay no longer moves clicks to the wrong control, a failed heal is a failed step, OpenCV errors from video regions and odd images stay in the executor, 16-bit scans are not blackened, the HTML report is linear, and D-Bus unescapes addresses and rejects values it cannot marshal #bugfix #audit #recording #vision 2026-09-d
U-20260925-52 2026-09-25 Screen-coordinate conversions no longer scale by the device pixel ratio on macOS, where captures and the pointer take points; and measured: importing the package makes a Windows process system-DPI-aware #bugfix #hidpi #macos 2026-09-d
U-20260925-51 2026-09-25 Python 3.15 readiness: Windows console output is decoded in its code page under the default UTF-8 mode, and the SBOM skips distributions that have no metadata #bugfix #compat 2026-09-d
U-20260925-50 2026-09-25 Host annotations are drawn where the viewer drew them: the hosts stamp each event with the frame's screen origin, and the overlay moves to that screen and converts native pixels to its logical ones #bugfix #remote-desktop #hidpi 2026-09-d
U-20260925-49 2026-09-25 Remote desktop input lands where the viewer clicked: both hosts dispatch viewer coordinates relative to the captured frame's origin, and the legacy host broadcasts its cursor in frame coordinates #bugfix #remote-desktop #multi-monitor 2026-09-d
U-20260925-48 2026-09-25 MCP 2026-07-28 subscriptions/listen over stdio and HTTP: an acknowledgement of what the server will send, notifications tagged with the subscription id, cancellation by notifications/cancelled or a closed stream, and a completion answer when the server ends it; the 2026-07-28 Progress item is done #done #mcp 2026-09-d
U-20260925-47 2026-09-25 The MCP server's subscription handlers move from server.py into _subscriptions.py, before subscriptions/listen joins them; no behaviour change #refactor #mcp 2026-09-d
U-20260925-46 2026-09-25 MCP 2026-07-28 over Streamable HTTP: a stateless POST mirrors its body into MCP-Protocol-Version, Mcp-Method and Mcp-Name, a disagreeing header is 400 HeaderMismatch, version and metadata errors are 400 and unknown methods 404, and no session is kept #feature #mcp 2026-09-d
U-20260925-45 2026-09-25 The Flow Editor reads and writes action files through the Script Builder's helpers: files with a BOM open, wrapped files keep their other keys, and saves are atomic #bugfix #gui 2026-09-d
U-20260925-44 2026-09-25 The region selector answers in native pixels on every screen: one overlay per screen, where a single overlay offset every region by the virtual desktop's origin and left scaled screens uncovered and in logical pixels #bugfix #gui #hidpi 2026-09-d
U-20260925-42 2026-09-25 Every numeric line edit validates in the C locale through one helper: under French or German the Image Detect threshold could not be changed, and a grouped integer passed the validator but not int() #bugfix #gui #i18n 2026-09-d
U-20260925-41 2026-09-25 Script Builder: shown defaults match the executor (an edit no longer loosened an exact image match), required fields are required, positional arguments and wrapped files survive load and save, decimals can be typed under comma locales, odd RGB values load, and a new loop takes children #bugfix #gui #script-builder 2026-09-d
U-20260925-40 2026-09-25 The MCP server speaks the stateless 2026-07-28 over stdio, per request beside the initialize-based revisions: server/discover, resultType and caching hints, the reserved error codes, per-request capabilities and log levels, and destructive-tool confirmation as a signed multi round-trip #feature #mcp 2026-09-d
U-20260925-39 2026-09-25 WebRTC panels and Quick Connect sessions: remote annotations are checked and bounded, the tray keeps the app alive only while hosting, a host stopped under the approval dialog or the stats thread is not an error, imports survive files of the wrong shape, Stop cancels a pending reconnect, a new window keeps the pen, empty recordings are not called saved, and Quick Connect treats ws:// sessions, errors and approval timeouts properly #bugfix #remote-desktop #gui 2026-09-d
U-20260925-38 2026-09-25 Codacy's gate on PR #489 had seven findings: subprocess rules on building a CompletedProcess or TimeoutExpired, a taskkill call reported one line below its marker, exec in a codegen test, a stdlib xml import that the test needs, and an unassigned QApplication #ci #codacy 2026-09-d
U-20260925-37 2026-09-25 Remote desktop panels: Quick Connect verifies wss:// and forwards input, closing a session window no longer aborts the process, connect slots report every error, audio follows its box with the section collapsed, the share text quotes the running host, signaling and the USB browser go through http_client #bugfix #remote-desktop #gui #security 2026-09-d
U-20260925-36 2026-09-25 A sweep of less-visited utils subpackages: three locators answer in screen coordinates, the voice router is thread-safe, failure signatures ignore unit-glued numbers, delta counts match their summary, no home directory is survivable, infinite samples and clipped checkboxes, dominant contrast colours, opaque URL schemes #bugfix #vision #audit 2026-09-d
U-20260925-35 2026-09-25 SonarCloud's reliability gate failed on the OpenAI backend's first-choice read; it now takes the choice without indexing #ci #agent 2026-09-d
U-20260925-34 2026-09-25 Window and OS helpers at their edges: file dialogs need the exact title and the front before typing, watchdog keys go to the popup, psutil and regex errors are framework errors, empty needles are refused, file drops use absolute paths, the Window Manager acts on the selected window; input paths Jeffrey_RPA runs are recorded, not changed #bugfix #windows #gui 2026-09-d
U-20260925-33 2026-09-25 Integration helpers at their edges: secrets nested in arguments are masked, credentials stay behind on redirects, assert_http and config sync go through http_client, Office / S3 / SQLite errors stay in the framework family, the IMAP trigger fires once per message and names any mailbox, cassettes keep no credentials #bugfix #security #integration 2026-09-d
U-20260925-32 2026-09-25 Two new audit tests failed CI: the window probe needs qt_material, which the headless jobs lack, and 3.14 on Linux and macOS parses JSON nested 50,000 deep #testing #ci 2026-09-d
U-20260925-31 2026-09-25 The LLM / VLM / agent layer at its edges: a turn cut short never runs its tool calls, tool schemas carry real types, coordinates survive strings and scaling, VLM replies are read in the image the model saw and request failures are errors, OpenAI refusals are not answers, reused backends start fresh #bugfix #agent #vlm 2026-09-c
U-20260925-30 2026-09-25 Accessibility and OCR at their edges: a closed window's COMError is contained, FindText's NULL range is not found, macOS bounds are real, elements with no rectangle are not clicked, audits read Windows roles, the recorder survives framework errors, the Linux search has a node budget #bugfix #accessibility #ocr 2026-09-c
U-20260925-29 2026-09-25 The GUI exit probes time the exit itself, not interpreter start-up, so a loaded machine no longer fails them #testing #gui 2026-09-c
U-20260925-28 2026-09-25 Shell, clipboard, adb and USB/IP helpers at their edges: AC_shell_to_var refuses cmd syntax for batch files, timeouts end the whole process tree, launch failures fail the action, secrets stay out of logs, an empty Linux clipboard is empty, USB/IP device lists, speeds, idle devices and isochronous URBs #bugfix #security #usbip 2026-09-c
U-20260925-27 2026-09-25 Code generation, the command-line tools and report writers at their edges: MCP --read-only reaches the server, MCP stdio and CLI output are UTF-8, generated tests fail with their actions, ${var} goes through the executor, action shapes are checked, SARIF / SOP / Allure output #bugfix #codegen #mcp #cli 2026-09-c
U-20260925-26 2026-09-25 The package imports cleanly when warnings are errors, and SARIF file URIs no longer use PurePath.as_uri(), deprecated in Python 3.14 #bugfix #compat 2026-09-c
U-20260925-25 2026-09-25 The September update log is split at 800 lines into 2026-09.md, -b and -c, as the batch rules ask #docs 2026-09-c
U-20260925-24 2026-09-25 The MCP server speaks 2025-11-25: it negotiates the revision, describes itself to its clients, and reports input validation errors as tool execution errors the model can correct #feature #mcp 2026-09-c
U-20260925-23 2026-09-25 GUI tabs at their edges: slots show framework errors, USB sharing and the Live HUD are released when their tab goes, hidden tabs are owned, a worker's unexpected exception reaches on_fail, the Script Builder keeps a choice it does not list, the window's language listener and each USB prompt's dialog go with their owners #bugfix #gui #security 2026-09-c
U-20260925-22 2026-09-25 Servers and report helpers at their edges: replies that cannot be encoded or serialised, bodies nested too deeply, a history limit SQLite cannot bind, conflicting Content-Length, 401 challenges, 405 with Allow, escaped access logs, an empty host filter, config-sync ties that converge, one +Inf bucket, an FPS-only profiler that knows it runs #bugfix #rest #mcp #security 2026-09-c
U-20260925-21 2026-09-25 Runtime flow at its edges: runs with a failed action are recorded as errors, macro parameters are restored after a call, */15 keeps its pace through the repeated DST hour, watchdog rules are contained, re-enabled jobs wait, interval jobs do not drift, replaced triggers, hotkey start/stop, retry backoff, plugin names #bugfix #scheduler #flow 2026-09-c
U-20260925-20 2026-09-25 A viewer that disconnects while its upload's FILE_BEGIN is opening the part file no longer leaves the .part file and its handle behind #bugfix #remote-desktop 2026-09-c
U-20260925-19 2026-09-25 The action JSON Schema lists block commands and types parameters from their resolved annotations; the linter checks block commands' required arguments #bugfix #tooling 2026-09-c
U-20260925-18 2026-09-25 Scripting, recording and locator helpers at their edges: dotted trigger variables resolve, repair verdicts in every form, torn heal-log lines, A/B stats across stores, actions before the first frame, CJK recall, BOM variable files, a new trace per reset #bugfix #scripting 2026-09-c
U-20260925-17 2026-09-25 Remote-desktop workers run on daemon threads: exiting during a signaling long-poll, or closing the viewer mid-transfer, no longer aborts the process #bugfix #gui #remote-desktop 2026-09-c
U-20260925-16 2026-09-25 Tests carry no unused imports: 20 removed across 16 test modules, and one lambda assignment made a def #test #cleanup 2026-09-c
U-20260925-15 2026-09-25 Test-infrastructure and statistics helpers at their edges: re-merged shard reports, bucket edges at Unix time, regex assert_text ignore_case, the screen-stable clock, the documented cost summary and current Claude prices, huge ints in validate_rows, the t quantile for tiny alpha #bugfix #testing #data 2026-09-c
U-20260925-14 2026-09-25 The MCP server negotiates only versions it speaks, declares only server capabilities, refuses an unsupported MCP-Protocol-Version header with 400, and asks for sampling only from a client that declared it #bugfix #mcp 2026-09-c
U-20260925-13 2026-09-25 Screenshots are fitted with the vision docs' exact resize rule, and AC_run_agent's Anthropic backend fits its screenshots and maps tool-call x / y back #bugfix #agent 2026-09-c
U-20260925-12 2026-09-25 Supply-chain formats follow their specs: OpenVEX affected needs an action statement, SLSA provenance omits empty metadata and reports nameless subjects, PEP 440 orders post/dev releases and implicit numbers, redaction boxes merge transitively #bugfix #security 2026-09-c
U-20260925-11 2026-09-25 Security helpers hold at the edges: IDNA hosts in the egress policy, OSV ranges with several pairs, licence spellings and every licence entry, whole-placeholder secrets only, locked in-memory gates and broker, PEP 639 licences, print-format IBANs, escaped quotes, SARIF without severity, a colleague called Dan #bugfix #security 2026-09-c
U-20260925-10 2026-09-25 observation_delta inherits element matching's IoU > 0 rule; its moved-element test now uses boxes that overlap #test #vision 2026-09-c
U-20260925-09 2026-09-25 Computer use on the beta tool fits screenshots into the model's image tier and maps coordinates back, so clicks land where the model meant on screens over the limit #bugfix #agent 2026-09-c
U-20260925-08 2026-09-25 Image helpers follow their references: pixelmatch's anti-aliasing test instead of a morphological open, L1 histograms with a symmetric intersection, SSIM on the images' dynamic range, the true median line height, no IoU-zero matches, arrays in the perceptual hashes #bugfix #vision 2026-09-c
U-20260925-07 2026-09-25 Text helpers follow their references: diffs split at line feeds only, UTS #39 skeletons, a symmetric fuzzy fallback, sentences that hold a word, casefolding that stays normalised, Common-script x and division sign, bidi per paragraph #bugfix #text 2026-09-c
U-20260925-06 2026-09-25 GUI workers run on daemon threads, so exiting during a long step no longer aborts the process: start_worker returns a WorkerHandle and there is no QThread left to destroy #bugfix #gui #done 2026-09-c
U-20260925-05 2026-09-25 Computer toolset screenshots use the high-resolution image tier (2576 px, 4784 visual tokens) and zoom is implemented with a full-resolution crop #feature #agent 2026-09-c
U-20260925-04 2026-09-25 Text-format helpers follow their references: ICU quoting, offset: 1 and infinite counts, French many, .mo charsets, single-quote escapes in .env, RFC 6901 $ref tokens, ; inside SQL literals, Infinity in parse_number #bugfix #i18n #data 2026-09-c
U-20260925-03 2026-09-25 Stores keep data and secrets under contention and odd input: the secret vault locks across processes, JSON stores read a BOM and wait out a reader, cassettes redact set_cookie, truncated deflate is refused, x-gzip is gzip, WorkQueue and CheckpointStore raise their own errors #bugfix #security #storage 2026-09-c
U-20260925-02 2026-09-25 Computer use and DAG runs can be stopped: stop_event on AgentLoop, run_computer_use and run_dag, Stop in the tabs' Actions menu, and closing the window asks running jobs to stop #feature #gui #agent 2026-09-c
U-20260925-01 2026-09-25 Data-format helpers follow their specs: multipart keeps binary file bytes and backslashes in filenames, JSONPath != matches a missing member and filter strings may hold )], RRULE refuses parts it would ignore, LatencyDigest orders negative values #bugfix #data 2026-09-c
U-20260924-84 2026-09-24 Protocol helpers follow their specs at the edges: JWT list alg and crit, SSE split CRLF, escaped quotes in Link and Cache-Control, newer traceparent versions, typed problem members, escaped unreserved URL characters, empty cookie values #bugfix #http #security 2026-09-c
U-20260924-83 2026-09-24 Closing a tab or the window while its background job runs no longer aborts the process; the computer-use, DAG and LLM planner tabs share start_worker #bugfix #gui 2026-09-c
U-20260924-82 2026-09-24 LAN browse dialogs stop their zeroconf browser however they close; the presence tab leaves the registry when destroyed #bugfix #gui 2026-09-c
U-20260924-81 2026-09-24 Computer use speaks the GA computer_toolset_20260801 (Claude Opus 5.5 accepts nothing else); drags end where the model said, key repeat and click modifiers are honoured #feature #bugfix #agent 2026-09-c
U-20260924-80 2026-09-24 Config-sync tombstones: the Progress item is closed (implemented in 37d0a4fc) #done #config_sync 2026-09-c
U-20260924-79 2026-09-24 Remote action failures are reported: REST /execute takes raise_on_error, and the admin console and DAG remote nodes use it #bugfix #done 2026-09-c
U-20260924-78 2026-09-24 GUI threads: workers that never ran now run, results land on the GUI thread, Quick Connect repaints off the receiver thread no more, stopped WebRTC signaling threads no longer abort the process #bugfix #audit #gui 2026-09-c
U-20260924-77 2026-09-24 Replay traces survive Unicode line separators, persistence needs every frame, one modifier name is one key, unknown CI levels refused, off-frame change boxes score nothing, OTLP output is strict JSON, SOPs read every action-file shape #bugfix #audit 2026-09-b
U-20260924-76 2026-09-24 Utility audit: file drops free their block, zero-weight grounding, reading order in table cells, non-finite profiles, verify modes, collation accents and NFD, CF_HTML str offsets, role digits, HSV bounds #bugfix #audit 2026-09-b
U-20260924-75 2026-09-24 macOS media keys call the real PyObjC selector; the platform audit tests pass on Linux and macOS #bugfix #test 2026-09-b
U-20260924-74 2026-09-24 Twenty-five errors that inherited only a builtin exception join the AutoControlException family #bugfix #audit 2026-09-b
U-20260924-73 2026-09-24 Audit tests import their subjects explicitly, which Codacy's import-injection rule accepts #test #ci 2026-09-b
U-20260924-72 2026-09-24 X11, uinput and macOS backends: uinput types the right keys, send-to-window releases, unbound keys fail, wheel events recorded cleanly, media keys press and release, tap re-enabled #bugfix #audit 2026-09-b
U-20260924-71 2026-09-24 Wayland: libei devices survive a pause and are released once, wlr-randr sizes follow rotation and scale, a bad capture override is a screen error #bugfix #audit 2026-09-b
U-20260924-70 2026-09-24 WebRTC media: screen frames stamped at their real rate, host voice mixed down for mono players, audio device errors contained, a reusable viewer, mDNS and bridge cleanup #bugfix #audit 2026-09-b
U-20260924-69 2026-09-24 USB passthrough opens identical devices by serial, checks endpoint direction and releases interfaces; agent, self-heal, anchor, USB/IP and a11y fixes #bugfix #audit 2026-09-b
U-20260924-68 2026-09-24 MCP requests that always get a reply, a drag that releases, sampling over HTTP, waits that look once; USB credits and claims without races; assertions through callbacks; gamepad, clipboard and volume errors in the family #bugfix #audit 2026-09-b
U-20260924-67 2026-09-24 Remote desktop: RFC 6455 masking and control-frame rules, a handshake that survives a bad key, file transfers to no file, an honest encrypted recorder, restartable mic, host voice kept on #bugfix #audit #security 2026-09-b
U-20260924-66 2026-09-24 Audit tests that only see their own file's leaks and pass Codacy #test #ci 2026-09-b
U-20260924-65 2026-09-24 Make the poison-email regression test independent of the CPython patch release #ci #test 2026-09-b
U-20260924-64 2026-09-24 Per-flow history for flow selection and sharding, depth-safe XY-cut, config env and lossless ints, null-aware uniqueness, CLDR unit lists, MIME-typed A2A modes, UIA Value / RangeValue ids #bugfix #audit 2026-09-b
U-20260924-63 2026-09-24 JSONPath quoting and RFC 9535 ordering, OCR fields read below their label, hardware encoders that really open, odd-sized H.264 frames #bugfix #audit 2026-09-b
U-20260924-62 2026-09-24 Text, config and registries: whole -or-later licences, strict REST booleans, .po entries without blank lines, CLDR plural operands, host-bound file URIs, coturn and XML injection #bugfix #audit #security 2026-09-b
U-20260924-61 2026-09-24 Data utilities: JWT expiry and canonical segments, bounded similarity, framework DAG errors, strict time-series and schema arguments, safe flag serves #bugfix #audit 2026-09-b
U-20260924-60 2026-09-24 AC_idempotency_release: scripts and MCP clients can free a key whose work failed #feature #done 2026-09-b
U-20260924-59 2026-09-24 Triggers, scheduler and data sources: serialised engine start/stop, poison-proof email polling, quoted mailboxes, answerable webhook verbs, numeric max_runs, contained .xlsx errors #bugfix #audit 2026-09-b
U-20260924-58 2026-09-24 Small utilities: implicit-SSL port, a profiler frozen at stop, strict Content-Length, WebRunner screenshots, notifications that report failure #bugfix #audit 2026-09-b
U-20260924-57 2026-09-24 Type-check the SBOM's optional packaging import in CI's bare install #ci #typing 2026-09-b
U-20260924-56 2026-09-24 Emergency stop wakes a sleeping main thread on Linux and macOS too #bugfix #ci 2026-09-b
U-20260924-55 2026-09-24 Image analysis and packaging: Machado CVD simulation, square-aware widget classes, repair that does not re-act, schema-valid registry manifests #bugfix #audit 2026-09-b
U-20260924-54 2026-09-24 Observation and state: an emergency stop that wakes a sleeping script, non-overlapping mark labels, strict placeholders, CloudEvents and coordinate spaces #bugfix #audit 2026-09-b
U-20260924-53 2026-09-24 File-dialog confirm and popup-watchdog keys resolve to the platform's key names #bugfix #audit 2026-09-b
U-20260924-52 2026-09-24 Input and form helpers: platform key names for computer use, linted flow bodies, working gamepad clicks and dpad, RTF code pages #bugfix #audit #agent 2026-09-b
U-20260924-51 2026-09-24 Media and analysis: exact bucket edges, converged KS p-values, normalised histogram intersection, honest video motion and visual-diff percentages #bugfix #audit 2026-09-b
U-20260924-50 2026-09-24 Image matching: screen coordinates everywhere, masked rotated templates, flat templates refused on every path, per-blob peaks #bugfix #audit #vision 2026-09-b
U-20260924-49 2026-09-24 System and device helpers: keep-awake that ends with the process, real content types, strict checksums and compliance, D-Bus and window-capture fixes #bugfix #audit 2026-09-b
U-20260924-48 2026-09-24 Agent and action helpers: assertions are never healed, releases follow healed presses, live actionability gates, innermost grounding #bugfix #audit #agent 2026-09-b
U-20260924-47 2026-09-24 Stores set a file aside only when its content is damaged, not when a read fails #bugfix #audit #remote-desktop 2026-09-b
U-20260924-46 2026-09-24 Config and plumbing: redacted failure tickets, contained plugin directories, Unicode search terms, sturdier chatops and trace spans #bugfix #audit #security 2026-09-b
U-20260924-45 2026-09-24 Workflow and test tooling: merged shard reports keep errors, waits honour deadlines, strict hit policies and predicates, assert_poll is an assertion #bugfix #audit #testing 2026-09-b
U-20260924-44 2026-09-24 Text processing: whole phone and Amex masking, linear PII and secret scans, invisible-character-proof confusables, TR39 script mixing, fuzzy .po entries skipped #bugfix #audit #security 2026-09-b
U-20260924-43 2026-09-24 Locators and geometry: no fake sideways scroll, unique stable ids, points inside their cells, A/B stats that survive other writers #bugfix #audit 2026-09-b
U-20260924-42 2026-09-24 Data formats: workbook cells stay data, strict JSON Patch / JSONPath, ICU offsets and quoting, subtree ignores, safer masking and parsing #bugfix #audit #security 2026-09-b
U-20260924-41 2026-09-24 Time and statistics: bounded sequence tracking, SLO window ends at now, local UNTIL, sane digests and outlier scores #bugfix #audit 2026-09-b
U-20260924-40 2026-09-24 Governance and supply chain: parsed license expressions, version-exact VEX, case-folded approvers, newline-proof traceparent #bugfix #audit #security #supply-chain 2026-09-b
U-20260924-39 2026-09-24 Code Quality back to green: recorder pacing typed for OpenCV's stubs, redaction key pattern renamed past bandit #ci #typing 2026-09-b
U-20260924-38 2026-09-24 HTTP family: egress matches the connected host, bounded bodies and decompression, safe multipart, RFC-correct Link and URL handling #bugfix #audit #security #http 2026-09-b
U-20260924-37 2026-09-24 Process, secret and file boundaries: links recycled not targets, base-relative secret refs, batch-file arguments, fuller log redaction #bugfix #audit #security 2026-09-b
U-20260924-36 2026-09-24 Queues and durable state: numbered claims, failed resumable steps retried, releasable idempotency keys, thread-safe dedup and outbox #bugfix #audit #queue 2026-09-b
U-20260924-35 2026-09-24 Agent requests time out and resend only recent screenshots; empty tool filters, empty plans and stray VLM coordinates refused #bugfix #audit #agent #llm #vision 2026-09-b
U-20260924-34 2026-09-24 Computer use: sent under its beta, bounded scrolls and waits, scroll at the model's coordinate #bugfix #audit #agent 2026-09-b
U-20260924-33 2026-09-24 CLI: -d runs files in sorted order inside the directory only, the legacy entry point explains failures, dry-run vars, validate, failed suites, start-server port; pytest plugin robustness #bugfix #audit #cli 2026-09-b
U-20260924-32 2026-09-24 Screen recordings play back at their real length; unusable writers are refused; iOS find_element honours its timeout #bugfix #audit 2026-09-b
U-20260924-31 2026-09-24 Executor: AC_run_dag expanded once, nested AC_execute_action inherits strictness, every repeated or unwound action keeps its record #bugfix #audit #executor 2026-09-b
U-20260924-30 2026-09-24 AC_parallel branches inherit strictness, macro depth and failure counting; string branches are validated before anything runs #bugfix #audit #executor 2026-09-b
U-20260924-29 2026-09-24 Versioned store keeps its high-water marks and locks CAS; config-bundle import copies before writing; cassettes redact credentials and check match fields #bugfix #security #audit 2026-09-b
U-20260924-28 2026-09-24 JWT codec: strict base64url, every malformed token a JwtError, NaN expiry refused, alg not overridable #security #audit 2026-09-b
U-20260924-27 2026-09-24 Admin console: no token on redirects, whole-request timeout and size cap, unknown labels reported, host files kept intact; USB viewer reassembly capped #security #audit 2026-09-b
U-20260924-26 2026-09-24 USB passthrough ACL: a deleted signature fails closed, damaged files are kept aside, rule ids are validated, instances stop overwriting each other #security #audit #usb 2026-09-b
U-20260924-25 2026-09-24 Plugin discovery loads only the je_auto_control.commands entry-point group #security #audit 2026-09-b
U-20260924-24 2026-09-24 Masked, sub-pixel, auto-threshold and scale matchers answer in screen coordinates; golden images capture in mouse coordinates #bugfix #audit #vision 2026-09-b
U-20260924-23 2026-09-24 Remote desktop stores keep damaged files aside; interrupted uploads are cleaned up; stopping the relay ends its sessions #bugfix #audit 2026-09-b
U-20260924-22 2026-09-24 Remote desktop host: failed logins free their slot, view-only means view-only, an allowlist of typos admits nobody #security #audit 2026-09-b
U-20260924-21 2026-09-24 Socket server reads whole pretty-printed commands; the documented client example works #bugfix #audit 2026-09-b
U-20260924-20 2026-09-24 MCP HTTP: anonymous initialize floods cannot evict a session in use; DELETE checks its path; state of a session dropped mid-request is released #security #audit #mcp 2026-09-b
U-20260924-19 2026-09-24 REST API: authenticate before reading the body, never lock out the valid token, survive a corrupt audit database #security #audit 2026-09-b
U-20260924-18 2026-09-24 User store keeps a damaged file and refuses shared tokens; secret managers stop overwriting each other; malformed vaults are store errors #security #audit 2026-09-b
U-20260924-17 2026-09-24 Audit hash chain: no re-blessing of cleared hashes, deletions from the top caught, clear() leaves a record #security #audit 2026-09-b
U-20260924-16 2026-09-24 Signed-action enforcement covers remote DAG nodes; UserAuthError and CredentialBrokerError join the framework family #security #audit 2026-09-b
U-20260924-15 2026-09-24 Signing, encryption and JWT keys, passwords and tokens are masked in the executor log, its record and the MCP audit file #security #audit 2026-09-b
U-20260924-14 2026-09-24 Replay scrolls the recorded way on X11/Wayland, releases where the button went down; paths round; NaN holds refused #bugfix #audit 2026-09-b
U-20260924-13 2026-09-24 macOS and Linux hotkeys stop retrying a failed combo every tick; bind() validates on macOS #bugfix #audit #macos #linux 2026-09-b
U-20260924-12 2026-09-24 Webhook server: chunked bodies, case-insensitive Bearer, and an answer when run history fails #bugfix #audit #security 2026-09-b
U-20260924-11 2026-09-24 Trigger engine skips triggers removed mid-pass; poll threads survive infinite intervals and any rule error; callback executor returns its documented None #bugfix #audit 2026-09-b
U-20260924-10 2026-09-24 Email triggers: a failing script fires once, IMAP connections time out, unknown charsets keep their body #bugfix #audit 2026-09-b
U-20260924-09 2026-09-24 Step videos from a generator, one-string trajectory rubrics, and the error type in failure bundles #bugfix #audit 2026-09
U-20260924-08 2026-09-24 Codegen: every name compiles, NaN/Infinity survive, execute_action keeps its arguments, wrapped files and Robot names #bugfix #audit #codegen 2026-09
U-20260924-07 2026-09-24 Rate limiters and retry budgets refuse NaN; LoopGuard is thread-safe; no repair tactics for a negative budget #bugfix #audit 2026-09
U-20260924-06 2026-09-24 Scheduler: cron jobs no longer refire every tick in the repeated DST hour; a removed job's run leaves its successor alone #bugfix #audit 2026-09
U-20260924-05 2026-09-24 JSON Schema validator: invalid regex, sub-schema $ref cycles, $ref siblings, nested const, exact multipleOf #bugfix #audit 2026-09
U-20260924-04 2026-09-24 Action and .env files saved with a UTF-8 BOM run, lint and load #bugfix #windows 2026-09
U-20260924-03 2026-09-24 A NaN timeout is refused instead of polling forever #bugfix #audit 2026-09
U-20260924-02 2026-09-24 System utilities: Windows shell quoting, keep-awake, clipboard leaks, file triggers, waits, dotenv #bugfix #windows #audit 2026-09
U-20260924-01 2026-09-24 Security floors: zeroconf 0.149.16 for discovery, and a test pinning every floor #security #deps 2026-09
U-20260923-54 2026-09-23 Signaling guard keyed on the routed path (Starlette BadHost, CVE-2026-48710) #security #remote_desktop #deps 2026-09
U-20260923-53 2026-09-23 Signaling server serves the config-sync bucket routes #feature #remote_desktop #config_sync 2026-09
U-20260923-52 2026-09-23 Server-surface audit: signaling secret checked before the body, bearer scheme case #incident #security #remote_desktop 2026-09
U-20260923-51 2026-09-23 Split the pure UIA reads out of windows_backend.py #refactor #accessibility 2026-09
U-20260923-50 2026-09-23 Record / replay and input-helper audit: positions, held keys, speed, unknown ops, key names #incident #input 2026-09
U-20260923-49 2026-09-23 Orchestration-runner audit: sagas that never rolled back, device matrix, DAG, work queue, observer #incident #orchestration 2026-09
U-20260923-48 2026-09-23 Observability and report-output audit: OTLP spans, Prometheus, SARIF, purls, version ordering, step videos #incident #observability 2026-09
U-20260923-47 2026-09-23 File-store audit: lost saves, assets without db, bundle entries, permissions, non-ASCII recall #incident #storage #security 2026-09
U-20260923-46 2026-09-23 Plugin-loading audit: broken files, dataclass plugins, built-in overrides, watcher ownership #incident #plugins #security 2026-09
U-20260923-45 2026-09-23 Resilience-primitive audit: backoff caps, rate limits, Retry-After, loop guard, leases, approvals, CAS, breaker #incident #resilience #security 2026-09
U-20260923-44 2026-09-23 Text and clipboard-format audit: fuzzy autojunk, RTF Unicode, drop lists, pseudo-localization, slugify #incident #text #clipboard 2026-09
U-20260923-43 2026-09-23 Image-utility audit: BGR/RGB grayscale, red colour matching, non-ASCII paths, approval extension #incident #vision #security 2026-09
U-20260923-42 2026-09-23 QA subsystem audit: setup failures in reports, soft asserts, dead servers, malformed cases #incident #qa 2026-09
U-20260923-41 2026-09-23 Executor flow-control audit: strictness through nested bodies, try/retry catch sets, double expansion #incident #executor #security 2026-09
U-20260923-40 2026-09-23 dotenv, VEX, data-source and HTTP-header parsing audit #incident #data #security 2026-09
U-20260923-39 2026-09-23 JSON Patch, JSONPath and unified-diff audit: bounds, shared values, silent wildcards, -U0 hunks #incident #data 2026-09
U-20260923-38 2026-09-23 MCP tool-safety audit: annotations, read-only writes, resource reads, undeclared arguments #incident #security #mcp 2026-09
U-20260923-37 2026-09-23 Secret detection and failure-bundle audit: key words, free text, vault commands, image modes #incident #security #redaction 2026-09
U-20260923-36 2026-09-23 Accessibility / OCR / window audit: blank matches, wrong windows, zero timeouts #incident #accessibility #window 2026-09
U-20260923-35 2026-09-23 Android/iOS audit: adb shell injection, escaping SDK errors #incident #security #mobile 2026-09
U-20260923-34 2026-09-23 Wrapper audit: template-match accuracy, drawn multi-match, multi-monitor scroll, ctypes truncation #incident #wrapper #image 2026-09
U-20260923-33 2026-09-23 Agent audit: broken computer-use actions, unoffered tools, VLM errors #incident #security #agent 2026-09
U-20260923-32 2026-09-23 Circuit-breaker trials, config-sync and ACME error handling #incident #resilience 2026-09
U-20260923-31 2026-09-23 Logic-engine audit: DAG failures, FSM guards and timers, RRULE semantics, suite variables #incident #executor 2026-09
U-20260923-30 2026-09-23 Remote-desktop robustness: dead receive threads, blocked accept thread, signaling errors #incident #remote-desktop 2026-09
U-20260923-29 2026-09-23 Codegen injection, USB/IP device scope, TLS key writes, signaling and relay limits #incident #security 2026-09
U-20260923-28 2026-09-23 Shared JSON stores lock and re-read across processes #done #stores 2026-09
U-20260923-27 2026-09-23 CLI / hotkey / recording audit: exit codes, lost recordings, wrong virtual keys #incident #cli #hotkey 2026-09
U-20260923-26 2026-09-23 JSON store audit: in-place rewrites, constructor crashes, lost counts and log lines #incident #stores 2026-09
U-20260923-25 2026-09-23 SQLite store audit: stuck work items, dedupe race, leaked connections, audit chain #incident #stores 2026-09
U-20260923-24 2026-09-23 Outbound audit: credentials across redirects, egress bypass, chat-ops screenshot path #incident #security #chatops 2026-09
U-20260923-23 2026-09-23 File transfer / admin audit: partial files, size limits, device names, poll crash #incident #security #remote-desktop 2026-09
U-20260923-22 2026-09-23 Data-command audit: escaping errors, redirect egress bypass, Windows shell quoting #incident #security #executor 2026-09
U-20260923-21 2026-09-23 Report audit: control characters, silent write failures #incident #reports 2026-09
U-20260923-20 2026-09-23 CI actions moved off the deprecated Node 20 runtime #ci #maintenance 2026-09
U-20260923-19 2026-09-23 Secret handling: masked passphrases in logs, atomic vault rekey, unique backups #incident #security #secrets 2026-09
U-20260923-18 2026-09-23 Action signing audit: enforcement on every run path, key files, salted passphrases #incident #security #signing 2026-09
U-20260923-17 2026-09-23 Scheduler/trigger audit: cron semantics, leap-day refire, lost edges #incident #scheduler #triggers 2026-09
U-20260923-16 2026-09-23 MCP/REST audit: cross-session confirm, browser CSRF, token crash #incident #security #mcp 2026-09
U-20260923-15 2026-09-23 USB passthrough audit: ACL bypasses, credit stall, claim leaks #incident #security #usb 2026-09
U-20260923-14 2026-09-23 WebRTC host audit: approval without token, dead sessions #incident #security #remote-desktop 2026-09
U-20260923-13 2026-09-23 Flow-control audit: seven defects reproduced and fixed #incident #executor 2026-09
U-20260923-12 2026-09-23 Complexity limit measured in CI; the one function over it split #done #quality 2026-09
U-20260923-11 2026-09-23 The 750-line limit is now a gate, and it caught one #done #quality 2026-09
U-20260923-10 2026-09-23 Review follow-ups: priming race, stub width, key-table contract #done #review 2026-09
U-20260923-09 2026-09-23 _handlers.py under the line limit: nine themed modules #done #mcp 2026-09
U-20260923-08 2026-09-23 Import no longer sets the root logger to DEBUG #done #logging 2026-09
U-20260923-07 2026-09-23 Tests get their own home; no state path resolved at import #done #testing #state 2026-09
U-20260923-06 2026-09-23 Test runs no longer write the shared package log #incident #logging #testing 2026-09
U-20260923-05 2026-09-23 Line limit enforced by ruff; stub regenerated (199 → 739) #done #quality #typing 2026-09
U-20260923-04 2026-09-23 Pillow getdata → get_flattened_data (removed in Pillow 14) #migration #deps 2026-09
U-20260923-03 2026-09-23 Every swallowing broad except says why; AST gate in CI #done #quality 2026-09
U-20260923-02 2026-09-23 USB watcher: a stopped (not superseded) run still primes #incident #usb #ci 2026-09
U-20260923-01 2026-09-23 Log file out of the cwd: home default, JE_AUTOCONTROL_LOG_FILE #done #logging 2026-09
U-20260922-16 2026-09-22 Dependabot S-11: pypdf floor, direct pillow floor, lock refresh #incident #security #deps 2026-09
U-20260922-15 2026-09-22 Windows key table: down is VK_DOWN; touchpad wheel accumulates #incident #input #recording 2026-09
U-20260922-14 2026-09-22 Scheduler: never start a job that is still running #incident #scheduler 2026-09
U-20260922-13 2026-09-22 Remote desktop host/relay/viewer: per-run events on restart #incident #remote-desktop 2026-09
U-20260922-12 2026-09-22 16 background services: a restart no longer revives the old loop #incident #threading 2026-09
U-20260922-11 2026-09-22 Map §7: coverage floor 81, mypy exemptions 0 #docs 2026-09
U-20260922-10 2026-09-22 CI: drop dead dev/stable triggers, delete duplicate dev.yml #done #ci 2026-09
U-20260922-09 2026-09-22 CHANGELOG: one section per released version #done #docs 2026-09
U-20260922-08 2026-09-22 Docs caught up: GUI launch, window platforms, CI jobs #done #docs 2026-09
U-20260922-07 2026-09-22 Cross-project contract test: legacy CLI and consumer names (X-7) #done #contracts 2026-09
U-20260922-06 2026-09-22 USB watcher: stop outlasts enumeration, restart can't revive #incident #usb 2026-09
U-20260922-05 2026-09-22 Split QA adapters out of _handlers.py (4,791 → 4,389) #done #mcp 2026-09
U-20260922-04 2026-09-22 Line-count gate: 71 map rows were never measured #incident #docs 2026-09
U-20260922-03 2026-09-22 hotkey/type_keyboard release held keys on failure #incident #input 2026-09
U-20260922-02 2026-09-22 Windows recorder captures mouse side buttons (x1/x2) #incident #recording 2026-09
U-20260922-01 2026-09-22 Adopt progress/architecture/docs-updates rules #docs #migration 2026-09
U-20260824-02 2026-08-24 Coverage ratchet: target 80 met, floor 81 (Progress.md) #migration #coverage 2026-08-f
U-20260824-01 2026-08-24 Coverage floor 81: backend doubles and the bugs they found #release #coverage #testing 2026-08-e
U-20260823-01 2026-08-23 Adapter sweep: test stubs built from the typing contract #release #coverage #typing 2026-08-e
U-20260822-01 2026-08-22 mypy typing contract: exemption list emptied (Progress.md) #migration #typing 2026-08-d
U-20260821-01 2026-08-21 Typing contract covers whole package; coverage re-measured #release #typing #coverage 2026-08-d
U-20260820-01 2026-08-20 Platform matrix measured; window management off Windows #release #platforms #ci 2026-08-c
U-20260819-02 2026-08-19 Wayland: answered questions and distro facts (Progress.md) #migration #wayland #ci 2026-08-b
U-20260819-01 2026-08-19 Wayland seat, portal and ydotool verified against real peers #release #wayland #ci 2026-08-b
U-20260818-01 2026-08-18 libei input end to end; Wayland capture on a real compositor #release #wayland #libei 2026-08
U-20260817-01 2026-08-17 Wayland screen capture and window-owner lookup #release #wayland #windows 2026-08
U-20260815-01 2026-08-15 Unicode typing, replayable recordings, clipboard images #release #input #clipboard 2026-08
U-20260718-01 2026-07-18 Cross-platform reliability hardening, no API changes #release #reliability 2026-07
U-20260703-01 2026-07-03 Stable API facade, failure bundles, tag-based releases #release #api #packaging 2026-07
U-20260702-01 2026-07-02 GUI Actions menu replaces in-tab buttons #release #gui 2026-07
U-20260626-01 2026-06-26 Trial/force modes, element proposal, idle and state waits #release #actions #vision 2026-06-c
U-20260625-01 2026-06-25 UIA control patterns, default-app launch, run-trace diff #release #uia #reporting 2026-06-b
U-20260624-01 2026-06-24 Template-matching variants, UIA text and OCR layout tools #release #vision #uia #ocr 2026-06-b
U-20260623-01 2026-06-23 Matching, window geometry, Unicode input and wait primitives #release #vision #window #input 2026-06-b
U-20260622-01 2026-06-22 i18n, idempotency, time-series, HTTP and config utilities #release #i18n #http #data 2026-06-b
U-20260621-01 2026-06-21 Tracing, data profiling, JSON/JWT and supply-chain gates #release #observability #data #security 2026-06
U-20260620-01 2026-06-20 SARIF export, PII redaction, sagas, webhooks, asset store #release #security #integration 2026-06
U-20260619-01 2026-06-19 Agent observability, compliance reports, approvals, SDK #release #agent #compliance 2026-06
U-20260618-01 2026-06-18 CLI, recording-to-code, HTTP/SQL/email/PDF steps, waits #release #cli #integration 2026-06
U-20260617-01 2026-06-17 Humanized input, macros, parallel runs, cron, file signing #release #input #flow-control 2026-06
U-20260605-01 2026-06-05 QA framework: assertions, data-driven runs, suites, flaky #release #qa #testing 2026-06
U-20260525-01 2026-05-25 Self-healing locators, Wayland/Android/iOS, agent loop #release #locators #platforms #agent 2026-05

Batches

File Period Entries
2026-11.md 2026-11 21
2026-10-f.md 2026-10 5
2026-10-e.md 2026-10 91
2026-10-d.md 2026-10 15
2026-10-c.md 2026-10 75
2026-10-b.md 2026-10 15
2026-10.md 2026-10 112
2026-09-e.md 2026-09 7
2026-09-d.md 2026-09 55
2026-09-c.md 2026-09 38
2026-09-b.md 2026-09 68
2026-09.md 2026-09 79
2026-08-f.md 2026-08 1
2026-08-e.md 2026-08 2
2026-08-d.md 2026-08 2
2026-08-c.md 2026-08 1
2026-08-b.md 2026-08 2
2026-08.md 2026-08 3
2026-07.md 2026-07 3
2026-06-c.md 2026-06 1
2026-06-b.md 2026-06 4
2026-06.md 2026-06 6
2026-05.md 2026-05 1

| U-20261023-08 | 2026-10-23 | Persist crash input witnesses and separate workspace launch lifetime | #done #agent #recovery | 2026-10-c |

| U-20261023-09 | 2026-10-23 | Record managed skills and require verified trials before version publication | #done #agent #skills | 2026-10-c |

| U-20261023-10 | 2026-10-23 | Retain live origin ceilings and isolate MCP client root lifetimes | #done #agent #scope | 2026-10-c |

| U-20261024-01 | 2026-10-24 | Resolve observation-local targets and audit native coordinate grounding | #done #agent #observation | 2026-10-c |

| U-20261024-02 | 2026-10-24 | Task observation and action editor | #done #agent #gui | 2026-10-c |

| U-20261024-03 | 2026-10-24 | Finite workflow progress and fresh evidence | #done #agent #workflow | 2026-10-c |

| U-20261024-04 | 2026-10-24 | Dialog review and native window scope | #done #agent #scope | 2026-10-c |

| U-20261024-05 | 2026-10-24 | Host target ceilings and MCP session authority | #done #agent #targets #auth | 2026-10-c |

| U-20261024-06 | 2026-10-24 | Legacy URL opening through je_web_runner | #done #browser #migration | 2026-10-c |

| U-20261024-07 | 2026-10-24 | Authorized MCP summary and schema discovery | #done #mcp #discovery | 2026-10-c |

| U-20261024-08 | 2026-10-24 | MCP session availability and snapshot pages | #done #mcp #sessions | 2026-10-c |

| U-20261024-09 | 2026-10-24 | MCP worker authority, notifications and measurements | #done #mcp #scope | 2026-10-c |

| U-20261024-10 | 2026-10-24 | Managed WebRunner targets and DOM references | #done #agent #browser | 2026-10-c |

| U-20261024-11 | 2026-10-24 | Browser forms, transfers and bounded readback | #done #agent #workflow | 2026-10-c |

| U-20261024-12 | 2026-10-24 | Exact WebRunner readback compatibility | #done #agent #verification | 2026-10-c |

| U-20261024-13 | 2026-10-24 | Independent pinned browser completion | #done #agent #verification | 2026-10-c |

| U-20261024-14 | 2026-10-24 | Rooted WebRunner browser transfers | #done #agent #transfers | 2026-10-c |

| U-20261024-15 | 2026-10-24 | Runtime authority, exports and budget race closure | #done #agent #contracts | 2026-10-c |

| U-20261024-16 | 2026-10-24 | Fence retired browser skill contexts | #done #agent #recovery | 2026-10-c |

| U-20261024-17 | 2026-10-24 | Fence retired desktop skill contexts | #done #agent #recovery | 2026-10-c |

| U-20261024-18 | 2026-10-24 | Isolated browser helper dependency diagnostics | #done #agent #readiness | 2026-10-c |

| U-20261024-19 | 2026-10-24 | Preserve DAG caller authority before remote dispatch | #done #agent #security | 2026-10-c |

| U-20261024-20 | 2026-10-24 | Confirm input retirement before publishing task success | #done #agent #completion | 2026-10-c |

| U-20261024-21 | 2026-10-24 | Coordinate verified managed tasks through existing DAG surfaces | #done #agent #dag | 2026-10-c |

| U-20261024-22 | 2026-10-24 | Inspect accepted requests without resubmitting tasks | #done #agent #recovery | 2026-10-c |

| U-20261024-23 | 2026-10-24 | Inspect registered-host DAG requests without scheduling effects | #done #agent #dag | 2026-10-c |

| U-20261024-24 | 2026-10-24 | Bind DAG inspection to destination request-spec digests | #done #agent #recovery | 2026-10-c |

| U-20261024-25 | 2026-10-24 | Preserve remaining delivery steps before the requested pause | #docs #agent #handoff | 2026-10-c |

| U-20261024-26 | 2026-10-24 | Quarantine remote effects independently of local helper retirement | #done #agent #devices | 2026-10-c |

| U-20261024-27 | 2026-10-24 | Bound managed ADB transport without daemon management or command replay | #done #agent #android | 2026-10-c |

| U-20261024-28 | 2026-10-24 | Pin Android identity before finite host-only command proposals | #done #agent #scope | 2026-10-c |

| U-20261024-29 | 2026-10-24 | Bind Android proposals to native routing and keyguard evidence | #done #agent #input_scope | 2026-10-c |

| U-20261024-30 | 2026-10-24 | Record remaining device integration and pause after handoff | #docs #agent #handoff | 2026-10-c |

| U-20261024-31 | 2026-10-24 | Distinguish complete Android pre-input refusal from possible effects | #done #agent #android | 2026-10-c |

| U-20261024-32 | 2026-10-24 | Gate owned remote SDK calls on durable ACK and trusted settlement | #done #agent #devices | 2026-10-c |

| U-20261024-33 | 2026-10-24 | Connect checked Android SDK dispatch to leased owned workers | #done #agent #android | 2026-10-c |

| U-20261024-34 | 2026-10-24 | Bind Android semantic observations to reviewed text and fresh app readback | #done #agent #observations | 2026-10-c |

| U-20261024-35 | 2026-10-24 | Declare built-in screen coverage and reject synthetic completion labels | #done #agent #verification | 2026-10-c |

| U-20261024-36 | 2026-10-24 | Review stopped workflow remainders through one durable successor | #done #agent #recovery | 2026-10-c |

| U-20261024-37 | 2026-10-24 | Replan external and local-model tasks with fresh successor evidence | #done #agent #recovery #models | 2026-10-c | | U-20261024-38 | 2026-10-24 | Explicitly reauthorize a successor within the original root ceiling | #done #agent #recovery #authorization | 2026-10-c | | U-20261024-39 | 2026-10-24 | Renew published skill authority through a fresh validated version | #done #agent #skills #authorization | 2026-10-c | | U-20261024-40 | 2026-10-24 | Renew trigger authority without replaying accepted events | #done #agent #triggers #authorization | 2026-10-c | | U-20261024-41 | 2026-10-24 | Bind initial managed DAG execution to a durable whole-graph batch | #done #agent #dag #recovery | 2026-10-c | | U-20261024-42 | 2026-10-24 | Require whole-graph review before managed DAG continuation | #done #agent #dag #recovery | 2026-10-c | | U-20261025-01 | 2026-10-25 | Delegate managed DAG coordination to the owning service | #done #agent #dag #persistence | 2026-10-c | | U-20261025-02 | 2026-10-25 | Pin caller DAG transport and local evidence to its source runtime | #done #agent #dag #security | 2026-10-c | | U-20261025-03 | 2026-10-25 | Admit local DAG nodes as their original owner with live caller authority | #done #agent #dag #authorization | 2026-10-c | | U-20261025-04 | 2026-10-25 | Retain unresolved DAG evidence and collect only settled expired batches | #done #agent #dag #retention | 2026-10-c | | U-20261025-05 | 2026-10-25 | Keep reviewed recovery successors under their source owner with live reviewer checks | #done #agent #recovery #authorization | 2026-10-c | | U-20261025-06 | 2026-10-25 | Reduce Android guard subprocess overhead without extending input deadlines | #done #agent #android #latency | 2026-10-c | | U-20261025-07 | 2026-10-25 | Add permanently read-only helpers for fresh completion observations | #done #agent #recovery #readonly | 2026-10-c | | U-20261025-08 | 2026-10-25 | Review confirmed effects through independent read-only completion tasks | #done #agent #recovery #verification | 2026-10-c | | U-20261025-09 | 2026-10-25 | Reserve bounded authenticated stop admission independently of status polling | #done #agent #control #http | 2026-10-c | | U-20261025-10 | 2026-10-25 | Publish exact skill validation trials with explicit read-only completion evidence | #done #agent #skills #recovery #verification | 2026-10-c | | U-20261025-11 | 2026-10-25 | Record stopped semantic workflows with explicit independent completion evidence | #done #agent #skills #recording #verification | 2026-10-c | | U-20261025-12 | 2026-10-25 | Review complete original skill effects across executable recovery | #done #agent #skills #recovery #verification | 2026-10-c | | U-20261025-13 | 2026-10-25 | Grant revocable local DAG completion evidence across existing callers | #done #agent #handoff #recovery #authorization | 2026-10-c | | U-20261025-14 | 2026-10-25 | Renew completion consent without restoring input authority | #done #agent #recovery #authorization | 2026-10-c | | U-20261025-15 | 2026-10-25 | Hand renewed read-only completion to its original local DAG | #done #agent #handoff #recovery #authorization | 2026-10-c | | U-20261025-16 | 2026-10-25 | Adopt explicit non-DAG completion evidence without widening task access | #done #agent #handoff #recovery #authorization | 2026-10-c | | U-20261029-03 | 2026-10-29 | Verify lazy facade delivery against the complete suite | #done #agent #startup #verification | 2026-10-e |