human-analyzer
EVL · Scoring EngineEVL · Bộ Máy Chấm Điểm

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.70Openness · 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.10Narcissism · Machiavellianism · PsychopathyTự ái · Machiavelli · Tâm thầnT3
Attachment (ECR-R)Gắn kết (ECR-R)0.20Attachment-Anxiety · Attachment-AvoidanceLo lắng gắn kết · Né tránh gắn kếtT3
ℹ️
Verdict: scalar. The single 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.

CAST — overall ≥ 4.0CAST — overall ≥ 4.0 CONDITIONAL — 3.0 ≤ overall < 4.0CONDITIONAL — 3.0 ≤ overall < 4.0 NO — overall < 3.0 · or safety-clearance = 0 (veto)NO — overall < 3.0 · hoặc safety-clearance = 0 (phủ quyết)

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-ideationc-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-SSRSYES — hard vetoT2
c-ssrs-behavior (0.25)C-SSRSYES — hard vetoT2
depressive-severity (0.20)DSM-5 / ICD-11noT2
anxiety-severity (0.20)DSM-5 / ICD-11noT2
PASS — overall < 1.25 (low risk)PASS — overall < 1.25 (nguy cơ thấp) PASS_WITH_RISK — 1.25 ≤ overall < 2.75PASS_WITH_RISK — 1.25 ≤ overall < 2.75 BLOCKED — overall ≥ 2.75 · or any red flag elevatedBLOCKED — overall ≥ 2.75 · hoặc cờ đỏ nào bị nâng cao
Hard-block invariant: A RED flag on 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ĩ GottmanAll 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ưởngNo 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 GottmanBelow 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-RVery-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ạnhOpposite on most domains AND reinforce dysfunctionĐối lập trên hầu hết domain VÀ củng cố rối loạn
Incompatible — overall < 2.0Không tương thích — overall < 2.0 At-Risk — 2.0 ≤ overall < 3.0Có nguy cơ — 2.0 ≤ overall < 3.0 Compatible — 3.0–4.0 · Highly-Compatible — ≥ 4.0Tương thích — 3.0–4.0 · Rất tương thích — ≥ 4.0

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.

Scorecard frontmatter (JSON source of truth)Frontmatter scorecard (JSON nguồn sự thật)
docs/profiles/{char}/eval/{rubric-id}.json
{
  "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": "..."
    }
  ]
}
Live scorecard outputĐầu ra scorecard thật
Run in Claude Code:Chạy trong Claude Code:/evl:score --rubric psychometric-big-five --character {char}
evl:score --rubric psychometric-big-five
$ 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-fitclinical-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.

📥
Import does not = auto-trust. 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: drafthuman_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:scoreGeneric rubric scoring engine (all four kinds)Bộ máy chấm rubric chung (cả bốn loại)EVL.scored
evl:standardizePsychometric battery preset (Big Five + Dark Triad + attachment)Preset bộ tâm trắc (Big Five + Dark Triad + gắn kết)EVL.scored
evl:fitRole / casting-fit decision (CAST / CONDITIONAL / NO + veto)Quyết định phù hợp vai / casting (CAST / CONDITIONAL / NO + phủ quyết)EVL.scored
evl:compatibilityDyad compatibility scoring (Gottman + ECR-R)Chấm điểm tương thích cặp đôi (Gottman + ECR-R)EVL.scored
evl:compareCross-character ranking on one rubricXếp hạng chéo nhân vật trên một rubricreport onlychỉ báo cáo
evl:trackScore-over-time diff + event attributionDiff điểm theo thời gian + quy kết sự kiệnreport onlychỉ báo cáo
evl:validateRubric + scorecard structural checker (schema + version)Kiểm tra cấu trúc rubric + scorecard (schema + phiên bản)pass / failpass / fail
evl:rubric-importExternal 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/
4
versioned reference rubricsrubric tham chiếu có phiên bản
8
EVL framework skillsskill framework EVL
2
rubrics requiring ≥2 independent judgesrubric yêu cầu ≥2 judge độc lập
0
silent [UNVERIFIED] passespass im lặng [UNVERIFIED]