chore: tracker-leak pre-push scanner needs CI-side backstop + wider coverage
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- git, github-actions, typescript
Research direction
Start with script/check-tracker-leaks.ts, then inspect .github/workflows/* and the .claude/rules/* hostnames it references. Compare the existing pre-push patterns with the proposed CI backstop and wider RULES coverage; done means the agreed checks run in CI and the documented scope matches the enforced patterns.
Written by the indexing model from the issue text.
Description
Found during v0.9.7 release review (CTO + Chaos Gremlin personas), and already self-disclosed in the originating commit (205a953d62 / PR #1085).
The pre-push tracker-leak scanner (script/check-tracker-leaks.ts) currently:
- Covers exactly two patterns: Jira key (
\bAI-\d+) and thealtimateai.atlassian.nethostname. - Has no CI-side mirror — the originating PR deferred this because the session's token lacked
workflowscope to add.github/workflows/*. - Is bypassable via
SKIP_TRACKER_CHECK=1or simply never installed (git config core.hooksPath .huskyis opt-in).
A contributor merging via the GitHub UI, the API, or without the hook installed gets zero enforcement today. The scanner's own docs ('public repo hardening') can read as more comprehensive than it is.
Suggested follow-up:
- Add a CI job mirroring the pre-push check (needs a workflow-scoped token).
- Widen
RULESto cover other internal-only hostnames referenced in this repo's own.claude/rules/*(e.g.onealtimate.com), not just the Atlassian one. - Consider whether customer/tenant name patterns or credential-shaped strings (AWS keys, connection strings) belong in scope, or should be a separate secret-scanning tool.
- Dominant language
- TypeScript
- Stars
- 813
- Forks
- 134
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 63
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from AltimateAI/altimate-code
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
AltimateAI/altimate-code#1359 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
AltimateAI/altimate-code#1323 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
AltimateAI/altimate-code#1288 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
AltimateAI/altimate-code#1285 ·
-
privacy: Altimate Base consent dialog no longer discloses persistent per-installation identifier Open
Difficulty 1/5 Under an hour Newbie friendliness 88/100
AltimateAI/altimate-code#1284 ·
All issues in AltimateAI/altimate-code
Similar issues
-
blocklist removal
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
MetaMask/eth-phishing-detect#296544 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
pastelsky/bundlephobia#1122 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
category/development priority/P2 scope/file-operations scope/testing type/enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100