mirror of
https://github.com/shankar0123/certctl.git
synced 2026-06-07 11:01:31 +00:00
docs: shift to Pattern A in history-normalization.md
Phase 0 follow-up — Pattern A migration (post-Pattern-C trailer strip + archive tag deletion). Updates the public-facing explanation to match the post-strip state: no more Co-authored-by trailers in commit messages, no more archive tag on origin. The off-platform bundle remains as the canonical pre-rewrite preservation record. Why the change from Pattern C → A: the Co-authored-by trailers added in the original rewrite caused GitHub to render the AI identities (claude, cowork, certctl-bot, certctl-copilot, github-actions) as co-author chips on every AI-touched commit AND count them in the repo's contributor graph. Operator opted to clean the contributor list. The legal posture (counsel-signed AI-authorship declaration in cowork/legal/) is unchanged — only the git-history layer's transparency signal was dialed back. Bundle at cowork/legal/pre-rewrite-2026-05-13.bundle still preserves the original history (all 14 author identities + un-stripped commit messages) for any future forensic / diligence question.
This commit is contained in:
@@ -10,17 +10,16 @@ no longer resolves, this is the explanation.
|
||||
## What changed
|
||||
|
||||
Every commit's `author` and `committer` metadata was rewritten to a
|
||||
single canonical identity (`shankar0123 <skreddy040@gmail.com>`). Where
|
||||
the original author was an AI/automation identity (Claude, Copilot,
|
||||
cowork agent, certctl-bot, etc.), a `Co-authored-by:` trailer was
|
||||
appended to the commit message preserving the original identity. The
|
||||
intent is a uniform single-author authorship layer + preserved
|
||||
attribution of AI involvement.
|
||||
single canonical identity (`shankar0123 <skreddy040@gmail.com>`). The
|
||||
14 pre-rewrite author identities — operator name variants plus
|
||||
AI/automation identities (Claude, Copilot, cowork agent, certctl-bot,
|
||||
etc.) — collapsed to that one canonical author.
|
||||
|
||||
No source-code content was changed by the rewrite. Every line of code
|
||||
in every commit is byte-for-byte identical to its pre-rewrite version.
|
||||
Only `author` / `committer` metadata and (for ~129 AI-touched commits)
|
||||
a `Co-authored-by:` trailer line were touched.
|
||||
Only the `author` and `committer` metadata fields were touched; commit
|
||||
messages, subject lines, milestone IDs (M49, L-1, etc.), and every
|
||||
other line of every commit's body are preserved verbatim.
|
||||
|
||||
## Why
|
||||
|
||||
@@ -41,15 +40,18 @@ Two reasons:
|
||||
|
||||
## What is preserved
|
||||
|
||||
The exact pre-rewrite history is preserved on origin at the tag
|
||||
**`archive/pre-author-normalization-2026-05-13`**. If you need to
|
||||
reference an original commit SHA from before the rewrite — for example
|
||||
in a blog post, an external citation, or a pre-rewrite release artifact
|
||||
— check that tag. The tag is immutable; we will not move or delete it.
|
||||
A complete off-platform bundle backup of the pre-rewrite tree is held
|
||||
by the operator (off-repo, not pushed). It contains every original
|
||||
commit SHA, every original author identity, and the full ref graph as
|
||||
it existed before the rewrite. The bundle is the immutable
|
||||
preservation record and is recoverable forever.
|
||||
|
||||
A separate off-platform bundle backup of the pre-rewrite tree is also
|
||||
held by the operator (off-repo, not pushed). Both artifacts ensure the
|
||||
original history is recoverable forever.
|
||||
An `archive/pre-author-normalization-2026-05-13` tag briefly existed
|
||||
on origin pointing at the pre-rewrite tip but was removed when the
|
||||
operator opted to clean the contributor graph of pre-rewrite
|
||||
authorship signal. The bundle remains as the canonical archive — any
|
||||
forensic question about pre-rewrite state can be answered by loading
|
||||
the bundle into a fresh clone (`git clone pre-rewrite-2026-05-13.bundle`).
|
||||
|
||||
## Recovering after the rewrite
|
||||
|
||||
@@ -67,22 +69,18 @@ This force-aligns your local tree with the new origin. Any local
|
||||
branches you had based on pre-rewrite history will need rebasing onto
|
||||
the new master.
|
||||
|
||||
If you want to inspect the pre-rewrite state for any reason:
|
||||
|
||||
```bash
|
||||
git fetch origin archive/pre-author-normalization-2026-05-13
|
||||
git checkout archive/pre-author-normalization-2026-05-13
|
||||
```
|
||||
If you need to inspect the pre-rewrite state for a forensic or
|
||||
diligence question, contact the operator directly — the off-platform
|
||||
bundle is the canonical archive and is available on request.
|
||||
|
||||
## Container images and release tarballs
|
||||
|
||||
ghcr.io container images that were published before the rewrite
|
||||
(`ghcr.io/certctl-io/certctl-{server,agent}:<old-tag>`) remain pullable
|
||||
indefinitely. Their OCI source-SHA labels reference commit SHAs that
|
||||
now only resolve via the `archive/` tag — the images themselves still
|
||||
work; only the source-SHA back-reference points at the archive. New
|
||||
release images published after the rewrite reference current SHAs
|
||||
normally.
|
||||
no longer resolve in the public origin — the images themselves still
|
||||
work; only the source-SHA back-reference is now orphan. New release
|
||||
images published after the rewrite reference current SHAs normally.
|
||||
|
||||
If you downloaded a release tarball before the rewrite, the tarball's
|
||||
contents are unchanged; only its associated `git` SHA differs from the
|
||||
|
||||
Reference in New Issue
Block a user