Repository navigation
fix(peer): render HTML from idle destination contexts - #563
Conversation
|
What: Sol MEDIUM approves the whole seven-file component at Requirements and who asked: User-approved #379/#382 requires exact-candidate independent review before component integration. Unchanged Sol round-1 whole-component reportPR #563, Sol MEDIUM, independent whole-component review round 1What: WHOLE COMPONENT APPROVE at Reviewer: GPT-6.1 Sol / Codex / MEDIUM, explicitly requested, separate from the author. No child agents, tests, installs, product driving, provider execution or reviewer consultation. No prior review of this component candidate is reused as approval. Identity and boundaries
Independently read Git HEAD/tree/status, remotes and upstream divergence, and live PR identity. Git is clean; divergence from the configured component upstream is 0/0. The live open PR has the exact base/head above and targets Only scratch files in this report's designated Elon recordRequirements and who asked: Parent's approved #379/#382 repair and this exact review assignment require live originating A, permitted ordinary idle B with no B token/provider, B image preparation, A-only publication, current authority/modes/resource checks and stable replay. This contributes to Promachos directing work across environments. Required findingsNone. WHOLE COMPONENT APPROVE is scoped to the exact seven-file repair, not the cumulative parent outcome. Both independent families are required by conjunction; this report supplies only the Sol verdict. Behavioral and authority dispositions
Per-path ledgerAll diff ranges below are one-based and inclusive in the manifest's
Consumers and material historyFresh source tracing covers Read in full: supplied original diagnosis/accepted parent design choice and author response; saved current approved #379 body (all 227 lines, bounded follow-ups after truncated initial output); live #382 body and comments 6246883598, 6246900106 and 6276863197; parent decision 6286812120 (its complete diagnosis is also supplied verbatim); both full original e7a11 main-alignment reports. Read both final #383 R19 reports live, Sol 6284649985 including its complete path ledger and Opus 6284276953. Selected R15/R16 references in the inherited packet were consulted as leads, then current shared source and existing regression consumers were checked. Material dispositions retained: R15 idle context and R16 local background/original incoming identity separation; publication authorization and stable reference/no-repeat; vault linked-provenance refusal rather than new vault consent; existing main-alignment F1/F2/F3 and Opus R1/R2 repairs. Their prior approvals are context, not transferred to this candidate. This patch does not change vault handlers, configureMcp, attachment staging, automation graphs, accepted-definition execution or client layout. Not reread cover-to-cover: the 1.35 MB inherited packet, every historical PR/Issue comment, #384's full final reviews or all unchanged native test bodies. Their scoped dispositions/limits were read in the required e7a11 reports and #383 final reports. No claim is made to recertify those components. The packet's selected keyword matches do not count as full historical coverage. This is seven-file whole-component coverage, not whole #379 or the former 107/131-path components. Proof inspection, identity and reuseCompanion The runner was read: it executes argv arrays with task TMPDIR and Europe/Warsaw, captures raw output and before/after inputs. Runtime/setup logs identify Node v24.13.1 and pnpm 11.10.0. Every indexed command, exit, timestamp, cwd and input-equality field was read in compact untruncated form. Final raw red/workflow/unit logs and setup/format/commit/runtime logs were read; compiler/lint headers, endings, diagnostic classes and error scan were inspected. The 329 repetitive compiler suggestions and every lint warning were not individually adjudicated. Those logs remain hashed, not silently counted as warning-free proof. All commands use prefix
Failed attempts remain failures: Original diagnosis's raw run-2 command/metadata/log and before/after hash records were read; the supplied complete observations explain idle-active-idle under one A credential. It is one finite test with ten calls, not ten independent tests. The initial missing scratch-manifest failure and corrected preflight remain historical setup facts. No upstream port is used; the accepted bounded upstream search found no same-cause fix and is not claimed freshly repeated here. This is retained affected-repository evidence, not a trusted complete scoped-delivery gate. The captured extension filter excludes such inputs as TSX, environment files and ignored dependency contents; hashes do not independently observe every runtime/environment assumption. I ran no tests and made no current browser/client/provider/physical-host, OS-crash, restart/migration or complete CI observation. Shared-fixture consumers beyond the selected family/four unit files were not all rerun. Current complete CI and primary integrated client proof remain parent-owned. Optional proof improvement, not a required correctionO1: In the changed-input control at No speculative redesign or additional mandatory test is requested. Unfinished and acceptance limitsNo required finding remains in this exact seven-file scope. #382 and parent #379 remain open. #385/#386 edges, native/browser/client acceptance, independently upgraded peers, migration, complete CI and final cumulative review are not cleared here. Historical optional/unmeasured viewer/feed/font/column/Android, vault audit/docs and private-config-replay items retain their prior states; #531 remains separately owned and untouched. Parent must combine this report with the independently produced Opus verdict, preserving findings by conjunction rather than vote, and verify the exact current candidate before any authorized next step. No merge, deployment, installation, installed restart or final acceptance is authorized by this report. Final verdict: WHOLE COMPONENT APPROVE, exact base |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: unavailable · PR result: 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: #563 Test Server 7 failed one existing CredentialFill assertion; 1,361 tests passed and 11 were skipped in that shard. Requirements and who asked: The user requires fixing inherited integration CI and preserving meaningful vault error/no-secret behavior. Job: https://github.com/toolboxmd/chromeria/actions/runs/39396196252/job/118539645232, exact PR head 926c9a2. Failure: returns only the outcome and writes a value-free audit line per attempt. Expected text is the originMismatch message; received text is JSON containing exactly that same message. The repair must parse/check the public envelope without losing exact-message, actual-page/vault, sentinel-exclusion or audit assertions. It needs isolated Chromium execution, not a schema-only pass. No production behavior or authority expansion is selected. |
|
What: Both required independent families approve the whole #563 component at Requirements and who asked: The user requires both independent exact-candidate reviews and current CI before integration/final delivery; latest approval authorizes final main merge only after all final gates. Unchanged Opus round-1 whole-component report#382 idle HTML resource-context component, Opus 5.5 MEDIUM, round 1What: WHOLE COMPONENT APPROVE at head Reviewer: Claude Opus 5.5 ( Elon recordRequirements and who asked: Approved #379 v5 ("Idle context is resolved by the destination resource service from durable ownership and these grants, with no scopeForThread token borrowing"), plus parent decision 6286812120 selecting a capability-neutral resource intent for Identity
VerdictWHOLE COMPONENT: APPROVE for exact base, head and tree above. No required finding. Requirement dispositions
Cleared concerns
Optional findings (not blocking)
Per-path ledger
Consumers and callers read at head:
Not reread: the remainder of the 10.6k-line native test file, the bodies of Material history
Proof checked
Reuse and unreadNo prior review verdict was reused. The e7a11 approvals cover only the main-alignment scope. The unread items are listed in the ledger above. |
926c9a2 to
abd763a
Compare
|
What: #566 is internally merged as d5a52b6, and #563 is rebased/published at abd763a. Requirements and who asked: The user requires reviewed, current components with green checks, then final cumulative exact-head reviews/CI before the now-authorized main merge. Merge policy: repository allows squash only, so #566 was squash-merged at 11:19:15 Warsaw on 20 October 2026 after readiness checks. Driver fast-forwarded cleanly to d5a52. No main merge or product runtime change occurred. #563 topology: exact new base d5a52b6; head abd763a; tree be00cc5b511f851a86b69fb08e9cd570555c4eed. Clean native rebase of both commits; range-diff shows both equal. The complete seven-file component diff remains byte-identical, SHA256 854bd252f071729c9842dccc98d2b048d804275e3f02b83856731fc3e5ab6e5c. Published with exact old-head 926c9a2 lease; old checkpoint checkpoint/563-before-vault-d5a52 retained for recovery. Current-head proof: combined actual Chromium CredentialFill plus HTML/idle-resource/background checks pass 52 tests (152 unselected); cache-disabled server tsc-rs passes. Both ran with captured 24,349 source/config hashes unchanged throughout and independently rehashed against current files; exact commands/exits/times/logs are retained in rebase-abd763-focused and rebase-abd763-typecheck records. Older 96-unit/fmt/lint evidence remains scoped reuse on unchanged component bytes, not complete CI. No real product/client/provider or final acceptance claim. Fresh review tasks: 379-563-r2-sol-medium-abd763a-whole-v1 and 379-563-r2-opus55-medium-abd763a-whole-v1. review/independent is pending on abd763a. Source remains frozen for those two read-only reviews. The merged #566 worktree/branch and test-browser artifacts are temporarily retained for these composition reviews and final proof reproducibility; driver owns retirement when that continuing need ends. Internal integration is not terminal #379 delivery. #382 and #379 remain open; #385/#386/#531 frontier is unchanged. Final main merge authorization remains conditional and does not authorize rollout, deployment, installed restart or live data. Main is still 68b3177. |
|
What: Opus 5.5 MEDIUM approves the whole rebased #563 component at abd763a, with no required findings. Requirements and who asked: User-approved #379/#382 requires current-base exact-candidate independent review and proof before component integration. Unchanged Opus round-2 whole-component report#563 / #382 idle HTML resource-context component, Opus 5.5 MEDIUM, round 2What: WHOLE COMPONENT APPROVE at head Reviewer: Claude Opus 5.5 ( Elon recordRequirements and who asked: Approved #379/#382 repair (parent decision 6286812120): live A prepares through a permitted idle B with no B token/run, B prepares, A alone publishes, current authority/modes/archive/scope rechecked after waits and before the effect, stable replay. Parent R2 brief requires a fresh whole judgment on the rebased identity. Identity
Base composition
Fresh current-source dispositions
R1 optional adjudication (all unchanged, unimplemented, still optional)
No new finding. Per-path coverage
Consumers read now: Proof binding
Material history and unreadOriginal diagnosis, parent choice, author handoff and both R1 reports read in full in this brief. Prior #379 body, #382 records, main-alignment and #383 R15/R16/R19 dispositions were read for R1; this rebase changes nothing they bear on, so they are reused, not reread. Not read: #566 report bodies beyond verdict lines, the unchanged 10.6k-line remainder of the workflow test, #384 reviews. VerdictWHOLE COMPONENT APPROVE: base |
|
What: Both required independent families approve the whole #563 component at abd763a, with no required findings. Requirements and who asked: User-approved #379/#382 requires both independent current-candidate reviews and current CI before component integration and final outcome gates. Optional test-precision/helper/cost observations remain recorded and unselected. No whole #379 acceptance or current complete-CI claim follows from component review. Unchanged Sol round-2 whole-component reportPR #563, Sol MEDIUM, fresh whole-component review round 2What: WHOLE COMPONENT APPROVE at Reviewer: GPT-6.1 Sol / Codex / MEDIUM, explicitly requested. Fresh judgment, no prior verdict transferred. No children, tests, installs, providers, product services, Browser, Device, Metro or live SQL were run by this reviewer. Exact identity
All six source/test manifest SHA256 values independently match current files. No source, index, refs, other workspace or GitHub content/status was written. The runtime-required PR navigation link was registered and its presence confirmed with Elon recordRequirements and who asked: Approved #379/#382 and the parent review assignment require live original A, permitted ordinary idle B with a different configured provider and no B credential/run, B-owned image preparation, A-only publication, current chain/resource/archive/mode checks and stable replay. This supports Promachos directing work across environments. Required findingsNone. WHOLE COMPONENT APPROVE for this exact base, HEAD and tree. Both independent models remain required by conjunction; this report supplies only the Sol result. Behavioral dispositions
Full seven-path current coverageAll current diff sections were freshly read in full. No earlier path read or verdict substitutes for current component coverage. Inclusive ranges refer to the supplied, independently matched
Additional fresh traces: complete R1 optional notes, freshly adjudicated
Lower-layer composition and material historyRead the complete supplied original diagnosis, accepted owner choice, full author response and both full #563 R1 reports as history, not approval. Read saved #379 body, #382 body and named approval/integration/latest records. Current task authority explicitly supersedes older shipment language: latest authorization permits only the final main merge after all remaining acceptance, both exact final-head reviews and current green CI. No rollout/deployment/installed restart/live userdata operation is granted here. Read both complete saved e7a11 main-alignment reports. Their F1 external vault receipts, F2 stable configure replay and F3/Opus R1/R2 linked vault/profile refusal remain relevant shared-owner constraints. This component changes none of those vault/configuration behaviors; shared resource factoring retains capability admission, and receipt sequencing is preserved. Their approvals are not recertification of current cumulative #379. #383 R15 idle-resource/R16 local-background versus incoming-actor separation was considered from both full R1 reports and the main-alignment dispositions, then current admission and representative selected regression consumers were traced. No whole #383 historical review is claimed. Read both complete #566 reports at Not reread: the 1.35 MB inherited packet, every historical comment, full #383 R19 or #384 final reports, all unchanged native test bodies or complete #566 browser installer evidence. Their previously stated dispositions and limitations are historical context through the complete reports above, not fresh per-path review reuse or cumulative approval. No current upstream search was repeated; no port is used and the supplied diagnosis's bounded upstream result is historical only. Current proof binding and limitsRead
The captured extension filter does not hash every runtime assumption, ignored dependency or environment file. I did not independently rehash Chromium executables or perform runtime/client proof. No browser launched by this reviewer; retained Chromium evidence is isolated synthetic-page CredentialFill execution, not live vault/account or integrated HTML client acceptance. HTML fixture browser measurement remains unavailable. No claim of physical filesystem separation, actual provider execution, independently upgraded peers, migration/restart/OS-crash proof or current complete CI is made. CI is parent-owned and was not polled or inferred green. End stateNo required correction remains in the inspected complete seven-path component. #385/#386/#531, remaining repair/acceptance, client and final cumulative #379 review gates retain their states; #531 was untouched. Parent owns unchanged publication of findings, paired review status and all topology/integration decisions. Current both-model component review is a conjunction, not a vote or transfer of final approval. Final verdict: WHOLE COMPONENT APPROVE, base |
* fix(server): prepare HTML in idle peer resource contexts * docs(map): track the open idle HTML component
* fix(server): prepare HTML in idle peer resource contexts * docs(map): track the open idle HTML component
* fix(server): prepare HTML in idle peer resource contexts * docs(map): track the open idle HTML component
* 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: Active source agents can render HTML from a permitted idle linked environment without starting a destination agent.
Why: HTML admission treated the destination resource context as the live caller, and publication needed a fresh source-authority check after remote waits.
So what: This #382 component targets the #379 integration branch; independent Sol MEDIUM and Opus 5.5 MEDIUM reviews and CI must pass before internal merge.
An active A request previously returned
parent_not_activewhen B was idle; the same credential and request succeeded only after B's fixture run was activated. The repair opts HTML into the existing resource admission with an explicit capability-neutral thread-resource intent. B still prepares its own image bytes and A alone publishes the page. Local callers retain actual run liveness, and browser/device retain their capability checks.Destination authorization is rechecked after preparation; the source file-effect owner rechecks original authority immediately before writing. The existing external receipt, deterministic attachment identity, same-key replay and changed-input refusal remain. No new permission, protocol, authority service, B credential, package version or grant is introduced.
Related: #382 and #379. Component only, no closing linkage; no main merge, deployment, restart or live-user-data work. Approved repair boundary and full material evidence: #379 (comment). Current base: d5a52b6 after reviewed, CI-green #566. Current head: abd763a; tree be00cc5b511f851a86b69fb08e9cd570555c4eed. Both round-1 reviews approved the prior head; fresh round-2 reviews are required after composition.
Requirements and who asked: User-approved #379/#382 requires source-owned cross-machine HTML with idle destination resources, current authority and safe retries.
Deleted: Destination-agent startup, token borrowing, invented HTML/browser grant, global liveness relaxation and unrelated acceptance work.
Bottleneck: Correct actor/resource distinction and fresh authorization at the existing preparation/publication owners.
Checked myself: Complete component diff and handoff, corrected public-path baseline and focused proof outputs, exact clean component identity and six source hashes; both independent current-candidate reviews remain pending.
Proof, pinned Node 24.13.1 / pnpm 11.10.0:
parent_not_activeon e7a11.vp test run apps/server/src/peer/PeerAuthority.typedEffects.workflow.test.ts -t 'html382|idle-resource383|background383-r16' --maxWorkers 1: 27 pass, 152 unselected.vp test run apps/server/src/mcp/McpToolAccess.test.ts apps/server/src/mcp/McpToolAccess.race.test.ts apps/server/src/htmlRender/HtmlRender.test.ts apps/server/src/peer/PeerAuthority.test.ts --maxWorkers 1: 96 pass, 4 browser-dependent skips.This is scoped component proof, not complete #379 acceptance, final cumulative review, migration/rollback proof or live client verification. #385, remaining #386 criteria and separately owned #531 remain open. Upstream current-main HTML has no linked preparation path; the inspected credential-reuse PR #17096 has a different cause and no upstream patch was ported.
Implementation: GPT-6.1 Sol, Codex, MEDIUM. Integration driver: GPT-6.1 Sol, Codex, MEDIUM.