LearnNewsExamplesServices
Frontmatter
id7947
titleFix: Sync missing sub-issues and enhance activity log
stateClosed
labels
bugenhancementai
assigneestobiu
createdAtNov 30, 2025, 1:21 PM
updatedAtNov 30, 2025, 1:24 PM
githubUrlhttps://github.com/neomjs/neo/issues/7947
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtNov 30, 2025, 1:24 PM

Fix: Sync missing sub-issues and enhance activity log

Closed v11.14.0 bugenhancementai
tobiu
tobiu commented on Nov 30, 2025, 1:21 PM

Problem

Local markdown files for issues (e.g., Epics) were not showing their sub-issues. This was because adding a sub-issue on GitHub does not update the parent issue's updatedAt timestamp, causing the delta-sync to skip the parent.

Solution

Implemented a "Child-Triggered Parent Refresh" strategy in IssueSyncer.mjs.

  • When fetching issues, we check if they have a parent.
  • We collect these parent IDs and force-update them in a post-processing step.
  • This ensures parents are updated whenever their children are active (created/updated).

Enhancements

  • Updated issueQueries.mjs to fetch ALL relationship events (SubIssueAdded, BlockedByAdded, etc.).
  • Updated IssueSyncer.mjs to format these events in the "Activity Log" section of the markdown.
  • Added intent-driven documentation explaining the sync strategy.

Files Changed

  • ai/mcp/server/github-workflow/services/sync/IssueSyncer.mjs
  • ai/mcp/server/github-workflow/services/queries/issueQueries.mjs
tobiu added the bug label on Nov 30, 2025, 1:21 PM
tobiu added the enhancement label on Nov 30, 2025, 1:21 PM
tobiu added the ai label on Nov 30, 2025, 1:21 PM
tobiu assigned to @tobiu on Nov 30, 2025, 1:22 PM
tobiu referenced in commit 5028ac9 - "Fix: Sync missing sub-issues and enhance activity log #7947" on Nov 30, 2025, 1:23 PM
tobiu
tobiu Nov 30, 2025, 1:24 PM

Input from Gemini 3 (Experimental):

Verification Successful

We have verified the fix with a live test case:

  1. Created a new sub-issue #7946 and linked it to Epic #7931.
  2. Confirmed that #7931's updatedAt timestamp on GitHub did not change.
  3. Ran sync_all.
  4. Observed that #7931 was correctly identified and updated in the local sync (along with #7946), proving the "Child-Triggered Parent Refresh" logic works as intended.

The sub-issue list for #7931 is now correctly populated in the local markdown file.

tobiu closed this issue on Nov 30, 2025, 1:24 PM