# Rehearsal Promotion Review

> Use when reviewing rehearsal dry-run artifacts and producing conservative promotion checklists; requires real ee rehearse output or explicit unavailable degradation.

- Skill: `dicklesworthstone/rehearsal-promotion-review` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add dicklesworthstone/rehearsal-promotion-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dicklesworthstone/rehearsal-promotion-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dicklesworthstone (https://skillmd.com/u/dicklesworthstone)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/dicklesworthstone/rehearsal-promotion-review

---


# Rehearsal and Promotion Review

Use this skill to review rehearsal dry-run artifacts and decide whether to
promote changes. The skill interprets `ee rehearse` output but never authorizes
destructive commands directly.

## Trigger Conditions

Invoke when:

- A rehearsal plan or dry-run artifact needs human/agent review
- Promotion decisions require checking preconditions and mutation risks
- Rollback or verification steps need to be identified before committing

Do not invoke to run rehearsals. Use `ee rehearse plan/run/inspect` directly
first, then bring the JSON output to this skill for review.

## Mechanical Command Boundary

The required mechanical evidence comes from explicit JSON commands:

```bash
ee status --workspace <workspace> --json
ee rehearse plan --workspace <workspace> --json
ee rehearse run --workspace <workspace> --dry-run --json
ee rehearse inspect --workspace <workspace> --json
ee rehearse promote <plan-id> --workspace <workspace> --dry-run --json
```

The skill may consume `ee.response.v1`, `ee.error.v1`, `ee.rehearse.*`, or
`ee.skill_evidence_bundle.v1` artifacts only when command provenance, redaction,
trust class, degraded state, and prompt-injection quarantine metadata are
present.

Direct DB scraping is forbidden. Do not read `.ee/`, FrankenSQLite,
Frankensearch indexes, CASS stores, or direct DB paths as evidence. Durable
memory mutation must go through an explicit audited `ee ... --json` command or a
dry-run plan that the user approves before execution.

## Required Evidence

Before producing any recommendation:

1. Run `ee status --workspace <workspace> --json` to verify workspace readiness
2. Run `ee rehearse plan --workspace <workspace> --json` or equivalent
3. Run `ee rehearse run --workspace <workspace> --dry-run --json` when a plan
   needs execution evidence
4. Run `ee rehearse inspect --workspace <workspace> --json` when artifact
   details are needed
5. If unavailable, the skill must refuse with explicit degraded status
6. Parse the rehearsal JSON for artifacts, mutations, preconditions, and status

Acceptable input schemas:

- `ee.rehearse.plan.v1`
- `ee.rehearse.run.v1`
- `ee.rehearse.inspect.v1`
- `ee.rehearse.promote_plan.v1`
- `ee.response.v1` with degraded codes

Do not proceed if:

- Rehearsal JSON is missing or malformed
- Command returned `rehearsal_unavailable` degradation
- Evidence lacks workspace or artifact provenance
- Redaction status is unknown for sensitive artifacts

## Stop/Go Gates

**Stop** when:

- `ee rehearse` is unavailable or degraded without repair path
- Artifacts reference files/data that were not captured in the dry run
- Preconditions are unmet (missing dependencies, failed checks)
- Mutation would affect protected/safety-critical resources without explicit user approval

**Go** when:

- Rehearsal JSON is valid and complete
- All preconditions pass or are explicitly waived
- Mutation risks are documented and acceptable
- Verification steps are identified

## Evidence Gathering

Collect from rehearsal output:

- rehearsal_id, plan_id, workspace_id
- artifact paths and content hashes
- mutation summary (files changed, records affected, side effects)
- precondition check results
- degradation codes and repair suggestions
- redaction status of any sensitive content
- timestamp and dry_run flag

## Output Template

```text
## Rehearsal Review Summary

**Rehearsal ID:** <id>
**Workspace:** <path>
**Status:** <pass/fail/partial/degraded>

### Artifact Summary
- Files: <count> files, <total_size>
- Records: <count> mutations planned
- Side Effects: <list or "none declared">

### Preconditions
- [ ] <precondition 1>: <status>
- [ ] <precondition 2>: <status>

### Mutation Risks
- <risk 1>: <severity>, <mitigation>
- <risk 2>: <severity>, <mitigation>

### Verification Steps (post-promotion)
1. <verification command 1>
2. <verification command 2>

### Rollback Considerations
- <rollback option 1>
- <rollback option 2>

### Go/No-Go Recommendation
**Decision:** <go/no-go/needs-escalation>
**Rationale:** <evidence-based reasoning>
**Escalation Required:** <yes/no> - <reason if yes>

### Recommended Explicit Commands
- `ee rehearse promote <plan_id> --workspace <workspace> --dry-run --json` (preview)
- `ee rehearse promote <plan_id> --workspace <workspace> --json` (execute, requires user approval)
```

## Uncertainty Handling

- Label uncertain preconditions as "inferred" or "not verified"
- List assumptions explicitly under a separate section if needed
- Never convert partial dry-run results into confident promotion claims

## Privacy And Redaction

Before review, inspect redaction status, redaction classes, trust class, and
prompt-injection quarantine fields from the `ee` JSON or evidence bundle. If
redaction is missing, failed, or ambiguous, stop and request a redacted
`ee.skill_evidence_bundle.v1` or rerun the relevant command with safer output.

Never quote raw secrets, tokens, private keys, unredacted home paths, private
transcript text, or sensitive artifact content. Use stable artifact IDs, hashes,
redaction classes, and redacted snippets.

## Destructive Command Escalation

This skill **never authorizes destructive commands directly**. When a promotion
would:

- Delete files or database records
- Overwrite existing production data
- Modify security-sensitive configuration
- Affect other workspaces or shared resources

The skill must:

1. List the destructive operations explicitly
2. Mark the decision as "needs-escalation"
3. Recommend the user run the command manually after review
4. Include the exact command for user copy-paste

## Degraded Behavior

When `ee rehearse` returns degraded output:

- Preserve the degradation code and repair command in the review
- Do not synthesize missing artifact data
- Report what is available and what is missing
- Recommend repair commands before promotion review can proceed

## Unavailable Handling

If `ee rehearse` is entirely unavailable (nd65 not yet wired):

```text
## Rehearsal Review Unavailable

**Status:** rehearsal_unavailable

Rehearsal commands are not yet wired to real dry-run isolation.
This skill cannot review artifacts that do not exist.

**Repair:** Wait for ee rehearse implementation or check ee doctor --json
**Follow-up Bead:** eidetic_engine_cli-nd65
```

## Unsupported Claims

Unsupported claims include:

- `safe to promote` without complete rehearsal evidence and precondition checks
- `dry run proves production safety` without matching environment evidence
- `ee recommends promotion` beyond explicit command JSON
- claims from sample, mock, placeholder, stale, degraded, or unredacted evidence
- conclusions from forbidden direct DB scraping or hidden index access
- durable memory mutation outside explicit `ee rehearse promote ... --json`

Put useful but unsupported concerns in mutation risks, verification steps, or
the no-go rationale, not in the evidence-backed decision.

## Testing Requirements

Tests must cover:

- Valid rehearsal plan with all preconditions passing (go)
- Rehearsal with failed precondition (no-go)
- Partial failure in dry run (needs-escalation)
- Unavailable rehearsal (explicit refusal)
- Unsupported command type (explicit refusal)
- Redacted artifact evidence (preserve redaction)
- Malformed rehearsal JSON (parse error with diagnosis)
- Degraded CLI output (preserve degradation)

## E2E Logging

Log schema: `ee.skill_standards.lint_log.v1`

Required fields:

- skill_path: `skills/rehearsal-promotion-review`
- fixture_id and fixture_hash
- rehearsal_artifact_ids and rehearsal_artifact_paths
- evidence_bundle_path and evidence_bundle_hash
- mutation_posture (read-only/dry-run/live)
- redaction_status and degraded_codes
- go_no_go_class (go/no-go/needs-escalation/unavailable)
- output_artifact_path
- required_section_check (pass/fail with missing sections)
- first_failure_diagnosis (if any)

