mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-11-09 14:22:53 +00:00
storage-cors-4: guard obsolete registered feed completions; close landed storage-cors-3
This commit is contained in:
1 parent
26e9a787cf
commit
b21ce86c8e
9 files changed
+537
-13
No files matched your search
@@ -1,11 +1,12 @@
|
||||
{
|
||||
"id": "storage-cors-3",
|
||||
"area": "storage-cors",
|
||||
"status": "in-progress",
|
||||
"status": "done",
|
||||
"title": "Audit feed/view tombstone stale-refresh regression gap with offline integration",
|
||||
"blockedOn": null,
|
||||
"addedOn": "2026-10-20",
|
||||
"filedAt": "7f99c0456931c917082d6a6680c79655221dcc82",
|
||||
"resumedOn": "2026-10-22",
|
||||
"brief": "docs/agents/CAMPAIGN-2026-10-22.md"
|
||||
"brief": "docs/agents/CAMPAIGN-2026-10-22.md",
|
||||
"closedOn": "2026-10-22"
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"id": "storage-cors-4",
|
||||
"area": "storage-cors",
|
||||
"status": "open",
|
||||
"title": "Prevent obsolete registered feed completions restoring deleted or replaced DOM",
|
||||
"blockedOn": "Implement separately only after existing storage3 candidate is frozen and submitted",
|
||||
"addedOn": "2026-10-22",
|
||||
"filedAt": "89f8923c6e83b79a2b8874f811cdff2af6a809d0",
|
||||
"brief": "docs/agents/prompts/storage-cors.md"
|
||||
"id": "storage-cors-4",
|
||||
"area": "storage-cors",
|
||||
"status": "in-progress",
|
||||
"title": "Prevent obsolete registered feed completions restoring deleted or replaced DOM",
|
||||
"blockedOn": null,
|
||||
"addedOn": "2026-10-22",
|
||||
"filedAt": "89f8923c6e83b79a2b8874f811cdff2af6a809d0",
|
||||
"brief": "docs/agents/prompts/storage-cors.md"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
# storage-cors-4 registered lifecycle integrity
|
||||
|
||||
```yaml
|
||||
test_integrity_note:
|
||||
change_type: ["new_tests"]
|
||||
scenarios:
|
||||
- id: SCN-storage4-registered-completion
|
||||
given: "Real registered Recent/Explore/For You pipelines and real JSDOM VideoListView/Card, with controlled moderation subscription IO"
|
||||
when: "Older success or rejection resolves after a newer refresh, deletion, empty result, feed replacement, or disposal"
|
||||
then: "Only eligible current request changes DOM, metadata, telemetry and presentation effects; stale caller still settles"
|
||||
- id: SCN-storage4-current-controls
|
||||
given: "A current registered pipeline or fallback and a live view"
|
||||
when: "History or moderation IO is delayed, engine fails, or engine is unavailable"
|
||||
then: "Live cards/fallback and metadata remain observable with natural completion"
|
||||
- id: SCN-storage4-obsolete-load
|
||||
given: "Retained onVideos callback or history preload belongs to replaced load"
|
||||
when: "Same-feed replacement or different-feed load wins"
|
||||
then: "Old callback starts no refresh; obsolete runtime starts no engine or presentation effects"
|
||||
observable_outcomes:
|
||||
- "Card DOM IDs, view container ownership, payloads, metadata identity, render/impression counts and telemetry calls"
|
||||
determinism_controls:
|
||||
- "Explicit deferred IO; synthetic offline events, fake subscription/storage adapters; no sleeps/retries/timeouts"
|
||||
anti_cheat_rationale:
|
||||
prevents:
|
||||
- "hard-coded empty output via delayed/current/fallback controls"
|
||||
- "decorator-only pipeline replacement via actual registered production stages"
|
||||
- "success-only guards via delayed rejected engine with telemetry assertions"
|
||||
- "per-feed counters ignoring view replacement via same-feed remount controls"
|
||||
relaxation:
|
||||
did_relax_any_assertion: false
|
||||
if_true_explain_spec_basis: ""
|
||||
```
|
||||
|
||||
16 retained scenarios in tests/storage-feed-lifecycle.test.mjs. Auto-discovered by unchanged normal runner; no registration bypass. Uses existing actual client/buffer/service fixture, synthetic signatures and controlled adapters. Source, filters, moderation, timestamps, scoring/sorting and actual DOM rendering execute. First moderation setActiveEventIds containing original pauses; no custom decorator stage. Engine error tests wrap real run and reject after its production stages return. History preload exercises actual For You await.
|
||||
|
||||
Nine isolated runtime mutants all exit1 naturally, cancelled0; restored in finally. Original coordinator fails12/16; ignoring request order fails4; ignoring view eligibility fails2; ignoring stale errors fails2; ignoring stale runtime fails1; suppressing current rendering fails9; obsolete load callbacks enabled fails1; allowing orphan completion fails11; dropping fallback fails3. Each retained scenario rejects original or a relevant broken control variant. No assertion relaxation or existing-test edit.
|
||||
|
||||
Live network/signatures/moderation timing, full application router/auth teardown, native browser and manual release not verified. No new source/cache/deletion policy. Return choice and pre-engine supersession are documented in decisions/DECISIONS_2026-10-22_20-45-00_storage-cors-4.md.
|
||||
Reference in new issue
Block a user