spec-kitty / spec-kitty/spec-kitty

Pack metadata WP-split: authored pack.yaml/pack.md vs generated pack-manifest.yaml

Open
#3,503 0 comments 0 reactions 0 assignees View on GitHub
doctrine priority:P2
Dominant language
Python
Stars
1.6k
Forks
165
Avg merge
14h 22m
Merged PRs (30d)
343

Description

**Gap #6 · Size S · blocked_by WP-core.**

The pack-layout contract forbids authors editing the generated manifest (`…/contracts/pack-layout.md:104`). Split the concerns into two files rather than fencing an authored block inside a generated one:
- **`pack.yaml`** (authored): `pack_id`, `pack_version`, `parent_pack`, `accompanies_doctrine_pack`, human metadata.
- **`pack.md`** (authored): human-readable pack description.
- **`pack-manifest.yaml`** (generated, never hand-edited): `constituents[]`, content hashes, `manifest_hash`, `charter:` profile.

Per ADR `docs/adr/3.x/2026-08-16-1-pack-metadata-manifest-unification.md` (unify decision) and the disposition `docs/plans/investigations/2026-08-pack-level-metadata-manifest.md`. Parent keystone: #2467. Trust-adjacent: #2539.

Contributor guide

Open the contributing guide

Research direction

Start with the pack-layout contract at …/contracts/pack-layout.md:104, then read ADR docs/adr/3.x/2026-08-16-1-pack-metadata-manifest-unification.md and the disposition docs/plans/investigations/2026-08-pack-level-metadata-manifest.md. Check the dependency on WP-core and parent issue #2467 before changing anything. Done means authored metadata is in pack.yaml and pack.md, while pack-manifest.yaml contains only generated manifest data.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.