Forge metadata index and backup

Issues Browser keeps a lightweight metadata index by default and an opt-in per-repo full backup.

Layers

| Layer | Default | Contents | | --- | --- | --- | | Index cache | Yes | Titles, states, urls, updated_at stubs in index/index.sqlite | | Backup | Opt-in per repo | Full bodies + comments in archives/<host>/<owner>/<repo>/database.sqlite |

Controls

  • CLI: --sync (index), --sync --backup (full), --set-backup owner/name, --set-index-only owner/name, --monitor-list

  • GUI: Sync selected (index) vs Backup selected; list badges [cached] / [backed up]

  • Daemon/monitor.sdl: backup true|false (or mode "backup"|"index") per repo

  • IPC: POST /monitor/set-backup, POST /open-repo

Existing archives are migrated to backup=true on daemon start (migrateArchivesAsBackup) so upgrades never silently drop backup.

Where data lives

index/index.sqlite
archives/<host>/<owner>/<repo>/database.sqlite   # backup-enabled repos only
monitor.sdl
pending-open.json   # RepoDrive / IPC open requests

Override with --root or ISSUES_BROWSER_ROOT.

Continuous monitoring

issuesd polls monitor.sdl and runs index sync for all enabled repos; full backup sync only when backup is true. Localhost JSON IPC: 127.0.0.1:17365.

Providers

Forge details live in SDLang profiles (profiles/forge-profiles.sdl). GitHub is fully implemented via gh; GitLab profile is stubbed for glab.