2026-09-23·by Sijie Wang#node#standmeet#architecture

structure

支柱七·结构与纪律(地基)

上级:key-designs

其余六根支柱立足的地面。代码形态:Go 按领域打包(internal/<domain>/{entity,usecase,repo,db,ops,facade} —— 按层切的 domain → usecases → routes 上帝包已于 2026-07-27 拆解,见 backend-domain-modules),配合 sqlc(每个域自己的 db/)、单一权威的 schema.sql,迁移由后端启动时自己套用(bd45353f4,2026-08-31,backend/internal/infra/pgstore/migrate.go);Next.js 只是一层薄壳;apierr 提供统一的错误信封,日志与客户端分离;bwrap 沙箱不带网络;builder(microsite 的 vite runner,不用 docker.sock);PDF 经由 gotenberg + printsess 生成;测试分三块地:e2e Playwright、eval-harness、mock-stack 假上游。纪律层面:机械化护栏(边界 lint、check-no-mock)守住 α≈0 那一档;判断力审计(judgment audit)守住 lint 机械化不了的部分。

状态: 稳定。

包依赖关系(允许边与禁止边)

两条禁止边才是承重的那两条:eval-harness 和 mcp-servers 只能触碰公开接缝(agentcore、MCP 线路协议)——重新导出 internal/ 的类型也算一次依赖,同样禁止(agent-as-injectable-driver);check-no-mock 把测试夹具挡在 backend 之外。

子节点