The 4 versioned rubrics, the JSON-schema, and how a scorecard is built 4 rubric có phiên bản, JSON-schema, và cách dựng scorecard
EVL is a generic, pluggable rubric scoring engine. It consumes a character's existing profile (MAT materials + PSY clinical profile + GRO growth — never CRE) and scores against a versioned rubric, emitting a structured scorecard + verdict. Every criterion must cite a MAT evidence tier; an uncited score is [UNVERIFIED] — excluded from the roll-up and counted, never a silent pass. Four reference rubrics ship as exemplars; external frameworks slot in under docs/rubrics/imported/ via evl:rubric-import.
EVL là bộ máy chấm điểm rubric chung, có thể cắm thêm. Nó tiêu thụ profile hiện có của nhân vật (tư liệu MAT + profile lâm sàng PSY + tăng trưởng GRO — không bao giờ CRE) và chấm theo rubric có phiên bản, phát ra scorecard có cấu trúc + phán quyết. Mỗi tiêu chí phải trích dẫn bậc bằng chứng MAT; điểm không trích là [UNVERIFIED] — bị loại khỏi tổng hợp và được đếm, không bao giờ pass im lặng. Bốn rubric tham chiếu được ship như mẫu; framework bên ngoài vào dưới docs/rubrics/imported/ qua evl:rubric-import.
The four reference rubrics Bốn rubric tham chiếu
psychometric-big-five · v1.0.0 · kind: psychometric · subject: singlev1.0.0 · loại: tâm trắc · đối tượng: đơn
Big Five (OCEAN via BFI-2 / NEO PI-R) + Dark Triad (SD3) + Attachment (ECR-R two-dimensional). Anchors transcribed from the instruments' behavioural descriptors (BARS). Scale 0–5. Three domain blocks with renormalized weights so all domains sum to 1.0. Big Five (OCEAN qua BFI-2 / NEO PI-R) + Dark Triad (SD3) + Gắn kết (ECR-R hai chiều). Neo từ bộ mô tả hành vi của công cụ (BARS). Thang 0–5. Ba khối domain với trọng số tái chuẩn hóa để tổng các domain bằng 1.0.
| DomainDomain | WeightTrọng số | Criteria (instrument)Tiêu chí (công cụ) | Min tierBậc tối thiểu |
|---|---|---|---|
| Big Five (OCEAN)Big Five (OCEAN) | 0.70 | Openness · Conscientiousness · Extraversion · Agreeableness · Neuroticism (BFI-2)Cởi mở · Tận tâm · Hướng ngoại · Dễ chịu · Bất ổn cảm xúc (BFI-2) | T3 |
| Dark Triad (SD3)Dark Triad (SD3) | 0.10 | Narcissism · Machiavellianism · PsychopathyTự ái · Machiavelli · Tâm thần | T3 |
| Attachment (ECR-R)Gắn kết (ECR-R) | 0.20 | Attachment-Anxiety · Attachment-AvoidanceLo lắng gắn kết · Né tránh gắn kết | T3 |
overall averages orthogonal constructs — it is NOT a psychometric quantity. Read domain-level scores for meaning; use overall only for coarse cohort ranking. Normalization: z_score. Cache: allow.
Phán quyết: scalar. overall đơn lẻ trung bình hóa các cấu trúc trực giao — KHÔNG phải chỉ số tâm trắc. Đọc điểm cấp domain để hiểu ý nghĩa; dùng overall chỉ cho xếp hạng nhóm thô. Chuẩn hóa: z_score. Cache: allow.
role-casting-fit · v1.0.0 · kind: decision · subject: single · high_stakes: truev1.0.0 · loại: quyết định · đối tượng: đơn · high_stakes: true
Scores a character against a target_profile (e.g. a role spec under docs/references/role-profiles/). Five criteria with weights drawn from role-fit research: trait-match (0.25) > competency-match (0.20) = motivational-fit (0.20) = safety-clearance (0.20) > growth-trajectory (0.15). Requires 2 independent judges (min_judges: 2). Safety-clearance is a red flag — a score of 0 on that criterion is a hard veto regardless of overall score.
Chấm điểm nhân vật theo target_profile (vd. spec vai dưới docs/references/role-profiles/). Năm tiêu chí với trọng số từ nghiên cứu phù hợp vai: trait-match (0.25) > competency-match (0.20) = motivational-fit (0.20) = safety-clearance (0.20) > growth-trajectory (0.15). Cần 2 judge độc lập (min_judges: 2). Safety-clearance là cờ đỏ — điểm 0 ở tiêu chí đó là phủ quyết cứng bất kể điểm tổng.
Min tier T2 for trait-match, competency-match, safety-clearance. Min tier T3 for motivational-fit, growth-trajectory. Normalization: min_max. Cache: allow. Bậc tối thiểu T2 cho trait-match, competency-match, safety-clearance. Bậc tối thiểu T3 cho motivational-fit, growth-trajectory. Chuẩn hóa: min_max. Cache: allow.
clinical-risk-safety · v1.0.0 · kind: clinical · high_stakes: true · cache: neverv1.0.0 · loại: lâm sàng · high_stakes: true · cache: never
DSM-5 dimensional severity + ICD-11 + C-SSRS suicide screen. The strictest configuration in the system: 2 independent judges, tri-state verdict, never cached (suicidality fluctuates — re-assess every run). Inverted orientation: a HIGH score = MORE risk = worse. Two hard-block red flags: c-ssrs-ideation and c-ssrs-behavior — a high score on either forces BLOCKED regardless of the weighted overall.
Mức độ nghiêm trọng theo chiều DSM-5 + ICD-11 + màn hình tự tử C-SSRS. Cấu hình nghiêm ngặt nhất trong hệ thống: 2 judge độc lập, phán quyết ba trạng thái, không bao giờ cache (xu hướng tự tử biến động — đánh giá lại mỗi lần chạy). Hướng đảo ngược: điểm CAO = RỦI RO NHIỀU HƠN = tệ hơn. Hai cờ đỏ chặn cứng: c-ssrs-ideation và c-ssrs-behavior — điểm cao ở một trong hai ép BLOCKED bất kể tổng có trọng số.
| Criterion (weight)Tiêu chí (trọng số) | InstrumentCông cụ | Red flag?Cờ đỏ? | Min tierBậc tối thiểu |
|---|---|---|---|
| c-ssrs-ideation (0.35) | C-SSRS | YES — hard veto | T2 |
| c-ssrs-behavior (0.25) | C-SSRS | YES — hard veto | T2 |
| depressive-severity (0.20) | DSM-5 / ICD-11 | no | T2 |
| anxiety-severity (0.20) | DSM-5 / ICD-11 | no | T2 |
c-ssrs-ideation or c-ssrs-behavior forces verdict = BLOCKED regardless of overall score. This is enforced by evl:fit at scoring time — it cannot be overridden by rubric config. Crisis details are never cached (cache: never) and the rubric is stamped reassess_required — a stale risk verdict is never reused.
Bất biến chặn cứng: Cờ ĐỎ trên c-ssrs-ideation hoặc c-ssrs-behavior ép phán quyết = BLOCKED bất kể điểm tổng. Điều này được thi hành bởi evl:fit lúc chấm điểm — không thể ghi đè bởi config rubric. Chi tiết khủng hoảng không bao giờ được cache (cache: never) và rubric được đóng dấu reassess_required — phán quyết rủi ro lỗi thời không bao giờ được tái sử dụng.
relationship-compatibility · v1.0.0 · kind: dyad · subject: dyadv1.0.0 · loại: cặp đôi · đối tượng: cặp đôi
Scores a pair of characters (subject: dyad). Gottman Four Horsemen absence + repair attempts + 5:1 positivity ratio + ECR-R attachment pairing + similarity/complementarity. All criteria oriented "higher = better" — horsemen-absence is inverted so 5 = no horsemen, 0 = all four pervasive. Scale 0–5. Chấm điểm một cặp nhân vật (subject: dyad). Vắng mặt Bốn Kỵ sĩ Gottman + nỗ lực sửa chữa + tỷ lệ tích cực 5:1 + ghép nối gắn kết ECR-R + tương đồng/bổ sung. Tất cả tiêu chí hướng "cao hơn = tốt hơn" — horsemen-absence bị đảo ngược nên 5 = không có kỵ sĩ nào, 0 = cả bốn phổ biến. Thang 0–5.
| Criterion (weight)Tiêu chí (trọng số) | TheoryLý thuyết | Key anchor (score 0)Neo chính (điểm 0) |
|---|---|---|
| horsemen-absence (0.25) | Gottman Four HorsemenBốn Kỵ Sĩ Gottman | All four pervasive; contempt presentCả bốn phổ biến; khinh thường hiện diện |
| repair-attempts (0.20) | Gottman — softened start-ups, influenceGottman — khởi đầu mềm mại, tiếp nhận ảnh hưởng | No repair; conflict escalates unabatedKhông sửa chữa; xung đột leo thang |
| positivity-ratio (0.20) | Gottman 5:1 ruleQuy tắc 5:1 Gottman | Below 3:1; breakup likelyDưới 3:1; khả năng chia tay |
| attachment-pairing (0.20) | ECR-R attachment pairing stabilityỔn định ghép nối gắn kết ECR-R | Very-low-stability (Preoccupied×Dismissing)Ổn định rất thấp (Lo lắng×Né tránh) |
| similarity-complementarity (0.15) | Moderate similarity + offset strengthsTương đồng vừa phải + bù đắp điểm mạnh | Opposite on most domains AND reinforce dysfunctionĐối lập trên hầu hết domain VÀ củng cố rối loạn |
Scorecard anatomy & JSON-schema validation Cấu trúc scorecard & xác thực JSON-schema
Each scoring run writes two files under docs/profiles/{char}/eval/: a JSON scorecard (machine source of truth) and a derived markdown. Prior runs snapshot to eval/history/. JSON is authoritative — the markdown is never the source of truth. The schema (.claude/schemas/evl-rubric.schema.json, Draft-7) validates both the rubric definition and the scorecard; a malformed rubric or tampered scorecard fails evl:validate and cannot be scored or trusted.
Mỗi lần chạy chấm điểm ghi hai file dưới docs/profiles/{char}/eval/: scorecard JSON (nguồn sự thật máy) và markdown dẫn xuất. Các lần chạy trước snapshot vào eval/history/. JSON là chuẩn mực — markdown không bao giờ là nguồn sự thật. Schema (.claude/schemas/evl-rubric.schema.json, Draft-7) xác thực cả định nghĩa rubric và scorecard; rubric không đúng định dạng hoặc scorecard bị sửa sẽ fail evl:validate và không thể chấm hoặc tin tưởng.
{
"character": "{ char-slug }",
"domain": "eval",
"type": "data",
"rubric": "{ rubric-id }",
"rubric_version": "X.Y.Z",
"verdict": "{ scalar | band-label | tri_state }",
"overall": { number },
"coverage": { 0-100 },
"confidence": "high | medium | low",
"cache": "allow | never",
"last_updated": "YYYY-MM-DD",
"updated_by": "evl:{ skill }",
"criteria": [
{
"id": "criterion-id",
"score": { 0-5 },
"evidence_tier": "T1 | T2 | T3 | [UNVERIFIED]",
"evidence_files": ["psychology/*.md"],
"note": "..."
}
]
}
/evl:score --rubric psychometric-big-five --character {char}$ evl:validate --all [PASS] clinical-risk-safety [PASS] psychometric-big-five [PASS] relationship-compatibility [PASS] role-casting-fit PASS — 4 rubric(s) valid · exit 0
Honesty contract — the rigor rails Hợp đồng trung thực — thanh ray nghiêm ngặt
Uncited ⇒ [UNVERIFIED], excluded + countedKhông trích ⇒ [UNVERIFIED], bị loại + đếm
A criterion score without a MAT evidence tier citation is marked [UNVERIFIED], excluded from the weighted roll-up, and increments the unverified counter. The coverage% field in the scorecard headline always shows how many criteria were verifiable vs. not. There is no way to hide an uncited score.
Điểm tiêu chí không có trích dẫn bậc bằng chứng MAT được đánh dấu [UNVERIFIED], bị loại khỏi tổng hợp có trọng số, và tăng bộ đếm chưa xác minh. Trường coverage% trong tiêu đề scorecard luôn hiển thị bao nhiêu tiêu chí có thể xác minh vs. không. Không có cách nào ẩn điểm không trích dẫn.
High-stakes rubrics need ≥2 independent judgesRubric high-stakes cần ≥2 judge độc lập
role-casting-fit and clinical-risk-safety both set min_judges: 2. Judges are input-isolated — they cannot see each other's scores before submitting. A disagreement above the convergence threshold produces verdict DIVERGED + manual_review_required: true. Diverged scorecards are never auto-averaged; a human must adjudicate before any verdict is used.
role-casting-fit và clinical-risk-safety đều đặt min_judges: 2. Các judge được cô lập đầu vào — họ không thể thấy điểm của nhau trước khi nộp. Bất đồng vượt ngưỡng hội tụ tạo ra phán quyết DIVERGED + manual_review_required: true. Scorecard DIVERGED không bao giờ được tự động trung bình; người phải phán quyết trước khi phán quyết nào được sử dụng.
Below min_tier ⇒ below_min_tier (excluded)Dưới min_tier ⇒ below_min_tier (bị loại)
If a criterion's cited evidence tier is weaker than its min_tier (e.g. T4 evidence for a T2-minimum criterion), the score is marked below_min_tier and excluded from the roll-up. This is distinct from [UNVERIFIED] — the evidence exists, but it is too weak to ground this criterion. Both states are loud, both are counted in coverage.
Nếu bậc bằng chứng được trích dẫn của tiêu chí yếu hơn min_tier của nó (vd. bằng chứng T4 cho tiêu chí yêu cầu tối thiểu T2), điểm được đánh dấu below_min_tier và bị loại khỏi tổng hợp. Điều này khác với [UNVERIFIED] — bằng chứng tồn tại, nhưng quá yếu để làm nền tảng cho tiêu chí này. Cả hai trạng thái đều rõ ràng, cả hai đều được đếm trong coverage.
Tampered scorecard fails evl:validateScorecard bị sửa thất bại evl:validate
evl:validate checks every scorecard against the JSON schema and the rubric it references. A field mismatch, a missing required key, an out-of-range score, or a rubric version mismatch all produce a validation error that blocks the scorecard from being used in downstream cascade steps. Validation runs automatically before any EVL.scored event is emitted.
evl:validate kiểm tra mọi scorecard theo JSON schema và rubric mà nó tham chiếu. Không khớp trường, thiếu key bắt buộc, điểm ngoài phạm vi, hoặc không khớp phiên bản rubric đều tạo ra lỗi xác thực chặn scorecard được sử dụng trong các bước cascade phía sau. Xác thực chạy tự động trước khi bất kỳ sự kiện EVL.scored nào được phát.
imported/ — bringing in external frameworks imported/ — đưa framework bên ngoài vào
External evaluation frameworks (psychometric instruments, casting briefs, competency models, clinical batteries) are converted to canonical draft rubrics under docs/rubrics/imported/ by evl:rubric-import. The import skill proposes a structured mapping — domains, criteria, weights, anchors, min_tier — but never invents psychometric content or weights. A human reviewer validates the draft before it is used for scoring. Once accepted, imported rubrics are schema-validated and versioned identically to the built-in four.
Các framework đánh giá bên ngoài (công cụ tâm trắc, brief tuyển vai, mô hình năng lực, bộ lâm sàng) được chuyển đổi thành rubric nháp chuẩn dưới docs/rubrics/imported/ bởi evl:rubric-import. Skill import đề xuất một ánh xạ có cấu trúc — domain, tiêu chí, trọng số, neo, min_tier — nhưng không bao giờ tự tạo nội dung tâm trắc hoặc trọng số. Người đánh giá xác nhận nháp trước khi nó được dùng để chấm. Sau khi chấp nhận, rubric được nhập được xác thực schema và đặt phiên bản giống hệt bốn rubric tích hợp.
evl:rubric-import is a translation aid. The resulting draft carries status: draft and human_reviewed: false until a qualified reviewer signs off. A draft rubric cannot be used for scoring — evl:score rejects any rubric where human_reviewed is false. This prevents an adversarial import from influencing a scorecard.
Import không = tự động tin tưởng. evl:rubric-import là công cụ hỗ trợ dịch thuật. Nháp kết quả mang status: draft và human_reviewed: false cho đến khi người đánh giá có đủ năng lực ký duyệt. Rubric nháp không thể dùng để chấm — evl:score từ chối bất kỳ rubric nào có human_reviewed là false. Điều này ngăn một import thù địch ảnh hưởng đến scorecard.
EVL skills — 8 in the framework Skill EVL — 8 trong framework
| SkillSkill | PurposeMục đích | EmitsPhát |
|---|---|---|
evl:score | Generic rubric scoring engine (all four kinds)Bộ máy chấm rubric chung (cả bốn loại) | EVL.scored |
evl:standardize | Psychometric battery preset (Big Five + Dark Triad + attachment)Preset bộ tâm trắc (Big Five + Dark Triad + gắn kết) | EVL.scored |
evl:fit | Role / casting-fit decision (CAST / CONDITIONAL / NO + veto)Quyết định phù hợp vai / casting (CAST / CONDITIONAL / NO + phủ quyết) | EVL.scored |
evl:compatibility | Dyad compatibility scoring (Gottman + ECR-R)Chấm điểm tương thích cặp đôi (Gottman + ECR-R) | EVL.scored |
evl:compare | Cross-character ranking on one rubricXếp hạng chéo nhân vật trên một rubric | report onlychỉ báo cáo |
evl:track | Score-over-time diff + event attributionDiff điểm theo thời gian + quy kết sự kiện | report onlychỉ báo cáo |
evl:validate | Rubric + scorecard structural checker (schema + version)Kiểm tra cấu trúc rubric + scorecard (schema + phiên bản) | pass / failpass / fail |
evl:rubric-import | External framework → canonical rubric draft (human review required)Framework bên ngoài → nháp rubric chuẩn (cần đánh giá người) | docs/rubrics/imported/ |
EVL framework guideHướng dẫn framework EVL
Full EVL operating guide — skill triggers, GUIDE routing, the EVL↔other-domain boundary, and the EVL.rescore cascade.Hướng dẫn vận hành EVL đầy đủ — trigger skill, định tuyến GUIDE, ranh giới EVL↔miền khác, và cascade EVL.rescore.
Gates & evidenceCổng & bằng chứng
How the T1–T5 evidence ladder connects to the per-criterion min_tier requirement and the coverage% headline in every scorecard.Cách thang bằng chứng T1–T5 kết nối với yêu cầu min_tier từng tiêu chí và tiêu đề coverage% trong mọi scorecard.
Skill catalogDanh mục skill
All 8 EVL skills in the catalog with trigger conditions, examples, and links to their GUIDE-EN/VI walkthroughs.Tất cả 8 skill EVL trong danh mục với điều kiện kích, ví dụ, và liên kết đến hướng dẫn GUIDE-EN/VI của chúng.
Event pipelinePipeline sự kiện
How EVL.rescore and EVL.scored sit in the PSY.refresh → EVL.rescore → EVL.scored → CRE.recalibrate cascade.Cách EVL.rescore và EVL.scored nằm trong cascade PSY.refresh → EVL.rescore → EVL.scored → CRE.recalibrate.