diff --git a/docs/TODO.md b/docs/TODO.md index e9fcaab5..d8c378ca 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -2,6 +2,9 @@ ## dispatch +- 2026-10-20 parallel trial: rosterbbc1be79 durably green,3 workers launched/read-next-action verified. Item5 ready12f92732 focused28/6mutants/lint/build awaits full+browser; storage-cors real origin loss independently reproduced/fix routed; playback-qa controlled native local fallback3/browser reviewed,test retention approved. Remaining trial product/test full gates,orderly durable landings and preview; actual WebTorrent/live peers/CPU unverified. Initial gate transport/capture failure corrected only by clean environment; QA browser coordination deviation recorded. + + - 2026-10-20: continuing owner direction: item5 investigation assigned to same worker, active URL media last-owner/shared-owner controls first. Remaining: reproduction and narrow fix routing or next evidenced TODO. No product fix assumed; active abort/live playback/CPU-RSS unverified. @@ -47,3 +50,11 @@ - 2026-10-19: client-reliability-3 ready for normal queue at607d5ce1: full426/426 files exit0 with60s/file bound;27 focused scenarios,14 reverted mutants rejected, lint11/11, build/artifact verification pass. Corrected Chromium/Firefox built-dist/native-observer smoke:0 obsolete starts/stale callbacks/page errors/external requests; hidden reveal and source-health visibility pass. Remaining: normal queue/durable landing/ancestry then close and dispatch landing/final evidence events. Actual playback fallback/live peers, active abort/URL cancellation, CPU/RSS and full Stage3 remain unverified/out of scope. - 2026-10-19: client-reliability-3 finished and closed after verified normal landing7d20a509 (submissione522efc1, gate exit0, unstable ancestry exit0). Full426/426 files,focused27/27,14 reverted mutants,lint11/11,build/artifact verification and native Chromium/Firefox controlled-IO smokes pass; obsolete starts1→0. Dispatch landing evidence sent; closure metadata/final report follow. Dispatch owns preview sync/rebuild after its resume; mailbox does not wake idle sessions. Actual media fallback/live peers/CPU-RSS, active abort/URL cancellation and whole Stage3 remain outside qualification; no new work without routing. + +## storage-cors + +- Parallel trial item1: reproduce CORS existing-origin preservation offline before routing fix; no cloud changes. + +## playback-qa + +- Parallel trial item1: local fallback qualification/regression; browser initially reserved to QA; product read-only. diff --git a/docs/agents/PROGRAM.md b/docs/agents/PROGRAM.md index e61b28d9..69b20bf7 100644 --- a/docs/agents/PROGRAM.md +++ b/docs/agents/PROGRAM.md @@ -13,6 +13,13 @@ Work through the existing TODO backlog and fix reproducible bugs that make the c ## Rulings log (newest first) +### 2026-10-20 — Bounded parallel trial, owner words relayed by interpreter + +> "id really like to stress test the multi agent process so if it needs more agents to get more done faster. do it" — owner, relayed by interpreter; not represented as typed by owner in dispatch. + +Interpreter requests executing dispatch plus up to3 workers now with disjoint worktrees/scopes. Routine launches are authorized; retain existing restricted-action limits. Trial measures acknowledged assignments, actual parallel evidence/checks, durable queued landings and contention, not process count. + + ### 2026-10-19 — Roster-only bootstrap gate (session manager call, VETOABLE) The first approved worker is assigned to the pre-existing profile-modal test hang. Normal roster-before-launch ordering otherwise invokes that same hanging full-suite gate before a worker can investigate. For this one administrative roster/brief commit only, dispatch will use a temporary queue configuration whose gate verifies the exact committed change contains only the expected area registration and documentation/backlog metadata, with product code, tests, and persistent gates unchanged. No product fix is covered by this exception. Preserve normal full gates for subsequent code. Record the actual gate result and disclose the unresolved unit failure. diff --git a/docs/agents/backlog/playback-qa-1.json b/docs/agents/backlog/playback-qa-1.json new file mode 100644 index 00000000..078fc023 --- /dev/null +++ b/docs/agents/backlog/playback-qa-1.json @@ -0,0 +1,9 @@ +{ + "id": "playback-qa-1", + "area": "playback-qa", + "status": "open", + "title": "Qualify local hosted-source fallback with independent regression and browser evidence", + "blockedOn": null, + "addedOn": "2026-10-20", + "filedAt": "0c1dd7e86be3e28edc96aca47f7753a98990dde0" +} diff --git a/docs/agents/backlog/storage-cors-1.json b/docs/agents/backlog/storage-cors-1.json new file mode 100644 index 00000000..fa59181f --- /dev/null +++ b/docs/agents/backlog/storage-cors-1.json @@ -0,0 +1,9 @@ +{ + "id": "storage-cors-1", + "area": "storage-cors", + "status": "open", + "title": "Reproduce existing-origin loss in bucket CORS provisioning using offline transport", + "blockedOn": null, + "addedOn": "2026-10-20", + "filedAt": "0c1dd7e86be3e28edc96aca47f7753a98990dde0" +} diff --git a/docs/agents/prompts/client-reliability.md b/docs/agents/prompts/client-reliability.md index 9d6e9785..56c83dc0 100644 --- a/docs/agents/prompts/client-reliability.md +++ b/docs/agents/prompts/client-reliability.md @@ -1,6 +1,14 @@ # Area: Client reliability (client-reliability) -## Current assignment: client-reliability-5 — active probe investigation +## Current assignment: client-reliability-5 — prevent orphaned mirror continuation + +Investigation at0c1dd7e8 found a narrow defect, independently reproduced by dispatch at47953970 (administrative roster only): after last-owner disposal during active primary media, primary error starts1 fresh mirror HEAD(expected0). /tmp/bitvid-dispatch-5-active-url.mjs mirror-disposed --expect-no-obsolete-head exits1 after cleanup/retry; mirror-shared control exits0/healthy,resources0/slots0. Bounded active retention/success caching itself is intentional and not a defect. + +Implement controller-only lifecycle guard before next mirror request: temporary ownership js/ui/urlHealthController.js, focused tests/url-health-lifecycle.test.mjs and your unique integrity/evidence notes. Existing ownership hook is sufficient. Do not change observer/app/shared cache/HEAD-media-HLS-torrent abort,TTLs/limits/mirror order. Ensure cancellation settles with explicit cancelled outcome, no negative cache, no stale UI or newer inflight deletion. Preserve shared/rejoining live owners and ordered mirrors, active healthy cache and normal timeout/retry behavior. No competing writers: storage-cors owns only storage helper; playback-qa product read-only. + +Read current rules/test integrity before edits; retain actual observer/controller/cache regression with controlled external IO and mock clock, no sleeps/retries. Test disposed active failure starts0 mirror HEAD; shared/rejoin owner continues; active success cache,timeout/retry and inflight identity preserved. Every new scenario needs reverted failing mutant. Relevant focused tests/lint/build; coordinate full suite/normal queue through dispatch before expensive run (roster full gate currently underway). QA initially owns shared browser: do not launch browser until dispatch allocates it; request availability and use only your own server/port. No blanket prior-suite reruns for administrative edits. Commit item5, merge unstable (never rebase), unchanged gate/durable ancestry before close. CLI/agent/lander launch must unset inherited NODE_TEST_CONTEXT test transport (operational environment correction, no assertion/gate change). Send blocker/product landing/final events with exact checks/counts/gaps. Dispatch owns preview3000 refresh. No subagents/kit/scheduler/external operations. Continue next actions via dispatch routing under existing owner direction. + +## Archived investigation: client-reliability-5 Interpreter checkpoint2026-10-20 confirms continuing development under existing direction. Claim item5 after non-destructive merge of unstable. Read RULE-CHANGES, KNOWN_ISSUES, PROGRAM, and performance-efficiency-plan Stage3. Items3/4 are completed: queued torrent/URL cancellation shipped; do not repeat their full qualification. diff --git a/docs/agents/prompts/playback-qa.md b/docs/agents/prompts/playback-qa.md new file mode 100644 index 00000000..a870dfc6 --- /dev/null +++ b/docs/agents/prompts/playback-qa.md @@ -0,0 +1,13 @@ +# Area: Playback fallback QA (playback-qa) + +## Assignment: playback-qa-1 + +Independent regression/browser QA slice of pre-launch TODO34/performance-efficiency-plan Stage3 acceptance: dead hosted source falls back to viable torrent/mirror. Recent queued-probe fixes89ccb907/7d20a509 have controlled health lifecycle qualification but real playback fallback remains explicitly unverified. Existing webseed-playback.spec.ts uses public archive media and tolerates decode failure; do not modify or treat that as real offline success. + +Inspect actual playbackCoordinator/service and current test harness. Build a bounded local-only deterministic fallback scenario against actual orchestration: failed primary, alternate selected once, original magnet hash and hosted webseed preserved, terminal failure settles if both fail. Start scratch investigation; report fidelity of substituted IO. Prefer local decodable media if available; no downloading public samples or live peers. Browser is initially allocated to YOU: record ownership in .task, tell dispatch before opening and on release, clean only your own server/browser. Use your worktree/private port, never preview3000. Native Chromium+Firefox where available; no claim of real torrent/decoding unless measured. + +Own only new tests/e2e/fleet-playback-fallback.spec.ts or tests/fleet-playback-fallback.test.mjs plus docs/testing/playback-qa-* evidence/integrity and own backlog. Product JS and existing tests/helpers/config read-only. Propose retained regression approach before adding it; no app.js competing writer. Deliberately disable fallback in a temporary mutant in your own isolated tree and require failure, restore without committing product mutation. If actual product defect found, report exact trigger and minimal owner/file scope to dispatch; do not patch product. Scope stop after bounded QA result, retained valuable test if approved, evidence and durable normal landing. Full gate/build scheduling through dispatch; do not run full E2E suite in parallel with other gates. + +## Coordination and limits + +Send dispatch a read/next-action acknowledgement immediately, then claim your item and keep .task current. Record start/end UTC and time blocked by tools/browser/gates. Report exact SHA/commands/counts/unverified scope; mailbox on blocker, reproduced result, landing and final. Read RULE-CHANGES, PROGRAM, KNOWN_ISSUES, repo memory, and test-integrity before changes. New tests require failing mutants; no weakened expectations/retries/sleeps. Product/test fixes must be scoped from demonstrated evidence. No shared TEST_INTEGRITY.md or docs/TODO.md edits: keep uniquely prefixed integrity/evidence notes under docs/testing and ask dispatch to integrate status. Do not edit another area worktree or stop another process. Full-suite runs and product landings need dispatch resource coordination (one expensive gate at a time, unchanged normal landq). Focused offline checks can overlap. Commit named files via fleet tool; merge unstable, never rebase; normal queue/durable status+ancestry before close. No subagents initially. No deploy/push/spend/real-wallet/production-data/secrets/scheduler/kit changes. Preserve preview3000. Public network/real buckets/signers/peers forbidden in fixtures. diff --git a/docs/agents/prompts/storage-cors.md b/docs/agents/prompts/storage-cors.md new file mode 100644 index 00000000..e43486b1 --- /dev/null +++ b/docs/agents/prompts/storage-cors.md @@ -0,0 +1,17 @@ +# Area: Storage CORS reliability (storage-cors) + +## Assignment: storage-cors-1 — preservation fix routed + +Implementation routed after worker and independent dispatch offline reproduction: adding second origin replaces the entire existing rule, existingRulesPreserved0/1. Dispatch command env -u NODE_TEST_CONTEXT node /tmp/bitvid-dispatch-storage-cors-reproduce.mjs exits1 at strict false!==true after all5 characterization controls. No cloud IO. + +Now implement only s3-multipart.js plus GetBucketCorsCommand export in s3-client.js and new storage-cors-preservation test/integrity note. Preserve every existing rule and all fields verbatim; add a separate existing-default-shaped rule for uncovered requested origins without broadening arbitrary rules. Idempotence: no PUT when existing equivalent default rule already covers all requested origins; explicitly test equivalent-rule detection and repeated calls. Missing config only on NoSuchCORSConfiguration; other read failures propagate with no PUT. Do not guess wildcard equivalence or merge restrictive/custom rule semantics. Preserve empty-origin no-op. Tests must use actual helper/command export, fake transport only, cover existing rules/wildcards/duplicates/no-config/read-denied/idempotence and bounded provider errors; do not silently replace on read failure. Do not change current default methods/headers/TTL as unrelated policy; if SDK/provider limits make safe preservation impossible, report before broadening. Offline mutants for every new scenario; preserve normal assertions/gates. Relevant focused storage suites/lint/build; request full-suite slot (client ahead), no browser/cloud need. CLI/test/lander launches clear NODE_TEST_CONTEXT. Commit item1, merge unstable, normal queue/durable ancestry before close; no premature qualification of real S3. + +Historical investigation context follows; its before-product restriction is superseded by the routed scope above. + +Bounded parallel trial: validate todo/TODO_2026-06-16_r2-followups.md CORS replace-not-merge report at current HEAD. Dispatch inspected ensureBucketCors in js/storage/s3-multipart.js: constructs PutBucketCors with requested origins only, no GetBucketCors. This is evidence for investigation, not proof every caller loses policy. Trace actual callers and required existing-origin behavior. Reproduce offline via real helper and fake S3 transport/SDK boundary: an existing origin/rule, adding a second origin, idempotent repeated call, missing config and read-failure cases. No cloud credentials/network/bucket mutation. + +First report smallest demonstrated loss plus proposed preservation semantics/files to dispatch before product changes. Inspect AWS command export in s3-client read-only. You own s3-multipart.js/s3-client.js and new tests/storage-cors-preservation.test.mjs only after fix routing; no R2/S3 upload service copies, app, signer or UI edits. Existing wildcard/method/header/non-origin rule semantics must not be guessed; read failure must not silently overwrite a policy. Do not add broad SDK/dependency upgrade. If stale/already fixed, close with evidence and propose next independent TODO. No browser initially. Relevant focused storage checks, lint, full normal gate/build after approved fix; ask dispatch before expensive runs. Integrity notes docs/testing/storage-cors-integrity.md. + +## Coordination and limits + +Send dispatch a read/next-action acknowledgement immediately, then claim your item and keep .task current. Record start/end UTC and time blocked by tools/browser/gates. Report exact SHA/commands/counts/unverified scope; mailbox on blocker, reproduced result, landing and final. Read RULE-CHANGES, PROGRAM, KNOWN_ISSUES, repo memory, and test-integrity before changes. New tests require failing mutants; no weakened expectations/retries/sleeps. Product/test fixes must be scoped from demonstrated evidence. No shared TEST_INTEGRITY.md or docs/TODO.md edits: keep uniquely prefixed integrity/evidence notes under docs/testing and ask dispatch to integrate status. Do not edit another area worktree or stop another process. Full-suite runs and product landings need dispatch resource coordination (one expensive gate at a time, unchanged normal landq). Focused offline checks can overlap. Commit named files via fleet tool; merge unstable, never rebase; normal queue/durable status+ancestry before close. No subagents initially. No deploy/push/spend/real-wallet/production-data/secrets/scheduler/kit changes. Preserve preview3000. Public network/real buckets/signers/peers forbidden in fixtures. diff --git a/fleet.config.json b/fleet.config.json index 8369cac5..78b2d6af 100644 --- a/fleet.config.json +++ b/fleet.config.json @@ -95,7 +95,9 @@ ], "doesNotOwn": [], "neighbours": [ - "client-reliability" + "client-reliability", + "storage-cors", + "playback-qa" ] }, { @@ -108,7 +110,12 @@ "tests/profile-modal-controller.test.mjs", "js/ui/profileModalController.js", "js/ui/profileModal/**", - "docs/agents/backlog/client-reliability-*.json" + "docs/agents/backlog/client-reliability-*.json", + "js/gridHealth.js", + "js/urlHealthObserver.js", + "js/ui/urlHealthController.js", + "tests/grid-health-lifecycle.test.mjs", + "tests/url-health-lifecycle.test.mjs" ], "doesNotOwn": [ "js/app.js", @@ -120,9 +127,66 @@ "tools/fleet/**", "css/**" ], + "neighbours": [ + "dispatch", + "playback-qa" + ] + }, + { + "id": "storage-cors", + "title": "Storage CORS reliability", + "role": "area", + "domain": "feature", + "provider": "codex", + "owns": [ + "js/storage/s3-multipart.js", + "js/storage/s3-client.js", + "tests/storage-cors-preservation.test.mjs", + "docs/agents/backlog/storage-cors-*.json", + "docs/testing/storage-cors-*.md" + ], + "doesNotOwn": [ + "js/app.js", + "js/app/**", + "js/gridHealth.js", + "js/urlHealthObserver.js", + "js/ui/urlHealthController.js", + "js/services/r2Service.js", + "js/services/s3UploadService.js", + "fleet.config.json", + "tools/fleet/**", + "TEST_INTEGRITY.md", + "docs/TODO.md" + ], "neighbours": [ "dispatch" ] + }, + { + "id": "playback-qa", + "title": "Playback fallback QA", + "role": "area", + "domain": "feature", + "provider": "codex", + "owns": [ + "tests/e2e/fleet-playback-fallback.spec.ts", + "tests/fleet-playback-fallback.test.mjs", + "docs/testing/playback-qa-*.md", + "docs/agents/backlog/playback-qa-*.json" + ], + "doesNotOwn": [ + "js/**", + "fleet.config.json", + "tools/fleet/**", + "playwright.config.ts", + "tests/e2e/helpers/**", + "TEST_INTEGRITY.md", + "docs/TODO.md" + ], + "neighbours": [ + "dispatch", + "client-reliability" + ] } ], "gates": { diff --git a/fleet/LOG.md b/fleet/LOG.md index c7106bf6..846023dc 100644 --- a/fleet/LOG.md +++ b/fleet/LOG.md @@ -62,3 +62,19 @@ - Interpreter checkpoint continues owner development direction; same single worker assigned item5 read-only active probe reproduction, prioritizing active URL media last-owner/shared-owner controls. No new worker or product fix scope yet. Dispatch will assess evidence and route smallest demonstrated defect; absent a defect choose next evidenced TODO. - MCP mailbox_read stalled; terminated its wait, global fleet mailbox read consumed the actual instruction successfully. CLI fallback used, no pane scraping/kit changes. Item4 dispatch evidence is durable3f627f5d, not still queued as earlier handoff wording said. Full/browser validation remains prior worker-derived; no repeat tests for administrative assignment. + +## 2026-10-20 — Parallel trial staffing + +- Owner parallel-trial approval relayed by interpreter and recorded verbatim in PROGRAM. Keep item5 client-reliability; add storage-cors-1 offline existing-origin preservation reproduction and playback-qa-1 independent local fallback qualification. Preflight public open PR count0. Inspection confirms helper constructs requested-origin-only PutBucketCors; QA gap documented in Stage3 and prior item4 report. Neither task assumes a new product defect. +- Three worker target, disjoint branches/worktrees/files. QA browser first; focused offline work overlaps; full suites/product gates coordinated one at a time. Measure pickup latency, real outputs, gate/browser/tool stalls and durable queue outcomes. No credentialed cloud/live peers/production activity. Launch pending roster landing. + +- Trial intervention: original roster47953970 gate rejected13:28:15 at118th file,1047831-byte log with8877 binary0xff markers. Inherited NODE_TEST_CONTEXT=child-v8 emits Node test protocol; spawnSync default capture cap reproduced as ENOBUFS/SIGTERM. Clean diagnostic reached101 file starts with no failure markers then was intentionally stopped(exit143) to avoid overlapping full gates. Resubmitted unchanged roster13:30:35 with NODE_TEST_CONTEXT unset; log now plain text/no binary markers, normal gate unchanged. Original rejection evidence retained in trial notes. MCP deadline/read fallback and worker wake/claim delay also observed; item5 pickup confirmed13:27:49. +- Item5 independently reproduced disposed active error starting1 obsolete mirror HEAD(expected0); shared-owner control exit0/healthy/resources0. Route same worker to controller-only mirror-continuation guard and focused regression; no active abort or policy changes. Waiting for first roster gate before new worker launch; no launch claimed yet. + +- Clean roster47953970 durable landedbbc1be79 at13:37:27, normal gate exit0; initial submission13:26:20, rejection13:28:15, environment-corrected retry13:30:35 (full gate~6m53s). No gate/test/kit change. Created worktrees bitvid-storage-cors/bitvid-playback-qa and launched clean-env windows pid249026/pid249041 ~13:38UTC. Host status confirms4 alive windows; storage read/next-action13:38:24 verified, QA acknowledgment pending. Current routingf3c0ffd3 second conservative admin full gate adds serial resource delay; item5 full request13:32:54 remains queued. + +- storage-cors pickup13:38:24, concrete offline loss report13:39:21 (~57s later). Independent dispatch strict reproduction exits1 existing origin false!=true,5 characterization controls complete, no network. Routed preserve-verbatim rules/new default uncovered-origins/no-read-failure overwrite/idempotence to owned helper+SDK export/new test. QA .task records local fallback investigation start13:38:36, mailbox read/next-action event still pending; no browser opened. + +- QA pickup/proposal13:39:50 received/consumed13:41; actual coordinator/strategy/service scratch3/3. Reviewed local native Chromium+Firefox3 scenarios each, VP8 dimensions64x64/currentTime>0 on actual mirror and substituted torrent IO;0external. Product/existing tests read-only. Approved new dependency-free regression retention with meaningful mutants; no live WebTorrent/peers/full-app claim. +- QA coordination intervention: ran browsers during administrative gate before reading explicit wait mail/awaiting dispatch clearance, then self-reported and closed owned browser/server. No browser errors observed does not prove no contention; remaining browsers serialized. All3 read/next-action events now verified, storage implements demonstrated origin loss, client ready waiting full, QA retaining regression. +- Suggested future kit consideration only (not implemented): surface NODE_TEST_CONTEXT/capture failures directly; distinguish stale rejected result from in-flight same-SHA retry; compute docs-only delta at drain time to avoid conservative duplicate admin gates. These gaps cost measurable trial latency. No kit/scheduler change. diff --git a/fleet/RULE-CHANGES.md b/fleet/RULE-CHANGES.md index 3207060e..abe439fe 100644 --- a/fleet/RULE-CHANGES.md +++ b/fleet/RULE-CHANGES.md @@ -9,6 +9,15 @@ a landing rule changes. ## 2026-10-20 +- storage-cors-1 fix routed after worker+dispatch offline reproduction: preserve existing bucket CORS rules/fields; append default rule only for uncovered origins, idempotent no-PUT for equivalent coverage, only NoSuchCORSConfiguration permits absent config, other read errors no PUT. Own s3-multipart.js/s3-client.js+focused new test/integrity. No real cloud/credential operations or unrelated policy change; full gate slot follows client. + + +- Item5 narrow fix routed after worker+dispatch reproduction: prevent fresh mirror HEAD after disposed last-owner active-media error; controller+focused URL lifecycle tests only. Preserve bounded active/cache/shared/rejoin/timeout semantics, no active abort. Parallel trial CLI/agent/lander launches clear inherited NODE_TEST_CONTEXT transport; exact gate/assertions unchanged. Original roster gate hit binary capture cap, not identified product assertion. No kit patch. + + +- Owner authorizes bounded parallel trial via interpreter: dispatch plus existing client-reliability and two new areas storage-cors/playback-qa. Separate worktrees/disjoint write ownership; no competing app/grid/URL writers. QA initially owns browser; one expensive full gate at a time coordinated through dispatch. Each worker sends read/next-action and timed contention/evidence events. No new external authority or scheduler changes. + + - client-reliability-5 assigned to existing worker: read-only active URL/torrent cancellation reproduction at current HEAD, starting active URL media last-owner/shared-owner controls. Evidence notes only; product/test changes need demonstrated defect and dispatch routing. Continue selecting bounded next actions under existing owner direction; no new routine approval required. No scheduler or external authority change. diff --git a/test_logs/TEST_LOG_2026-10-20_13-31-00_dispatch-trial.md b/test_logs/TEST_LOG_2026-10-20_13-31-00_dispatch-trial.md new file mode 100644 index 00000000..14256ec5 --- /dev/null +++ b/test_logs/TEST_LOG_2026-10-20_13-31-00_dispatch-trial.md @@ -0,0 +1,11 @@ +# Parallel trial setup and item5 reproduction + +- Open PR preflight count0. Roster47953970 normal gate rejected13:28:15 exit1; no product assertion found. Gate log stopped118th file nip17-send-gift-wrap,1047831 bytes,8877 binary markers. Launcher NODE_TEST_CONTEXT=child-v8; host controlled spawnSync output2MiB gives ENOBUFS/SIGTERM/default cap. Original rejection stored here before same-SHA retry overwrites durable result: gate exit1, hashtag-preferences/relay diagnostics tail without failing assertion. +- Clean-env diagnostic npm test with60s/file bound reached101 files with no failure lines; stopped own process group only,exit143, not a passing full-suite claim. Roster resubmitted with env -u NODE_TEST_CONTEXT; unmodified gate running, plain-text log0 binary markers. No kit/test/gate changes. +- env -u NODE_TEST_CONTEXT node /tmp/bitvid-dispatch-5-active-url.mjs mirror-disposed --expect-no-obsolete-head: exit1 after cleanup/retry, obsoleteHeads1 expected0; HEAD1->2 after disposed primary error, resources1->0/slots1->0; final settles/null cache; later retry succeeds. +- Same diagnostic mirror-shared:exit0, live healthy/old checking, shared1 initial HEAD/promise, mirror success/cache/retry reuse, final resources0/slots0. Actual observer/controller/cache; external fetch/media controlled, mock clock. Native decoding/playback/peers/CPU-RSS not qualified. + +- Corrected roster gate full normal install+npm-test passed exit0, durable47953970->bbc1be79 at13:37:27; initial attempt13:26:20,rejection13:28:15,clean retry13:30:35 (~6m53s gate). All required test files collected427, no quarantine/expectation changes. Host status confirmed new worktrees/branches/windows249026/249041 after launch. +- Pickups: client13:27:49(tool deadline delay),storage13:38:24,QA proposal13:39:50/claimed investigation start13:38:36. Item5 focused28/28,6mutants/lint/build are worker-derived evidence; no full/browser yet. +- QA browser.log reviewed (not independently rerun): Chromium+Firefox each3 local scenarios,decoded VP864x64/currentTime>0 with actual mirror/substituted torrent transport,0external. Browser overlapped admin gate without waiting explicit clearance; self-reported cleanup. No real peers/full-app/native torrent claim. +- Trial remains in progress; product/test normal landings pending, preview unchanged. diff --git a/test_logs/TEST_LOG_2026-10-20_13-40-00_dispatch-storage-reproduction.md b/test_logs/TEST_LOG_2026-10-20_13-40-00_dispatch-storage-reproduction.md new file mode 100644 index 00000000..c73115d8 --- /dev/null +++ b/test_logs/TEST_LOG_2026-10-20_13-40-00_dispatch-storage-reproduction.md @@ -0,0 +1,5 @@ +# Storage CORS independent reproduction + +- Code matches rosterbbc1be79; dispatch administrative branch has no storage code delta. +- env -u NODE_TEST_CONTEXT node /tmp/bitvid-dispatch-storage-cors-reproduce.mjs: exit1 strict existing-origin false!==true after5 characterization controls. Actual helper+SDK wrapper, offline SDK module and transport only. ExistingRulesPreserved0/1; repeated calls2PUTs,missing-config1PUT,read-denied fixture1PUT/read0,empty origins0IO. +- Scoped preservation semantics routed; no lint/full/build/cloud qualification yet. No live bucket/credentials used.