Data Dictionary · Run log & versioning
⚙️ Trang này sinh tự động từ source code bằng
scripts/gen-reference.mjs— đừng sửa tay, sửa code rồi chạynpm run gen:reference.
Thuộc Data Dictionary. 4 bảng, engine_runs tới workflow_runs.
engine_runs
--------------------------------------------------------------------------- 4. Engine run history — bằng chứng "engine đã chạy thật", mỗi lần chạy một dòng. ---------------------------------------------------------------------------
migration: 0027_goal_model_run_history.sql
| Cột | Kiểu | Ràng buộc / ghi chú |
|---|---|---|
id | TEXT | PRIMARY KEY |
engine | TEXT | NOT NULL |
engine_version | TEXT | NOT NULL |
learner_id | TEXT | — |
workflow_run_id | TEXT | REFERENCES workflow_runs(id) |
trigger | TEXT | NOT NULL |
status | TEXT | NOT NULL DEFAULT 'running' CHECK (status IN ('running','succeeded','failed')) |
started_at | TEXT | NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')) |
finished_at | TEXT | — |
duration_ms | INTEGER | — |
input_json | TEXT | — |
output_json | TEXT | — |
produced_model_kind | TEXT | — |
produced_version | INTEGER | — |
produced_change | INTEGER | NOT NULL DEFAULT 0 |
error | TEXT | — |
input_ref | TEXT | — thêm ở 0034_run_evidence.sql |
output_ref | TEXT | — thêm ở 0034_run_evidence.sql |
model_version | TEXT | — thêm ở 0034_run_evidence.sql |
confidence | REAL | — thêm ở 0034_run_evidence.sql |
Khóa ngoại: workflow_run_id → workflow_runs
Index: idx_engine_runs_learner(learner_id, started_at DESC) · idx_engine_runs_engine(engine, started_at DESC) · idx_engine_runs_workflow(workflow_run_id) · idx_engine_runs_status(status, started_at DESC)
learner_goal_entries
--------------------------------------------------------------------------- 1. Goal Model — goal tree first-class (SDD-002 §16). Được phép rỗng (RISK-009). Ngày thi = deadline trên goal entry — nguồn duy nhất. ---------------------------------------------------------------------------
migration: 0027_goal_model_run_history.sql
| Cột | Kiểu | Ràng buộc / ghi chú |
|---|---|---|
id | TEXT | PRIMARY KEY |
learner_id | TEXT | NOT NULL REFERENCES learners(id) |
parent_goal_id | TEXT | REFERENCES learner_goal_entries(id) |
title | TEXT | NOT NULL |
kind | TEXT | NOT NULL CHECK (kind IN ( |
blueprint_id | TEXT | — |
subject_id | TEXT | — |
priority | INTEGER | NOT NULL DEFAULT 1 |
horizon | TEXT | NOT NULL DEFAULT 'strategic' CHECK (horizon IN ('operational','tactical','strategic','undated')) |
urgency | REAL | NOT NULL DEFAULT 0 |
deadline | TEXT | — |
dependencies_json | TEXT | — |
conflict_flags_json | TEXT | — |
source | TEXT | NOT NULL CHECK (source IN ('parent','learner_self','declaration','enrollment','system')) |
origin_kind | TEXT | — |
origin_id | TEXT | — |
status | TEXT | NOT NULL DEFAULT 'active' CHECK (status IN ('active','achieved','dropped')) |
model_version | INTEGER | NOT NULL DEFAULT 1 |
created_at | TEXT | NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')) |
updated_at | TEXT | NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')) |
Khóa ngoại: learner_id → learners · parent_goal_id → learner_goal_entries
Index: idx_goal_entries_learner(learner_id, status) · idx_goal_entries_origin(learner_id, origin_kind, origin_id) UNIQUE
workflow_run_steps
migration: 0027_goal_model_run_history.sql
| Cột | Kiểu | Ràng buộc / ghi chú |
|---|---|---|
id | TEXT | PRIMARY KEY |
run_id | TEXT | NOT NULL REFERENCES workflow_runs(id) |
seq | INTEGER | NOT NULL |
step_code | TEXT | NOT NULL |
status | TEXT | NOT NULL CHECK (status IN ('succeeded','failed','skipped')) |
started_at | TEXT | NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')) |
duration_ms | INTEGER | — |
detail_json | TEXT | — |
error | TEXT | — |
Khóa ngoại: run_id → workflow_runs
Index: idx_workflow_steps_run(run_id, seq)
workflow_runs
--------------------------------------------------------------------------- 3. Workflow run history — bằng chứng "workflow đã chạy thật" (WF-01, WF-03, WF-04…). ---------------------------------------------------------------------------
migration: 0027_goal_model_run_history.sql
| Cột | Kiểu | Ràng buộc / ghi chú |
|---|---|---|
id | TEXT | PRIMARY KEY |
workflow_code | TEXT | NOT NULL |
workflow_name | TEXT | NOT NULL |
learner_id | TEXT | — |
actor_user_id | TEXT | — |
trigger | TEXT | NOT NULL |
status | TEXT | NOT NULL DEFAULT 'running' CHECK (status IN ('running','succeeded','failed')) |
started_at | TEXT | NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')) |
finished_at | TEXT | — |
duration_ms | INTEGER | — |
input_json | TEXT | — |
output_json | TEXT | — |
error | TEXT | — |
input_ref | TEXT | — thêm ở 0034_run_evidence.sql |
output_ref | TEXT | — thêm ở 0034_run_evidence.sql |
request_id | TEXT | — thêm ở 0034_run_evidence.sql |
Index: idx_workflow_runs_learner(learner_id, started_at DESC) · idx_workflow_runs_code(workflow_code, started_at DESC) · idx_workflow_runs_status(status, started_at DESC)