Prefer actual completion time for release-window bucketing

Merged
UN
3mo ago
+113-8

Summary

  • add the typed completed_at item contract
  • prefer actual completion time over tracker close time in every changelog window
  • preserve and test the legacy closed_at fallback
  • rebuild published distribution artifacts

Project management

Verification

  • npm run release:check
  • 193/193 tests
  • zero production vulnerabilities

Summary by Sourcery

Prefer actual completion timestamps for release-window bucketing while preserving the legacy closed-time fallback and updating tests and types accordingly.

New Features:

  • Add an optional completed_at timestamp to the PmItem contract for representing actual work completion time.

Bug Fixes:

  • Ensure changelog release-window bucketing uses actual completion time when available, falling back to closed_at and other timestamps for legacy items.

Tests:

  • Add regression coverage to verify release-window bucketing prefers completed_at over closed_at and keeps legacy closed_at-only behavior intact.

Chores:

  • Record associated project-management issue history and metadata under .agents/pm.

Summary by cubic

Prefer actual completed_at timestamps for release-window bucketing so items reflect when work finished. Falls back to closed_at, then updated_at, then created_at; docs now show the full chain. Satisfies pmc-f08u.

  • New Features
    • Add optional completed_at to PmItem and prefer it in timestamp selection.
    • Expand tests for precedence (including completed_at-only), update usage docs, and rebuild dist.