ralph-specum-cancel
This skill should be used only when the user explicitly asks to use `$ralph-specum-cancel`, or explicitly asks Ralph Specum in Codex to stop executi…
它会碰到什么
扫了多少2 个文本文件,5 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Ralph Specum Cancel
Use this to stop execution safely and optionally remove a spec. Safe cancel preserves the spec and every prototype source path.
Derive RALPH_CODEX_PLUGIN_ROOT from this loaded skill by resolving two parent directories from the SKILL.md directory. Never derive it from the project working directory.
Contract
- Resolve the target by explicit path, exact name, or
.current-spec - Treat a missing
activePrototypesfield as an empty map - Publish reviewed immutable cancellation evidence before removing active state
- Confirm the exact local target before any deletion
- Never delete a remote branch or perform another remote action
- Do not guess on ambiguous names
Action
- Resolve the target spec. If none exists, report that there is nothing to cancel.
- Read
.ralph-state.jsonwhen present and summarize the current phase and progress. - If
activePrototypesis non-empty, use the resolvedbasePathand run"$RALPH_CODEX_PLUGIN_ROOT/scripts/prototype_records.py" reconcilebefore cancellation. Process active IDs bycreated, then ID, at the next safe tool boundary. - For each active prototype:
- Inspect its
owner,leaseToken, andharnessRun.id. WhenownerandleaseTokenare both null or absent, verify thatharnessRun.idis also null or absent and no builder is associated, then skip interrupt and release and continue cancellation. If those fields disagree, treat the entry as inconsistent builder ownership: retain the lease and active entry and stop for that ID. Otherwise, interrupt only its recorded child builder through the bounded harness contract. Release throughlocked_state.py release-lease --id <id> --lease-token <leaseToken>only after the harness verifies that the recorded builder and descendants stopped. If interruption is unavailable or unverified, or reports any failed termination attempt, retain the lease and active entry and stop cancellation for that ID. - Preserve its question, blocker, return phase and task, timestamps, local branch, isolation pointers, partial implementation, run evidence, stale metadata, and downstream artifacts.
- Render an exclusive terminal candidate with
verdict: cancelled,gateApproved: false, andsourceDisposition: retained. Never overwrite existing candidate or final bytes; allocate a new publication ID withsupersedes: ["<original-id>"]on collision. - Before review, store the exact returned
candidateHash. Update the existing original entry through compare-and-settransition, or reserve a separate superseding ID through create-onlylocked_state.py upsert-prototypewith the copied recovery fields and exactcandidateHash. Retain the original active entry unchanged while the superseding record is reviewed. A reservation collision preserves both entries and candidates and allocates another ID. - Send the exact candidate bytes and source pointers to the reviewer. Continue only after
REVIEW_PASS, then callreview-candidateandpublishwith the publication ID and exact candidate hash. - Re-read and parse the immutable final and verify its hash. Publication removes its own active publication entry. When a superseding ID was used, remove the original active entry only after final verification succeeds; any earlier failure retains it. Reconcile, then restore the recorded main phase and task index through
locked_state.pywithout changing unrelated state.
- Safe cancel is the default. After every active prototype has a verified immutable
cancelledrecord, delete only.ralph-state.jsonthroughlocked_state.py delete-state. Keep the spec directory,.current-spec, terminal records, prototype source, partial work, scratch paths, worktrees, and local branches. - If full removal was explicitly requested, show the resolved spec directory and every prototype isolation path and branch. Require confirmation naming the exact spec directory before removing it. Prototype paths and local branches require separate exact confirmations and are never included in recursive spec cleanup. Never delete a remote branch.
- If no state exists, report that no active loop exists and remove nothing unless the exact full-removal confirmation is complete.
- Keep active epic files unless the user separately requests their removal. Report exactly what was removed and what was preserved.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
星标★ 544
本站分层T2
该仓技能数32
原文件路径
plugins/ralph-specum-codex/skills/ralph-specum-cancel/SKILL.md