NovelForge Evals · 评测系统
NovelForge 严格区分 deterministic invariant 与 semantic quality judgment。
NovelForge 严格区分 deterministic invariant 与 semantic quality judgment。
flowchart LR C[Eval Case] --> T{Judge Type} T -- deterministic --> D[Code Assertions] T -- rubric --> Q[Blind Semantic Queue] T -- hybrid --> D D -->|preconditions pass| Q Q --> W[Independent Reviewer] W --> B[Fingerprint-bound Result] B --> R[Eval Runner]Deterministic runner 永远不能假装 regex/heuristic 等价于文学判断。
Case Types
Section titled “Case Types”regression:保护已知 failure mechanism;只有当前 release path 有真实 deterministic/semantic baseline 时才可作为 release blocker。capability:验证 Framework 能识别或实现目标 mechanism。infrastructure:验证 schema、authority、files、routing 与 runtime contract。
Judge Types
Section titled “Judge Types”deterministic
Section titled “deterministic”只跑代码断言,适合 lifecycle、schema、file、authority、idempotency、exact fixture property。
rubric
Section titled “rubric”必须有真正 independent semantic judgment。缺失 judgment = PENDING_MODEL,绝不伪造 PASS。
hybrid
Section titled “hybrid”先跑 deterministic precondition,再跑 semantic rubric。
Blindness
Section titled “Blindness”Semantic case 文件可以保存 hidden expected 用于 eval scoring;build_judge_queue.py 会生成独立 blind queue,把 expected/gold/release label 全部剥掉后才交给 reviewer。
Regression bad example 是 eval fixture,不进入 first-pass Writer context。
Normal CI
Section titled “Normal CI”Normal CI:
- 验证 eval manifest/cases;
- 运行 deterministic release blockers;
- build blind semantic queue;
- 验证 hidden expected label 没有泄漏;
- 需要时可验证明确 versioned、人工/独立 reviewer 已审 baseline。
Reviewed baseline 是证据索引,不是模型输出。validate_semantic_acceptance.py 会重新生成当前 blind typed jobs,并要求每个 case 的 current fingerprint 与独立 reviewer 已审 PASS provenance 精确匹配。rubric、fixture 或 output contract 只要造成 fingerprint 变化,旧 baseline 就立即失效,必须重新进行独立评审。Baseline 永远不会给 run_evals.py 注入 judgment。
Normal CI 不会静默调用付费或 login-bound model。
Semantic Execution
Section titled “Semantic Execution”Blind queue 先通过 Harness semantic router 变成 typed semantic jobs,再交给 eligible independent runtime。Result 做 fingerprint binding,最后由 run_evals.py 评分。
Commands
Section titled “Commands”python evals/run_evals.py --releasepython evals/build_judge_queue.py --output /tmp/semantic-queue.jsonpython evals/run_evals.py --judgments reviewed-results.json --jsonpython evals/validate_semantic_acceptance.py validateQuality Domains
Section titled “Quality Domains”v7 初始 suite 覆盖:
- Surface Fundamentals;
- Reader Engagement;
- Character / semantic ownership;
- Canon / Plan boundary;
- Corpus rights boundary;
- Project SDK / Framework hygiene;
- Semantic runtime integrity。
Suite 会从用户拒绝证据、Corpus research、Framework changes 与新 capability gap 中持续增长。