2026山东大学项目实训5月19日

2026山东大学项目实训5月19日 一、项目背景在前面一系列工作完成之后CodeGuard AI 的主链路已经逐步稳定下来包括 GitHub 接入、审查任务流转、规则与技能配置、团队权限治理以及基础回归测试。到了这一阶段工作重点开始从功能能不能跑进一步转向功能改动后会不会影响原有链路。这一阶段要解决的几个问题包括统计接口输出是否正确、不同用户之间的数据作用域是否真正隔离、项目能否通过统一流水线做自动检查、安全改造是否会影响老流程、迁移策略切换后系统还能不能稳定运行。二、统计接口正确性与权限隔离验证这一阶段我首先补的是统计相关测试。因为随着系统的数据量和审查任务增多统计接口开始变得越来越重要尤其是仓库过滤、趋势输出、CSV 导出这些能力一旦输出不准确就会直接影响后台展示和后续分析。我新增了test_analytics.py主要验证三类场景。第一类是仓库过滤是否正确。统计接口在不同仓库范围下返回的数据必须和当前筛选条件一致不能出现跨仓库混入的问题。第二类是趋势输出是否稳定。系统在返回趋势数据时需要保证统计口径一致。第三类是 CSV 导出是否可用。导出能力虽然看起来是辅助功能但它直接影响数据可迁移性和结果复用所以也需要纳入回归测试。除了统计正确性还需要关注权限隔离问题。因为系统已经逐渐支持多用户、多角色和团队治理统计接口不能只看有没有数据还要确认谁能看到哪些数据。所以我补了不同登录用户下的作用域隔离验证确保用户只能看到自己权限范围内的数据而不会误看到其他团队或其他仓库的统计结果。这一部分完成后统计接口功能模块得到了进一步完善。三、CI 与提交前统一检查在基础测试补强之后继续推进的是工程化部分也就是把后端测试、前端单测和前端构建统一纳入自动检查流程。这一阶段新增了 GitHub Actions CI自动执行后端pytest、前端vitest和前端构建。这样做的好处是只要有人提交代码系统就会自动跑完整检查不需要再依赖人工记忆也不需要每次都靠本地环境去确认。除了云端流水线我还补充了scripts/run_all_checks.ps1方便本地一条命令跑完整检查。这个脚本的意义是把原本分散的验证动作统一起来。这一阶段做完之后新增功能能不能合入、当前改动有没有破坏旧功能就不再靠口头判断而是靠统一的自动检查来决定。四、安全改动可验证且不影响原有链路在工程化检查之外这一阶段还有一类工作就是安全相关改动的回归验证。补充了和安全相关的一组测试重点覆盖以下几个场景token 加密落库是否正确明文迁移是否可用服务器模式下的安全校验是否生效本地模式下的告警是否只提示、不阻断安全改动后 webhook、审查任务、评论流程、前端页面行为是否仍然稳定安全能力和可用性不能互相冲突。比如服务器模式下需要更严格的校验但本地模式下如果为了安全提示直接阻断开发流程就会影响日常联调和演示。所以在设计测试时区分了“安全模式必须拦截”和“本地模式只提示不阻断”这两种行为。通过这一轮补充安全改动不再只是配置层面写上去了而是能够通过测试验证它是否真实生效并确认它没有破坏既有链路。五、迁移策略新增但主链路不回归在进一步的治理改造中还补了迁移策略相关测试。因为随着表结构和运行策略不断扩展系统开始出现 legacy 和 alembic 两条可能的路径如果这两条路径没有测试就很容易在数据库迁移时出现不一致。这部分我新增了test_v12_schema_strategy.py主要有两种任务。第一是 legacy 和 alembic 分支是否都能被正确识别。第二是非法策略是否会被拦截避免错误配置导致数据库结构进入不一致状态。同时我也补了服务器模式下的迁移策略安全校验确保策略切换不会对生产行为造成隐患。这类测试的意义在于验证新策略加上去之后老链路有没有被破坏。六、本阶段完成的任务这一阶段主要补齐了以下内容新增test_analytics.py验证仓库过滤、趋势输出、CSV 导出验证不同登录用户下的统计作用域隔离引入 GitHub Actions CI自动执行后端pytest、前端vitest和前端构建编写scripts/run_all_checks.ps1支持本地一键检查补充 token 加密落库、明文迁移、安全校验、本地模式告警等测试用例执行全量回归确认 webhook、审查任务、评论流程和前端页面行为保持稳定新增test_v12_schema_strategy.py验证 legacy/alembic 分支和非法策略拦截补充服务器模式迁移策略安全校验确认迁移策略改造没有破坏已有业务行为这些工作都偏测试和基础设施作用上是在给整个项目上保险。因为一个审查平台如果没有足够稳定的测试和回归验证后面每加一个功能都可能引入新的隐性问题。七、小结这一阶段我主要完成的事情可以概括成把统计接口、权限隔离、CI 工程化、安全改造和迁移策略验证整合成了一套可回归、可验证的稳定性补强流程。这一阶段做的就是让这些能力在改动后仍然保持稳定保证系统能够实现长期演进。