- Implement Phase 2 on branch
codex/phase-2-quality-ledger. - Capture one quality snapshot per release tag (
vNNNN) with Lighthouse, broken-link count, and build time. - Persist snapshots in-repo for future dashboarding, while preventing metrics commits from triggering deploy/version loops.
- Add an issue template field for
Site Versionso bug reports can be attributed to releases.
- Update deploy workflow in
.github/workflows/deploy.yml:- Move tag creation to after the Pages deploy step so a tag represents an already-deployed version.
- Add
paths-ignorefor the quality ledger file(s) so metrics-only commits do not trigger deploy/version bump.
- Add a new workflow (for example
.github/workflows/quality-ledger.yml) that runs on tag pushes matchingv*and on manual dispatch:- Read version from the tag.
- Run
bundle exec jekyll buildand record elapsed seconds. - Serve
_sitelocally and run Lighthouse audits; capture Performance, Accessibility, and SEO. - Run
linkinatoragainst the built/served site and capture broken-link count. - Append a new record to
_data/quality_log.ymlwith:version,release_date,commit_sha,lighthouse.performance,lighthouse.accessibility,lighthouse.seo,broken_links,build_time_seconds,workflow_run_url. - Commit the updated ledger back to
mainwith a bot commit message.
- Add/enable issue templates:
- Create
.github/ISSUE_TEMPLATE/bug_report.ymlwith requiredsite_versionfield and helper text to copy from footer (rev.XXXX). - Add
.github/ISSUE_TEMPLATE/config.yml(disable blank issues if desired) and direct bug reporters to include version.
- Create
- Documentation updates:
- Update
README.mdwith “Quality Ledger” behavior and where the data lives. - Mark Phase 2 checklist progress in
ROADMAP.mdas each item lands.
- Update
- New data contract in
_data/quality_log.yml: one entry per released version with stable keys listed above. - New contributor-facing interface: GitHub bug issue form with required
Site Version. - CI contract: release tags (
vNNNN) become the trigger for quality snapshot collection.
- Workflow validation:
- Run
quality-ledgerviaworkflow_dispatchonce to verify parsing/output and ledger append format. - Push/create a test tag in a safe branch/repo context to confirm tag-trigger behavior.
- Run
- Data validation:
- Ensure new ledger entry is appended (not overwritten) and version key matches tag.
- Confirm numeric parsing for Lighthouse scores, broken links, and build seconds.
- Regression checks:
- Confirm metrics-only ledger commit does not trigger deploy workflow.
- Confirm normal content changes still trigger deploy and version bump.
- Issue template checks:
- Open “New issue” UI and verify
site_versionis required and guidance text is present.
- Open “New issue” UI and verify
- Defaulted storage choice: in-repo ledger at
_data/quality_log.yml(chosen to support Phase 4 dashboarding). - Lighthouse target is the locally served built site for repeatable CI numbers; production URL checks can be added later as a secondary metric.
- Bug counts are “attributable” in Phase 2 by collecting
Site Versionin issue intake; aggregate reporting is deferred to Phase 4 dashboard/trends.