Starting the autonomous structural/local implementation lane on codex/session-27-cross-frontend-e2e from b179c7d1be086691ae3ed99847a16fac9763804a.
Gap audit against the current composed E2E found that lower layers already prove many canonical invariants, but make e2e-local itself still lacks the cross-frontend/lifecycle composition required here.
First bounded patch will add a real-stand canonical session scenario covering:
- two successive
/newoperations and stable access to prior sessions; - authorized session list/open/history through the production session API service over real YDB/S3;
- synthetic second-frontend attach to the same Telegram-owned session and canonical event observation;
- archive/history/artifact preservation/unarchive;
- exact stable counts for duplicate ingress and terminal finalization.
A later bounded patch will add real context event-only vs snapshot+tail/corrupt fallback, operational TTL preservation, interrupted deletion with sentinel isolation, and explicit bounded-query/EXPLAIN evidence.
WEB-06 #35 remains the later cloud/OIDC repetition gate and is still externally blocked by unapplied WEB-05 #34; this patch will not pretend to satisfy that live evidence. Each MR will use the same post-PR fresh subagent review and one feedback cycle before merge.


Первый composed E2E-срез влит через MR !43 (9c57e6219c4b49f0e9dd72bceaa0ae3b385de0f6, обычный merge commit).
Покрыто:
- duplicate Telegram ingress и terminal replay с точными canonical counts;
- реальный Telegram 429 retry без orphan delivery;
- два последовательных
/new, list/open старых сессий; - archive → history/artifact identity → unarchive;
- synthetic frontend attach к текущей canonical session и terminal worker run;
- cross-tenant get/history/bind/list/blob/delete negative matrix;
- YDB Timestamp microsecond boundary для list/cursor;
- bounded run-delivery continuation: terminal history фильтруется до
LIMIT, полная non-terminal page переотправляет wake до исчерпания.
Exact-head CI green: https://github.com/urandon/sessionless/actions/runs/32538547293
Post-merge main CI: https://github.com/urandon/sessionless/actions/runs/32539651755
Issue оставляю открытым для второго structural slice:
- snapshot+tail vs event-only и corrupt-snapshot fallback;
- operational TTL preservation;
- interrupted deletion/retry с same-tenant и cross-tenant sentinels + audit evidence;
- YDB EXPLAIN/no-full-scan evidence и fixed 16-bucket fan-out.


MR !44 merged into main as 6605f8a4e034484462880ea0085ce2eca4cda29f.
Delivered the second bounded #27 slice:
- real YDB/MinIO/ElasticMQ/one-shot worker proof that snapshot+tail materialization is byte-identical to event-only replay;
- covered event payloads are unavailable during the snapshot-path worker run, proving they are not read;
- corrupt pinned snapshot falls back to canonical event replay and still succeeds;
- deterministic harness context-history capture is explicit opt-in and is absent by default;
- Telegram delivery is drained before covered payloads are hidden;
- fixed the real snapshot builder/YDB pagination mismatch (200-row store bound), with a 201-event regression proving page requests
[200,1].
Evidence:
- independent review cycle: no remaining P1/P2;
- local
make ci: green; - GitHub mirror exact feature SHA
e9ebe5af9b4a8012c00684d6c8da3b3f3a7c8062; - exact-SHA CI run #146: all jobs green, including Local multi-service stand and Runtime images:
https://github.com/urandon/sessionless/actions/runs/32551241370
#27 remains open. The next structural slice is operational-TTL preservation, interrupted deletion with same-/cross-tenant sentinels, and bounded YDB EXPLAIN/no-full-scan evidence. Cloud/browser repetition remains tracked by #34/#35/#14.


Завершён финальный structural slice SESSION-08.
Что вошло:
- MR !47: resumable tenant-scoped deletion с точным inventory и повтором после частичного удаления Object Storage;
- доказательство сохранности canonical history/artifacts и durable delivery/checkpoint ledgers после operational TTL;
- same-tenant и cross-tenant sentinels;
- cleanup
session_displays; - 13 реальных YDB EXPLAIN shapes с fail-closed запретом
TableFullScan; - отдельный follow-up #57 для явной политики retention/deletion payload-free API idempotency и upload-intent metadata.
Проверка и оркестрация:
- feature SHA:
d6af4e4a54856852657dab7657c93df6615d4797; - exact-SHA CI #149 — полностью зелёный: https://github.com/urandon/sessionless/actions/runs/32554906066
- независимый review: один цикл, итог no P1/P2;
- no-ff merge SHA:
fc242feff33fd841d90e0b06e5ef5f9478430649; - GitCode → GitHub push mirror завершён, GitHub main подтверждает тот же SHA;
- post-merge CI #150: Go, Telegram Worker, browser/accessibility, YDB schema/state, local multi-service stand и Terraform — зелёные; runtime clean-room build зелёный, публикация остановилась только на известной live-foundation границе #34: https://github.com/urandon/sessionless/actions/runs/32555763352
Локальная структурная acceptance #27 выполнена. Реальные managed-TTL/RU и cloud browser/OIDC доказательства остаются в терминальных cloud-gates #14/#34/#35 и не размывают этот bounded contract.


Parent and architecture
Outcome
Replace the local two-tenant E2E contract with canonical-session, cross-frontend, archive and stateless-context scenarios before harness-specific/cloud release gates.
Estimate
Scope
docs/local-e2e.md;Required scenarios
/newoperations in one Telegram chat create distinct sessions.Acceptance criteria
docs/local-e2e.mddistinguishes local correctness evidence from later cloud performance/operability evidence.