Repository navigation
fix(prism): preserve purpose intent in local Run groups - #581
Conversation
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
|
What: Sol MEDIUM approves PR #581 at exact head Parent read the entire report and accepts its coverage/limits. Inventory precision: 17 red-pass cases comprise 15 pre-existing tests plus two newly added controls; they must not all be described as unchanged. Same final test still discriminates nine intended failures and 26 passing fixed cases. New main has advanced to c3557ef (including #580 and separately approved #578); the reviewed source head is frozen, and current-base compatibility/CI remain parent-owned before readiness. Full independent report follows unchanged. PR #581 independent whole-head review, round 1Verdict: APPROVE. No supported actionable correctness finding remains in the inspected eight-file candidate and its relevant admission/replay consumers. This verdict covers the finite local Run-group purpose repair only. It does not clear merging: the separate Opus 5.5 MEDIUM whole-head review, current CI and explicit approval for this main-target PR remain with the parent. Reviewer: GPT-6.1 Sol through the Codex harness, explicitly requested MEDIUM. The runtime context identifies this model/harness and medium configuration; I make no claim about hidden internal effort. I did not author the implementation, dispatch another agent, execute tests or publish review/status content. Frozen identity and boundaries
No source/index/ref write, checkout/fetch/switch/reset/pull, new worktree, install, provider/dev-server/browser/device process, live database or credential access occurred. GitHub reads used Findings and dispositionsNo required fixes or optional speculative changes are proposed.
Whole-diff coverage
No UI, client, provider-adapter, grant, remote-group/completion, schedule, version or deployment change is present. The shared backend path serves callers across clients; no client surface update is required by this delta. Existing Run selection, explicit single target, kit/mode limits, cancellation, wake and status controls remain in the suite. Retained proof independently inspectedEvidence root: I read the manifest/bindings/final check records and inspected decisive raw failure output and runner summaries, green output, nearby/map output, compiler/lint/format and fork metadata output. I independently hashed all 46 manifest entries: eight final changed files, two runtime files and 36 retained evidence files, with zero mismatches.
The fixture calls the registered MCP tool with an injected provider invocation scope. It exercises production handlers, Prism and local admission with real SQLite/effects, while mocking unrelated services and provider/probe leaves. This is not real bearer HTTP admission, a real provider execution, full native credentials coverage, Live Verification or a production observation. New waits subscribe to persisted events or drain the effect worker; the added cases introduce no sleep/poll/timeout/skip to force a pass. Assertions observe persisted member/child purpose, exact parent identity and unchanged event/run inventories, rather than only call wiring. Inputs and limitsRead the canonical operations router and review method, impact analysis, verification, orchestration/bounded delegation and Elon algorithm references; Great Library README; project AGENTS, CONTRIBUTING, root glossary, Effect guidance and bundled Effect LLMS guidance. Healthy hook supplied complete current direction and preferences. Read the finite original worker brief and local canonical handoff in full, PR body and complete eight-file diff, #377 body/narrow finding/canonical handoff and relevant original purpose policy in parent Observer #58, including its linked policy decision record. GitHub snapshots are retained in this scratch directory. The #386 source finding was read as prior context, not treated as a cleared code verdict. Large combined reads produced truncation; focused reads recovered the required brief, glossary, Effect guidance, policy decision and decisive source/proof portions. I did not reread every historical comment, private original design artifact or linked historical log, nor every byte of repetitive migration/compiler/fork-stack output. Hash verification proves retained bytes match their manifest, not that the historical processes were independently witnessed. No unread input was needed to resolve a supported finding within this finite repair. Whole-head means the complete candidate diff was reviewed, including metadata suffixes, with relevant reachable consumers. It does not mean a line-by-line audit of all unchanged large modules, every adapter/client, broader #377 policy/UI acceptance, remote work, cross-kind concurrency or accounting correctness. No runtime falsifier was necessary for an unresolved actionable finding. CI state was not assessed or cleared. No author clearance was reused, and this verdict cannot substitute for the separately required Opus review or merge approval. Elon recordRequirements and who asked: User's read-only whole-head review brief and finite #377 repair require preserved local member purpose, immutable same-kind retries, legacy compatibility and honest proof limits, supporting truthful Drafter execution under the Objective. |
|
What: Opus5.5 MEDIUM also approves PR #581 at frozen head Parent read the full report and accepts its finite coverage with the stated limits. Sol's independent whole-head approval covers the same candidate. Parent has separately read the owning policy/body, CONTRIBUTING, glossary, full original handoff and all46 bound manifest entries; Opus did not independently repeat all those reads and does not claim it did. The report's current-base hunk analysis is source feedback, not a combined runtime or CI proof. Current main is Full Opus report follows unchanged. PR #581 independent whole-head review, round 1 (Opus 5.5)Verdict: APPROVE. I found no supported actionable correctness finding in the eight-file candidate or in the admission, replay and commit consumers it reaches. This verdict covers only the finite local Run-group purpose repair. It does not clear the merge: current-base CI and explicit human approval to merge into main remain with the parent. Reviewer: Claude Opus 5.5 ( Frozen identity
No checkout, fetch, switch, reset, pull, source edit, index write or ref write happened. I created no worktree. I did not touch canonical main or the user's Mechanism review and dispositions
Proof inspectionEvidence directory:
Whole-diff coverage
The diff has no UI, client, adapter, grant, remote-group, completion, schedule, version or deploy change. The broader #377 UI and policy decisions, cross-kind arbitration (#386) and #379 consumption stay outside and are not closed by this PR. I did not audit unchanged large modules, other adapters or clients line by line. Inputs read
Not read live: the #377 body and comments, the #386 Sol report file, CONTRIBUTING and the root GLOSSARY. None was needed to resolve a mechanism in this finite repair. Elon recordRequirements and who asked: The parent's whole-head review brief for #581, under the finite #377 repair. It requires preserved local group intent, immutable same-kind replay at both owners, legacy compatibility and honest proof limits, in service of truthful Drafter execution. |
ca634bb to
fddb446
Compare
|
What: Sol MEDIUM approves exact current head fddb446 with no actionable findings. PR #581 independent whole-candidate review, round 2Verdict: APPROVE. I found no supported actionable correctness finding in the complete current eight-file diff and the relevant reachable admission, replay, purpose, atomic-commit and incoming recovery consumers inspected. This is a new review of Reviewer: GPT-6.1 Sol through Codex, requested MEDIUM. The supplied runtime identifies this model, harness and medium configuration; no hidden-effort claim is made. I did not author the implementation or run nested delegation. Exact candidate and boundaries
No source, index or ref writes, checkout/switch/fetch/reset/pull, new worktree, test execution, installation, provider/dev-server process, browser/device action, live database or credential access occurred. GitHub reads used Findings and dispositionsNo required fixes, speculative optional changes or unresolved reachable code findings are proposed.
Whole-diff coverage ledger
This backend delta changes the registered local agent entry point and shared admission. It adds no UI/client control, provider adapter, capability/grant, remote group/completion path, schedule, version or deployment. No separate client surface change is required for these three existing backend omission points. Proof inspected, not re-executedCurrent evidence root: I read its handoff, manifest, topology, checks and range-diff records; inspected affected-test output, setup, typecheck diagnostics, lint/format, inventory and fork-check evidence relevant to the claims. I independently hashed all 33 current manifest entries with zero mismatches: task source, frozen dependency inputs, installed package/runtime files and retained records/logs.
The fixture invokes the real registered MCP tool with an injected provider invocation scope, real Prism Run=2, real orchestration/purpose/SQLite receipt-event-outbox machinery and effect worker. Provider/probe leaves and unrelated services are faked. Assertions observe persisted child/member purpose and run identity, parent provenance, unchanged inventories/sequences and actual receipt events. Event subscriptions and worker drain provide milestones; added cases introduce no sleep/poll/timeout/skip to force success. This does not prove real bearer HTTP admission, real credentials/provider execution, full native adapter behavior or Live Verification. Recovery reactor end-to-end timing and BaseUI focus were not exercised by this review or established by these six files. Inputs and limitsRead the canonical operations router, code-review procedure, review-method, impact-analysis, verification, orchestration, bounded-delegation and Elon algorithm references; Great Library README; project AGENTS, CONTRIBUTING, root GLOSSARY and server Effect guidance including bundled Effect LLMS instructions. The healthy hook supplied complete triad and private preferences. No Project Direction change was reviewed or proposed. Read the original finite worker brief in full, historical and current local handoffs, current live PR body, #377 body/narrow finding/canonical handoff, and approved policy in Observer #58 plus its linked policy decision record. Both prior reports were supplied in full in the review packet and were treated only as historical coverage/limits, not current approval. Inspected the prior #386 report's O1 context. Large combined reads sometimes truncated; focused reads recovered the required policy, brief, glossary, fixture, source and decisive proof portions. Explicit unread limits: I did not read every historical Issue comment, every private original design/adjudication artifact, all linked historical logs or every repetitive compiler/fork-stack line. The unrelated remainder of the #386 design challenge was not audited in full. No required current input was missing, and none of those unread historical details was needed to resolve an actionable mechanism in this finite repair. No full line-by-line audit of unchanged large modules, every provider/client, remote lifecycle, cross-kind concurrency or accounting was performed. CI status was not assessed or cleared. No additional runtime falsifier is requested for an unresolved code finding because none remains supported in this inspected scope. The parent still owns the separate fresh Opus 5.5 MEDIUM whole-candidate review, current CI and explicit human merge approval for main. This verdict alone cannot clear merge. Elon recordRequirements and who asked: User requests a fresh read-only whole-candidate review of exact fddb/c355 for finite #377 local intent carry, immutable same-kind replay, legacy compatibility and honest proof limits, supporting truthful Drafter execution under the Objective. Final frozen source remains HEAD |
|
What: Opus round 2 reports APPROVE with no code finding, but its required-input coverage is incomplete. Parent adjudication: no source fix is requested. The inherited stale-selection error-prefix note is optional with no correctness impact. Fresh round PR #581 independent whole-candidate review, round 2 (Opus 5.5)Verdict: APPROVE. I found no supported actionable correctness finding in the complete current eight-file diff or in the admission, replay, purpose-resolution and commit consumers it reaches on Reviewer: Claude Opus 5.5 ( Exact candidate
Mechanism review and dispositions
Optional notes (non-blocking, no change requested)
Proof inspected (not re-executed)
Whole-diff coverage
The PR adds no UI, client, adapter, grant, remote-group, completion, schedule, version or deploy change. The broader #377 UI and policy decisions, cross-kind arbitration and remote groups stay outside and are not closed by this PR. Inputs and limits
Elon recordRequirements and who asked: The user's brief for a fresh Opus whole-candidate review of #581 at fddb/c355. It requires preserved local group intent, immutable same-kind replay at both owners, atomicity, legacy compatibility and honest proof limits. |
|
What: Fresh Opus 5.5 MEDIUM whole-candidate review approves exact fddb446 after completing all required inputs. Parent read the report in full and accepts the explicit limits. The inherited stale-selection error prefix remains optional with no fix requested. Complete report follows unchanged. PR #581 independent whole-candidate review, round 3 (Opus 5.5)Verdict: APPROVE. After reading every required input, I found no supported actionable finding in the complete eight-file candidate or in the admission, replay, purpose-resolution and commit consumers it reaches. This round reviews the current candidate and does not reuse any earlier approval. It covers only the finite local Run-group purpose repair. It does not clear merge into main, broader #377 acceptance, #379/#386 dependency clearance, real bearer-HTTP or provider execution, or Live Verification. Reviewer: Claude Opus 5.5 ( Exact candidate and boundaries
Required inputs: read and outcomeThese were missing from the previous Opus round; this time I read them.
Every required input was read, and no read failed. Mechanism review and dispositions
Brief requirement mapping (original worker brief)
Proof: executed, reused and unverified
Fixture limit: the registered MCP tool is called with an injected provider invocation scope, and provider and probe leaves are fake. The tests' expected values are independent literals, such as reference #11/#12, exact provenance objects and the legacy warning text. They are not derived from the helper under test. A plausible faulty implementation that drops the intent, like the pre-fix code, fails the four explicit-intent cases. One that skips either replay guard fails the two replay tests. The historical red confirms both. Whole-diff coverage
Limits
None of these items was a mandated input that I failed to read. None was needed to resolve a mechanism in this finite repair. Elon recordRequirements and who asked: The user's round-3 brief for a fresh Opus whole-candidate review of #581 at fddb/c355, with the mandated inputs read in full. Under #377 and the Observer #58 policy, the repair must keep local group intent, keep same-kind replay immutable at both owners, be all-or-nothing, keep legacy compatibility, and state its proof limits honestly.
Final frozen source: HEAD |
#581 registered shardWeights.json under run-groups while the integration already owns it under fork-maintenance; fork-features requires one owner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat(peer): preserve authority and native returns across environments (#391) * feat(peer): return notices and delegate onward within durable authority * fix(peer): retain authority through queued execution and recovery * fix(peer): preserve active run authority across native operations * fix(peer): retain authority for every accepted run input * fix(peer): check every contributor against the actual target * fix(peer): validate joint work against its actual resource * docs(peer): inventory retained consent seams * fix(peer): remove unused authority helper re-export * fix(peer): bound private output by effective caller modes * fix(ci): weight the measured peer authority workflow * fix(peer): retain effective caller modes during task cancellation * feat(peer): continue remote delegated jobs and stop later work (#392) * feat(peer): retain remote delegated job lifecycle and durable Stop * docs(map): link remote lifecycle component PR * fix(peer): preserve Stop replay and source task navigation * fix(peer): reconcile accepted attachment and bound session expiry * fix(server): bind delegated lifecycle routes to production runtime * fix(peer): preserve attachment bytes and native request acceptance (#410) * fix(peer): preserve attachment bytes and native request acceptance * docs(peer): link request recovery component review * docs(peer): register attachment recovery review provenance * fix(peer): declare device receipt owner in fork inventory * fix(server): preserve scoped retries and scheduler acceptance * fix(peer): preserve authorized manual admission and saved snapshot replay * fix(peer): preserve native preview capability refusal * fix(attachments): recover exact native discard acceptance * fix(attachments): retain bytes after keyed discard acceptance * fix(preview): reconcile native recording claims before replay * feat(peer): answer remote descendant requests from the source (#416) **What**: Exact #369 candidate42051c passed real source-only web and Codex peer request acceptance, including committed replay after both full CLI servers restarted. **Why**: Independent tests cannot establish that the production composition, real provider callback and source-only client work together. **So what**: The planner accepts this bounded internal component for integration into #379 after a fresh head/base/gate check; combined multi-machine/client acceptance and final shipment remain pending. Requirements and who asked: User #379 mandates native delegated lifecycle and all permitted tools with two MEDIUM reviewers and real isolated client/provider proof. Deleted: No fake provider, direct SQL mutation, injected browser RPC, capability expansion, alternate harness or duplicate callback. Bottleneck: Current candidate integration; #383 shared device authority/discovery and #384/#385/#386 remain outstanding. Checked myself: Primary planner drove actual source A browser, inspected native B events/provider results, restarted both CLI products, replayed exact original request, and reopened the same source-only result. Identity: HEAD42051c47813c354682b80677009b199d86fef1a0, treef9efef2d7df1b8b91ac64b09018386e79ccc1d45, baseab1bf53640e2a6541a2ba9f316839cedf81d4f46. Clean author workspace /Users/rocky/.t3/worktrees/chromeria/feat-369-remote-pending-requests. Both full production servers ran that source, with meaningful copied task-owned history in NEW /tmp/chromeria-369-acceptance-a and -b; old382 homes/evidence remained untouched. Node24.18, A server14247/web7663, B14248, source incognito Browser connected ONLY to A950a38f2-e2a5-4242-9171-c17e0cb8412c. Actual B is ef047b58-1edf-4ad6-a1ba-44320188325c. No live userdata write, new grant, physical device or standalone worker server. Human source-only flow: A actual Codex gpt-6.1-sol/MEDIUM delegated real async B task369-parent-native-question-v1 in existing B project/root. B actual Codex asked request_user_input_async, persisted pending at B sequence288. Primary opened source task viewer from transcript; browser URL stayed A, no B profile. The actual card displayed369 REAL REMOTE QUESTION, ACCEPT_369/DECLINE_369 and disabled Send answer until selection. Primary selected ACCEPT_369 and sent once. B durable request resolved at sequence290, command mcp:request:385bcb2f7e0a7415a3c0d1cda8a0cabb0b7204f83949b505a9f4fe4cb6482210:0, 2026-10-18T10:10:47.347Z. Real provider consumed the answer and completed369_REMOTE_ANSWER=ACCEPT_369. Source returned exact original result and zero pending requests. Not inferred from dispatch acceptance. Agent tool flow: Separate deliberate B task369-parent-native-agent-answer-v1, same explicit Color. Native delegate mode wait returned on real pending question with waitTimedOut:false, requestCount1, actual qualified target/revision334. Source local list{} correctly returned[]; explicit remote descendant list returned its actual request. Native qualified read returned real369 REAL AGENT QUESTION/options/revision334. Source called t3_pending_request_respond with original target/route/expectedRevision334, answers{0:AGENT_ACCEPT_369}, stable key369-parent-agent-response-v1. Initial AND exact retry both returned sequence340. B request has exactly one pending334 and one resolved336 event; real provider completed369_AGENT_RESULT=AGENT_ACCEPT_369. Two B tasks intentionally created, each ordinal1 completed, no duplicate B run. Restart proof: Read-only query found zero preparing/queued/starting/running/waiting runs in A/B. Primary stopped only captured own sessions47643/49402 (exit130), restarted same source and same NEW homes in sessions86505/9639. A actual Codex ordinal34 called ONLY the exact original respond input/key after reconstruction: sequence340 again. Postrestart B has no additional request resolution or provider run. Source previous-agent viewer reopened after both restarts with original human result, real accepted answer and zero pending requests. Actual client screenshot inspected before upload. Evidence: local immutable/raw read-only oracles /tmp/chromeria-369-parent-actual-question-proof.json, /tmp/chromeria-369-parent-native-agent-tool-proof.json, /tmp/chromeria-369-parent-postrestart-proof.json. Full CLI logs /tmp/chromeria-369-acceptance-{a,b}-server.log and -restart.log retained. Native Browser screenshots in existing UNPUBLISHED draft evidence-379, never a public release:   Both fresh exact-candidate independent MEDIUM reviews APPROVE: Sol #416 (comment) and installed Grok4.7 #416 (comment). Full aggregate #369 (comment). Current420 CI39116640008, Fork39116640150 and final fingerprint39116844636 SUCCESS; original canceled fingerprint retained separately. Authenticated newest review/independent SUCCESS by lukemaj. Neither review substitutes for the actual proof above. Full author/R1/R2 packet #369 (comment). Limits: These are TWO isolated Rocky environments, web/source-only browser and actual Codex provider. No physical cross-machine/tunnel/mobile/native desktop/all-provider/real live approval, durable-dismiss or secret acceptance claim. Registered native tests retain their own broader and S1/S2 race/empty-choice proof. Earlier native initialization404 remains UNKNOWN; later tests/CI/actual positives do not diagnose it. Operational verification earlier used invalid exact=true locator syntax and a stale assumed web port; corrected to supported selectors/actual dev-runner7663 without alternate browser or product changes. Cost supported publish #416 (comment) is partial task379 coverage, not complete cost; old unplaced/unpriced usage remains unknown. Background supported sync still pending at this record, not presumed complete. States: implemented YES; current focused/native tests YES under their exact records; BOTH reviewed YES; current CI YES; bounded primary product proof YES; internal integration NOT YET at this record; main merged/build/shipped/activated/live combined acceptance NO. No package bump. All rollback/evidence/workspaces retained under explicit #379 instruction until final acceptance. * fix(client): clarify remote requests and count pending work once * fix(client): make remote request choices readable and accessible * docs(peer): track the remote request client repair * fix(peer): count initial remote work once in sparse shells * feat(device): add typed remote device execution core (#421) * feat(device): execute typed commands across peer links * docs(map): link the typed device core component * fix(device): preserve native authority and typed command semantics * fix(device): recheck authority before native shutdown * wip: preserve native contexts and purpose metadata after main alignment * fix(peer): preserve current-main request answering policy (#539) * fix(peer): preserve current-main request answering policy * fix(compat): restore inherited CI consumers Reuse baseline-only repairs from the preserved #383 checkpoint d892050cb97854e08ca1ca427fc762caebbd69f7 under the #379 ownership transfer. Adapt the two web test fixtures for actual Chromium collection without changing production web behavior. * test(prism): absorb native recovery observer fixture Transfer the exact test blob authored in cdd4780 and preserved by PR537 at fcd3162. Await the native observer marker before measuring the live batch; preserve the duplicate assertion and production source. * fix(client): hide remote children from default navigation (#546) * wip: hide remote children from default navigation * wip: register destination navigation component PR * wip: retain user forks with remote provenance * wip: cover phone and alternate sidebar navigation * wip: declare phone and legacy carried upstream edits * feat(peer): keep destination automations authorized offline (#555) * feat(peer): retain destination automation authority offline * docs(peer): link destination authority component PR * wip: repair destination authority recovery and acceptance findings * wip: fence schedule acceptance and preserve live birth permissions * wip: preserve birth permission purpose and split native proof * wip: preserve recovery routes and birth dependency lifetime * wip: retain paired recovery routes through repeated unlink * wip: wake exact automation disable recovery at known expiry * feat(remote): view and control qualified browser and device resources (#534) * wip: combine qualified resources with destination automation * wip: bound mobile returned-resource row height * wip: respect native top safe area for tool resources * wip: preserve current-main cross-machine compatibility checkpoint * wip: preserve linked research and tool policy identity across main alignment * wip: repair vault authority and keyed MCP configuration replay * test(server): validate credential refusal error envelopes (#566) * fix(peer): render HTML from idle destination contexts (#563) * fix(server): prepare HTML in idle peer resource contexts * docs(map): track the open idle HTML component * fix(orchestration): wake parents for remote pending requests (#531) * fix(orchestration): wake parents for remote pending requests * fix(orchestration): deliver held remote requests when parent waits end * fix(peer): wait for request content before notifying parents * fix(orchestration): catch up requests after remote original completion * test(web): isolate panel keyboard tests from inherited pointer (#575) * fix(peer): attribute remote follow-ups to the completing run (#582) * fix(peer): attribute remote follow-ups to the completing run * docs(map): link remote completion provenance repair * fix(peer): use observed purpose for first remote completion * fix(scheduled-tasks): record refused keyed manual runs as terminal failures A keyed run_scheduled_task_now whose dispatch failed with a typed error and left no native receipt returned outcome_unknown and kept the schedule marked running forever. Record it as the request's failed outcome, release the running reservation, and replay the same failure for the same key. Interrupted or defective dispatches stay outcome_unknown. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(orchestration): accept blank optional answers in remote request admission Remote pending-request answers with expectedRevision rejected a blank or omitted optional choice-only question as an unoffered option. Skip blank optional answers before validating options, matching the message-response path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * chore(fork): keep one owner for server shard weights #581 registered shardWeights.json under run-groups while the integration already owns it under fork-maintenance; fork-features requires one owner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(server): weight typed peer effects by their CI time PeerAuthority.typedEffects.workflow.test.ts takes about 197s in a CI shard but was weighted 46.4s, so Test Server 8 exceeded its 10-minute limit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(peer): reopened parents follow their remote tasks again Archiving a parent ended its remote follower, and nothing restarted it on unarchive, so the reopened parent missed later remote results until a server restart. The follower now stays registered and waits for the parent's unarchive or deletion instead of exiting, so reopening resumes observation without a new entry point or a duplicate follower. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(peer): threads read and answer their own questions again The replacement pending-request service refused every "own" answerer, so a thread reading or answering its own user-input question, or an ordinary full-access MCP client doing so, got capability_denied. Own access is restored for local, non-linked callers on threads not delegated from another environment. Own approvals, dismiss, linked clients and remote delegated children keep their existing refusals. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(web,mobile): remote request cards keep multiline editor answers Remote pending-request cards rendered every custom answer as a single-line field, so a multiline editor prefill displayed and was stored flattened. Editor questions (those with an initialAnswer) now use the Textarea on web and a multiline, newline-submitting field on mobile, as the local paths do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(scheduled-tasks): keyed pause and resume replay their receipt A keyed update_scheduled_task carries clientRequestId on its input, so the enable-only shortcut never matched: a keyed pause or resume fell through to the full definition update and was refused without a purposeIntent. The shortcut now ignores routing fields, and setEnabled records and replays the keyed mutation receipt like create, update and delete. A retried keyed pause after a later resume replays instead of retiring the newer automation certificate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(scheduled-tasks): post-admission recheck refusals release keyed manual runs A typed refusal from the recheck after admission, or after the dispatch claim, now records the key as failed and frees the schedule instead of leaving it running. The stage-guarded claim keeps uncertain dispatches outcome_unknown. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(childThreads): stop-disposed remote children stay pending background work A parent interrupt disposes a delegated completion with disposedBy "stop" without stopping the remote child. The sparse SQL remote arm dropped that row while the local arm and pendingDelegatedChildTasks kept it, so shells, auto-settlement and storage cleanup treated the parent as idle. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(scheduled-tasks): final recheck refusals no longer fail a concurrent same-key dispatch The final live recheck ran after the prepared -> dispatching claim and terminalized a refusal from the dispatching stage. For an existing-thread schedule a same-key retry can read dispatching and send concurrently, so the refusal failed the request and freed the schedule while that send was accepted. The final recheck now precedes the claim, so a refusal is only recorded through the prepared-stage compare-and-set. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(peer): finished remote jobs no longer hold back live Stops A lifecycle-v1 follower keeps long-polling its job there after the result, so a later Stop or follow-up is still observed. Each poll held one of the eight shared peer permits for up to 20 s, so more than eight finished jobs starved Stops and live observations of other jobs. Followers whose job has nothing left to do there (result available, no queued runs, questions or recovery wait, or a confirmed Stop) now wait on their own semaphore. Stops, unconfirmed and acknowledged stops, live jobs and follow-ups seen as working keep the existing eight permits. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(peer): stopped remote jobs with new work there keep live permits A confirmed Stop counted a job as settled whatever its latest snapshot said, so fresh direct input on the destination child after the Stop left its follower queued behind idle settled long-polls, also after a restart. A job is now settled only while its latest snapshot is quiet (result available, no queued runs, questions or recovery wait); a confirmed Stop also needs that quiet snapshot. Anything showing activity uses the shared network permits. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
What: PR #581 now carries the unchanged local Run-group purpose repair on exact current main c3557ef.
Why: The previously approved ca634bb candidate predated main's #580 and #578 changes and did not establish combined-current-main proof.
So what: The parent runs both fresh whole-head reviews and current CI on fddb446; this separate PR still requires its own human merge approval.
Refs #377. Local implicit Run groups discarded explicit purpose intent while single delegation preserved it. The repair carries the optional envelope through the existing group command and member admission, and applies existing intent conflict validation to both committed-group fast replay and native receipt replay. Omitted legacy calls stay warned unscoped; matching retries keep first admitted identities and purpose.
Parent-authorized mechanical rebase onto exact
c3557ef338fce173285b40149fa3c19e49b52e86is complete without conflicts. Headfddb44686f415d33805993c890058cac40dfeb50, treed852f83ec4b96c988010c1ca27dbb349ca2ed8c8. Checkpointcheckpoint/581-before-main-c355-ca634bbpreserves old ca634bb. All three range-diff entries are=, and complete task stable patch ID remains286ba0f193b4ab642de1b9111d6dc43ae699b9df. No source/test semantic delta or lost incoming main feature.Current proof uses pinned Node24.13.1/pnpm11.10.0 and the new frozen lock after offline ignore-scripts setup: 139 tests passed across RunGroups26, nearby91 and map22. Command:
pnpm exec vp test run apps/server/src/mcp/RunGroups.integration.test.ts apps/server/src/orchestration-v2/ExecutionPurpose.integration.test.ts apps/server/src/mcp/OrchestratorMcpService.test.ts packages/contracts/src/orchestrationV2.test.ts packages/contracts/src/executionPurpose.test.ts apps/server/src/issues/featureMap.test.ts.Current server/contracts
pnpm exec tsc-rs --noEmit --incremental false -p <workspace>/tsconfig.json, scoped lint/format/diff/inventory and full fork-stack/metadata checks pass. The retained unrelatedlayerUnavailablewarning remains. This is affected feedback, not combined-current-main CI acceptance.The unchanged actual registered-tool/Prism/SQLite/effect-worker fixture asserts persisted member/child purposes, parent A versus chip B, explicit overrides, selection, deliberate/legacy inheritance, unchanged single controls, immutable replay and BOTH conflict owners. Stale-selection zero-start refusal proves purpose admission; later-member adapter rejection proves atomic rollback, not a fabricated later-member purpose-only failure. Fake provider/probe leaves and injected provider scope are fixture limits; no real provider/credential HTTP or Live Verification claim.
Historical red remains source-before proof on original f3a399d only: nine intended failures and seventeen passing controls; historical matching green26/26. No new-main red was repeated or claimed. Both Sol MEDIUM and Opus5.5 MEDIUM approved frozen ca634bb with no findings; those verdicts do not transfer to this new head. Parent owns BOTH fresh whole-head reviews, current CI and separate merge approval.
Canonical #377 handoff records exact commands, Warsaw timestamps, patch/source/runtime/input hashes, checksums and dispositions. New records:
/home/luke/.local/state/chromeria-377-local-group-20261020/currentmain-c355; old evidence/manifest remain unchanged. New manifest SHA-256d119209f7274c3a58b4c5b886cd7a73f35e6559faac8c61075a4a9be5924939d. Source clean; no versions, unrelated work, nested review/status writes, main/integration writes, merge, deployment or Observer action. #379/#386 dependencies remain unchanged until parent acceptance.Original upstream search and finite policy qualification remain in qualification; this is fork admission repair, not an upstream port.
Requirements and who asked: User's existing #377 purpose policy and parent-directed exact-c355 mechanical rebase with current proof.
Deleted: New ownership policy/architecture, remote groups/completion, cross-kind arbitration, UI, Observer, versions, other workspaces and historical-red repetition.
Bottleneck: Existing group intent/replay omissions, then missing combined-current-main proof.
Checked myself: Live refs/checkpoint, full relevant incoming diffs, equal task/incoming patch identities and range-diff, actual offline patched dependencies, current139 tests, scoped checks and lease-protected push.
Implemented by GPT-6.1 Sol, MEDIUM reasoning, Codex harness.