overnight-planning-noop-run-salvage

Recover when unattended overnight Codex planning runs exit 0 but produce no required artifacts; salvage the wave by auditing existing plan state, generating missing summary artifacts manually, and preserving morning monitoring surfaces.

5 stars

Best use case

overnight-planning-noop-run-salvage is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Recover when unattended overnight Codex planning runs exit 0 but produce no required artifacts; salvage the wave by auditing existing plan state, generating missing summary artifacts manually, and preserving morning monitoring surfaces.

Teams using overnight-planning-noop-run-salvage should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/overnight-planning-noop-run-salvage/SKILL.md --create-dirs "https://raw.githubusercontent.com/vamseeachanta/workspace-hub/main/.agents/skills/workspace-hub-learned/overnight-planning-noop-run-salvage/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/overnight-planning-noop-run-salvage/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How overnight-planning-noop-run-salvage Compares

Feature / Agentovernight-planning-noop-run-salvageStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Recover when unattended overnight Codex planning runs exit 0 but produce no required artifacts; salvage the wave by auditing existing plan state, generating missing summary artifacts manually, and preserving morning monitoring surfaces.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Overnight Planning No-Op Run Salvage

## When to use

Use this when an unattended overnight planning or review wave appears to have run successfully but did not actually produce the expected artifacts.

Typical signals:
- Codex background process exits with code 0
- stdout/stderr logs are empty or missing
- expected `docs/reports/...summary.md` or `scripts/review/results/...` files do not exist
- no plan files or issue comments were materially updated

This showed up in the 2026-04-22 workspace-hub tier-1 knowledge beef-up wave across 6 separate unattended Codex launches.

## Core lesson

`exit_code == 0` is not sufficient proof that unattended Codex accomplished the task.

For planning-only overnight waves, the real success condition is artifact creation.
If the required artifact is missing, treat the run as failed/no-op even if the process exited cleanly.

## Recovery workflow

1. **Treat the run as failed if required artifacts are absent**
   - Do not report the lane as complete just because the process ended cleanly.
   - Check for the exact expected artifacts first.

2. **Audit whether the core plan work already exists in the main repo**
   - Search `docs/plans/` for the target issue plans.
   - Search `scripts/review/results/` for existing review artifacts.
   - Inspect `docs/plans/README.md` for missing index rows.
   - Query live GitHub issue state so your salvage summary reflects reality, not stale prompts.

3. **Do only one hardened rerun, then stop**
   - If the first unattended run no-op'd, one rerun is reasonable.
   - Harden the rerun so the first mandatory action is writing a unique summary/result file.
   - Use absolute prompt-file paths in the launcher.
   - If that rerun also exits 0 with no artifact, stop rerunning. Treat the unattended pattern itself as unreliable for that wave.

4. **Salvage by generating the missing control-plane artifacts manually**
   - If the plans already exist, do not recreate them blindly.
   - Create the missing terminal summary/report artifacts yourself under `docs/reports/`.
   - Summaries should capture:
     - what exists already
     - what was missing from the overnight run
     - current blockers
     - recommended morning execution order

5. **Repair discovery/index surfaces if needed**
   - If the overnight wave was supposed to create plan index rows, add the missing `docs/plans/README.md` rows.
   - Keep these updates grounded in actual on-disk artifacts and live issue state.

6. **If a monitor expects artifacts in isolated worktrees, copy the salvaged summaries there**
   - When a morning monitor job is pointed at specific worktrees, copy the generated summary artifacts into those worktree paths so the monitor sees the expected outputs.
   - This preserves operational continuity even though the original unattended workers no-op'd.

7. **Document the no-op pattern explicitly**
   - In your final report, say the unattended run exited 0 but produced no durable outputs.
   - Do not let future operators mistake the run for a success.
   - If you attempted a hardened rerun and it also no-op'd, say that explicitly too; this justifies switching to manual salvage instead of a third unattended retry.

## Strong verification pattern

