KLKLine FrontendDashboard · Preview · Embed shell

F026 backend handshake

Object Tree Backend Handshake QA

این صفحه write واقعی انجام نمی‌دهد. هدف F026 این است که قبل از فعال‌کردن persistence سروری، قرارداد preflight، revision، idempotency و conflict را fail-closed و قابل تست کنیم.

Mode

deterministic

بدون نیاز به روشن بودن بک‌اند؛ suitable برای regression داخل فرانت.

Passed

5

چک‌های قرارداد handshake که پاس شده‌اند.

Failed

0

هر fail یعنی backend write نباید فعال شود.

Checked

۰۶:۳۳:۰۷

زمان اجرای audit در همین build.
preflight only

Handshake request

Widget
demo-advanced-kline
Symbol / interval
NASDAQ:AAPL · 1h
dryRun
true
expected revision
7
accepted sample

Accepted normalization

Status
synced
Policy
create-if-current
Can persist
true
Server revision
7
conflict sample

Conflict normalization

Status
conflict
Can persist
false
Conflict
revision-mismatch
Server revision
8
PASS

Preflight dry-run boundary

Object Tree backend writes must start with a dry-run/preflight request carrying revision and idempotency context.

preflight_dry_run_boundary
  • dryRun=true
  • clientRevision=7
  • expectedServerRevision=7
  • idempotencyKey=draft:demo-advanced-kline:NASDAQ:AAPL:1h:default:rev:7:preflight
PASS

Accepted server revision mapping

Accepted backend responses normalize to explicit server revision metadata before any UI marks a draft as synced.

accepted_revision_mapping
  • policy=create-if-current
  • serverRevision=7
  • canPersist=true
PASS

Conflict fail-closed mapping

Revision mismatches normalize to conflict and must block blind overwrite until the user/backend resolves them.

conflict_fail_closed
  • revision-mismatch: client=7 server=8
PASS

Endpoint separation

Preflight, admin persist and runtime restore remain separate contracts so dashboard/admin writes do not leak into iframe runtime reads.

endpoint_separation
  • /api/admin/chart-runtime-config/object-tree-drafts/preflight
  • /api/admin/chart-runtime-config/object-tree-drafts
  • /api/v1/widget/object-tree
PASS

Redacted evidence

F026 audit evidence is safe to render: no runtime token, admin token, provider secret or bearer-like value is exposed.

redacted_evidence
  • no runtimeToken/adminToken/Authorization/Bearer evidence rendered
F026 هنوز persistence واقعی نیست. backend باید tenant ownership، domain/license، audit log، revision lock و idempotency replay را enforce کند؛ فرانت فقط contract و QA surface را آماده کرده است.