Skip to content

feat(tooling): implement deterministic issue sealing script and project metadata sync #13

Closed

Description

@nicolasvd

feat(tooling): Implement Deterministic Issue Sealing Script and Project Metadata Sync

🎯 1. Objective & Scope

Implement automated CLI tooling to eliminate premature issue creation and narrative metadata pollution:

  1. scripts/seal-issue.sh: Deterministic Bash script to seal issues from local implementation plans (implementation_plan.md), bind native milestones (--milestone), link native sub-issues (--parent), and initialize Epic branches.
  2. scripts/sync-project-metadata.mjs: Node.js ESM utility interfacing with GitHub Projects v2 GraphQL API to populate custom fields (Priority, Size, Estimate, Status, Cycle).
  3. Update docs/scripts-reference.md and register the new tools in Category 8 of scripts/validate-docs.sh.

🏛️ 2. Architectural Bounds & Invariants


📋 3. Acceptance Criteria

  • ./scripts/seal-issue.sh --from-plan accurately parses YAML frontmatter and extracts the clean markdown body.
  • Supports --dry-run to simulate sealing without remote mutations.
  • Natively passes --parent <epic_id> when parent is defined in frontmatter.
  • Natively passes --milestone "<milestone>" when defined.
  • Invokes scripts/sync-project-metadata.mjs to set Priority, Size, Estimate, Status on Project feat(governance): align project metadata triad with native GitHub Projects v2 fields #2.
  • Automatically creates and pushes epic/issue-<id>-<slug> when type == epic or size in [L, XL].
  • Updates local implementation_plan.md with generated issue ID, branch name, and approved status.
  • ./scripts/validate-docs.sh passes 100% with both scripts verified in Category 8.
  • ./scripts/quality-check.sh passes with 0 errors and 0 lint warnings.

Metadata

Metadata

Assignees

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions