v-ac-feasibility
Pre-implementation gate proving every runtime-command V-AC (docker exec / curl / kubectl / systemctl / live DB query) can actually PASS before /dr-do.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Pre-implementation gate proving every runtime-command V-AC (docker exec / curl / kubectl / systemctl / live DB query) can actually PASS before /dr-do.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | v-ac-feasibility |
| description | Pre-implementation gate proving every runtime-command V-AC (docker exec / curl / kubectl / systemctl / live DB query) can actually PASS before /dr-do. |
| metadata | {"current_aal":1,"target_aal":2} |
Role: Planner / Reviewer Agent (invoked from /dr-plan during the V-AC ↔ AC review — Step 5c spec-graph validation and the Step 6.5 audit bullets).
Arm this gate when the plan's Validation Checklist contains any V-AC whose verification is a runtime command — a command that reads live process, container, or service state rather than static files. Trigger surfaces:
docker exec <container> <cmd> / kubectl exec <pod> <cmd>curl / wget / HTTPie / Playwright page.goto against a running servicesystemctl / journalctl state or log assertionsredis-cli / psql / mongosh live-query assertionsA plan whose V-AC are all static (test -f <path>, grep <pattern> <file>,
lint/unit exit codes) does not need this gate — those are deterministic against
the working tree and cannot be «infeasible by runtime semantics».
A V-AC can be written, reviewed, and cite the correct AC number, yet be impossible to satisfy under any correct implementation — because the runtime command tests something the runtime semantics never expose.
Motivating incident: an AC asserting «env var X is set to Y on the running
service» was verified by docker exec <container> printenv X. But
printenv reads the shell's environment, not the value a running Node
process holds after process.env[X] = Y was set in code. The assertion could
never pass, no matter how correct the implementation — yet it survived the plan
review because the reviewer matched the AC number and the command shape
without executing the command against a real (or skeleton) runtime.
The lesson: verbatim AC↔V-AC mirror and semantic-match review are necessary but not sufficient. A V-AC must also be feasible — a correct implementation must be able to make it PASS. Feasibility is a property of runtime semantics, not of text, and text review cannot detect it.
For every runtime-command V-AC, the plan MUST demonstrate — before locking the V-AC into the Validation Checklist — that the command can return the PASS result when the implementation is correct. Acceptable evidence, in order of preference:
journalctl -u <unit> | grep», or «the
value is exposed on /healthz JSON and asserted with curl … | jq». A
command whose observation path cannot be named is presumed infeasible.| Infeasible V-AC | Why it can never PASS | Feasible replacement |
|---|---|---|
docker exec C printenv X for a value set via process.env[X]=Y in code | printenv reads the shell env, not the live process's mutated env | Assert the app log line / a /config health field that echoes X |
curl <url> before the service binds the port / route exists | route unmapped ⇒ 404 regardless of correctness (see /dr-plan routing-convention probe) | grep the router for the real path first; assert the mapped route |
kubectl exec … cat /proc/1/environ for a runtime-mutated var | /proc/1/environ is the launch env, frozen at exec time | Expose the value through an app endpoint or structured log |
systemctl show -p Environment for an app-set variable | shows unit-declared env, not values set inside the process | Assert via the app's own observability surface |
Record the feasibility verdict inline in the plan next to each runtime-command V-AC, so a reviewer replays it without re-querying:
V-AC-N — feasible (dry-run: <command> → <observed PASS result>), orV-AC-N — feasible (observation path: <named mechanism>), orV-AC-N — infeasible as written → re-scoped to <new assertion>.A runtime-command V-AC with no feasibility annotation is a planning defect:
fix the plan (prove or re-scope) before transitioning to /dr-do. Catching an
infeasible V-AC at plan time costs one dry-run or one grep; catching it at
/dr-do or /dr-verify costs a full pipeline cycle plus a V-gate reformulation.
Schema and migration semantics for /dr-doctor — thin one-liner contract, 6-pass migration, data-loss safety, conflict resolution. Loaded by self-heal.
Core Datarim rules. Load this entry first, then only the fragment needed for paths, storage, numbering, backlog, routing, or archive behavior.
Post-QA hardening — detects task type (code, docs, research, legal, content, infra) and applies the matching verification checklist before archiving.
Testing pyramid, frameworks, mocking. Load first; then the fragment for the active gate (live smoke, silent failure, bats, legacy triage).
Preserve Datarim task continuity while orchestrated Claude Code or Codex sessions compact or clear context at deterministic pressure thresholds.
Immutability contract for all pipeline stages: artefact freeze, V-AC parity, non-code parity, anti-tautological rule, and return-to-source transition.