docs: update current document status
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s

This commit is contained in:
2026-09-04 20:36:49 +08:00
parent d21c01a697
commit 93f4bc69b3
11 changed files with 227 additions and 140 deletions
+35 -1
View File
@@ -44,6 +44,7 @@ required_docs=(
"docs/reports/CURRENT_GAPS.md"
"docs/reports/GO_STATUS.md"
"docs/reports/BAT_API_CONTRACT_FIXTURE_HANDOFF.md"
"docs/reports/historical/PARSER_FREEZE.md"
"api/openapi/bat-api.yaml"
"internal/api/openapi.go"
"internal/api/testdata/contract/README.md"
@@ -56,7 +57,7 @@ done
[[ ! -e "Agents.md" ]] || fail "stale agent document path exists: Agents.md"
[[ ! -e "CHECK.md" ]] || fail "obsolete CHECK.md still exists"
[[ ! -e "docs/reports/PARSER_FREEZE.md" ]] ||
fail "obsolete parser freeze document still exists"
fail "active parser freeze document still exists"
go_version="$(sed -n 's/^go[[:space:]]\{1,\}//p' go.mod | head -n 1)"
[[ -n "${go_version}" ]] || fail "go.mod is missing a Go version"
@@ -68,6 +69,22 @@ require_contains "DOCS_INDEX.md" "## 7. 历史归档"
require_contains "DOCS_INDEX.md" "docs/reports/historical/"
require_contains "docs/architecture/README.md" "目标设计"
require_contains "docs/architecture/README.md" "实际实现状态以源码、测试和根目录 \`CURRENT_STATUS.md\` 为准;\`PROJECT_PLAN.md\` 只描述目标和路线图"
require_contains "docs/architecture/README.md" "确定性 Binary hunk diff/apply"
if grep -Fq "bsdiff" docs/architecture/README.md; then
fail "docs/architecture/README.md still describes Binary Patch as bsdiff"
fi
require_contains "docs/architecture/README.md" "Rust \`bat\` 的 mock provider worker"
require_contains "docs/architecture/README.md" "**目标 Provider**"
require_contains "docs/architecture/README.md" "DeepL Provider"
require_contains "README.md" "mock/Crowdin provider worker"
require_contains "README.md" "Translation Memory、Glossary 和完整 Provider 扩展体系"
require_contains "PROJECT_PLAN.md" "正式 Rust \`bat\` CLI 和命令体系;Go 侧面向 \`bat-api\`、SDK 和服务集成发展"
if grep -Fq "Go CLI 主入口和命令体系" PROJECT_PLAN.md; then
fail "PROJECT_PLAN.md still presents Go CLI as the primary CLI"
fi
require_contains "docs/reports/historical/PARSER_FREEZE.md" "**状态**:历史记录,已解除"
require_contains "docs/reports/historical/PARSER_FREEZE.md" "**生效时间**2026-07-30"
require_contains "docs/reports/historical/PARSER_FREEZE.md" "**解除时间**2026-09-04"
require_contains "docs/architecture/adr/0004-rust-bat-go-bat-api-resource-boundary.md" 'Rust `bat` 是官方资源生产者和状态拥有者'
require_contains "docs/architecture/adr/0001-engine-and-application-boundaries.md" "资源同步职责已由 ADR 0004 取代"
@@ -102,6 +119,23 @@ require_contains "CURRENT_STATUS.md" "不提供官方账号登录、游戏网关
if grep -Fq "响应只来自已发布 snapshot/RPC,不提供登录、网关、鉴权" CURRENT_STATUS.md; then
fail "CURRENT_STATUS.md contradicts its documented bat-api token authentication"
fi
if grep -Fq "ufw allow 5432/tcp" docs/guides/deployment.md ||
grep -Fq "ufw allow 6379/tcp" docs/guides/deployment.md; then
fail "deployment guide recommends opening database ports"
fi
require_contains "docs/guides/deployment.md" "PostgreSQL 和 Redis 不是当前 \`bat\` / \`bat-api\` 的生产运行依赖"
require_contains "docs/guides/deployment.md" "私网、VPN 或 SSH tunnel"
require_contains "docs/guides/deployment.md" "尤其不得把 Redis 公网暴露作为推荐方案"
require_contains "deployments/docker-compose.remote-db.yml" '"127.0.0.1:5432:5432"'
require_contains "deployments/docker-compose.remote-db.yml" '"127.0.0.1:6379:6379"'
require_contains "deployments/docker-compose.dev.yml" '"127.0.0.1:5432:5432"'
require_contains "deployments/docker-compose.dev.yml" '"127.0.0.1:6379:6379"'
if grep -Fq '"0.0.0.0:5432:5432"' deployments/docker-compose.remote-db.yml ||
grep -Fq '"0.0.0.0:6379:6379"' deployments/docker-compose.remote-db.yml ||
grep -Fq '"0.0.0.0:5432:5432"' deployments/docker-compose.dev.yml ||
grep -Fq '"0.0.0.0:6379:6379"' deployments/docker-compose.dev.yml; then
fail "database compose files still publish ports on all interfaces"
fi
require_contains "docs/reports/CURRENT_GAPS.md" "不是完整官方游戏 API"
require_contains "docs/reports/CURRENT_GAPS.md" "daemon.clean-stable"
require_contains "docs/reference/rpc-backend-api.md" "daemon.restart"