war-room-checkpoint
// Inline reversibility assessment for embedded War Room escalation from commands. Use at decision points to determine escalation need. Skip for standalone strategic decisions.
War Room Checkpoint Skill
Lightweight inline assessment for determining whether a decision point within a command warrants War Room escalation.
Table of Contents
- Purpose
- When Commands Should Invoke This
- Invocation Pattern
- Checkpoint Flow
- Confidence Calculation
- Profile Thresholds
- Output Format
- Examples
Verification
Run make test-checkpoint to verify checkpoint logic works correctly after changes.
Purpose
This skill is not invoked directly by users. It is called by other commands (e.g., /do-issue, /pr-review) at critical decision points to:
- Calculate Reversibility Score (RS) for the current context
- Determine if full War Room deliberation is needed
- Return either a quick recommendation (express) or escalate to full War Room
When Commands Should Invoke This
| Command | Trigger Conditions |
|---|---|
/do-issue | 3+ issues, dependency conflicts, overlapping files |
/pr-review | >3 blocking issues, architecture changes, ADR violations |
/architecture-review | ADR violations, high coupling, boundary violations |
/fix-pr | Major scope, conflicting reviewer feedback |
Invocation Pattern
Skill(attune:war-room-checkpoint) with context:
- source_command: "{calling_command}"
- decision_needed: "{human_readable_question}"
- files_affected: [{list_of_files}]
- issues_involved: [{issue_numbers}] (if applicable)
- blocking_items: [{type, description}] (if applicable)
- conflict_description: "{summary}" (if applicable)
- profile: "default" | "startup" | "regulated" | "fast" | "cautious"
Checkpoint Flow
Step 1: Context Analysis
Analyze the provided context to extract:
- Scope of change (files, modules, services affected)
- Stakeholders impacted
- Conflict indicators
- Time pressure signals
Step 2: Reversibility Assessment
Calculate RS using the 5-dimension framework:
| Dimension | Assessment Question |
|---|---|
| Reversal Cost | How hard to undo this decision? |
| Time Lock-In | Does this crystallize immediately? |
| Blast Radius | How many components/people affected? |
| Information Loss | Does this close off future options? |
| Reputation Impact | Is this visible externally? |
Score each 1-5, calculate RS = Sum / 25.
Step 3: Mode Selection
Apply profile thresholds to determine mode:
if RS <= profile.express_ceiling:
mode = "express"
elif RS <= profile.lightweight_ceiling:
mode = "lightweight"
elif RS <= profile.full_council_ceiling:
mode = "full_council"
else:
mode = "delphi"
Step 4: Response Generation
Express Mode (RS <= threshold)
Return immediately with recommendation:
response:
should_escalate: false
selected_mode: "express"
reversibility_score: {rs}
decision_type: "Type 2"
recommendation: "{quick_recommendation}"
rationale: "{brief_explanation}"
confidence: 0.9
requires_user_confirmation: false
Escalate Mode (RS > threshold)
Invoke full War Room and return results:
response:
should_escalate: true
selected_mode: "{lightweight|full_council|delphi}"
reversibility_score: {rs}
decision_type: "{Type 1B|1A|1A+}"
war_room_session_id: "{session_id}"
orders: ["{order_1}", "{order_2}"]
rationale: "{war_room_rationale}"
confidence: {calculated_confidence}
requires_user_confirmation: {true_if_confidence_low}
Confidence Calculation
For escalated decisions, calculate confidence for auto-continue:
confidence = 1.0
- 0.10 * dissenting_view_count
- 0.20 if voting_margin < 0.3
- 0.15 if RS > 0.80
- 0.10 if novel_domain
- 0.10 if compound_decision
+ 0.20 if unanimous (cap at 1.0)
requires_user_confirmation = (confidence <= 0.8)
Profile Thresholds
| Profile | Express | Lightweight | Full Council | Use Case |
|---|---|---|---|---|
| default | 0.40 | 0.60 | 0.80 | Balanced |
| startup | 0.55 | 0.75 | 0.90 | Move fast |
| regulated | 0.25 | 0.45 | 0.65 | Compliance |
| fast | 0.50 | 0.70 | 0.90 | Speed priority |
| cautious | 0.30 | 0.50 | 0.70 | Higher stakes |
Command-Specific Adjustments
| Command | Adjustment | Rationale |
|---|---|---|
| do-issue (3+ issues) | -0.10 | Higher risk with multiple issues |
| pr-review (strict mode) | -0.15 | Strict mode = higher scrutiny |
| architecture-review | -0.05 | Architecture inherently consequential |
Output Format
For Calling Command
Return a structured response that the calling command can act on:
## Checkpoint Response
**Source**: {source_command}
**Decision**: {decision_needed}
### Assessment
- **RS**: {reversibility_score} ({decision_type})
- **Mode**: {selected_mode}
- **Escalated**: {yes|no}
### Recommendation
{recommendation_or_orders}
### Control Flow
- **Confidence**: {confidence}
- **Auto-continue**: {yes|no}
{user_prompt_if_needed}
Integration Notes
Calling Commands Should
- Check checkpoint response's
requires_user_confirmation - If true: present confirmation prompt and wait
- If false: continue with
ordersorrecommendation - Log checkpoint to audit trail
Failure Handling
If checkpoint invocation fails:
- Log warning with context
- Continue command execution without checkpoint
- Do NOT block the user's workflow
Audit Trail
Checkpoints are logged to:
~/.claude/memory-palace/strategeion/checkpoints/{date}/{checkpoint-id}.json
Each file contains a CheckpointEntry with: checkpoint_id, session_id, phase,
action, reversibility_score, dimensions, confidence, files_affected, and
requires_user_confirmation.
After a war room session completes and persist_session() is called, an audit report
is written automatically to:
~/.claude/memory-palace/strategeion/war-table/{session-id}/audit-report.json
The report consolidates: all checkpoints for the session, the expert panel, voting summary with unanimity score, escalation history, final decision and rationale, and a Merkle-DAG integrity verification block. The verification recomputes every node hash against the stored values so any tampering with deliberation content is detectable.
Use AuditTrailManager from scripts.war_room.audit_trail to query checkpoints or
generate reports programmatically:
from scripts.war_room.audit_trail import AuditTrailManager
manager = AuditTrailManager()
checkpoints = manager.get_checkpoints("war-room-20260303-100000")
audited = manager.list_audited_sessions()
Examples
Example 1: Low RS (Express)
Input:
source_command: "do-issue"
decision_needed: "Execution order for issues #101, #102"
issues_involved: [101, 102]
files_affected: ["src/utils/helper.py", "tests/test_helper.py"]
Assessment:
- Reversal Cost: 1 (can revert commits)
- Time Lock-In: 1 (no deadline)
- Blast Radius: 1 (single utility module)
- Information Loss: 1 (all options preserved)
- Reputation Impact: 1 (internal)
RS: 0.20 (Type 2)
Response:
should_escalate: false
selected_mode: "express"
recommendation: "Execute in parallel - no dependencies detected"
confidence: 0.95
requires_user_confirmation: false
Example 2: High RS (Escalate)
Input:
source_command: "pr-review"
decision_needed: "Review verdict for PR #456"
blocking_items:
- {type: "architecture", description: "New service without ADR"}
- {type: "breaking", description: "API contract change"}
- {type: "security", description: "Auth flow modification"}
- {type: "scope", description: "Unrelated payment refactor"}
files_affected: ["src/auth/", "src/api/", "src/payment/", "src/services/new/"]
Assessment:
- Reversal Cost: 4 (multi-service impact)
- Time Lock-In: 3 (PR deadline pressure)
- Blast Radius: 4 (cross-team impact)
- Information Loss: 3 (some paths closing)
- Reputation Impact: 2 (internal review)
RS: 0.64 (Type 1A)
Response:
should_escalate: true
selected_mode: "full_council"
war_room_session_id: "war-room-20260125-143025"
orders:
- "Split PR: auth changes separate from payment refactor"
- "Require ADR for new service before merge"
- "API change: add migration path, not blocking"
confidence: 0.75
requires_user_confirmation: true
Related Skills
Skill(attune:war-room)- Full War Room deliberationSkill(attune:war-room)/modules/reversibility-assessment.md- RS framework
Related Commands
/attune:war-room- Standalone War Room invocation/do-issue- Issue implementation (uses this checkpoint)/pr-review- PR review (uses this checkpoint)/architecture-review- Architecture review (uses this checkpoint)/fix-pr- PR fix (uses this checkpoint)