v2-platform: 10 OTA watch runtime — poll, validate, partial hot-swap, rollback

Đã đóng
#284 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
30/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
backend

Hướng nghiên cứu

Bắt đầu với prototype vòng đời hot-swap trong #277 và xác nhận rằng phần công việc grafting web-plugin của #281 đã khả dụng trước khi thiết kế runtime. Theo dõi các yêu cầu polling và xác thực độ tin cậy của FastKV, sau đó sử dụng measurement harness và regression stack của prototype để xác minh các partial swap, rollback, tính liên tục của request và hành vi deploy-to-update mà không cần restart.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

ready-for-agent

Parent

#274 (v2 platform services spec)

What to build

The OTA runtime: a watch mode where the static container never restarts for code changes. It polls the account's FastKV read URL (~5s), validates the trust chain (on-chain config signature + per-remote SRI), and hot-swaps ONLY the remotes whose URLs changed, following the lifecycle strategy proven by the hot-swap prototype (shadow-flip or its measured better). Rollback re-imports the cached last-good URLs on any failed swap. This is the mechanism that turns a publish into "the app updates within seconds" — the workshop loop, the agent loop, and zero-downtime production deploys all ride on it.

Acceptance criteria

  • A config change on FastKV is reflected by the running host within seconds, without restart
  • In-flight requests during a swap are never dropped or served half-old/half-new (per the prototype's validated strategy)
  • Only remotes whose URLs changed are re-imported (partial swap)
  • A swap whose new remotes fail SRI or import rolls back to the last-good graph and keeps serving
  • Repeated swaps over a day show no leaked connections, handlers, or module graphs (per the prototype's measurement harness)
  • The e2e loop (deploy → publish → running app updates, no restart) is covered by the regression stack

Blocked by

  • #277 (hot-swap lifecycle prototype — the strategy must be proven before this is built)
  • #281 (all web plugins grafted — the swap operates on the grafted graph)
Ngôn ngữ chính
TypeScript
Star
5
Fork
3
Merge trung bình
9 giờ 16 phút
Pull request đã merge (30 ngày)
160

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của NEARBuilders/everything-dev

Tất cả issue của NEARBuilders/everything-dev

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.