Repository navigation
Description
Current state (2026-11-13): The original selected tranche has21closed scopes out of25. All23previously published owned PRs are merged. The four carryovers #4426/#4441/#4442/#4448 remain unpublished. The Claude wave adds #4516/#4517 (one combined reinstall publication), #4518 (blocked behind #4511), and #4519/#4520 (design-first). CONTR2-4 is already covered by #4369. Focused source feedback is not final proof or readiness. Preserve all failed receipts and native obligations. The551-entry original intake is not a current closure ledger; no overall completion percentage is established.
Latest coordinator state: #4368 (comment)
Purpose
Close the remaining security, data-preservation, correctness and validation gaps from the audit plan. Validate each hypothesis against the current owner before implementation. Preserve useful contracts and recovery evidence. Require measured benefit for performance changes and structural cleanup.
The source contains 548 findings across 29 reports, plus BASE-1/2/3. These are audit entries, not 551 confirmed defects. Keep original IDs for traceability. Track DSESS-3 under DCORE-1, DOCS-9 under TOOL-5, ARUN-20 under APPLE-1, SRC-9 under TOOL-6, and BASE-3 under TOOL-26.
Reconciliation baseline: main 0db888ac62a0d56f860e4b1d528732bca1aa7a68, audit branch commit ef57c995d855383496aaf01a5e4694db1e3d8863. Refresh PR states and source paths before allocating work. PR states were refreshed during the design pass; #4356 has since merged. The newest Current state comment records the execution snapshot.
Work already covered
| Verified PR state | Owner | Covered scope and residual |
|---|---|---|
| Merged | #4357 | Close/disconnect failures, shutdown timer, diagnostics, late binds, suite lease release, connection idempotency and app-log rotation. DSESS-7 remains. |
| Merged | #4361 | Dead runtime families, stale ADR references/status, fake-browser duplication, changesets and stale dependency report. ADR 0020 disposition and remaining unused backend members remain. |
| Merged | #4364 | Scripts typechecking and the stale declaration surface. TOOL-4 local-gate coverage remains. |
| Merged, partial | #4352 | CMD2-4 label-fallback disclosure. Authorized ref-frame lookup remains a separate concern. |
| Merged | #4355 | SRC-1/2/3/4/5/7: MCP framing, cancellation, shared binding policy, platform validation and flushed exit. SRC-6 token caching is deferred. |
| Merged | #4356 | Broken evidence/export/loopback guards, root-uid tests, lane selection, mutation selection and duplicate provider integration. Its exec guard extension changes adb-discovery error evidence; preserve typed classification. TOOL-4, TOOL2-5 and DOCS-10 remain. |
| Merged | #4358 | Credentialed redirects, request caps, upload hashes and proxy RPC errors/budget. CONTR-4 is partial; DSRV-4, CONTR2-4 and DSRV-5 are outside this PR. CONTR-13 forwarded-origin validation remains a required follow-up on this transport boundary. |
| Merged | #4359 | Shared asynchronous process identity, host-kit stop escalation and reclaim-guard ownership. ARUN2-1/5, Apple bridge identity-read reduction and sync/async twin removal remain. |
| Merged | #4360 | DEXEC-1/2/3/7, DSESS-1/4/6, CMD2-1 and DCORE-4. DEXEC-4 and DEXEC-6 were deferred. |
| Merged | #4362 | Web text secrecy, WebDriver transport/buttons/activation, relaunch and hosted uploads. PROV-5/11, PROV2-2/4 and lease-state consolidation remain. |
| Merged | #4363 | Recording interpolation, isolated runScript, Maestro inputs/launch args, export, scoped divergence refs, typed infrastructure classification and companion locking. REPLAY-19 and REPLAY2-16 export interpolation remain; the export fix depends on the corrected literal/placeholder contract here. |
| Merged | #4366 | Redaction, app-log lifecycle, typed errors, contract readers, event cursors and several snapshot optimizations. CAP-2 and CAP3-2 have explicit residuals; CAP-5/6/9, CAP2-5 and CMD-2 remain. |
An open PR is an implementation owner, not a completed checkbox. Preserve its outstanding review, compatibility and device-evidence obligations. Device evidence already posted on an older head does not automatically prove later behavior changes.
First new child issues
Create a child only after it has a current trigger, an owning boundary and acceptance evidence. Split each row below when its production owners or validation needs differ. These are proposed contracts; the umbrella itself does not authorize removal of published behavior.
| Child scope | Required behavior and observable completion | Dependencies |
|---|---|---|
| Android helper trust — ANDR-3 | Require an unpredictable session credential before helper commands execute. Bound reads from silent peers. A wrong/missing credential performs no action; a silent peer cannot wedge the next authorized request. Cover host/native protocol agreement and a live Android session. | Coordinate the helper protocol and artifact version. Reassess token delivery/exposure as part of the design. |
| Safe reinstall — APPLE-4 on Apple, plus the triage-confirmed analogous Android path | Prepare and validate the replacement before uninstalling the existing app. Preparation rejection or cancellation issues no uninstall. Preserve installer identity/result fields and clean prepared artifacts on failure. Add owner-level failure tests and live evidence per platform. | Update the documented partial-failure contract deliberately; the current Apple code explicitly preserves the old ordering. |
| Safe runner build cleanup — TOOL2-1 | Clean the directory actually built. Refuse an unsafe derived-path override without deleting its contents. The build script and daemon share the cleanup rule. A fixture outside the permitted root remains intact after refusal. | Preserve release-workflow supported override locations. |
| Client-owned artifact destinations — CONTR-4 residual | Persist client destination authority across capture start and stop/report. A remote response cannot select an unrelated local path, including on stop/report. An existing basename symlink cannot redirect a downloaded file outside caller authority. Test record, trace and perf across separate CLI processes. | Wait for or stack on #4358. Specify state keys, expiry/cleanup, per-field authority and legacy-client behavior first. |
| Local state and path hardening — CONTR2-4, CONTR-5, CONTR2-10 | Newly created launcher state/log files use private modes. Diagnostics and claim reconciliation cannot resolve ./.. outside the intended session root. Prove containment and retain uncertain recovery records. Split permissions from path validation. |
DSRV-4 and CONTR2-4 were removed from #4358; assign explicit owners. Do not silently chmod directories owned by another user. |
| Strict environment and retention bounds — DSRV-4, DSESS-5 | Empty/whitespace integer env uses the documented unset behavior. Refuse invalid numeric syntax. Retention cannot report a future expiry while a timer immediately deletes the artifact; enforce integral supported bounds at the owning input boundary. | Keep distinct env-parser and retention changes. Update flag/help limits when retention semantics change. |
| Safe release-tag handling — TOOL2-15 | Pass the dispatch tag as data, validate the supported release-tag grammar, and preserve JSON/shell boundaries. A shell-looking tag never executes and cannot produce an invalid manifest. | Verify both asset-release workflows; keep action-version upgrades separate. |
| Large-transfer budgets — DSRV-5, CMD-5, CONTR-12 | Give daemon/proxy uploads and install-source downloads explicit total, inactivity and cancellation contracts. A progressing transfer may exceed the old hard substep cap when the approved overall budget permits it; a stalled transfer terminates with typed evidence. Preserve bounded headers, ingress and aggregate install/result margin. Compare retaining a total cap with a progress-sensitive phase budget before selecting values. | #4368 owns this contract until a child exists. Wait for or stack on #4358. The existing install ledger remains an aggregate constraint, not proof that its current substep policy is optimal. |
| Typed behavior reasons — APPLE-10, CMD2-2, ANDR-13, CMD-2 and remaining sites | Have producers emit typed timeout/boot/dispatch reasons and make retry, fallback and cancellation consume them. Raw message/argv text is diagnostic only. Prove changing text cannot change behavior, including offline-then-ready boot observations. | #4368 owns triage. Split host-kit timeout construction from platform adapters; do not confuse #4363 infrastructure classification with boot-diagnostics coverage. Source-confirmed rule violations need not wait for live reproduction, while behavior changes still need production/device proof. |
| Apple boot and bounded spawns — APPLE-5/6/15 | Consolidate on one existing readiness owner with an explicit request deadline, per-phase bounds and cancellation. Every device-facing spawn receives a meaningful bounded contract or a justified explicit lifetime variant. Compare open, screenshot, settings and clipboard on a cold simulator. | #4368 owns triage. Preserve scoped host execution and report removed duplicate boot policy. Keep unrelated long-lived helper processes separate; do not impose one arbitrary global timeout. |
| Selector query semantics — ARUN2-2 | Establish normalization/whole-value/text-precedence parity for querySelector-backed get/is/wait through shared TS/Swift cases and live query evidence. | Separate child related to #1081. Preserve its newest Current state: Maestro direct-selector disambiguation is an intentional compatibility waiver. Changing the waived mutation path needs an explicit new decision; query parity does not authorize it. |
| Ref error wire shape — CAP-9 | Choose the supported bare/display ref contract, normalize at the owning producer/serializer boundary and verify all consumers and reasons. | Separate child related to #1081; this is not one of its five remaining guarantee cells. Coordinate current wire compatibility before changing values. |
| Safe plugin installation reclamation — PROV-4 | Preserve selected and running-daemon installations. Investigate bounded reclamation only when no selection, active daemon or required recovery evidence references an installation. Prove concurrent update/cleanup and unknown-owner retention; compare existing lifecycle records or quiescent cleanup before adding persistent reference state. | Remains active under #4368, not rejected. A deferral requires a separate open issue and a specific safe-GC/retention contract. Immediate deletion remains rejected because it violates the current runtime-file promise. |
Remaining work by owner
Android correctness
- Reproduce ANDR-1/2: literal
%sentry and false-success IME commits. Require actual committed text/outcome, including failure and truncation. - Reproduce ANDR-4/5/6: foreground-app reader divergence and warm-helper behavior. Preserve dispatch disclosure. An existing fallback is not permission to add another fallback.
- Route ANDR2-1/2/4/7 and related recovery evidence through recording/IME owners. Coordinate with Complete recording coordination and recoverable stop semantics #3745 and Android: durable flush evidence so a daemon restart inside the test-IME flush window cannot release adb emu kill #3346. Never signal a reused PID or retire unreadable recovery evidence.
- Measure ANDR-7/8 and ANDR2-12 before consolidating parse, helper lookup or inventory work. Keep API-level/device behavior in the acceptance contract.
Apple and runner correctness
- Reproduce APPLE2-1/2/3/5/6/7 and APPLE-3: idle socket errors, best-effort network recovery, live/recovery predicates, unreachable perf failure seam, iPad confirmation, macOS process selection and boot memo expiry.
- Reproduce ARUN-1/2/3/4 and ARUN3-2/3/4: safe alert-button choice, window attribution, disclosed limits, screenshot cleanup, Swift error cleanup, bridge deadlines and contained text-input probes.
- Include ARUN3-4, which the phase tables omit. Keep its degraded-tree text-entry trigger separate from keyboard performance.
- Track ARUN2-1/5 after fix(host-kit): one async process-identity reader and one identity-checked stop escalation #4359. Reuse identity verdicts; keep runner teardown/effect evidence with its owner. macOS sandbox blocks ps-backed recording process identity #2376 remains the distinct sandboxed native-identity problem.
- Reuse Apple runner: bound every runner phase by the request's absolute deadline #4023 for request-deadline work and Improve iOS keyboard return reliability and perf without English label probing #646 for ARUN3-1/5 keyboard queries. Coordinate simplification with Apple platform + runner: simplify, shrink, and preserve correctness (tracking) #2803. Memoizing a helper build does not require the persistent-helper design in macOS native app backend: follow-ups (guarantees, evidence, persistent helper, session backend) #3213.
Selectors, ref authority and capture construction
- Keep ARUN2-2 query parity and CAP-9 wire-shape work in their own children related to Interaction guarantee gaps (ADR 0011 umbrella) #1081. Its newest Current state lists five remaining cells; intentional Maestro direct-selector disambiguation is not an open parity gap. Limit ARUN2-2 to querySelector-backed get/is/wait unless a new decision changes the waived mutation semantics. Verify successful queries as well as error behavior.
- For CMD2-4, a newer operational observation must not replace the authorized ref-frame tree during preflight. Test disagreeing frame/observation nodes through a native-ref backend. Relate this frame-authority follow-up to Interaction guarantee gaps (ADR 0011 umbrella) #1081 without silently adding a sixth guarantee cell there.
- Finish DCORE-5 by binding capture for the remaining production callers, making the required input non-optional and removing the legacy capture path in the same change. Preserve replay divergence and React Native overlay behavior. Coordinate the boundary with 0.22: extract replay and test into a vetted first-party plugin #3871.
- Finish DSESS-7 at session construction. Supply complete test hosts; remove test-only defaults and silent cancellation no-ops. Reuse Architecture quality: runtime ownership, collocated teardown, trustworthy impact and test evidence (umbrella) #4045's ownership decisions; do not recreate its already merged request-construction work.
Recording and provider lease ownership
- Reuse Complete recording coordination and recoverable stop semantics #3745 for unconfirmed recording stop/recovery and PROV2-2 HarmonyOS recorder toggle ownership.
- Add DCORE-3, omitted from the phase tables: repeated native gestures must anchor recording overlays to the first actual repetition. Verify
count > 1with native timing and a recorded device run. - Extend the scope of refactor(providers): share one lease table across cloud device providers #4102 explicitly for PROV-2 and the CMD2-13 delivery-deadline race. Current Revyl/provision-kit ownership differs from the issue's original extraction wording. Migrate one provider at a time; prove cancellation, final-waiter expiry, failed release and shutdown before deleting its old state machine.
- For CAP3-2, trace each cleanup/disposal owner before changing the generic recovery contract. Bound startup waiting while preserving fences and retained evidence. Renaming the acquisition deadline alone does not demonstrate bounded cleanup, and abandoning a promise alone does not stop its work.
Providers and other platforms
- Finish PROV-5/11: Linux ydotool command semantics and AT-SPI truncation disclosure. Keep host/device evidence in their own changes.
- Finish PROV2-4: bound/cancel WebDriver page-source probing and demonstrate the correct scroll viewport on a real backend.
- Reproduce low-severity input/state failures before cosmetic consolidation: stuck mouse-button cleanup, wrong/unavailable runtime facts, parsing quoted web values, and cloud-session lifetime bookkeeping.
- Coordinate HarmonyOS work with Extract HarmonyOS behind a platform plugin interface, then ship it as @agent-device/harmonyos (0.22) #4317; keep platform extraction separate from local correctness fixes. Reuse 0.22: remove superseded plugin, client and environment APIs #3759 for PROV-20 rather than creating another plugin-v1 removal project.
CLI, MCP, SDK and replay
- Preserve the merged fix(cli,mcp): reliable MCP stdio, cancellation, shared session lock, strict mcp args #4355 scope and keep fix(replay): escape recorded interpolation, run scripts off the event loop, harden Maestro and test flows #4363 as the replay implementation owner. Add a separate REPLAY-19 contract for the default test-attempt deadline, override behavior, typed timeout and child cleanup. Preserve the pinned Maestro loop semantics.
- Decide SRC-6 token cache scope and invalidation before implementation. Include tenant, daemon, session/run identity and credential lifetime; measure the extra refresh cost.
- Finish DEXEC-4 at duration-wait admission. Keep device selection unchanged for waits that actually inspect a device.
- Decide DEXEC-6's artifact-size wire contract before removing eager archives. Prove supported released clients can consume it.
- Triage structured-input validation and numeric grammar issues, including CMD2-6, independently of parser/style consolidation. Reproduce across CLI, MCP and typed-client entrypoints where applicable.
Capture and measured performance
- After fix(capture): audit remediation for redaction, capture lifecycle, contract validation and snapshot performance #4366, retain CAP-2 as a worst-case memory/performance follow-up. Require a bounded memory design and equivalent output on adversarial/disjoint trees; typed-array traces still use O(D²) retained integers.
- Measure CAP-5/6, CAP2-5, CAP3-5, CMD2-8 and the remaining redundant capture/index passes. Preserve output, cancellation and ownership rather than adding a broad cache.
- Split X4 into helper build single-flight/fingerprints, runner cache reuse, native-toolchain lookup and plist reads. Include APPLE-1/2/7/8/9/11/12, ARUN-5, ARUN2-3, DEXEC-5 and SRC2-1 explicitly in their owning measurement batches. Require observed spawn/read reductions and before/after device output; identity, output and cancellation guarantees remain intact.
- Keep APPLE2-4 identity-read reduction separate from fix(host-kit): one async process-identity reader and one identity-checked stop escalation #4359's asynchronous identity implementation. Never cache another process's identity across the signal boundary merely to reduce probes.
Gates, docs and justified removal
- Finish TEST2-4 strict Apple fakes. A new or unmodeled command must fail at the same seam production uses. Model the actual call or fix its production owner.
- Decide DOCS-1/TOOL2-3 automated recording/replay ownership. Prefer moving useful assertions into owned fixture lanes. Delete only after proving stronger retained coverage and the affected failure scenario. Manual-only ownership is a documented state, not proof of unreachable tests.
- Reconcile TOOL-4 with documented local versus GitHub gate ownership. Include omitted runnable unit/cheap checks without blindly running native/CI obligations locally. Finish TOOL2-5 and independently verify DOCS-10 duplication.
- Triage TOOL2-8 coverage-stamp integrity even though it is low severity. An old coverage report must not certify another commit.
- Rerun BASE-2 after active fixes. Check public/dynamic references and packaged production dependencies before removals. Remove newly unused backend methods from refactor: align ADRs with the code and delete unreachable command-runtime families #4361 only after caller verification.
- Preserve compiler type proofs, golden tables, identity pins, exact-array completeness checks and cross-language contracts. Follow the repository test-audit requirements before deleting guards.
- Verify real upstream action versions and runner compatibility for TOOL-26/BASE-3. Do not turn a reported outdated-major list into an unchecked upgrade task.
- Keep naming, comment cleanup, barrel consolidation and unreferenced evidence reports out of standalone PRs unless there is a concrete maintenance benefit. Prefer indexing historical evidence over deleting it based on repository-only backlink searches.
Behavior-impacting low-severity work with explicit ownership
These entries remain active under #4368 until a scoped child is linked. They cannot be bulk-classified as cosmetic or closed because a related broad PR merged. Use separate owner changes rather than one mixed-package PR.
| IDs | Owner boundary and prevention contract | Dependency |
|---|---|---|
| CONTR-13 | Proxy upload-ticket origin: admit only supported scheme values from forwarded metadata and keep the host/origin authority explicit. Test malformed schemes cannot redirect credentials. | Follow up on #4358; do not assume its redirect fix validates advertised ticket origins. |
| PROV2-9 | Web managed-process recording: verify executable/script launch provenance before issuing a process ownership record. Editor/tail/grep arguments mentioning an install root must not authorize reaping them or their descendants. | Coordinate #4359, which changes identity reads, not this matching policy. |
| DEXEC-9 | Screenshot publication: stage capture and crop before replacing caller output; failed crop preserves the prior file and never publishes the uncropped frame. | Local screenshot/artifact owner; retain path authority and cleanup semantics. |
| REPLAY2-16 | Native-to-Maestro export: preserve literal versus intended interpolation through every text/selector field and prove format round trips. | Depends on #4363's REPLAY-1 provenance and inverse escaping. |
| DSRV-9 | Socket admission: authentication precedes activity/in-flight accounting, so rejected traffic cannot postpone idle shutdown or force busy outcomes. | Coordinate transport edits in #4358. |
| ANDR-17 | Stabilized screenshot: restore the exact prior demo setting, including an absent value, after success, failure and cancellation. | Android screenshot owner; live state-restoration evidence. |
| CONTR2-11 | Event-log append/rotation: a failed rotation cannot discard subsequent events; cursor degradation and bounded reading are explicit. | Coordinate cursor changes in #4366. |
| PROV-13 | AWS lease readiness: evaluate the last observed RUNNING state before failure/cleanup, retaining the session if acquisition succeeded. | Provider lease owner and #4102 coordination. |
| CMD-9 | Host process groups: parent exit and owned-group termination are separate facts; surviving descendants remain tracked and each later signal requires valid identity authority. | Coordinate #4359; reproduce detached parent/grandchild ordering before changing group signals. |
Report-by-report disposition and prevention assessment
Maintain a named triage child or child section for each of the 29 reports, using the source intake and prevention ledger below. #4368 remains the active owner until those child links exist. Each row records: current trigger or rejection evidence, behavior impact, root cause, owner/invariant, candidate design or no-structural-change rationale, required proof, and resulting implementation/open-deferral issue.
Every low broken claim receives a reproduce/confirm or reject-with-evidence verdict. inconsistent claims with behavior impact follow the same rule. Bulk opportunistic disposition is permitted only for genuinely non-behavioral maintenance rows with a reason. Mixed “small leftovers” entries must be split into their actual subitems. An audit-derived design direction is not reproduction evidence. A source-confirmed structural violation can be confirmed by its owning code; device evidence is still required when implementation changes device behavior.
This replaces the original plan's unbounded low-severity tail with an explicit completion contract. No report is complete while behavior-impacting rows remain in an unexamined pool.
Decisions to record before implementation
Proposed dispositions:
- PROV-4: reject immediate deletion and preserve files used by selected/running installations. Keep safe reclamation and bounded retention as active work under Repository audit remediation for 10 November 2026 #4368 until a separate open GC issue owns it. This does not reject the unbounded-storage problem.
- REPLAY-8: preserve Maestro compatibility; address unbounded enclosing attempts through REPLAY-19.
- CMD-5 / DSRV-5 / CONTR-12: decide total versus inactivity/phase budgets for large progressing transfers. Keep the aggregate request/install ledger and header/ingress limits bounded. Do not treat the current 120 s substep cap as settled merely because a larger command envelope exists or an old test records it.
- DOCS-1/TOOL2-3: choose automated coverage ownership and retained proof before deletion.
- CMD-17: reproduce actual session-artifact interference before choosing a directory-encoding migration. Main already guards the idle-marker collision case.
- CONTR-4, CAP3-2, SRC-6 and DEXEC-6: settle destination authority, recovery bounds, token scope and wire shape respectively before marking those children ready.
- ARUN-16 / CAP-18: decide each proposed symbol/guard removal using enforced invariants and stronger retained proof; mutation survivor counts and test-only usage alone do not authorize deletion.
- CONTR-17 / CONTR2-14: retain compiler-enforced negative proofs and ensure target inclusion. A move to type-proof files or Vitest typecheck must preserve the actual compiler check; runtime assertion counts are not the criterion.
- DOCS-12: decide evidence retention/indexing using issue/PR consumers as well as repository links.
- TOOL-26 / BASE-3: verify supported upstream action/runtime/runner versions before selecting upgrades.
- BASE-2: rerun analysis after active changes and distinguish dead exports from public/dynamic roots and production dependency packaging.
- REPLAY-19: choose finite versus intentionally unbounded attempt defaults, overrides and cancellation/cleanup behavior. Preserve pinned Maestro loop compatibility.
Publish accepted scope changes as Decision: <topic>: comments. Do not apply wontfix without an explicit maintainer decision. Apply needs-triage when creating the umbrella; mark only fully specified, unblocked children ready-for-agent.
Prevention design required for each accepted finding
Per-finding exploration: ledger part 1, part 2, part 3. Review reconciliation decision.
The accompanying per-entry ledger explores a prevention direction for every source ID. Directions are candidates, including cases where the right result is a local correction, deletion or retaining an existing design. A merged fix is not automatically reopened. First check whether its implementation already establishes the intended invariant.
Each child must include these fields before it is ready for implementation:
- Trigger and root cause: the concrete failure or measured cost, plus the hidden assumption or duplicated decision that allowed it.
- Invariant and owner: what must remain true and which existing constructor, decoder, lifecycle owner or publication boundary can enforce it. Use exact current source paths.
- Simplest design: compare direct correction, deletion/inlining and reuse of an existing owner before extraction. State the supported inputs, outputs and unknown/error cases; include a small API/data example where a boundary changes.
- Mechanisms removed: name the old state, branch, protocol path, duplicate policy or repeated work that disappears. A new wrapper, type brand, shared helper or file move alone does not prove prevention.
- Proof against recurrence: demonstrate a credible sibling case at the production seam, not only the original example. Use compiler completeness, cross-language fixtures, round trips, failure injection, interleaving or measured work bounds as appropriate. Keep exact-head and device evidence obligations.
- Compatibility and constraints: identify supported wire/public/persisted consumers, request scopes, ownership fences, eager import budgets and the relevant ADR decision. A type assertion cannot validate untrusted data; a raced promise cannot cancel work; a cache requires complete identity and invalidation.
| Recurring class | Prevention direction | Examples |
|---|---|---|
| Validation after acquisition/effects | Decode a valid operation plan before lease admission/binding; expire mutation authority only at dispatch. | DEXEC-2/4/11, CMD2-1/6, DSRV-4 |
| Ambiguous success/absence/failure | Produce discriminated outcomes and preserve independent facts through transport and aggregation. | DCORE-1, ANDR-2, ANDR2-2/4, DEXEC-10 |
| Caller-controlled or stale authority | Admit effects through existing root/path, request, frame or process-identity owners; carry provenance rather than infer it. | CONTR-1/4/5/13, CMD2-4, ANDR-3, PROV2-9 |
| Destructive work before validation | Prepare reversible input first and publish output only after all transforms validate. Retain partial-effect facts. | APPLE-4, DEXEC-9, DSRV-6 |
| Unclear resource lifetime | One existing owner handles acquire, handoff, stop and recovery; uncertainty retains evidence and never authorizes duplicate destructive work. | DCORE-2, CAP2-4, CAP3-2, PROV2-2 |
| Duplicated semantic rules | Reuse the actual domain owner and derive true projections; explicitly preserve intentional variants. | CONTR-8, APPLE-5, CMD2-2, ARUN2-2 |
| Repeated snapshot/native work | Carry a bounded immutable analysis or observation through one operation. Cache preparation only with proven identity/invalidation. | CAP-1/5/6, ANDR-7, ARUN-6/7, APPLE-1 |
| Serialization changes meaning | Preserve literal/reference, frame, timing and identity provenance; test both encoding directions and target-format semantics. | REPLAY-1, REPLAY2-16, DCORE-3, CMD2-5 |
| Guards certify declarations rather than reality | Tie proof to actual source roots, validated artifacts, compiled targets and collected/executed tests. | TEST2-1/3/5, TOOL-1/2, TOOL2-8 |
The ledger codes identify reusable proof methods, not new framework modules: A authority, B budgets, C cache identity, D justified deletion, E executable proof, F presentation, G workflow execution, H captured host/process boundary, I immutable analysis, K compatibility decision, L lifetime, N native observation, O semantic owner, P provenance, R typed outcome, S proper declaration/projection, T staged effect/publication, V validated input, X local clarity without a new abstraction.
Respect ADR0028's rejection of a universal capability-cell generator, ADR0014 frame authority, ADR0024's independent export/recorder facts, ADR0030 lock exclusion and ADR0027 eager-loading constraints. Do not add a new state database, global cache, generic service or abstraction solely because several findings share a category. If existing boundaries already enforce the invariant, record that outcome and retain the simpler design.
The linked design comments are exploration inputs. They do not approve a breaking change, native fallback, global timeout, command reissue or speculative cleanup policy. A supported current decision can be reconsidered only with new evidence and an explicit owning Decision:.
Agent context and fast regression feedback
Treat misleading agent guidance as part of the audit's recurrence mechanism. A source-correct fix is insufficient when the instructions repeatedly direct later agents toward obsolete boundaries, duplicated tests or inaccurate validation claims.
Context corrections
The context pass at base f4b01839e37d0f38d0c68fbbedf76267cd98e009 identified and prepared a local patch for:
AGENTS.md: read every applicable task-routing row, rather than interpreting “only your task's row” as one document for a task involving code, tests and checks.CONTEXT.md: describeInteractoras mechanics still used by some bound runtime adapters; distinguish intentional waivers from tracked gaps; distinguish coverage declarations from executed scenario evidence.docs/agents/test-authoring.md: remove the false claim that scripts tests are outside root TypeScript inclusion. Compiler inclusion and test collection are separate. Choose the test boundary by the behavior being changed.docs/agents/test-audit.md: retain independent contracts while actively removing weaker duplicate mocks after stronger retained detection is proven. Check collection, skip guards and both automatic/manual lane ownership for never-run claims.docs/agents/testing.md: describe the actual aggregates run bypnpm check; remove the stale unit-duration estimate. Keep explicit local-versus-CI obligations.
The existing guidance checks enforce shape, references and byte budgets. They do not prove every statement is true. For changed context, compare each behavioral or ownership claim with the current compiler, registry, runtime constructor, runner and newest issue decision. Keep normative rules with their owning task guide and the glossary descriptive. Do not add prose-mirror tests or another facts registry.
Test selection and deletion policy
- For command behavior, default to a focused provider-backed integration scenario through the real client/request/router/runtime path, faking external tools at their actual seam. Extend an existing scenario before creating a parallel mocked handler test.
- For OS behavior, native delivery, helper protocols and platform support, use the owning E2E/smoke harness with semantic outcomes and a current-head lane. Keep the fixture setup deterministic and verify resulting app/device state, not just command success.
- Keep focused unit/property/type/cross-language tests for pure logic, exhaustive edge cases, timing/interleavings and independent completeness/identity contracts. Test count and coverage percentage alone cannot justify retention or deletion.
- Delete a weaker behavioral test when the retained integration/E2E scenario detects the same credible production regression. Move unique negative, cancellation, dispatch, lifetime and recovery assertions first. Preserve compiler proofs when removing runtime-only wrappers.
- Evaluate source-string mirrors, stale tombstones and duplicated fixture scaffolding for deletion or replacement by actual packaged/runtime behavior. Preserve publishing security/order, registries, architectural completeness and independent golden contracts.
- Do not replace every inexpensive parser/unit case with a device journey. Prefer one meaningful scenario at each boundary over duplicated assertions at every layer.
Proven initial deletion
The local patch removes only alert wait forwards its timeout budget to the runtime leg from packages/daemon/src/execution/handlers/__tests__/snapshot-alert.test.ts. The retained ios-alert-settings.test.ts provider scenario calls the real client with timeoutMs: 37 and requires that exact value in its runner transcript. It remains collected in provider-integration and executed in CI's coverage project set.
In a disposable checkout at the base, with the candidate already removed:
- Retained handler/provider scenarios: 10 passed.
- Change the bound alert invocation to use the default timeout for every wait: 1 failed, 9 passed. The failing test is the retained provider integration scenario, which rejects the unexpected runner call.
- Restore production code, keeping the candidate removed: 10 passed.
The implementation checkout also passes those 10 retained tests. The maximum-window refusal and other typed-error/lifecycle tests remain. This is retained-detection and maintenance evidence, not a measured whole-suite speedup.
Fast-loop completion conditions
- Each accepted change names a small focused test or scenario for editing, plus its review/push and CI/device obligations. Run the focused path during edits and the selected broader validation at its required boundary.
- Record time to first actionable failure, collection/import/setup cost, repeat executions and flake rate. Separate initial install/build from warm reruns. Compare under the same worker/host conditions; fewer tests alone is not speed evidence.
- Remove duplicate execution before adding another lane or framework. Preserve one explicit owner for each retained automatic/manual scenario and report skips separately.
- Keep the broad production-unit fallback from investigate(gates): model source-reading test dependencies before narrowing selection #4050 while source-reading guard dependencies remain incompletely modeled. Integration imports cannot detect every source-text, cross-language, generated or history-based dependency. Revisit narrowing only with exhaustive read-class inventory, staleness/omission detection and planted failures, without allowlists.
- For further deletions, record the candidate, retained assertions, production mutant, runner/skip ownership and baseline/mutant counts. For dead tests with no remaining behavior, record consumer and collection evidence. Keep one owner boundary per deletion batch.
The context/test patch is local and uncommitted; it is not merged implementation evidence. Full-repository formatting, lint/typecheck, agent-guidance checks and the retained focused tests pass. Independent sentence-by-sentence review is required before publishing the guidance change. No gate selector, CI timeout, skip, retry, device or production behavior was changed.
Execution and closure
- Refresh main and active PR states before scheduling a child. Wait, stack on the named prerequisite, or explicitly rescope.
- Link exact audit IDs and the current owning source. Record a reproducible trigger or measurement. If the claim is obsolete or false, preserve the reason and evidence instead of creating code churn.
- Use one production owner and one reviewable change per PR. Split broad packages such as C5/C6/X4 into independent contracts. Assign by risk and required evidence, not the audit's model-name column.
- Include required behavior, observable completion and dependency links in each child. Use typed reasons; remove superseded paths during migrations.
- Validate at the exact head through the owning gates. Supply device evidence for changed device behavior. Keep failures, skips, older-head evidence and successful receipts distinct.
- After a child PR merges, post
Current state:with merged PRs, open PRs and the next step. Read the newest decisions/current-state comment before continuing.
Close this umbrella only after every canonical entry has an evidence-backed disposition: implemented and verified, already covered, rejected with evidence, or explicitly deferred to a linked open GitHub issue with required behavior, reason and a next action. A package name, merged PR or this closing umbrella is not a deferral tracker. Every low behavior-impacting claim needs an individual verdict. The closing Current state: must list every deferred ID and its open issue number; explicitly accepted remaining work stays open there. Verify child issue states and implementation PRs, residuals and prevention evidence before closure. Non-behavioral maintenance candidates may receive a reasoned opportunistic disposition without mandatory standalone refactors.
Finding disposition intake
This intake preserves all 548 source findings plus three BASE entries; five rows alias another ID. It incorporates the review promotions above. merged-scope records covered scope, open-pr-scope an active implementation and partial-scope a residual. explicit-follow-up stays active under #4368 until a scoped child exists. decision-required needs the named behavior/retention decision. reproduce-first and owner-triage require current evidence and individual behavior-impact verdicts. opportunistic has no standalone change proposed. These buckets are not completed implementation claims.
Every row also has a prevention direction in the linked design-ledger comments. Source-derived candidates do not count as reproduction, accepted architecture or new test receipts. A merged PR does not close a residual. Deferral at umbrella closure requires a separate open issue.
apple-runner-native-2.md — 11 entries
- explicit-follow-up: ARUN2-1, ARUN2-5.
- reproduce-first: ARUN2-2, ARUN2-3.
- owner-triage: ARUN2-4, ARUN2-6, ARUN2-7, ARUN2-8, ARUN2-9, ARUN2-10.
- opportunistic: ARUN2-11.
apple-runner-native-3.md — 14 entries
- reproduce-first: ARUN3-1, ARUN3-2, ARUN3-3, ARUN3-5.
- explicit-follow-up: ARUN3-4.
- owner-triage: ARUN3-6, ARUN3-7, ARUN3-8, ARUN3-9, ARUN3-10, ARUN3-11, ARUN3-12, ARUN3-13, ARUN3-14.
apple-runner-native.md — 21 entries
- reproduce-first: ARUN-1, ARUN-2, ARUN-3, ARUN-4, ARUN-5, ARUN-6, ARUN-7.
- owner-triage: ARUN-8, ARUN-9, ARUN-10, ARUN-11, ARUN-12, ARUN-13, ARUN-14, ARUN-15, ARUN-17, ARUN-18, ARUN-21.
- decision-required: ARUN-16.
- opportunistic: ARUN-19.
- alias: ARUN-20.
capture-selectors-kernel-2.md — 18 entries
- open-pr-scope: CAP2-1, CAP2-2, CAP2-3, CAP2-4.
- explicit-follow-up: CAP2-5.
- owner-triage: CAP2-6, CAP2-7, CAP2-8, CAP2-9, CAP2-10, CAP2-11, CAP2-12, CAP2-13, CAP2-14, CAP2-15, CAP2-16, CAP2-17, CAP2-18.
capture-selectors-kernel-3.md — 17 entries
- open-pr-scope: CAP3-1, CAP3-3, CAP3-4.
- partial-scope: CAP3-2.
- owner-triage: CAP3-5, CAP3-6, CAP3-7, CAP3-8, CAP3-9, CAP3-10, CAP3-11, CAP3-12, CAP3-13, CAP3-14, CAP3-15, CAP3-16, CAP3-17.
capture-selectors-kernel.md — 23 entries
- open-pr-scope: CAP-1, CAP-3, CAP-4.
- partial-scope: CAP-2.
- explicit-follow-up: CAP-5, CAP-6, CAP-9.
- owner-triage: CAP-7, CAP-8, CAP-10, CAP-11, CAP-12, CAP-13, CAP-14, CAP-15, CAP-16, CAP-17, CAP-19, CAP-20, CAP-21, CAP-23.
- decision-required: CAP-18.
- opportunistic: CAP-22.
command-packages-2.md — 15 entries
- merged-scope: CMD2-1, CMD2-3.
- explicit-follow-up: CMD2-2.
- partial-scope: CMD2-4.
- owner-triage: CMD2-5, CMD2-6, CMD2-7, CMD2-8, CMD2-9, CMD2-10, CMD2-11, CMD2-12, CMD2-13, CMD2-14, CMD2-15.
command-packages.md — 21 entries
- merged-scope: CMD-1.
- explicit-follow-up: CMD-2, CMD-9.
- open-pr-scope: CMD-3, CMD-4, CMD-6.
- decision-required: CMD-5, CMD-17.
- owner-triage: CMD-7, CMD-8, CMD-10, CMD-11, CMD-12, CMD-13, CMD-14, CMD-15, CMD-16, CMD-18, CMD-19, CMD-20, CMD-21.
contracts-clients-2.md — 16 entries
- open-pr-scope: CONTR2-1, CONTR2-2.
- merged-scope: CONTR2-3.
- explicit-follow-up: CONTR2-4, CONTR2-11.
- owner-triage: CONTR2-5, CONTR2-6, CONTR2-7, CONTR2-8, CONTR2-9, CONTR2-10, CONTR2-12, CONTR2-13, CONTR2-15.
- decision-required: CONTR2-14.
- opportunistic: CONTR2-16.
contracts-clients-3.md — 13 entries
- open-pr-scope: CONTR3-1, CONTR3-2, CONTR3-3.
- owner-triage: CONTR3-4, CONTR3-5, CONTR3-6, CONTR3-7, CONTR3-8, CONTR3-9, CONTR3-11, CONTR3-12, CONTR3-13.
- opportunistic: CONTR3-10.
contracts-clients.md — 19 entries
- open-pr-scope: CONTR-1, CONTR-2, CONTR-3, CONTR-6.
- partial-scope: CONTR-4.
- owner-triage: CONTR-5, CONTR-7, CONTR-8, CONTR-9, CONTR-10, CONTR-11, CONTR-12, CONTR-14, CONTR-15, CONTR-18, CONTR-19.
- explicit-follow-up: CONTR-13.
- opportunistic: CONTR-16.
- decision-required: CONTR-17.
daemon-core.md — 17 entries
- merged-scope: DCORE-1, DCORE-2, DCORE-4.
- explicit-follow-up: DCORE-3.
- reproduce-first: DCORE-5.
- owner-triage: DCORE-6, DCORE-7, DCORE-8, DCORE-9, DCORE-10, DCORE-11, DCORE-12, DCORE-13, DCORE-14, DCORE-15, DCORE-17.
- opportunistic: DCORE-16.
daemon-execution.md — 20 entries
- merged-scope: DEXEC-1, DEXEC-2, DEXEC-3, DEXEC-7.
- explicit-follow-up: DEXEC-4, DEXEC-6, DEXEC-9.
- reproduce-first: DEXEC-5.
- owner-triage: DEXEC-8, DEXEC-10, DEXEC-11, DEXEC-12, DEXEC-13, DEXEC-14, DEXEC-15, DEXEC-16, DEXEC-18, DEXEC-19, DEXEC-20.
- opportunistic: DEXEC-17.
daemon-server-core.md — 17 entries
- merged-scope: DSRV-1, DSRV-2.
- open-pr-scope: DSRV-3, DSRV-6, DSRV-8.
- explicit-follow-up: DSRV-4, DSRV-5, DSRV-9.
- owner-triage: DSRV-7, DSRV-10, DSRV-11, DSRV-12, DSRV-13, DSRV-14, DSRV-15, DSRV-16.
- opportunistic: DSRV-17.
daemon-sessions.md — 21 entries
- merged-scope: DSESS-1, DSESS-2, DSESS-4, DSESS-6.
- alias: DSESS-3.
- owner-triage: DSESS-5, DSESS-8, DSESS-9, DSESS-10, DSESS-11, DSESS-12, DSESS-13, DSESS-14, DSESS-15, DSESS-16, DSESS-17, DSESS-18, DSESS-19, DSESS-20.
- explicit-follow-up: DSESS-7.
- opportunistic: DSESS-21.
maestro-replay-rn-2.md — 21 entries
- open-pr-scope: REPLAY2-1, REPLAY2-2, REPLAY2-3, REPLAY2-4.
- owner-triage: REPLAY2-5, REPLAY2-6, REPLAY2-7, REPLAY2-8, REPLAY2-9, REPLAY2-10, REPLAY2-11, REPLAY2-12, REPLAY2-13, REPLAY2-14, REPLAY2-15, REPLAY2-17, REPLAY2-18, REPLAY2-19, REPLAY2-20, REPLAY2-21.
- explicit-follow-up: REPLAY2-16.
maestro-replay-rn.md — 26 entries
- open-pr-scope: REPLAY-1, REPLAY-2, REPLAY-3, REPLAY-4, REPLAY-5, REPLAY-6, REPLAY-7.
- decision-required: REPLAY-8, REPLAY-19.
- owner-triage: REPLAY-9, REPLAY-10, REPLAY-11, REPLAY-12, REPLAY-13, REPLAY-14, REPLAY-15, REPLAY-16, REPLAY-17, REPLAY-18, REPLAY-20, REPLAY-21, REPLAY-22, REPLAY-24, REPLAY-25, REPLAY-26.
- opportunistic: REPLAY-23.
platform-android-2.md — 19 entries
- reproduce-first: ANDR2-1, ANDR2-2, ANDR2-3, ANDR2-12.
- owner-triage: ANDR2-4, ANDR2-5, ANDR2-6, ANDR2-7, ANDR2-8, ANDR2-9, ANDR2-10, ANDR2-11, ANDR2-13, ANDR2-14, ANDR2-15, ANDR2-16, ANDR2-17, ANDR2-18, ANDR2-19.
platform-android.md — 19 entries
- reproduce-first: ANDR-1, ANDR-2, ANDR-3, ANDR-4, ANDR-5, ANDR-6, ANDR-7, ANDR-8.
- owner-triage: ANDR-9, ANDR-10, ANDR-11, ANDR-12, ANDR-14, ANDR-15, ANDR-16, ANDR-18, ANDR-19.
- explicit-follow-up: ANDR-13, ANDR-17.
platform-apple-2.md — 21 entries
- reproduce-first: APPLE2-1, APPLE2-2, APPLE2-3, APPLE2-5, APPLE2-6, APPLE2-7.
- explicit-follow-up: APPLE2-4.
- owner-triage: APPLE2-8, APPLE2-9, APPLE2-10, APPLE2-11, APPLE2-12, APPLE2-13, APPLE2-14, APPLE2-15, APPLE2-16, APPLE2-18, APPLE2-19, APPLE2-20, APPLE2-21.
- opportunistic: APPLE2-17.
platform-apple.md — 18 entries
- reproduce-first: APPLE-1, APPLE-2, APPLE-3, APPLE-4, APPLE-7, APPLE-8, APPLE-9, APPLE-11, APPLE-12.
- explicit-follow-up: APPLE-5, APPLE-6, APPLE-10, APPLE-15.
- owner-triage: APPLE-13, APPLE-14, APPLE-16, APPLE-17, APPLE-18.
providers-platforms-2.md — 16 entries
- open-pr-scope: PROV2-1, PROV2-3, PROV2-5.
- reproduce-first: PROV2-2.
- explicit-follow-up: PROV2-4, PROV2-9.
- owner-triage: PROV2-6, PROV2-7, PROV2-8, PROV2-10, PROV2-11, PROV2-12, PROV2-13, PROV2-14, PROV2-16.
- opportunistic: PROV2-15.
providers-platforms.md — 27 entries
- open-pr-scope: PROV-1, PROV-3, PROV-6, PROV-7, PROV-8, PROV-9, PROV-10.
- reproduce-first: PROV-2, PROV-5, PROV-11.
- decision-required: PROV-4.
- owner-triage: PROV-12, PROV-14, PROV-15, PROV-16, PROV-17, PROV-18, PROV-19, PROV-20, PROV-21, PROV-22, PROV-23, PROV-24, PROV-25, PROV-26, PROV-27.
- explicit-follow-up: PROV-13.
src-cli-mcp-sdk-2.md — 14 entries
- reproduce-first: SRC2-1.
- open-pr-scope: SRC2-2, SRC2-4.
- merged-scope: SRC2-3, SRC2-5, SRC2-6.
- owner-triage: SRC2-7, SRC2-8, SRC2-9, SRC2-10, SRC2-11, SRC2-12, SRC2-13, SRC2-14.
src-cli-mcp-sdk.md — 24 entries
- merged-scope: SRC-1, SRC-2, SRC-3, SRC-4, SRC-5, SRC-7.
- explicit-follow-up: SRC-6.
- owner-triage: SRC-8, SRC-10, SRC-11, SRC-12, SRC-13, SRC-14, SRC-15, SRC-16, SRC-17, SRC-18, SRC-19, SRC-20, SRC-21, SRC-22, SRC-23, SRC-24.
- alias: SRC-9.
tests-docs-website-2.md — 15 entries
- merged-scope: TEST2-1, TEST2-2, TEST2-3, TEST2-5.
- reproduce-first: TEST2-4.
- owner-triage: TEST2-6, TEST2-7, TEST2-8, TEST2-9, TEST2-10, TEST2-11, TEST2-12, TEST2-13, TEST2-14, TEST2-15.
tests-docs-website.md — 16 entries
- decision-required: DOCS-1, DOCS-12.
- merged-scope: DOCS-2, DOCS-3, DOCS-5, DOCS-6, DOCS-7, DOCS-8.
- partial-scope: DOCS-4.
- alias: DOCS-9.
- explicit-follow-up: DOCS-10.
- owner-triage: DOCS-11, DOCS-13, DOCS-15.
- opportunistic: DOCS-14, DOCS-16.
tooling-ci-config-2.md — 22 entries
- reproduce-first: TOOL2-1.
- merged-scope: TOOL2-2, TOOL2-4.
- decision-required: TOOL2-3.
- explicit-follow-up: TOOL2-5.
- owner-triage: TOOL2-6, TOOL2-7, TOOL2-8, TOOL2-9, TOOL2-10, TOOL2-11, TOOL2-12, TOOL2-13, TOOL2-14, TOOL2-15, TOOL2-16, TOOL2-17, TOOL2-18, TOOL2-19, TOOL2-20, TOOL2-21.
- opportunistic: TOOL2-22.
tooling-ci-config.md — 27 entries
- merged-scope: TOOL-1, TOOL-2, TOOL-3, TOOL-5, TOOL-6, TOOL-7, TOOL-11.
- explicit-follow-up: TOOL-4.
- owner-triage: TOOL-8, TOOL-9, TOOL-10, TOOL-12, TOOL-13, TOOL-14, TOOL-15, TOOL-16, TOOL-17, TOOL-18, TOOL-19, TOOL-20, TOOL-21, TOOL-22, TOOL-23.
- opportunistic: TOOL-24, TOOL-25, TOOL-27.
- decision-required: TOOL-26.
PLAN.md — 3 entries
- merged-scope: BASE-1.
- decision-required: BASE-2.
- alias: BASE-3.
Activity
apex-sentinel-staging commentedon Nov 10, 2026
Apex Sentinel · Issue review
I cannot review this issue, as
input_limits.issue_desc_max_sizeis exceeded (49,522/30,000 characters). Shorten the description (a long log or stack trace can go in a gist or an attached file), and I will review it once it is under the limit.thymikee commentedon Nov 10, 2026
Prevention design ledger 1 of 3
Prevention design exploration for #4368. Each row is an audit-derived candidate to evaluate at the existing owner, not an approved abstraction or a new confirmed defect. Merged fixes need no follow-up if they already enforce the invariant. Aliases share their canonical direction. The issue body defines design/proof requirements and the prevention family codes.
apple-runner-native-2.md
apple-runner-native-3.md
apple-runner-native.md
capture-selectors-kernel-2.md
capture-selectors-kernel-3.md
capture-selectors-kernel.md
command-packages-2.md
command-packages.md
contracts-clients-2.md
contracts-clients-3.md
contracts-clients.md
daemon-core.md
daemon-execution.md
daemon-server-core.md
thymikee commentedon Nov 10, 2026
Prevention design ledger 2 of 3
Prevention design exploration for #4368. Each row is an audit-derived candidate to evaluate at the existing owner, not an approved abstraction or a new confirmed defect. Merged fixes need no follow-up if they already enforce the invariant. Aliases share their canonical direction. The issue body defines design/proof requirements and the prevention family codes.
daemon-sessions.md
maestro-replay-rn-2.md
maestro-replay-rn.md
platform-android-2.md
platform-android.md
platform-apple-2.md
platform-apple.md
providers-platforms-2.md
providers-platforms.md
src-cli-mcp-sdk-2.md
src-cli-mcp-sdk.md
tests-docs-website-2.md
thymikee commentedon Nov 10, 2026
Prevention design ledger 3 of 3
Prevention design exploration for #4368. Each row is an audit-derived candidate to evaluate at the existing owner, not an approved abstraction or a new confirmed defect. Merged fixes need no follow-up if they already enforce the invariant. Aliases share their canonical direction. The issue body defines design/proof requirements and the prevention family codes.
tests-docs-website.md
tooling-ci-config-2.md
tooling-ci-config.md
PLAN.md
thymikee commentedon Nov 10, 2026
Decision: prevention design and review reconciliation:
Add a prevention assessment for every audit entry while keeping each direction a candidate until its owning boundary, supported semantics and proof are established. Merged fixes do not automatically need another refactor. A local correction, justified deletion or retention of the current design can be the correct outcome.
Claude Opus 5.5 completed an independent planning/source review of the published issue against the audit, current main and relevant PRs. Its seven correction groups are incorporated as follows:
Each accepted child records its trigger/root cause, invariant and existing owner, simplest feasible design, mechanisms removed, sibling regression proof, and compatibility/ADR constraints. Do not approve generic frameworks, new lifecycle stores, global caches, broad generators or fallback behavior from the category alone. Respect ADR0014, ADR0024, ADR0027, ADR0028 and ADR0030.
The three prevention-ledger comments give an explicit direction for all 548 report entries plus BASE-1/2/3, including five aliases. They are exploration inputs, not 551 new confirmed defects or mandated abstractions. The public intake retains every ID and promotes the reviewed residuals to active follow-up.
thymikee commentedon Nov 10, 2026
Current state: the prevention-design pass and initial Claude Opus review reconciliation are published.
a20e8fc8, fix(host-kit): one async process-identity reader and one identity-checked stop escalation #435983ee1d6c, fix(replay): escape recorded interpolation, run scripts off the event loop, harden Maestro and test flows #4363ca4bb1fcand fix(capture): audit remediation for redaction, capture lifecycle, contract validation and snapshot performance #43664f1fdca0.Source review baseline remains
0db888ac62a0d56f860e4b1d528732bca1aa7a68; main at the final status refresh isf4b01839e37d0f38d0c68fbbedf76267cd98e009. The current intake includes the #4356 merge. No repository source, device or session was changed.thymikee commentedon Nov 10, 2026
Decision: context accuracy and integration-first feedback:
Adopt an explicit boundary-based testing preference: provider-backed integration for command behavior; owned E2E/smoke for native and OS behavior; focused unit/property/type tests for deterministic or exhaustive contracts. Extend existing scenarios and remove weaker duplicated behavioral tests only after retained detection is demonstrated. This follows ADR0001 and does not authorize blanket unit-test or independent-guard deletion.
Treat misleading context as a recurring design defect. Correct the Interactor, waiver and coverage-manifest glossary claims; the scripts-typechecking claim; the single-row routing instruction; and the ambiguous local “full” gate description. Keep glossary descriptions separate from normative owner rules. Preserve context budgets and avoid tests that merely pin prose.
The initial local deletion is the mocked
alert waittimeout-forwarding test. With it removed in an isolated checkout, the retained suite passed 10 tests; a production mutation dropping the wait budget caused exactly the provider integration scenario to fail (1 failed, 9 passed); restoration returned 10 passing tests. The integration transcript crosses the actual request path and requires the caller's exact timeout. Boundary/negative/lifetime tests remain.Keep #4050's full-unit production fallback unchanged. The existing read-dependency inventory was incomplete; the user's preference for fast integration/E2E feedback is not proof that Vitest's import graph covers source-reading guards. Future narrowing needs the exhaustive inventory and omission/failure evidence required by that decision.
The new issue section records deletion candidates, feedback measurements and completion requirements. The local patch has not been committed, pushed or merged. Its guidance changes will receive the required independent cross-provider sentence review.
thymikee commentedon Nov 10, 2026
Decision: coordinated ten-PR remediation batch:
Create ten independent, reviewable PRs through the children below. Terra and Luna implement bounded waves in separate worktrees; the coordinator provides independent review and publishes only after validation. No merge or release is authorized.
First implementation wave: #4371 (Terra), #4372 (Luna), #4376 (Luna). The reviewed context patch is #4370 and stays separate from every worker branch. #4375 waits for #4359; this batch does not take over that external PR. The remaining five scopes are queued, not running.
Each child verifies the current defect, enforces an invariant at its existing owner, and proves a credible regression. Keep deterministic contract tests where they are strongest. Prefer real request-path integration for command behavior and owned E2E for native behavior. Do not delete weak tests without equivalent retained detection and migration of unique assertions. No broad test deletion, gate relaxation, new framework, claimed suite speedup or unsupported compatibility change is approved.
Monitoring: subscribe this coordinator to published batch PR review/check events, with an hourly sweep of published PRs as a backstop. Do not poll running delegates. Report exact-head checks, review findings, blockers and next actions honestly; publish a draft if required evidence is unavailable. Stop the recurring sweep when this batch is settled or explicitly stopped.
thymikee commentedon Nov 10, 2026
Current state: first PR in the coordinated ten-PR batch is published.
d4f39c1512234945c8c4d83f7222d9f922cb0ee9passed all seven selected affected checks with exactCommit true. Claude review findings and isolated deletion proof are linked in the PR. CI/review remain pending; no merge is claimed.thymikee commentedon Nov 10, 2026
Current state: two PRs in the ten-PR batch are published.
91c27979a4e8ca679a99c03ab8120df37252d1c5, with exact-head affected checks passed. Fresh CI/review remains pending.9f634f8b880ccd4243666e784a6e3d30d62f2e4cpassed every runnable affected check, including full unit fallback. Terra's P1 review finding was accepted and fixed; isolated regression and receipt evidence are linked in the PR. GitHub-owned skipped lanes remain obligations.003309d4497d2ecba4f3c7ead23e2e7647ff42a2. Coordinator review found a symlink containment regression in the partial cleaner; it stays unpublished until the shared guard and sentinel proof cover that edge.thymikee commentedon Nov 10, 2026
Current state: two published PRs and four further committed fixes.
37119e3cb92f782c6ce3b9c617251d4cf0d79a8c: behavior-based split wording fixed, outdated threads replied/resolved, rebase range-diff matched exactly, all seven selected local checks passed at the new head. Fresh CI/review remains pending.9f634f8b880ccd4243666e784a6e3d30d62f2e4c, with exact local validation and subscriptions active.71957957be, including the coordinator's symlink guard fix, sentinel regression and successful native iOS Simulator build.ef5af73b8e, with 59 focused unit and 6 provider-scenario tests passed and isolated base failure proof.7d871f5fc0, with 6 real-HTTP fixture tests and separate base reproduction of both defects. Its change is host-side response/file transport; it does not change device dispatch/capture/runtime execution.95352b2058, including a corrected merge-boundary assertion and isolated base/mutation/restore proof. Final gate is queued after a slot frees.thymikee commentedon Nov 10, 2026
Current state: three PRs are published: #4380 (context), #4381 (cloud failures), and #4382 (safe XCTest cleanup). All reported Cubic cleanup findings are fixed; its updated summary says all addressed, and Apex reports no current findings. Cleanup has a prior 42-check exact-head pass at 7195795; the two review fixes at ea7459c still need a fresh exact-head run. Retention and artifact downloads have final commits and regression proof, and are entering fresh validation. Network merge bounds have regression/mutation proof and await a validation slot. The remaining containment, release-input, and coverage-provenance scopes remain queued. Process provenance remains assigned to #4375 and blocked on #4359. No merge or release is authorized.
thymikee commentedon Nov 10, 2026
Current state: hourly published-PR sweep:
Retention and artifact validators remain assigned; this sweep did not inspect or poll delegates. Network validation and the remaining independent scopes remain queued. #4375 remains blocked on #4359. Event subscriptions and the hourly backstop remain active. #4050's fallback is unchanged. No merge, release, tag push, gate relaxation, blanket test deletion, or unrelated PR maintenance occurred.
thymikee commentedon Nov 10, 2026
Current state: #4382 at ea7459c now has a verified exact-head affected pass: all 42 runnable checks passed, exactCommit=true, checkoutChanged=false, and the checkout stayed clean. The 25 skips and their owners are published in the receipt excerpt. Current-head CI has 16 successful checks and one skipped cache job, no conflicts, and no unresolved review threads. The earlier native iOS test build remains attributed to 7195795.
#4380 remains green with resolved review threads. #4381 has its fixture correction pushed and validation/CI in progress; one full Apex review was requested to expose a finding omitted from its delta summary. Retention and artifact validators remain assigned; network validation and the other independent scopes remain queued. #4375 remains blocked on #4359. No delegates were polled or duplicated. No merge or release is authorized; subscriptions and the hourly backstop remain active.
167 remaining items
thymikee commentedon Nov 13, 2026
Current state: PR #4533 now contains both requested test fixes at9d7993318de5d202ecb7c653ff099baca1f43e8f. Both review threads were replied to and resolved; none were open in the post-update query. Its exact-head local gate passed (11 passed, 8 named skips, 1 provider deduplication; full unit19,771 passed/10 skipped, related390 passed), with meaningful old-order and missing-cleanup discrimination. Evidence: #4533 (comment) . New-head CI is pending; the watch remains active. No merge/release/tag is authorized.
The original selected tranche remains21closed scopes out of25. There are23merged owned PRs plus open4533; the five new child contracts remain part of the authorized scope. This is not an overall audit completion percentage. The other audit carryovers and design blockers are unchanged. No queued implementation or cleanup wave was started by this PR feedback continuation.
thymikee commentedon Nov 14, 2026
Current state: PR #4533 is green at9d7993318de5d202ecb7c653ff099baca1f43e8f: 21 reported checks succeeded and1was skipped; none failed or remain pending. Both requested review fixes are pushed, both original threads have replies and are resolved, and the final thread query shows zero open threads. Cubic reports all issues addressed and Sentinel approves with no open findings. The PR is mergeable with CLEAN merge state.
The exact-head local gate, original-order regression experiments, skipped-cleanup mutation and source-identical native retention/fresh-reinstall controls are recorded in #4533 (comment) . The Chief of Staff's watch-until-green/no-open-feedback request is complete. Returning the PR to the user's inbox; no merge, release or tag occurred. Child issues remain open until their implementation merges.
The original selected tranche remains21closed scopes out of25, with23older owned PRs merged and4533open. This is not an overall audit percentage. Other authorized carryovers and protocol-policy blockers remain unchanged, so the single published-only backstop stays enabled. No queued implementation,device allocation or cleanup wave was started.
thymikee commentedon Nov 14, 2026
Current state: PR #4533 merged on2026-11-14 at07:27UTC; GitHub closed#4516 and#4517 as completed. All24owned published PRs are now merged. The original selected tranche remains21closed scopes out of25; the Claude additions are now2completed out of5. These are selected-scope counts,not an overall audit completion percentage.
Seven implementation scopes remain: #4442 typed Apple screenshot recovery; #4426 typed Android boot polling; #4441 transfer deadlines and lifecycle; #4448 native recording coordinate basis; #4519 helper session authentication; #4520 truthful IME type outcomes; and #4518 client-owned artifact destinations. #4512 remains an open validation diagnosis with historical causes unproven. External#4511 is still open,so#4518 remains reproduce-first/blocked for implementation. Required finite protocol/transport Decisions remain before affected code.
Recommended next execution is#4442 proof/exact/native completion,then#4426 readiness proof and validation,with one local execution slot. No workers,queued implementation or cleanup were started by this reminder. Cleanup of#4533-owned inactive resources can be scheduled after checking shared dependencies and preserving evidence. The single published-only backstop remains enabled because authorized scopes remain unfinished. No merge was performed by the coordinator.
thymikee commentedon Nov 14, 2026
Decision: November 14 Claude completion batch:
The user requested another batch and an updated automation message. Continue the seven existing unfinished contracts: #4442, #4426, #4441, #4448, #4519, #4520 and #4518. Reuse their candidate source and canonical queue records. This is continuation membership, not seven new implementations. All 24 published owned PRs are merged. #4516/#4517 completed in #4533, whose owned inactive resources are now cleaned and evidence archived. CONTR2-4 remains covered by #4369.
Current main is d78be6c. The first bounded Claude wave has one execution owner: #4442 refreshes the preserved typed Apple recovery chain, runs focused cases/typecheck and one exact-head affected gate. A second worker reviews the existing #4426 readiness proof and its assumptions without execution or edits. A third worker resolves the #4441 proxy design review and finite policy choices, source-only, before production code. Completion events advance the next phase; do not poll workers. Native evidence, independent review and regression discrimination remain separate obligations; a local gate is not whole-issue readiness.
Fresh file-level checks show no upstream drift in #4442 or #4426 owned files. External #4111 still overlaps Apple screenshot paths. #4441 has upstream command-descriptor drift and overlaps external #4511 and #4505; resolve at its owners without maintaining those PRs. Its current proxy plan is not adopted: correct lifecycle joins, typed-cause propagation, early responses, 308 resume behavior, runtime/transport boundaries and demand-aware idle ownership before code. Do not silently relax the adopted 30/30/120/600-second policy. The coordinator records the finite transport decision after the bounded verification.
Then sequence #4442 regression/native evidence and independent current-head review, #4426 proof execution and exact validation, and the adopted #4441 source slices. #4448 needs captured-canvas measurement before positive producer claims. #4519 and #4520 need bounded owned-device feasibility and finite protocol decisions; serialize their shared helper packaging changes. #4518 remains reproduce-first and implementation-blocked on external #4511 until the recorded dependency changes. No outside-T3 device launch is authorized.
Preserve #4050 full-unit fallback, meaningful request-route/integration/E2E/regression/live evidence, every historical failed receipt, and cause-unproven status for #4512 and API36 Back/diff. Do not widen timeouts, delete tests wholesale, retry unchanged CI blindly, merge, release, push tags, touch foreign/dirty resources or duplicate work. Publish only reviewed/validated scopes, or explicitly blocked drafts under existing authorization. The existing hourly automation message has been updated in place; its published-PR/missed-human-comment scope remains unchanged and it cannot start this implementation queue or cleanup waves. Keep one timer until all authorized scopes settle or the user stops it.
thymikee commentedon Nov 14, 2026
Current state: The November 14 continuation is running with three bounded Claude tasks under Decision #4368 (comment). #4442 alone owns local focused/typecheck/exact validation on a refreshed candidate. #4426 receives a source-only independent readiness-proof review. #4441 receives a source-only transport design/policy resolution; no unadopted proxy implementation is started.
The four other unfinished scopes remain #4448, #4519, #4520 and reproduce-first/blocked #4518. All 24 published owned PRs are merged; #4516/#4517 are complete and #4533-owned cleanup is complete with proof archived. The existing single hourly automation message was updated in place and remains published-feedback-only. Completion events advance active work; the timer does not launch queued implementation, poll workers or run cleanup waves. All historical failed receipts, native gaps, finite-policy requirements and #4050 remain preserved. No merge, release or tags are authorized.
thymikee commentedon Nov 14, 2026
Current state: Refreshed #4442 source at54812974 passed33focused tests and typecheck, but its exact gate FAILED at candidate test lint (1passed,1failed,7not-run,4skipped). The old failed receipt is retained. The coordinator fixed catch-variable names and replaceAll, and moved four predicate tests byte-identically to an adjacent discovered file, preserving every assertion. Production source is unchanged.
New unpublished head b80056b passes full pinned format/lint,67focused tests across5files,and repo typecheck. A new Claude worker owns one exact-head affected gate. #4050 remains unchanged. Regression/mutation discrimination, native simulator evidence,current-head independent review and CI/publication are still pending. External#4111 remains open with screenshot overlap; it is not maintained by this work. No merge,release,tags or readiness claim.
thymikee commentedon Nov 14, 2026
Current state: #4442 exact local validation passed at b80056b:8checks passed,1provider integration deduplicated,4skipped,none failed/not-run;19825unit tests passed with10skipped and377related passed. #4050 remains unchanged. Earlier54812974 lint failure stays historically failed. Native evidence, independent current-head review, regression/mutation detection and GitHub/publication obligations remain open.
A new bounded Claude wave is running: #4442 isolated mutation/control proof has the sole execution slot, #4442 current-head independent source review is read-only, and #4441 source-only phase-owner work follows adopted Decision #4441 (comment). The transfer worker reuses existing remote commits with explicit local dependency layers; it cannot execute checks, implement the proxy adapter or claim independent publication yet.
#4426 review corrections are committed at0e98de50e462c1c6975637e23998eabe8aaa1966, authored-unrun and queued behind the proof slot; its historical gate/native/#4512 limitations remain. Seven implementation scopes remain overall: #4442,#4426,#4441,#4448,#4519,#4520,#4518. The last remains reproduce-first/blocked on external4511. No duplicate implementation,merge,release,tags,delegate polling or timer-launched work is authorized. The one published-only backstop remains enabled.
thymikee commentedon Nov 14, 2026
Current state: Apple4442 b80056b passed its exact gate and all four production mutants were caught with67/67restored controls. Evidence remains attributed to b800. Independent source review found no correctness defect but two Low hygiene issues, now root-fixed at600d51dc49c06b44c3e66e098cff3629fee72b71: remove test-only probe injection, answer the real listing in tests, and correct redundant/fixture assertions. Pinned format/lint/typecheck and77tests across6files pass. A new Claude worker owns the sole execution slot for600d mutation controls and one exact gate. Native,CI and publication remain open; prior review input omissions are disclosed.
Transfer4441 source review found a real completed-hop timer leak that could replace a resumed hop's retryable failure with the old timeout. The coordinator fixed lower watchdog retirement at6089d90d905071810c1b4ab4e5c89d7aabc7258c, restacked, and retired the upper observer at43abdfa8020b19290dd1dd5174c00274868b29f9. Misleading budget prose is corrected. The finite low-level wrapper stays until its fixture proof migrates to the outer lifecycle owner. Phase expiry remains intentionally terminal under adopted policy; ordinary transport resets retain their retry. These transfer changes are unformatted/unvalidated and still need real-loopback detection,wire/closure checks and exact receipts. Nothing is published.
Android4426 at0e98de50 remains authored-unrun and queued. Seven implementation scopes remain:#4442,#4426,#4441,#4448,#4519,#4520,#4518; the last remains reproduce-first/blocked on external4511. Historical failed receipts,#4512 and API36causes stay as recorded. No merge,release,tags,delegate polling or new timer.
thymikee commentedon Nov 14, 2026
Current state: #4442 at600d51dc49c06b44c3e66e098cff3629fee72b71 has passing focused controls77/77 and all four production mutants fail intended assertions(6,1,4,1failures),with source restored. Its exact affected gate FAILEDunit; exactCommit=true,checkoutChanged=false,failOpen=false. Seven checks passed including377related tests;unit had19821passed,3failed,10skipped. Provider integration did not run;four checks were skipped. #4050 remains intact.
The three failures are5000ms timeouts in scripts/tests/release-publish.test.ts at89,104,113. Cause is UNPROVEN. No unchanged-base comparison was run by that worker,and no contention/base-fault diagnosis is made. A new bounded Claude task now owns one identical check:unit run on unchanged based78be6c8 and one on candidate600d,strictly sequentially,with no gate retry. A separate source-only recheck addresses the current-head review corrections and missing normative inputs.
The old b800 exact pass remains atb800;it is not a passing600d receipt. Native owned-simulator evidence,review,GitHub and publication remain open. The recent-boot memo,provider narrowing and capture-signal gaps remain disclosed. #4512/API36historical causes are not conflated with this new release-test cluster. Transfer4441 and Android4426 wait for execution capacity. No blind retry,source weakening,merge,release,tags,device allocation or worker polling.
thymikee commentedon Nov 14, 2026
Current state: #4442 source recheck at600d found no production correctness defect and confirmed the test-only probe injection is gone. It found one Low coverage gap:R1. The retained real-probe test compares its timeout to the producer constant itself,so a30000ms probe could pass. The coordinator's earlier claim that it pinned5000ms was incorrect and is retracted.
A small patch now asserts the observed timeout is literal5000ms and below the capture budget. It is PREPARED,NOT APPLIED,because the running unchanged-base/candidate unit comparison must retain its frozen600d head. No additional worker or execution was started. After the comparison completion event,the coordinator will apply/format/test/commit the correction and prove a30000ms mutant is caught;the next head still requires its own exact receipt.
The600d exact gate remains FAILED with three release-publish5000ms timeouts,cause unproven. Its77/77focused controls and four detected mutants remain valid at600d,but do not cover this missing budget assertion. Native,CI and publication remain open. No retries,timeout widening,merge,release,tags,device allocation or delegate polling.
thymikee commentedon Nov 14, 2026
Current state: The paired check:unit runs passed on unchanged base d78be6c and candidate 600d: 19,791 and 19,824 unit tests passed, respectively, with 10 skips each. The tmpdir and smoke checks also passed. None of the three release-publish timeouts reproduced. Their cause remains unproven; the failed exact receipt at 600d is retained. The comparison report records the differing report environment, foreign host activity and the worker's idle wait without assigning a cause.
After the comparison finished, the coordinator fixed R1 in 855aa4a. The test now checks the observed probe timeout against literal 5,000 ms and below the capture budget. Production code is unchanged. Pinned format, lint, typecheck and 77 focused tests passed. In the isolated experiment, changing the production probe budget to 30,000 ms caused the intended assertion failure: 1 failed, 76 passed. Restoring the source returned all 77 tests to passing, with the experiment clean.
One new exact-head gate is running at 855a. The worker will not run extra tests, retry a failure or wait for a quiet host. Earlier evidence remains attributed to its original SHA. Native simulator evidence, GitHub checks and publication remain open. Other scopes wait for execution capacity. No merge, release, tags, device allocation, worker polling or timer change.
thymikee commentedon Nov 14, 2026
Current state: #4442 passed one exact affected gate at 855aa4a. The receipt records exactCommit=true, checkoutChanged=false and failOpen=false: eight checks passed, provider integration was deduplicated, four checks were skipped, and none failed or remained unrun. Unit: 19,824 passed and 10 skipped. Related: 377 passed. #4050 remains unchanged. The earlier 600d failed receipt is retained; its release-test timeouts did not reproduce in the comparison or this gate, and their cause is still unknown.
The next bounded Claude wave has one native execution owner on the assigned stopped iPhone 17 Pro (iOS 27.0), through T3 tools and the returned CLI. It must prove candidate-backend binding and the real screenshot recovery route, or report the exact native gap, then clean only its owned resources. A separate source-only recheck verifies the final R1 literal-budget correction and the previously unread test-helper path. Native and final review results are not yet claimed; nothing is published.
Seven implementation scopes remain. Android #4426 and transfer #4441 checks wait for execution capacity; #4448, #4519, #4520 and blocked/reproduce-first #4518 retain their policies and proof requirements. No merge, release, tags, foreign resource changes, worker polling or new timer.
thymikee commentedon Nov 14, 2026
Current state: #4442 is published as blocked draft PR #4544 at 855aa4a. Its exact local gate passed, independent review has no remaining findings, and regression mutants detected the intended invariants. GitHub checks and review are pending; no readiness or merge claim is made.
The owned native run proved candidate-daemon binding and a successful ordinary Settings screenshot on iOS 27.0. It did not reach the recovery seam: T3 shutdown removed the bound CLI and the subsequent screenshot exited 127 before daemon dispatch. No fresh probe, boot, re-capture or real code-60 header was observed. The native obligations remain open; the attempt was not repeated as a race. The assigned simulator is stopped, this thread has no open devices, and the worker closed its private session and identity-checked daemon and removed private configuration/state. Daemon termination used SIGTERM, with no graceful-stop receipt. Evidence: #4442 (comment).
Execution capacity now transfers to #4426: one Claude execution worker owns isolated regression/mutation proof and one exact-head gate at 0e98de50e462c1c6975637e23998eabe8aaa1966. A separate Claude reviewer checks the correction without running checks or changing files. #4441 execution remains queued; #4448/#4519/#4520 and blocked reproduce-first #4518 retain their recorded requirements. These assignments follow this active completion event, not the scheduled backstop.
There are now 25 published owned PRs: 24 merged and one blocked draft. Seven implementation scopes remain unfinished. Preserve the historical failed receipts and unknown causes, #4050, foreign resources and one timer. No merge, release, tags, worker polling or cleanup wave.
thymikee commentedon Nov 14, 2026
Current state: #4426 passed its exact 0e98de50 gate: eight checks, 19,783 unit tests passed with 10 skipped, and 376 related tests passed. Focused controls passed 21/21; six mutants were detected and one post-read cancellation mutant survived. The coordinator then fixed a source-review P3 in typed timeout diagnostics and strengthened that cancellation test at local a804bea4b7aee0f5c4b850186ee0ceec38cda323. Its 24 focused tests pass; new exact validation and regression proof are pending.
Blocked draft PR #4544 remains at published 855aa4a. Coverage failed on a process-fixture assertion that exactly matches existing unchanged-main CI at d78be6c; the test and production source are byte-identical across those SHAs. The fixture mocks ps but leaves Linux proc facts live. The coordinator committed a bounded fixture-isolation correction at local 50034fe, preserving every assertion and dedicated Linux-proc case. macOS focused tests pass 15, with six Linux-only cases skipped. It is not pushed and Linux correctness is not yet claimed. Native screenshot recovery and code60 remain unproven.
One Claude execution owner will verify the fixture regression boundary and run the Apple exact gate, then verify the Android corrections and run its exact gate. A separate Claude reviewer reads both small deltas without execution. #4441 remains queued behind this owner; the other unfinished scopes retain their recorded requirements. Seven implementation scopes remain; 24 owned PRs are merged and one is an open blocked draft. No merge, release, tags, blind CI retries, worker polling, cleanup wave or extra timer.
thymikee commentedon Nov 14, 2026
Current state: The #4544 process-fixture correction is pushed at 50034fe. Its exact local gate passed: eight checks, 19,824 unit tests passed (10 skipped) and 377 related tests passed; provider integration was deduplicated and coverage/replays skipped. The simulated Linux process/filesystem boundary passed 21 tests, removal of the isolation failed the exact PID-202 assertion, and restoration passed 21. This is model evidence, not a real Linux-host run. Real Linux CI remains authoritative. The existing PR watch is retained, and the draft still has unproven native Shutdown/code60 obligations. Evidence: #4544 (comment).
Android #4426 caught both new mutants at a804bea4, but its exact gate FAILED at typecheck: the AppError type guard narrowed the following OR operand to never. The coordinator fixed the one-line operand order at 8c939217cf2f5d6bdea22003b3b82ddabef40881. Full pinned format, whole-repository typecheck and 24 focused tests pass. A bounded source recheck found no issues in the type/semantic change, with unread mandatory policy/evidence inputs explicitly disclosed; it is not a complete policy or readiness review. One Claude worker now owns the sole exact gate at the repaired SHA. No result is inferred and no worker was polled.
The failed a804 receipt, passed 0e receipt, mutation proofs and older unknown-cause failures retain their original SHAs. Android native boot remains unproven. Transfer #4441 and other unfinished scopes retain their sequence and policies; seven implementation scopes remain. No merge, release, tags, blind retry, cleanup wave or new timer.