Skip to content

feat(pi): edpa_pi_create tool + /edpa:create-pi command & skill (2.2.0)#54

Merged
jurby merged 2 commits into
mainfrom
worktree-edpa-pi-create
Jun 1, 2026
Merged

feat(pi): edpa_pi_create tool + /edpa:create-pi command & skill (2.2.0)#54
jurby merged 2 commits into
mainfrom
worktree-edpa-pi-create

Conversation

@jurby
Copy link
Copy Markdown
Contributor

@jurby jurby commented Jun 1, 2026

What

Adds a first-class way to create the PI-level metadata file
.edpa/iterations/<PI-YYYY-N>.yaml (top-level pi: block). Until now only
per-iteration files had tooling (edpa_iteration_create); the PI parent had to
be hand-written — and the loader globs *.yaml only, so a PI-2026-1.yml was
silently ignored.

Architecture — script-first (single source of behavior)

create_pi.py owns the logic; every interface delegates to it:

  • create_pi.py — importable create_pi() core (validate PI-level id,
    refuse overwrite, atomic write of the pi: block) + CLI (validate +
    auto-commit). Self-contained; no dependency on the MCP layer.
  • edpa_pi_create MCP tool — thin delegate that imports create_pi()
    (write only, no commit, like the other write tools).
  • /edpa:create-pi command + edpa:create-pi skill — shell out to the
    CLI (like /edpa:capacitycapacity_override.py).

Does not scaffold child iterations (those are edpa_iteration_create).
Rejects iteration-level ids (PI-YYYY-N.M) and duplicates.

Release

  • bump 2.1.9 → 2.2.0 (plugin.json, web/package.json + lock, tmpl methodology)
  • CHANGELOG.md entry; tool surface now 7 read + 8 write

Tests / docs

  • tests/test_create_pi.py (core + CLI + loader round-trip); edpa_pi_create
    added to the MCP write / idempotency suites and the advertised-tool assertions
  • docs/mcp.md (write-tools note + corrected "read-only" claim),
    docs/playbook.md §1.5, docs/RUNBOOK.md, plugin/README.md
  • pytest tests/ → 600 passed

Built in an isolated worktree off origin/main (2.1.9). Note: a parallel
branch chore/drop-dead-cadence is in flight locally toward 2.1.10 — review
release sequencing before merging/deploying.

🤖 Generated with Claude Code

jurby and others added 2 commits June 1, 2026 13:31
Script-first PI-level file creation. create_pi.py is the single source of
behavior: the edpa_pi_create MCP tool imports its create_pi() core, and the
/edpa:create-pi command + edpa:create-pi skill shell out to its CLI -- same
engine as the rest of EDPA (capacity_override.py <-> /edpa:capacity).

Writes .edpa/iterations/<PI-YYYY-N>.yaml (top-level pi: block). Rejects an
iteration-level id (.N suffix) and overwrites; does not scaffold child
iterations (those are edpa_iteration_create). Closes the gap where the PI
parent had to be hand-written -- notably .yml was silently ignored by the
loader.

- bump 2.1.9 -> 2.2.0 (plugin.json, web/package.json + lock, tmpl methodology)
- tests: test_create_pi.py (core + CLI + loader round-trip); edpa_pi_create
  added to MCP write/idempotency suites and the advertised-tool assertions
- docs: mcp.md write-tools note + corrected read-only claim; playbook 1.5;
  RUNBOOK; plugin/README

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Resolved conflicts: version -> 2.2.0 (> 2.1.10) in plugin.json and the
edpa.yaml.tmpl methodology; CHANGELOG stacks the 2.2.0 entry over the merged
2.1.10 entry. Skills/commands arrays merged (both edpa-create-pi additions and
existing entries). Combined suite green: 600 passed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jurby jurby merged commit 1014084 into main Jun 1, 2026
1 check failed
@jurby jurby deleted the worktree-edpa-pi-create branch June 1, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant