Clean up external tooling references from public-facing docs

- Remove Co-Authored-By line from CONTRIBUTING.md example
- Remove workspace access line from onboarding.md
- Replace tooling reference with generic phrasing in operating-model.md
- Add .mailmap to map ceo@paperclip.ing to ceo@elfoundation.org
- Add CI check to prevent future references in author/committer fields
- Add commit-msg hook script (scripts/check-paperclip.sh)

This commit intentionally omits the standard agent co-author line to
avoid reintroducing a reference, per the issue's objective
to hide all traces of external tooling.
This commit is contained in:
CTO 2026-06-23 10:02:06 +02:00
parent 60e25bfc9d
commit 31cc6087c9
6 changed files with 38 additions and 4 deletions

View File

@ -50,3 +50,15 @@ jobs:
with:
globs: '**/*.md'
continue-on-error: true
check-paperclip:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Need full history for PR range
- name: Check for Paperclip references in commit messages
run: ./scripts/check-paperclip.sh
env:
GITHUB_EVENT_NAME: ${{ github.event_name }}
GITHUB_BASE_REF: ${{ github.base_ref }}

1
.mailmap Normal file
View File

@ -0,0 +1 @@
CEO <ceo@elfoundation.org> CEO <ceo@paperclip.ing>

View File

@ -38,8 +38,6 @@ Add rotating refresh tokens
Using a rotating refresh token strategy prevents replay attacks
and gives us a clean theft-detection signal. See ADR-0003.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
```
Bad:

View File

@ -24,7 +24,7 @@ We run a **advice-and-decide** model, not consensus.
## Work Ownership
- **One task = one owner = one branch.** No shared ownership. If a task is too big for one person, split it.
- **Tasks are issues in Paperclip.** Backlog → assigned → in progress → review → done.
- **Tasks are tracked in a structured workflow.** Backlog → assigned → in progress → review → done.
- **Context is durable.** Every task includes: objective, acceptance criteria, current blocker (if any), and next action. When an owner changes, the context transfers in writing.
## Review and Shipping

View File

@ -3,7 +3,6 @@
## Before Day 1
- [ ] Access to GitHub org granted
- [ ] Access to Paperclip workspace granted
- [ ] Added to project channels / async standup
## Day 1: Context

24
scripts/check-paperclip.sh Executable file
View File

@ -0,0 +1,24 @@
#!/usr/bin/env bash
# Check that no commit author/committer fields contain the word "paperclip" (case-insensitive).
# Used in CI to prevent accidental Paperclip references in git metadata.
set -euo pipefail
# Get commit range for the current PR (or latest commit on push)
if [[ "${GITHUB_EVENT_NAME:-}" == "pull_request" ]]; then
RANGE="origin/${GITHUB_BASE_REF}..HEAD"
else
RANGE="HEAD~1..HEAD"
fi
# Extract author and committer fields (name and email)
FIELDS=$(git log --format="an:%an ae:%ae cn:%cn ce:%ce" "$RANGE")
if echo "$FIELDS" | grep -i "paperclip"; then
echo "ERROR: Git author/committer field contains 'paperclip'. Please update git config."
echo "Matches:"
echo "$FIELDS" | grep -i "paperclip"
exit 1
fi
echo "OK: No Paperclip references found in author/committer fields."