Skip to content

Agent-friendly planning convention: validator + progressive disclosure + leaner frontmatter#236

Merged
lesnik512 merged 13 commits into
mainfrom
feat/agent-friendly-planning-convention
Jun 25, 2026
Merged

Agent-friendly planning convention: validator + progressive disclosure + leaner frontmatter#236
lesnik512 merged 13 commits into
mainfrom
feat/agent-friendly-planning-convention

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Makes the portable planning convention agent-friendly: a machine-checkable validator, a progressive-disclosure on-ramp, and a much leaner frontmatter. Spec + plan: planning/changes/2026-06-25.01-agent-friendly-planning-convention/.

What ships

  • just check-planning validator — a --check mode in planning/index.py (reuses parse_frontmatter), wired into just lint-ci. Validates bundle shape, required frontmatter keys, field validity, outcome presence on every change spec, and plan.md spec: link resolution. Reports all violations in one run. Not imported by tests, so the 100% coverage gate is unaffected (CLI-verified).
  • Quick-path on-ramp atop planning/README.md — a first-match lane decision tree + create/ship steps. The full Conventions section stays as the authoritative reference; CLAUDE.md's ## Workflow is de-duplicated down to a pointer (keeping only the repo-specific release process).

Convention simplifications (decided during the work)

  • pr dropped entirely — it was the only hand-supplied, post-hoc, git-recoverable field; traceability lives in git + the outcome line.
  • status + supersedes/superseded_by dropped from change bundles — on main a bundle is always shipped, so the draft→shipped flip was pointless ceremony. The index is now a flat newest-first list. Decisions keep status + supersession (load-bearing there).
  • outcome is now the sole enforced lifecycle field, with a written definition (one line, ~1–3 sentences, the realized result, filled at PR-finalize time).

A change spec's frontmatter is now date / slug / summary / outcome; a plan.md's is date / slug / spec. spec: standardized to a bundle-relative path. Historical bundles reconciled to green.

Verification

  • just check-planningplanning: OK
  • just test-ci → 232 passed, 100% coverage
  • just lint-ci → clean (includes check-planning)
  • just docs-build → OK

Sibling-repo rollout (faststream-outbox et al.) is tracked in planning/deferred.md.

🤖 Generated with Claude Code

lesnik512 and others added 13 commits June 25, 2026 12:58
Progressive-disclosure restructure (Quick-path on-ramp, deterministic
lane decision, de-duplicated text) plus a just check-planning validator.
Findings 1, 2, 4, 5 from the agent-convenience evaluation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ntion

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Backfill pr: on 8 shipped design.md files (bug-hunt-audit→188-197,
  singleton-rlock→188, validate-rework→189, mkdocs-github-pages-migration→198,
  scheduled-dep-check→200, code-docs-audit→202-203,
  docs-improvements→198, migration-guide-from-that-depends→198)
- docs-improvements and migration-guide-from-that-depends: no dedicated merged
  PR found (gh pr list and git log show no separate PR); both shipped with
  the GitHub Pages migration PR #198
- Backfill outcome: on 7 shipped change.md files (audit-fixes,
  audit-fixes-round2, alias-scope-transparency, audit-doc-rulings-batch1,
  audit-fixes-batch2, audit-fixes-batch3, audit-fixes-batch4-5);
  each derived from its own summary/body, not invented
- Fix spec: in 5 plan.md files to design.md (bundle-relative path)
- Fix docs-ux-fixes/plan.md: add full missing frontmatter from sibling design.md
- Fix planning/_templates/plan.md: spec: my-change → spec: design.md
- Wire check-planning into lint-ci as final step
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… field

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Multi-line block scalars (outcome: |) no longer let an indented line
shaped like a key overwrite a real frontmatter field.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nge bundles

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Decisions keep status/supersedes/superseded_by; changes do not. outcome is now
required on every change spec; the index is a flat newest-first list.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@lesnik512 lesnik512 merged commit 4692035 into main Jun 25, 2026
7 checks passed
@lesnik512 lesnik512 deleted the feat/agent-friendly-planning-convention branch June 25, 2026 11:41
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