Skip to content

Latest commit

 

History

History
56 lines (47 loc) · 2.82 KB

File metadata and controls

56 lines (47 loc) · 2.82 KB

Repository Guidance

Git History Management

Keep the git history useful for a human maintainer.

  • Start every task by checking git status --short --branch and recent history.
  • Treat existing uncommitted changes as user work unless there is clear evidence they were generated by the current task. Do not revert, overwrite, or fold unrelated changes into a commit.
  • Keep generated output, local state, dependency libraries, credentials, and scratch files out of git. In this repo, _site/, .quarto/, tmp/, and renv/library/ should remain ignored.
  • Split commits by intent. Prefer separate commits for repository hygiene, source/pipeline changes, content updates, generated tracked artifacts, and formatting-only changes when those concerns are distinct.
  • Use concise imperative commit messages that explain the change, for example Integrate CV into Quarto site or Refresh homepage introduction.
  • Before committing, inspect the staged diff with git diff --cached --stat and run an appropriate validation command. At minimum, use git diff --cached --check; for website changes, run quarto render when the local environment supports it.
  • If validation updates tracked generated artifacts, commit those updates with the source change that caused them, or as a small follow-up commit with a clear message.
  • Do not rewrite published history, force-push, reset, or delete branches unless the user explicitly asks for that operation.
  • Do not push automatically unless the user asks. Leave local commits ahead of origin and report that state clearly.

CV Data Source Of Truth

Google Drive is the canonical source for structured CV data. In this repo, cv/data/snapshots/ is a committed cache used for offline and reproducible renders, and cv/content_html/ is generated output.

When changing CV records:

  1. Edit the source record in Google Drive first.
  2. Run Rscript --vanilla cv/scripts/sync_drive_snapshots.R --check from the repository root to check whether snapshots drift from Drive.
  3. Run Rscript --vanilla cv/scripts/sync_drive_snapshots.R --apply to refresh raw synced snapshots from Drive.
  4. Run Rscript --vanilla cv/scripts/render_cv_fragments.R to regenerate committed HTML fragments.
  5. Render the CV with quarto render cv/index.qmd --no-cache when validating the final page.

Do not hand-edit files in cv/data/snapshots/ or cv/content_html/ except for emergency repairs. Any emergency repair must be backfilled to the canonical Drive source immediately, then re-synced and regenerated.

Some CV sections are projections from richer Drive data rather than raw copies: funding is based on Drive funding/proposal records, and work experience is based on the Drive jobs/work history records. Treat the Drive records as canonical and the repo snapshot as the rendered CV projection cache.