Changelog / 变更日志
| 时间 / Time |
作者 / Author |
变更 / Change |
| 2026-03-11 |
Claude |
v0.6.0: Agent Skills open standard compliance — frontmatter restructured, English-only description, progressive disclosure, evals added / Agent Skills 开放标准兼容 — 前置元数据重构、纯英文描述、渐进式披露、添加评测 |
| 2026-03-11 |
Claude |
v0.5.0: recovered from broken symlink, unified version / 从断开的 symlink 恢复,统一版本号 |
ClaimLedgerUpdate
声明账本更新
Manage claim state machine transitions, extract claims from debate turns, and persist changes with audit trail.
管理声明状态机转换,从辩论回合中提取声明,并通过审计日志持久化变更。
When to Use / 何时使用
- After each debate turn to extract and register new claims / 每次辩论回合后提取并注册新声明
- After Judge ruling to update claim statuses / Judge 裁定后更新声明状态
- During refresh when evidence states change / 刷新时证据状态变化时
Input / 输入
action: "extract_claims" | "update_status" | "batch_update"
claim_ledger_path: Path to claim_ledger.json
audit_trail_path: Path to logs/audit_trail.jsonl
- For
extract_claims: debate turn JSON (pro_turn or con_turn)
- For
update_status: claim_id, new_status, reason
- For
batch_update: JudgeRuling JSON
Output / 输出
- Updated
claim_ledger.json
- Audit trail entries appended via
scripts/append-audit.sh
Core Workflow / 核心工作流
Action: extract_claims / 提取声明
When processing a completed debate turn:
- Read the debate turn JSON (pro_turn.json or con_turn.json)
- For each argument in the turn, create a
ClaimItem:
claim_id: clm_<round>_<side>_<sequence> (e.g., clm_1_pro_1)
round: from the turn
speaker: "pro" or "con"
claim_type: Use LLM to classify as fact, inference, or analogy
claim_text: The argument's claim text
evidence_ids: From the argument's evidence references
status: unverified (initial state for all new claims)
last_verified_at: null
judge_note: null
mandatory_response: false
conflict_details: [] (empty initially; populated by Judge during verification)
- Append new claims to claim_ledger.json
- Log via
scripts/append-audit.sh:{"timestamp":"...","action":"claims_extracted","details":{"round":1,"side":"pro","count":3}}
Action: update_status / 更新状态
When updating a single claim:
- Read claim_ledger.json
- Find the claim by
claim_id
- Validate the state transition is legal (see state machine in data-contracts.md):
unverified → verified | contested | stale
verified → contested | stale
contested → verified | stale
stale → verified
- Critical check: If the claim is reasoning-track (claim_type=analogy OR backed by reasoning-track evidence), REJECT transition to
stale with reason "reasoning-track claims cannot be auto-staled"
- Update
status, last_verified_at, judge_note
- Write updated ledger
- Log the transition via
scripts/append-audit.sh:{"timestamp":"...","action":"claim_status_changed","details":{"claim_id":"clm_1_pro_1","old_status":"unverified","new_status":"verified","reason":"..."}}
Action: batch_update / 批量更新
When processing a JudgeRuling:
- Read the JudgeRuling JSON
- For each item in
verification_results:
- Call
update_status logic for the claim
- For each item in
mandatory_response_points:
- Find the target claim(s) and set
mandatory_response = true
3b. For each claim with new_status = "contested" in verification_results:
- If the Judge's reasoning describes conflicting sources, extract and structure as
conflict_details
- Use LLM to identify: which evidence says what, and where exactly they diverge
- Append to the claim's
conflict_details array (don't overwrite existing conflicts)
- Write updated ledger once (not per-claim)
- Log batch update to audit trail
State Machine Enforcement / 状态机执行
All transitions must be validated. Illegal transitions are rejected with an error message. The orchestrator should handle rejected transitions by logging them and continuing (never block the debate for a state machine error).
Persistence / 持久化
- Use
scripts/append-audit.sh for atomic audit trail writes
- Write claim_ledger.json directly (overwrite with updated full array)
- Always validate the resulting JSON with
scripts/validate-json.sh <file> claim_item after writing
1---2name: claim-ledger-update3description: Manages the claim state machine for a multi-agent debate system. Use this skill when the orchestrator needs to update the claim ledger, record new claims from a debate turn, change claim status based on judge ruling, track claim state transitions, extract claims from arguments, perform batch updates from judge rulings, or manage the claim lifecycle with audit trail persistence.4license: MIT-05---67## Changelog / 变更日志89| 时间 / Time | 作者 / Author | 变更 / Change |10|---|---|---|11| 2026-03-11 | Claude | v0.6.0: Agent Skills open standard compliance — frontmatter restructured, English-only description, progressive disclosure, evals added / Agent Skills 开放标准兼容 — 前置元数据重构、纯英文描述、渐进式披露、添加评测 |12| 2026-03-11 | Claude | v0.5.0: recovered from broken symlink, unified version / 从断开的 symlink 恢复,统一版本号 |1314# ClaimLedgerUpdate15# 声明账本更新1617Manage claim state machine transitions, extract claims from debate turns, and persist changes with audit trail.18管理声明状态机转换,从辩论回合中提取声明,并通过审计日志持久化变更。1920## When to Use / 何时使用2122- After each debate turn to extract and register new claims / 每次辩论回合后提取并注册新声明23- After Judge ruling to update claim statuses / Judge 裁定后更新声明状态24- During refresh when evidence states change / 刷新时证据状态变化时2526## Input / 输入2728- `action`: "extract_claims" | "update_status" | "batch_update"29- `claim_ledger_path`: Path to claim_ledger.json30- `audit_trail_path`: Path to logs/audit_trail.jsonl31- For `extract_claims`: debate turn JSON (pro_turn or con_turn)32- For `update_status`: claim_id, new_status, reason33- For `batch_update`: JudgeRuling JSON3435## Output / 输出3637- Updated `claim_ledger.json`38- Audit trail entries appended via `scripts/append-audit.sh`3940## Core Workflow / 核心工作流4142### Action: extract_claims / 提取声明4344When processing a completed debate turn:45461. Read the debate turn JSON (pro_turn.json or con_turn.json)472. For each argument in the turn, create a `ClaimItem`:48 - `claim_id`: `clm_<round>_<side>_<sequence>` (e.g., `clm_1_pro_1`)49 - `round`: from the turn50 - `speaker`: "pro" or "con"51 - `claim_type`: Use LLM to classify as `fact`, `inference`, or `analogy`52 - `claim_text`: The argument's claim text53 - `evidence_ids`: From the argument's evidence references54 - `status`: `unverified` (initial state for all new claims)55 - `last_verified_at`: null56 - `judge_note`: null57 - `mandatory_response`: false58 - `conflict_details`: [] (empty initially; populated by Judge during verification)593. Append new claims to claim_ledger.json604. Log via `scripts/append-audit.sh`:61 ```json62 {"timestamp":"...","action":"claims_extracted","details":{"round":1,"side":"pro","count":3}}63 ```6465### Action: update_status / 更新状态6667When updating a single claim:68691. Read claim_ledger.json702. Find the claim by `claim_id`713. Validate the state transition is legal (see state machine in data-contracts.md):72 - `unverified → verified | contested | stale`73 - `verified → contested | stale`74 - `contested → verified | stale`75 - `stale → verified`764. **Critical check**: If the claim is reasoning-track (claim_type=analogy OR backed by reasoning-track evidence), REJECT transition to `stale` with reason "reasoning-track claims cannot be auto-staled"775. Update `status`, `last_verified_at`, `judge_note`786. Write updated ledger797. Log the transition via `scripts/append-audit.sh`:80 ```json81 {"timestamp":"...","action":"claim_status_changed","details":{"claim_id":"clm_1_pro_1","old_status":"unverified","new_status":"verified","reason":"..."}}82 ```8384### Action: batch_update / 批量更新8586When processing a JudgeRuling:87881. Read the JudgeRuling JSON892. For each item in `verification_results`:90 - Call `update_status` logic for the claim913. For each item in `mandatory_response_points`:92 - Find the target claim(s) and set `mandatory_response = true`933b. For each claim with `new_status = "contested"` in verification_results:94 - If the Judge's reasoning describes conflicting sources, extract and structure as `conflict_details`95 - Use LLM to identify: which evidence says what, and where exactly they diverge96 - Append to the claim's `conflict_details` array (don't overwrite existing conflicts)974. Write updated ledger once (not per-claim)985. Log batch update to audit trail99100## State Machine Enforcement / 状态机执行101102All transitions must be validated. Illegal transitions are rejected with an error message. The orchestrator should handle rejected transitions by logging them and continuing (never block the debate for a state machine error).103104## Persistence / 持久化105106- Use `scripts/append-audit.sh` for atomic audit trail writes107- Write claim_ledger.json directly (overwrite with updated full array)108- Always validate the resulting JSON with `scripts/validate-json.sh <file> claim_item` after writing