Context
Depends on #66 (RAG-1). Part of the v2 RAG milestone.
What
Add a scheduled GitHub Actions workflow that keeps data/live-docs.json current without manual intervention.
File: .github/workflows/refresh-live-docs.yml
```yaml
on:
schedule:
- cron: '0 4 * * 1' # every Monday 04:00 UTC
workflow_dispatch: # manual trigger from Actions tab
```
Workflow steps:
- Checkout repo
npm ci
npm run scrape-docs
- If
data/live-docs.json or data/live-docs-diff.json changed:
- Open a PR: title
chore: refresh Live docs index (YYYY-MM-DD)
- PR body: populated from
data/live-docs-diff.json (added/removed/updated/unchanged)
- Auto-assign repo owner as reviewer
- If nothing changed: exit cleanly — no PR, no noise
- If scraper exits non-zero: mark workflow as failed (GitHub sends default failure notification)
Stale index fallback (for fork builds):
src/agent/docs-index.ts already exports isDocIndexStale() (from RAG-2). The UI shows a dismissible diagnostic message when it returns true and data/live-docs.json exists. This only affects developers running from a stale fork; packaged .vsix builds always ship with the index current at release time.
Resilience note
The scraper should keep old chunks rather than deleting them when a page returns 404 — log a warning instead. A single ableton.com restructure should not silently wipe the index on a Monday.
Acceptance criteria
Context
Depends on #66 (RAG-1). Part of the v2 RAG milestone.
What
Add a scheduled GitHub Actions workflow that keeps
data/live-docs.jsoncurrent without manual intervention.File:
.github/workflows/refresh-live-docs.yml```yaml
on:
schedule:
- cron: '0 4 * * 1' # every Monday 04:00 UTC
workflow_dispatch: # manual trigger from Actions tab
```
Workflow steps:
npm cinpm run scrape-docsdata/live-docs.jsonordata/live-docs-diff.jsonchanged:chore: refresh Live docs index (YYYY-MM-DD)data/live-docs-diff.json(added/removed/updated/unchanged)Stale index fallback (for fork builds):
src/agent/docs-index.tsalready exportsisDocIndexStale()(from RAG-2). The UI shows a dismissible diagnostic message when it returns true anddata/live-docs.jsonexists. This only affects developers running from a stale fork; packaged.vsixbuilds always ship with the index current at release time.Resilience note
The scraper should keep old chunks rather than deleting them when a page returns 404 — log a warning instead. A single ableton.com restructure should not silently wipe the index on a Monday.
Acceptance criteria
workflow_dispatchdata/live-docs-diff.json