MSRBot.io automation operates as a linked chain—from document extraction to site build and URL validation.
Each stage runs on a scheduled cron and triggers follow-ups automatically after merges or upstream data changes.
All core workflows execute on a weekly schedule, with triggered rebuilds after PR merges or manual dispatch.
Crawls defined URL maps to parse and populate data (currently only SMPTE). Creates a PR if changes are found.
Workflow: Extract Documents - SMPTE
Sample Run: Run #18390426360
Dataset:
Reports (as needed):
Sample PR: - Update documents.json (20251010-193337) (#520)
Trigger: weekly schedule or manual dispatch
Builds a master lineage of documents, mapping each family, suite, and amendment relationship. Creates PRs and manages issues as needed.
Workflow: Build MSI
Sample Run: Run #18388247185
Dataset: src/main/data/documents.json
Reports:
Sample PR: Build MasterSuiteIndex (data change) (#483)
Sample Issue: UNKEYED: x509-sg.2000 (#469)
Trigger: weekly schedule, PR merge, or manual dispatch
Builds a master reference map and determines whether referenced documents are present in the dataset. Creates PRs and manages issues as needed.
Workflow: Build MRI
Sample Run: Run #18388267876
Dataset: src/main/data/documents.json
Reports:
src/main/reports/masterReferenceIndex.jsonsrc/main/reports/mri_presence_audit.json(generated to resolve issues)
Sample PR: Build MasterReferenceIndex (data change) (#481)
Sample Issue: MISSING REF: W3C.xml-names.20091208 (#467)
Trigger: completion of Build MSI
Builds the front-end site from data and publishes to GitHub Pages.
Workflow: Build MSR
Sample Run: Run #18388295172 → Publish to GH Pages
Dataset:
src/main/data/documents.jsonsrc/main/reports/masterSuiteIndex.jsonsrc/main/reports/masterReferenceIndex.json
Build Output: msrbot.io
Trigger: completion of Build MRI
Validates and normalizes URLs in the dataset. Creates PRs and manages issues as needed.
Workflow: Validate URLs
Sample Run: Run #18388310278
Reports:
src/main/reports/url_validate_audit.jsonsrc/main/reports/url_validate_normalize.json(generated to resolve issues)
Sample PR: URL Backfill resolved for X entries (#491)
Sample Issues:
Trigger: completion of Build MSR
Build preview of MSR site during PR creation, prior to publication to manually check rendering.
Workflow: Build Preview
Sample Run: Run #18398206332
Sample PRs:
Trigger: creation of PR with changes to
src/main/data/documents.jsonor site rendering.
- Fully autonomous workflow chain:
Extract → MSI → MRI → MSR → URL Validate - Each stage runs independently but triggers the next when changes are detected and generates auditable JSON reports.
- PRs are opened only when data changes; metadata and validation commits go directly to
main. - PR generate MSR preview links when appropriate; when closed and/or merged, self cleans to remove stale preview links and branches.
- Permanent artifacts reports are stored in
src/main/reports. - All runs are concurrency-protected, idempotent, and self-healing.
- Node.js 20+ (LTS)
- GitHub Actions with
contents,issues, andpull-requestswrite permissions - Access to HTML/PDF publication URLs