---
name: remote-truth-closure
description: Drive long-running implementation tasks all the way through local gates, commit and push, remote deployment, real verification, and truthful status reporting. Use this whenever the user asks to continue a multi-step task, deploy to a real server, verify whether something is truly complete, push to multiple remotes, clean a noisy remote environment, or recover a task that may have drifted from reality. Also use it for Chinese requests such as “继续推进”, “部署到 remote43”, “是否真实验证”, “任务是否完成”, or “推到三个仓库”.
---

# Remote Truth Closure

This skill exists to prevent false completion.

Core idea:

`local green != task complete`

A task is only complete when the truth chain is closed:

1. local code and tests
2. commit and push
3. real deployment target updated
4. real endpoint or real user path verified
5. status board updated truthfully

## When to use

Use this skill when any of the following are true:

- The user asks to continue a long-running implementation
- The task includes deploy, push, restart, remote verification, or cleanup
- The user asks whether something is really done
- You need to compare local state vs remote truth
- You are updating `EXECUTION_BOARD.md` or an equivalent source of truth

## Principles

- Prefer evidence over assumptions
- Keep code changes and verification records separate
- Treat remote cleanup as part of verification quality
- Never let docs claim more than the evidence supports

## Workflow

### 1. Reconstruct current truth

- Check tracked vs untracked changes
- Confirm repo, branch, target server, and active instance directory
- Read the latest execution board or runbook before changing it
- Identify whether previous progress was local-only or remotely verified

### 2. Close the local gate

- Add or update regression tests first
- Run the repo’s required quality gates
- Confirm the exact bug or missing behavior before implementing the fix

### 3. Commit in two layers

Prefer two commits when appropriate:

- feature or fix commit
- verification or documentation commit

This keeps behavior changes separate from proof recording.

### 4. Deploy carefully

When deploying to a fixed checkout:

- update the checkout to the exact target commit
- fetch to a temporary ref if the checked-out branch refuses direct fetch
- replace the real app binary, not just a build artifact
- stop the active listener PID explicitly
- restart from the real app directory with the real env file loaded

### 5. Verify remotely

Always verify:

- `/healthz`
- the actual API or page you changed
- the exact request path the user cares about

If possible, verify the running commit or binary hash.

## Verification hierarchy

Trust signals in this order:

1. real user data plane result
2. host `usage_logs` or equivalent request evidence
3. route decision or sticky or failover logs
4. provider or inventory projections
5. probe-only diagnostics

If a lower-level status disagrees with a higher-level proof, treat it as a false-negative candidate.

## Remote cleanup

Use cleanup to reduce noise, not to hide evidence.

- Keep one active app directory and one latest fixed checkout when possible
- Remove stale bundles, duplicate stacks, and dead helper processes only after confirming they are inactive
- Clean temporary test entities after verification if they would pollute future checks

## Status board rules

Only update the execution board after you have evidence.

Each verification entry should capture:

- exact commit IDs
- local gates run
- remote target updated
- concrete endpoint or request used
- key returned values
- what remains noisy or incomplete

Never write “completed” if deployment or remote verification is still blocked.

## Final answer checklist

Before claiming completion, confirm all of these:

- local tests passed
- intended files were committed
- push to all required remotes succeeded
- target remote is running the intended commit
- the changed endpoint or user path was verified on the real target
- docs were updated truthfully
- unrelated artifacts were not accidentally committed

## Anti-patterns

Avoid these:

- claiming done after local tests only
- using doc text as proof of behavior
- restarting by process name when multiple binaries may exist
- trusting stale probe noise over real successful requests
- committing scratch artifacts or research notes by accident
