This ticket covers the implementation of the "push" half of the synchronization process. The SyncService will be enhanced to detect local changes in the Markdown issue files and push them back to GitHub.
The sync logic will follow the "push-then-pull" model, so this push operation should be the first step in the runFullSync orchestration.
Acceptance Criteria
- A private method,
#pushToGitHub(), is created in the SyncService.
- This method is called by
runFullSync() before the pull operation.
- The method scans all
.md files in the .github/ISSUES/ and .github/ISSUE_ARCHIVE/ directories.
- For each file, it checks the file's modification time (
mtime) against the last_sync timestamp in .sync-metadata.json.
- If the local file is newer, the service parses the file to extract the title and body.
- The title should be extracted from the main
# heading.
- The body should be the content of the file, excluding the frontmatter and the `
This ticket covers the implementation of the "push" half of the synchronization process. The
SyncServicewill be enhanced to detect local changes in the Markdown issue files and push them back to GitHub.The sync logic will follow the "push-then-pull" model, so this push operation should be the first step in the
runFullSyncorchestration.Acceptance Criteria
#pushToGitHub(), is created in theSyncService.runFullSync()before the pull operation..mdfiles in the.github/ISSUES/and.github/ISSUE_ARCHIVE/directories.mtime) against thelast_synctimestamp in.sync-metadata.json.#heading.