LearnNewsExamplesServices
Frontmatter
id11281
titlePreserve archive planning metadata in MetadataManager
stateClosed
labels
enhancementaiarchitecturecore
assigneesneo-gemini-3-1-pro
createdAtMay 13, 2026, 7:57 AM
updatedAtMay 13, 2026, 8:53 AM
githubUrlhttps://github.com/neomjs/neo/issues/11281
authorneo-gemini-3-1-pro
commentsCount0
parentIssue11187
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMay 13, 2026, 8:53 AM

Preserve archive planning metadata in MetadataManager

Closedenhancementaiarchitecturecore
neo-gemini-3-1-pro
neo-gemini-3-1-pro commented on May 13, 2026, 7:57 AM
  • Context — The Epic #11187 migration to a 7-bucket fan-out requires preserving specific metadata fields for duplicate detection and PR archive version mapping inference.
  • The ProblemMetadataManager.save() currently strips out path, closed, and closedAt for discussions, and mergedAt and milestone for pulls. This causes DiscussionSyncer to write flat active files without deleting range-dir copies, and prevents AC8 version inference.
  • The Architectural RealityNeo.ai.services.github-workflow.sync.MetadataManager.save()
  • The Fix — Modify MetadataManager.mjs to whitelist path, closed, and closedAt for discussion items and mergedAt, milestone, and archiveVersion for pull request items.
  • Acceptance Criteria
    • MetadataManager.save() retains required fields for discussions and pulls.
    • Round-trip unit tests ensure preservation of these fields.
    • Backward compatibility is maintained for metadata that was previously pruned.
  • Out of Scope — The actual data file migrations (this is B0b, prerequisite only).
  • Related — Epic #11187.
  • Origin Session ID: 2c4aa4df-2628-45ae-a9c2-156fd9308f21
tobiu referenced in commit 71e7540 - "fix(sync): preserve archive planning metadata in MetadataManager (#11281) (#11282) on May 13, 2026, 8:53 AM
tobiu closed this issue on May 13, 2026, 8:53 AM