For each lane, verify these in order:
1. expected summary artifact exists
2. target plan files exist
3. review artifacts exist
4. GitHub issue state matches the summary narrative

If (1) is false but (2)/(3) are true, the lane likely needs salvage summaries, not fresh plan drafting.

## What this pattern is best for

- planning-only overnight waves
- repo-governance / routing / documentation waves
- multi-worktree Codex batches where each lane is expected to emit one result artifact
- morning runbooks that depend on deterministic summary files

## Pitfalls

- Do not trust empty or missing logs as the only signal; logs can be buffered or omitted.
- Do not rerun the same prompt indefinitely if multiple clean exits produce no artifacts.
- Do not overwrite existing good plans just because the overnight worker failed to summarize them.
- Do not leave the morning monitor pointed at nonexistent artifacts if you can salvage them manually.

## Reusable rule

For unattended planning waves, artifact existence is the contract.
No artifact = no success, regardless of process exit code.

Related Skills

workspace-hub-overnight-plan-monitor

5
from vamseeachanta/workspace-hub

Monitor and reconcile workspace-hub overnight planning or implementation batches, including process status, result artifacts, issue/commit verification, and controlled failed-lane recovery.

external-drive-ingest-planning

5
from vamseeachanta/workspace-hub

Plan safe external-drive ingests into repo-aligned storage such as /mnt/ace: read-only mounts, manifests, staged rsync, dedupe-merge gates, GitHub issue traceability, and governance/execution split.

planning-lane-cross-review-permission-fallback

5
from vamseeachanta/workspace-hub

Handle overnight planning-only lanes where plan revision/editing works but real cross-provider review dispatch is permission-blocked.

overnight-worktree-verification-fallback

5
from vamseeachanta/workspace-hub

Verify overnight multi-worktree Codex batches when auto-sync, duplicate-lane convergence, and sandbox-blocked review create misleading local state or review provenance.

overnight-worktree-uv-warmup-and-log-path-guardrails

5
from vamseeachanta/workspace-hub

Prevent false stalls and missing-log failures in overnight Codex worktree batches by pre-warming uv environments, using exact log-path directory creation, and interpreting buffered logs correctly.

overnight-worktree-Codex-noop-recovery

5
from vamseeachanta/workspace-hub

Recover overnight Codex worktree batches that appear to succeed but produce no artifacts; harden rerun prompts and launch commands.

overnight-wave-pack-worktree-isolation

5
from vamseeachanta/workspace-hub

Safely launch overnight multi-terminal workspace-hub planning packs from isolated worktrees when the main checkout is dirty or prompts share planning/index files.

overnight-verify-close-and-blocker-conversion

5
from vamseeachanta/workspace-hub

Use overnight Codex lanes to clear stale-open GitHub issues by verification-first closure, and convert blocked PR-repair attempts into dedicated blocker issues instead of speculative edits.

overnight-pre-plan-review-wave-artifact-drift

5
from vamseeachanta/workspace-hub

Run overnight planning-only waves for issues before status:plan-review, and reconcile cases where GitHub state advances but plan/review artifacts land in a sandbox or remote branch instead of the active local worktree.

overnight-plan-wave-artifact-drift-reconciliation

5
from vamseeachanta/workspace-hub

Reconcile overnight planning waves when Codex workers move GitHub issues to status:plan-review but local artifacts are missing, split across sandbox worktrees, or only present on a pushed remote branch.

overnight-plan-artifact-placement-drift-reconciliation

5
from vamseeachanta/workspace-hub

Reconcile overnight planning waves where Codex workers advance GitHub issue state but the expected plan/review artifacts are missing from the designated external worktree because the worker wrote from a sandbox/in-repo worktree and pushed directly to the branch.

live-state-aware-overnight-implementation-prompts

5
from vamseeachanta/workspace-hub

Design overnight implementation prompts that begin with a live repo/CI precheck so workers continue from partial progress instead of replaying stale handoffs.