Night Market Skill — ported from claude-night-market/attune. For the full experience with agents, hooks, and commands, install the Claude Code plugin.
Lightweight inline assessment for determining whether a decision point within a command warrants War Room escalation.
Run make test-checkpoint to verify checkpoint logic works correctly after changes.
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:
CommandTrigger Conditions/do-issue3+ issues, dependency conflicts, overlapping files/pr-review>3 blocking issues, architecture changes, ADR violations/architecture-reviewADR violations, high coupling, boundary violations/fix-prMajor scope, conflicting reviewer feedback
markdown
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"
Analyze the provided context to extract:
Calculate RS using the 5-dimension framework:
DimensionAssessment QuestionReversal CostHow hard to undo this decision?Time Lock-InDoes this crystallize immediately?Blast RadiusHow many components/people affected?Information LossDoes this close off future options?Reputation ImpactIs this visible externally?
Score each 1-5, calculate RS = Sum / 25.
Apply profile thresholds to determine mode:
text
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"
Return immediately with recommendation:
yaml
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
Invoke full War Room and return results:
yaml
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}
For escalated decisions, calculate confidence for auto-continue:
text
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)
ProfileExpressLightweightFull CouncilUse Casedefault0.400.600.80Balancedstartup0.550.750.90Move fastregulated0.250.450.65Compliancefast0.500.700.90Speed prioritycautious0.300.500.70Higher stakes
CommandAdjustmentRationaledo-issue (3+ issues)-0.10Higher risk with multiple issuespr-review (strict mode)-0.15Strict mode = higher scrutinyarchitecture-review-0.05Architecture inherently consequential
Return a structured response that the calling command can act on:
markdown
## 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}
requires_user_confirmationorders or recommendationIf checkpoint invocation fails:
Checkpoints are logged to:
text
~/.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:
text
~/.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:
python
from scripts.war_room.audit_trail import AuditTrailManager
manager = AuditTrailManager()
checkpoints = manager.get_checkpoints("war-room-20260303-100000")
audited = manager.list_audited_sessions()
Input:
yaml
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:
RS: 0.20 (Type 2)
Response:
yaml
should_escalate: false
selected_mode: "express"
recommendation: "Execute in parallel - no dependencies detected"
confidence: 0.95
requires_user_confirmation: false
Input:
yaml
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:
RS: 0.64 (Type 1A)
Response:
yaml
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
Skill(attune:war-room) - Full War Room deliberationSkill(attune:war-room)/modules/reversibility-assessment.md - RS framework/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)