feat: continuous concurrent gate orchestrator (algo #6)

- validate_skills_concurrent: 多题型全部臂共享题槽并发编排,发射序 =
  题型 round-robin × 阶梯序(base 先 cand 后),终态统一组装 outcome,
  verdict None(全 INFRA)保留 RuntimeError 语义
- gate_evidence 列 block_idx → ladder_rank(阶梯序号,0-based);旧块路径
  _build_evidence_rows 仅键名同步(值仍为块号)保持落库兼容
- 新增 3 项编排测试:乱序到达前缀有序性/双题型隔离/全 INFRA raise

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-17 00:36:01 -04:00
parent c61a6dac84
commit e8b66f85ab
4 changed files with 324 additions and 6 deletions
+2 -2
View File
@@ -166,7 +166,7 @@ def test_write_read_gate_evidence(db_path: str, run_id: str) -> None:
{
"task_type": "temporal",
"question_id": "q1",
"block_idx": 0,
"ladder_rank": 0,
"baseline_correct": 1,
"candidate_correct": 1,
"e_value": 1.0,
@@ -175,7 +175,7 @@ def test_write_read_gate_evidence(db_path: str, run_id: str) -> None:
{
"task_type": "temporal",
"question_id": "q2",
"block_idx": 0,
"ladder_rank": 0,
"baseline_correct": 0,
"candidate_correct": 1,
"e_value": 2.0,