Implementation started
Work has started on branch ai/mvp-08-local-e2e, based on merged main at ea5185f.
The first implementation pass is mapping the existing ingress, scheduler, worker, object-store and delivery boundaries into one black-box make e2e-local topology. The test remains deterministic and credential-free, with two tenants and explicit assertions for isolation, idempotency, retry/recovery, quota state and same-chat delivery.


Implementation update — deterministic local multi-user E2E
Implementation is published in MR !15, branch ai/mvp-08-local-e2e, commit 993de50.
Implemented
make e2e-localstarts/migrates the pinned stand, builds the one-shot worker image, and runs a credential-free two-tenant black-box slice.- The exercised path is Telegram webhook → YDB ingress/outbox → reconciler admission → ElasticMQ → isolated worker container → MinIO artifacts → YDB delivery outbox → Telegram fake capture.
- Scenarios cover interleaved/out-of-order users, duplicate update, document ingestion, disconnected and provider-quota blocking/recovery, dispatch publication repair after a queue outage, retry before the first checkpoint and resume after checkpoint one, durable cancellation, Telegram 429 retry, terminal queue replay, tenant-scoped artifact access, and explicit
/newcontext advancement. - Structured boundary logs correlate update/message/tenant/run/delivery identifiers without logging message bodies, credentials, or artifact contents.
- The topology, timing boundary, fault matrix and operator queries are documented in
docs/local-e2e.mdand linked from the public README/development guide. - The mirrored GitHub Actions
Local multi-service standjob now makesmake e2e-locala mandatory gate.
Verified locally
make cipassed, including formatting, vet, race tests, all binaries, and foundation integration tests.- Tagged E2E package compilation and vet passed.
git diff --checkand shell syntax validation passed.
Docker is not installed on the development workstation, so no local Compose execution is claimed. This issue remains open until the GitCode branch reaches the GitHub mirror and the mandatory local-stand job executes the actual containers successfully.


Completion report — deterministic local multi-user E2E slice
MVP-08 is complete and merged through MR !15 as merge commit f61f9ec.
Delivered:
make e2e-localstarts the complete local stand and executes the tagged black-box suite.- Two isolated Telegram tenants exercise interleaved text/file ingress, duplicate and reordered updates, deterministic worker execution, S3-compatible artifacts, durable delivery, and captured Telegram replies.
- Automated recovery coverage includes provider quota blocking and reset, queue publication gaps, retry before and after checkpoints, cancellation, Telegram 429 retry, duplicate terminal queue delivery, and explicit clean context.
- Cross-tenant blob access is rejected and tenant-scoped keys, state, usage observations, outboxes, and artifact manifests are asserted.
- Correlation logging covers update, tenant, run, queue message, delivery, and Telegram message identifiers.
- The local operator procedure and warm non-inference timing boundary are documented in
docs/local-e2e.md. - CI now runs the local multi-service stand as a mandatory job before runtime-image completion.
Verification:
- GitHub Actions run 30564080531 completed successfully for head
be97135. origin/maincontains the implementation and both CI corrections throughf61f9ec.- Local
make ci, tagged E2E compilation, focused ingress tests, formatting, and diff checks passed before merge.
The next critical-path item is MVP-09 / #12: provision and validate the isolated Yandex Cloud development environment.


Parent and architecture
Outcome
Prove the complete product/control-plane flow locally with two tenants and a deterministic worker before deploying cloud infrastructure or integrating a real subscription harness.
Estimate
Required flow
Scenarios
Deliverables
make e2e-localblack-box test target.Acceptance criteria