Chuyển đến nội dung chính
BBFoundation

BeBetter · Contract-first Foundation

Contract-first live scoring starts here.

Nền FE-BE được khóa từ shared contracts ngay từ đầu để các agent còn lại có thể build vertical slices mà không đoán API, đoán envelope, hay drift version handshake.

Build version20260326-074727
Contract versionv0 / min supported v0
Environmentproduction
AdminCấu hình event, khóa policy, và điều khiển open-close-compute-publish theo contract.
Giám khảoTouch-first scoring lane riêng cho ban giám khảo, không drift với student lane.
Học sinhScoring lane riêng cho học sinh, tối ưu thao tác nhanh trên mobile viewport.
Kết quảHiện snapshot đã publish, versioned, audit-friendly, và có thể thêm reveal effect sau này.

Contract gate

  1. Envelope có đầy đủ request_id, correlation_id, server_time, build_version.
  2. Version handshake khóa contract_version và min_supported_contract_version.
  3. Frontend và backend đều import type từ @bebetter/contracts.

Foundation artifacts

  • @bebetter/contracts là SSOT cho envelope, versioning, error model, shared IDs.
  • Backend NestJS foundation expose GET /api/v1/runtime/handshake theo contract v0.
  • Frontend app shell đọc runtime info qua shared API client và mock adapter.
  • ADR scaffolding và load-test scaffolding đã được tạo để unblock Agent 2-6.

Active Vertical Slice

Judge lane

Scoring screen touch-first cho giám khảo với duplicate guard, timing rule, và submit receipt.

Active Vertical Slice

Student lane

Scoring screen mobile-first cho học sinh, chung contract với judge nhưng lane tách biệt.

Active Vertical Slice

Identity Desk

Redeem access pass, session/me, support desk revoke-reissue-transfer trên cùng shared contracts.

Active Vertical Slice

Admin Policy

Persist policy explicit, gán item, và điều khiển OPEN/CLOSE theo contract runtime.

Runtime handshake

production

API base: https://bebetter-backend-i5tnjbymva-as.a.run.app

Release freeze: outside-live-window

Current item

Team Alpha

DRAFT · sequence 1774492660510

Event: event-2026-demo

Live panel

connected

admin 3 · judge 24 · student 186 · result 91

pool api 4-20 · worker 2-10