diff --git a/scripts/complete_statehub_bootstrap.py b/scripts/complete_statehub_bootstrap.py index 68f7fa7..c3abe27 100644 --- a/scripts/complete_statehub_bootstrap.py +++ b/scripts/complete_statehub_bootstrap.py @@ -71,8 +71,8 @@ repo: {repo} status: ready owner: codex topic_slug: {topic_slug} -created: "2026-06-22" -updated: "2026-06-22" +created: "2026-07-08" +updated: "2026-07-08" --- # {title} @@ -94,7 +94,7 @@ priority: high def close_wp0001(path: Path, *, t01_note: str, t02_note: str, t03_note: str) -> None: text = path.read_text(encoding="utf-8") text = re.sub(r"^status: ready$", "status: finished", text, count=1, flags=re.M) - text = re.sub(r"^(updated: ).*$", r'\1"2026-06-22"', text, count=1, flags=re.M) + text = re.sub(r"^(updated: ).*$", r'\1"2026-07-08"', text, count=1, flags=re.M) for tid, note in [ ("T01", t01_note), ("T02", t02_note), @@ -109,7 +109,7 @@ def close_wp0001(path: Path, *, t01_note: str, t02_note: str, t03_note: str) -> pattern = rf"(```task\nid: [A-Z0-9-]+-{tid}\nstatus: done\n.*?```)" block = re.search(pattern, text, re.DOTALL) if block and note: - after = f"{block.group(1)}\n\nResult 2026-06-22: {note}" + after = f"{block.group(1)}\n\nResult 2026-07-08: {note}" if note not in text: text = text.replace(block.group(1), after, 1) path.write_text(text, encoding="utf-8") @@ -356,6 +356,176 @@ make help "wp0002": None, "close_notes": ("INTENT.md, SCOPE.md, AGENTS.md reviewed.", "Stack commands already complete.", "WHYNOT-WP-0002 already exists (designbook stack adapters)."), }, + "timeline-svg": { + "stack": """## Stack + +- **Language:** JavaScript (ES modules), browser-first; no bundler +- **Key deps:** Vitest, jsdom (dev); static HTML/CSS/SVG templates + +## Dev Commands + +```bash +make install # npm install +make test # vitest +make test-watch # vitest watch +make test-coverage # coverage report +make serve # local static server (index.html) +make dist # distribution package +make dist-zip # zip archive for offline/Windows use + +# After workplan edits +statehub fix-consistency +``` +""", + "wp0002": ( + "0002", + "distribution-packaging", + "Distribution packaging and release smoke", + "Harden offline distribution (`make dist`, `make dist-zip`) and document the Windows/local-server workflow for non-developer users.", + "Distribution smoke checklist", + "Verify dist output, WINDOWS_USAGE.md steps, and example/my-project sample projects; add release checklist to README.", + ), + "close_notes": ( + "INTENT.md and SCOPE.md reviewed; removed generated-placeholder noise from SCOPE Current State.", + "Documented make/npm/vitest workflow in stack-and-commands.md.", + "Created TMLN-WP-0002.", + ), + }, + "testdrive-jsui": { + "stack": """## Stack + +- **Language:** JavaScript (ESM) + optional Python adapter +- **Key deps:** Rollup, Jest, marked (peer); see `package.json`, `pyproject.toml` + +## Dev Commands + +```bash +npm install +npm run build +npm test +npm run test:coverage +npm run lint +make test # JS + Python bridge tests +make build + +# After workplan edits +statehub fix-consistency +``` +""", + "wp0002": ( + "0002", + "npm-publication-readiness", + "NPM publication readiness", + "Finish bundling and publication prep for standalone npm distribution (Rollup CJS/ESM/UMD, browser smoke tests, prepublish checks).", + "Publication readiness checklist", + "Execute NPM_PUBLICATION_PLAN.md phases: verify dist formats, browser test HTML files, prepublishOnly hook, and README install examples.", + ), + "close_notes": ( + "INTENT.md and SCOPE.md reviewed; AGENTS.md and brief confirmed accurate.", + "Documented npm/jest/rollup workflow in stack-and-commands.md.", + "Created JSUI-WP-0002.", + ), + }, + "ralph-workplan": { + "stack": """## Stack + +- **Language:** Bash + Markdown (Claude Code plugin/skill) +- **Key deps:** Claude Code with `ralph-loop` plugin; no application runtime + +## Dev Commands + +```bash +./install.sh +./install.sh --uninstall +./plugin/scripts/check-done.sh workplans/.md + +# Manual smoke after plugin edits +./install.sh && claude # restart required + +# After workplan edits +statehub fix-consistency +``` +""", + "wp0002": ( + "0002", + "plugin-hardening", + "Plugin hardening and adoption docs", + "Harden install/check scripts and document adoption path for workplan-driven Ralph loops across coulomb repos.", + "Adoption and guardrail checklist", + "Document workplan-spec.md requirements, check-done behavior, max-iterations guidance, and cross-repo install notes in README.", + ), + "close_notes": ( + "INTENT.md and SCOPE.md reviewed; AGENTS.md confirmed.", + "Documented bash/plugin workflow in stack-and-commands.md.", + "Created RALPH-WP-0002.", + ), + }, + "polycode-sim": { + "stack": """## Stack + +- **Language:** Python 3.11+ (simulator scaffold planned) +- **Key deps:** stdlib-first; pytest when `simulator.py` lands + +## Dev Commands + +```bash +# Planned v0.1 workflow (see README.md) +python3 simulator.py +python3 experiments.py + +# After workplan edits +statehub fix-consistency +``` +""", + "wp0002": ( + "0002", + "simulator-v01-scaffold", + "PolyCode simulator v0.1 scaffold", + "Implement the documented v0.1 simulation engine (`simulator.py`, `strategies.py`, `experiments.py`, `params_default.json`) described in README and specs.", + "Simulator scaffold", + "Add minimal runnable simulator with default strategies, params file, `./runs/` output, and a smoke test for one demo run.", + ), + "close_notes": ( + "INTENT.md and SCOPE.md reviewed; README/spec aligned with planned v0.1 layout.", + "Documented planned Python workflow in stack-and-commands.md (code scaffold tracked in WP-0002).", + "Created POLYCODE-WP-0002.", + ), + }, + "direkt-vermittlung-de": { + "stack": """## Stack + +- **Language:** Python (FastAPI target under `/src`; prototypes in `/prototype-*`) +- **Key deps:** See `prototype-chatgpt5/pyproject.toml` and `docs/openapi.yaml` + +## Dev Commands + +```bash +# Orient on architecture and migration plan +cat INTENT.md +cat docs/WORKPLAN_MainCodebase_Integration.md +ls docs/architecture/adr/ + +# Prototype smoke (chatgpt5 — most complete) +cd prototype-chatgpt5 && pip install -e . && pytest -q + +# After workplan edits +statehub fix-consistency +``` +""", + "wp0002": ( + "0002", + "main-codebase-tdd-kickoff", + "Main codebase TDD integration kickoff", + "Start unified `/src` production codebase with ADR-governed TDD interfaces, consolidating chatgpt5 prototype learnings.", + "TDD kickoff", + "Create `/src` skeleton, port split-payload routing interfaces from chatgpt5 prototype, and add first failing acceptance tests per docs/WORKPLAN_MainCodebase_Integration.md.", + ), + "close_notes": ( + "INTENT.md and SCOPE.md reviewed; AGENTS.md and brief confirmed.", + "Documented prototype/TDD workflow in stack-and-commands.md.", + "Created DVD-WP-0002.", + ), + }, }