Skip to content

Commit cb3f13e

Browse files
committed
docs: pin atlas-ralph-loop (patched fork) as canonical over base ralph-loop
Spec §11.9 now shows /atlas-ralph-loop:ralph-loop as the canonical slash command; §14b.9 records the mid-build pivot with rationale (eval-safer parsing, richer promise matching via .claude/ralph-done + <promise>... </promise>, cleaner stop-hook handshake). Plan's ship-check.py docstring and d7 skeleton README updated to match. Base /ralph-loop:ralph-loop is documented as fallback only. Jobs-lens: fix-don't-cut repair of an outdated reference. No feature removed; the pattern (loop wrapper + deterministic promise token) is unchanged, only the preferred plugin-level implementation is clarified.
1 parent c9d3e23 commit cb3f13e

2 files changed

Lines changed: 23 additions & 6 deletions

File tree

docs/superpowers/plans/2026-04-16-atlas-ai-prd-taskmaster-plugin-implementation.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2015,7 +2015,7 @@ This directory is managed by @atlas-ai/prd-taskmaster. Files here layer on top o
20152015
- `references/` — Captured reference heatmap
20162016
- `debrief/` — Dogfood debriefs
20172017
- `config/atlas.json` — Your workflow preferences (from customise-workflow skill)
2018-
- `ship-check.py` — Deterministic completion check used by ralph-loop
2018+
- `ship-check.py` — Deterministic completion check used by /atlas-ralph-loop:ralph-loop (Hayden's patched fork of /ralph-loop)
20192019
20202020
## Reset
20212021
Delete this directory to start fresh. Backup first if you care about the state.
@@ -2096,7 +2096,9 @@ def test_ship_check_passes_on_all_gates_green(tmp_path, monkeypatch):
20962096
```python
20972097
#!/usr/bin/env python3
20982098
"""Deterministic ship-check. Emits SHIP_CHECK_OK to stdout ONLY when all gates pass.
2099-
Referenced by ralph-loop --completion-promise SHIP_CHECK_OK per spec §11.8."""
2099+
Referenced by /atlas-ralph-loop:ralph-loop --completion-promise SHIP_CHECK_OK per spec §11.8.
2100+
(atlas-ralph-loop is Hayden's patched+improved fork of /ralph-loop — prefer it; legacy
2101+
/ralph-loop:ralph-loop remains fallback only.)"""
21002102
from __future__ import annotations
21012103

21022104
import json
@@ -2139,7 +2141,7 @@ def check() -> tuple[bool, list[str]]:
21392141

21402142
# Gate 5: ralph-loop-prompt.md exists (per spec §11.9)
21412143
if not (atlas / "ralph-loop-prompt.md").exists():
2142-
failures.append(".atlas-ai/ralph-loop-prompt.md missing (ralph-loop will fail with empty prompt)")
2144+
failures.append(".atlas-ai/ralph-loop-prompt.md missing (/atlas-ralph-loop:ralph-loop will fail with empty prompt)")
21432145

21442146
return len(failures) == 0, failures
21452147

docs/superpowers/specs/2026-04-16-prd-taskmaster-plugin-design.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -898,16 +898,21 @@ Ralph-loop prompt instructs the AI: *"At end of each iteration, run `python3 .at
898898
899899
### 11.9 Shell-Escaping Mitigation
900900
901-
The ralph-loop invocation CANNOT contain `()`, `!`, `$`, em-dash, smart quotes, or unicode. These break `eval` in ralph's plugin.
901+
The ralph-loop invocation CANNOT contain `()`, `!`, `$`, em-dash, smart quotes, or unicode. These break `eval` inside the plugin's setup shell script. The patched fork `atlas-ralph-loop` tightens some of these cases but the shape of the invocation must still be ASCII-only and flags-outside-quoted-prompt. Treat ASCII-only as the contract, not the implementation detail of any one plugin version.
902902
903903
**Pattern:**
904904
```bash
905905
# Invocation (short, ASCII-only):
906-
/ralph-loop:ralph-loop \
906+
/atlas-ralph-loop:ralph-loop \
907907
--max-iterations 100 \
908908
--completion-promise SHIP_CHECK_OK \
909909
"See .atlas-ai/ralph-loop-prompt.md"
910910

911+
# NOTE: /atlas-ralph-loop is Hayden's patched+improved fork of /ralph-loop
912+
# (better eval safety, richer completion-promise matching, cleaner stop-hook
913+
# handshake). Prefer /atlas-ralph-loop:ralph-loop everywhere in the plugin —
914+
# the legacy /ralph-loop:ralph-loop remains a fallback only.
915+
911916
# All detail lives in the file:
912917
.atlas-ai/ralph-loop-prompt.md
913918
```
@@ -1175,7 +1180,17 @@ Our spec repeatedly says "CDD-native verification". For non-software domains (pe
11751180
11761181
This is a framing change, not an implementation change. Makes the plugin's domain-agnostic claim actually hold.
11771182
1178-
### 14b.9 (Reserved) — Additional updates discovered during implementation land here.
1183+
### 14b.9 atlas-ralph-loop (patched fork) is canonical — not base ralph-loop
1184+
1185+
**Caught mid-build**: initial spec §11.9 quoted the base `/ralph-loop:ralph-loop` slash command. During execution Hayden confirmed the patched fork `/atlas-ralph-loop:ralph-loop` is the canonical invocation for this project. The fork adds (a) eval-safer arg parsing, (b) richer completion-promise matching including `.claude/ralph-done` file fallback and `<promise>...</promise>` last-line discipline, (c) cleaner stop-hook handshake that avoids re-feeding prompts after explicit cancel.
1186+
1187+
**Fix applied**: §11.9 updated in-place to show the `/atlas-ralph-loop:ralph-loop` invocation and name the fork; the plan's ship-check.py docstring updated to reference it by name; base `/ralph-loop:ralph-loop` remains documented as the fallback only.
1188+
1189+
**Downstream docs to align on next touch**: the user-facing README and the `.atlas-ai/README.md` skeleton should say "Install the atlas-ralph-loop plugin for Mode C" and not "Install ralph-loop". Filenames stay put — `.atlas-ai/ralph-loop-prompt.md` is a file path inside our plugin's namespace and does not refer to the fork by name.
1190+
1191+
**Jobs-lens read**: this is a fix-don't-cut repair of an outdated reference. No feature was removed; the pattern (loop wrapper with deterministic promise token) is unchanged, only the preferred plugin-level implementation is clarified.
1192+
1193+
### 14b.10 (Reserved) — Additional updates discovered during implementation land here.
11791194
11801195
---
11811196

0 commit comments

Comments
 (0)