Skip to content

Decide: scrub private career notes from git history (needs force-push) #3

Description

@ccancellieri

Context

PR #2 removed career-profile/ (7 files of private career notes, including CV strategy and achievements) and the FAO experience sentences about contract category promotion and appraisal ratings from the site. All of that content, however, remains readable in git history (e.g. git show 00c0428^ -- career-profile/), and this is a public repo.

PR #2's own follow-up section already planned the scrub:

pip install git-filter-repo
git filter-repo --path career-profile --invert-paths --force
git push origin main --force

Open question (needs a decision — not executing autonomously)

A history rewrite is irreversible and requires a force-push to main, so it is parked here rather than executed. Points to weigh:

  1. Scope of the rewrite. --path career-profile --invert-paths removes the notes directory but NOT the old index.html revisions that contain the promotion/appraisal sentences (present until commit 00c0428). Purging those too means rewriting index.html blobs with git filter-repo --replace-text, or accepting they stay.
  2. GitHub retains cached views. Even after a force-push, the old commits stay reachable through the PR Remove internal notes from public site; align content with current CV #2 diff and by SHA until GitHub garbage-collects; a full purge requires a GitHub Support request to run GC / invalidate caches.
  3. Local clones/worktrees of this repo will need re-cloning or hard resets afterwards.
  4. Alternative: accept history as-is (the removed content is career-sensitive but not credentials/contact data) and close this issue.

Option A — full scrub: filter-repo on career-profile/ + replace-text for the two sentences, force-push, then GitHub Support ticket for cache purge.
Option B — directory-only scrub: PR #2's exact commands, accept the index.html sentences remaining in history.
Option C — no scrub: close this issue, accept public history.

Recommendation: A if the appraisal/contract details are the real concern (they are the most sensitive part); B is half a fix; C is defensible since the content is embarrassing-at-most, not contact/credential data.

Reply with A/B/C (or adjust) and the scrub can proceed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions