feat(httpapi): harden control plane and speed up prefix refresh

Очередь job получила lease и fencing, телеметрия и прогресс deploy сохраняются, ревизия пишет manifest входов. Обновление префиксов не переписывает неизменённый снимок, большие наборы идут через COPY, а устаревшая ревизия не попадает в deploy. Бандл ноды кэшируется, prune и постановка job больше не держат горячий путь.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
DenozordecandCursor committed 2026-11-02 17:23:59 +07:00
1 parent 924f111e48
commit f8e0520817
197 files changed
+18655 -1416

No files matched your search

@@ -0,0 +1,14 @@
-- SQLite is used for schema parity and local fixtures; the production render
-- admission barrier is implemented by the PostgreSQL repository.
CREATE TABLE tenant_render_generation (
tenant_id TEXT PRIMARY KEY REFERENCES tenant(id) ON DELETE CASCADE,
generation INTEGER NOT NULL DEFAULT 1
);
INSERT INTO tenant_render_generation(tenant_id, generation) SELECT id, 1 FROM tenant;
ALTER TABLE module_prefix_snapshot ADD COLUMN snapshot_version INTEGER NOT NULL DEFAULT 0;
CREATE TABLE render_revision_manifest (
revision_id TEXT PRIMARY KEY REFERENCES config_revision(id) ON DELETE CASCADE,
tenant_id TEXT NOT NULL REFERENCES tenant(id) ON DELETE CASCADE,
config_generation INTEGER NOT NULL,
manifest_json TEXT NOT NULL
);