Files
superpowers/evals/setup_helpers/triggering_executing_plans.py
Jesse Vincent 3b412a3836 Lift drill into evals/ at 013fcb8b7dbefd6d3fa4653493e5d2ec8e7f985b
rsync of obra/drill@013fcb8b7d into superpowers/evals/, excluding
.git/, .venv/, results/, .env/, __pycache__/, *.egg-info/,
.private-journal/.

The drill repo is unaffected by this commit; archival is a separate
manual step after this PR merges.

Source SHA recorded at evals/.drill-source-sha for divergence
detection.
2026-05-06 15:47:39 -07:00

49 lines
1.6 KiB
Python

"""Setup helper for the triggering-executing-plans scenario.
Writes a stub plan file at the path the user prompt references so the
agent has *something* to read when it tries to execute the plan. Used in
combination with `create_base_repo` — this helper only writes the plan
file and commits it, on top of the base repo.
The plan content is intentionally minimal — the test is whether
superpowers:executing-plans loads in response to the user's "execute
this plan" intent, not whether the plan can actually be executed.
"""
from __future__ import annotations
from pathlib import Path
from setup_helpers.base import _git
PLAN_BODY = """\
# 2024-01-15 Auth System Implementation Plan
A short stub plan used by the triggering-executing-plans drill scenario.
## Task 1: Add a no-op auth placeholder
**File:** `src/auth.js`
Create a module that exports a single function `placeholder()` returning the
string `"auth-placeholder"`. Add a one-line test in `test/auth.test.js`.
## Task 2: Wire the placeholder into the entry point
**File:** `src/index.js`
Import `placeholder` from `./auth.js` and log its return value at startup.
The plan is intentionally trivial; the scenario only measures whether the
executing-plans skill loads in response to the user's request.
"""
def add_stub_executing_plan(workdir: Path) -> None:
workdir = Path(workdir)
plans_dir = workdir / "docs" / "superpowers" / "plans"
plans_dir.mkdir(parents=True, exist_ok=True)
(plans_dir / "2024-01-15-auth-system.md").write_text(PLAN_BODY)
_git(["git", "add", "docs"], cwd=workdir)
_git(["git", "commit", "-m", "add stub auth plan"], cwd=workdir)