Skip to content

chore(check): allow Python at the edges instead of banning it - #230

Open
yxflc11 wants to merge 1 commit into
mainfrom
codex/claude-allow-python
Open

yxflc11 wants to merge 1 commit into
mainfrom
codex/claude-allow-python

Conversation

@yxflc11

@yxflc11 yxflc11 commented Oct 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

The owner relaxed #227's outright Python ban: a small amount of Python is fine where it helps. Rule 8 of the hygiene guards now allows Python at the edges and keeps two protections.

  • Allowed: an SDK for Python users, document or sandbox tooling, small scripts, with their requirements*.txt or pyproject.toml. DeepSeek's dsh harness, which is 96% TypeScript, uses Python only in these places.
  • Refused: a .py file under the product, meaning apps/server, apps/web, apps/desktop, apps/node, or packages/protocol, domain, db and work. ADR-0050 made the product one language; splitting it again is what made the repository incoherent.
  • Refused: a .py file that nothing runs. Its name, or for a test_*.py its folder, must appear in CI, a package.json, a script or other code. Evidence JSON that only records hashes does not count. This is what let 25,600 lines of dead Python linger after P5.

The research record's rule 8 is updated.

Checks

  • node --test scripts/check-hygiene.test.ts: 11 pass. The new test accepts a run script with its tests and requirements file, refuses an unrun script, and refuses Python under apps/server even when something runs it.
  • npm run docs:check: passed (298 Markdown files; hygiene guards passed).
  • tsc -p scripts: passed.

🤖 Generated with Claude Code

The owner relaxed the outright ban. Python may again be used for SDKs, tooling and small scripts, as in DeepSeek's dsh harness, but never in the product (Server, Web, Desktop, Node and their shared packages, ADR-0050). Every .py file must still be run by CI, package.json, scripts or other code, so dead Python cannot pile up again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant