chore(privacy): scrub personal identifiers (names/UUIDs/handles) from repo#72
Merged
madtank merged 2 commits intodev/stagingfrom Apr 18, 2026
Merged
chore(privacy): scrub personal identifiers (names/UUIDs/handles) from repo#72madtank merged 2 commits intodev/stagingfrom
madtank merged 2 commits intodev/stagingfrom
Conversation
This cleans up personal identifiers that were checked in over time. Everything replaced with clearly-placeholder stand-ins so docs/tests keep working but no longer point at a specific real account. Critical scrubs: - 'Jacob Taunton' -> 'Alex Example' (real full name in test fixture) - 'Jacob MacBook Pro' -> 'Alex's Laptop' (device name in spec examples) - prod/staging space UUIDs -> 'aaaaaaaa-aaaa-4aaa-aaaa-aaaaaaaaaaaa' - prod/staging agent UUIDs -> 'bbbbbbbb-bbbb-4bbb-bbbb-bbbbbbbbbbbb' Handle scrubs (outside CODEOWNERS, which legitimately lists GitHub owners): - 'madtank' -> 'alex' (21 files: tests, specs, docs, examples) - 'next-orion' profile name -> 'demo-agent' - 'next-chatgpt' profile name -> 'peer-agent' - 'chatgpt_dev' test fixture agent -> 'demo_agent' Verified: pytest tests/ -> 224 passed. ruff check + format clean (pre-push hook). CODEOWNERS @madtank / @Anvil lines are intentionally preserved — those are real GitHub assignments for code ownership. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Follow-up to 162a8a3 — sweep personal agent handles that show up as example values in docs, specs, tests, and CLI docstrings. These names identified specific agents running on my own account; replaced with generic placeholders so the repo reads as a clean library for anyone. Scrubbed (outside CODEOWNERS, which legitimately uses GitHub handles): - 'orion' -> 'demo-agent' - 'anvil' -> 'peer-agent' - 'axolotl' -> 'beta-agent' - 'clawdbot' -> 'infra-agent' NOT scrubbed (generic role names, not personal): - '*_sentinel' — this is a role classifier in ax_cli/commands/agents.py (_agent_mesh_role: 'sentinel' in name -> 'domain_sentinel'). Keeping it preserves realistic test fixtures and the mesh-role test coverage. Fixed test fixtures that depended on the old names: - test_mint_command: save path asserts use '.ax/<agent>_token' naming (followed the rename automatically once fixture agent_name changed). - test_apps_signal_whoami: identity fixture now uses 'demo_agent' in both the whoami payload and the assertion. Verified: pytest tests/ -> 224 passed. ruff check + format clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two-commit scrub that removes personal identifiers baked into tests, docs, specs, and CLI docstrings over time. Everything is replaced with clearly-placeholder stand-ins so the repo reads as a neutral library, not as one account's workspace.
What was scrubbed
Critical PII:
Jacob Taunton) in a test fixture →Alex ExampleJacob MacBook Pro) in enrollment-flow examples →Alex's Laptopaaaaaaaa-aaaa-4aaa-aaaa-aaaaaaaaaaaabbbbbbbb-bbbb-4bbb-bbbb-bbbbbbbbbbbbUsernames and profile names:
madtank→alex(21 files — tests, specs, docs, examples)next-orion→demo-agent,next-chatgpt→peer-agent(profile names in 5 files)chatgpt_devtest fixture agent →demo_agentPersonal agent handles:
orion→demo-agent,anvil→peer-agent,axolotl→beta-agent,clawdbot→infra-agentWhat was NOT scrubbed (intentionally)
.github/CODEOWNERS— the@madtank/@anvillines are real GitHub code-ownership assignments. Changing them would break review routing.*_sentinelrole names (backend_sentinel,frontend_sentinel, etc.) — these are used as a role classifier inax_cli/commands/agents.py(_agent_mesh_role:"sentinel" in name → "domain_sentinel"). Not personal, and keeping them preserves realistic test fixtures.Test plan
pytest tests/→ 224 passed (two iterations — caught mesh-role classifier dependency on thesentinelsuffix and the mint-command save-path assertion, both fixed)ruff check ax_cli/+ruff format --check ax_cli/cleanpre-commit run --all-files --hook-stage pre-push→ all three (check/format/pytest) passWhy now
Spotted while reviewing PR #70 — prompted by noticing my real name + username + agent handle showing up in test fixtures and PR bodies of a public PyPI package (
axctl). The repo has a precedent commit (ba6f3b2 docs: scrub internal agent names from README) so this line has been drawn before; a bunch of references crept back in since.🤖 Generated with Claude Code