Extend complete_statehub_bootstrap for five Forgejo-migrated repos
Add timeline-svg, testdrive-jsui, ralph-workplan, polycode-sim, and direkt-vermittlung-de configs for WP-0001 closeout and WP-0002 seeding.
This commit is contained in:
parent
638cdc4ee2
commit
9ff1cd4dc5
1 changed files with 174 additions and 4 deletions
|
|
@ -71,8 +71,8 @@ repo: {repo}
|
||||||
status: ready
|
status: ready
|
||||||
owner: codex
|
owner: codex
|
||||||
topic_slug: {topic_slug}
|
topic_slug: {topic_slug}
|
||||||
created: "2026-06-22"
|
created: "2026-07-08"
|
||||||
updated: "2026-06-22"
|
updated: "2026-07-08"
|
||||||
---
|
---
|
||||||
|
|
||||||
# {title}
|
# {title}
|
||||||
|
|
@ -94,7 +94,7 @@ priority: high
|
||||||
def close_wp0001(path: Path, *, t01_note: str, t02_note: str, t03_note: str) -> None:
|
def close_wp0001(path: Path, *, t01_note: str, t02_note: str, t03_note: str) -> None:
|
||||||
text = path.read_text(encoding="utf-8")
|
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"^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 [
|
for tid, note in [
|
||||||
("T01", t01_note),
|
("T01", t01_note),
|
||||||
("T02", t02_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.*?```)"
|
pattern = rf"(```task\nid: [A-Z0-9-]+-{tid}\nstatus: done\n.*?```)"
|
||||||
block = re.search(pattern, text, re.DOTALL)
|
block = re.search(pattern, text, re.DOTALL)
|
||||||
if block and note:
|
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:
|
if note not in text:
|
||||||
text = text.replace(block.group(1), after, 1)
|
text = text.replace(block.group(1), after, 1)
|
||||||
path.write_text(text, encoding="utf-8")
|
path.write_text(text, encoding="utf-8")
|
||||||
|
|
@ -356,6 +356,176 @@ make help
|
||||||
"wp0002": None,
|
"wp0002": None,
|
||||||
"close_notes": ("INTENT.md, SCOPE.md, AGENTS.md reviewed.", "Stack commands already complete.", "WHYNOT-WP-0002 already exists (designbook stack adapters)."),
|
"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/<file>.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.",
|
||||||
|
),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue