6990709124
CI / ai-gates (push) Successful in 47s
patbond-ai 纳入发布语义(ADR-023 §12)。本仓是四仓中唯一直接持有 AI 服务商凭证的仓库,因此不得成为唯一没有防泄漏门禁的仓库——建仓即配齐, 不等代码落地。 - .gitea/workflows/ci.yml:ai-gates 作业,push(dev) + pull_request 双触发, 与另三仓同构。Secret scan 为第一个 step 且先于任何依赖安装。 pip 走腾讯云镜像(与 patbond-doc 装 mkdocs 同一策略)。 门禁命令 ruff format --check / ruff check / pytest,对应 flutter 仓的 dart format + analyze + test 三步。requirements*.txt 落地前只装工具本身, 使 CI 自建仓第一天即为绿;pytest 无测试时退出码 5 视为通过。 - scripts/check-secrets.sh:四仓同构副本,md5 640994c12bfa78b4512e872d709ed685。 已覆盖 AI 服务商密钥形态(sk-ant- / sk- / sk-proj- / sk-svcacct-)与 api_key/auth_token 实值赋值——本仓正是这些规则的主要适用对象。 - scripts/hooks/pre-commit:与另三仓同构。四仓 core.hooksPath 均已启用, ADR-023 §12 登记的「防泄漏第一层从未生效」至此闭环。 实测验证:含 5 种真实凭证形态的 .env 夹具被钩子拦下,提交未产生。 - .gitignore:Python 产物与工具缓存;凭证载体(.env / credentials* / *.pem / *.key)一律排除,占位样例走 .env.sample(对应脚本的 DENY_NAME_OK)。 - README.md:职责边界(不访问数据库、不持有对象存储凭证、对上游同步异步 一律对外呈现为异步)、与 Java 侧的接口约定(REST 非 gRPC、独立 openapi-internal.yaml、服务身份 JWT 独立密钥对、请求体不含 userId)、 本地门禁命令与凭证纪律。细节以 ADR-023 为准。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
58 lines
722 B
Plaintext
58 lines
722 B
Plaintext
# Python
|
||
__pycache__/
|
||
*.py[cod]
|
||
*$py.class
|
||
*.so
|
||
.Python
|
||
build/
|
||
develop-eggs/
|
||
dist/
|
||
downloads/
|
||
eggs/
|
||
.eggs/
|
||
lib64/
|
||
parts/
|
||
sdist/
|
||
var/
|
||
wheels/
|
||
*.egg-info/
|
||
.installed.cfg
|
||
*.egg
|
||
|
||
# Keep application sources visible even if a global gitignore ignores lib/.
|
||
!/lib/
|
||
!/lib/**
|
||
|
||
# Virtualenvs
|
||
.venv/
|
||
venv/
|
||
env/
|
||
ENV/
|
||
|
||
# Tooling caches
|
||
.pytest_cache/
|
||
.ruff_cache/
|
||
.mypy_cache/
|
||
.coverage
|
||
.coverage.*
|
||
htmlcov/
|
||
coverage.xml
|
||
|
||
# 凭证载体一律不入库(ADR-021)。真实值只存在于被忽略的文件中,
|
||
# 占位样例走 .env.sample / *.example(check-secrets.sh 的 DENY_NAME_OK)。
|
||
.env
|
||
.env.*
|
||
!.env.sample
|
||
!.env.example
|
||
credentials*
|
||
*.pem
|
||
*.key
|
||
|
||
# 本地产物与临时文件
|
||
*.log
|
||
*.swp
|
||
.DS_Store
|
||
tmp/
|
||
.idea/
|
||
.vscode/
|