feat(pi): edpa_pi_create tool + /edpa:create-pi command & skill (2.2.0)#54
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds a first-class way to create the PI-level metadata file
.edpa/iterations/<PI-YYYY-N>.yaml(top-levelpi:block). Until now onlyper-iteration files had tooling (
edpa_iteration_create); the PI parent had tobe hand-written — and the loader globs
*.yamlonly, so aPI-2026-1.ymlwassilently ignored.
Architecture — script-first (single source of behavior)
create_pi.pyowns the logic; every interface delegates to it:create_pi.py— importablecreate_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_createMCP tool — thin delegate that importscreate_pi()(write only, no commit, like the other write tools).
/edpa:create-picommand +edpa:create-piskill — shell out to theCLI (like
/edpa:capacity→capacity_override.py).Does not scaffold child iterations (those are
edpa_iteration_create).Rejects iteration-level ids (
PI-YYYY-N.M) and duplicates.Release
CHANGELOG.mdentry; tool surface now 7 read + 8 writeTests / docs
tests/test_create_pi.py(core + CLI + loader round-trip);edpa_pi_createadded 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.mdpytest tests/→ 600 passed🤖 Generated with Claude Code