28 Commits

Author SHA1 Message Date
Your Name
a332917142 fix: harden auth flows and align api contracts 2026-05-30 21:29:24 +08:00
Your Name
01b80a9358 docs: add review fix closure report for 2026-05-29
- Document completion of all P0 blocker fixes from HERMES_FULL_REVIEW_2026-05-27
- Document completion of all P1 important issues
- Record TOTP atomic verification path implementation
- Update readiness rating from D to B (conditional ready)

Refs: review-fix-closure-2026-05-28, HERMES_FULL_REVIEW_2026-05-27
2026-05-29 13:41:55 +08:00
Your Name
f33e39a702 docs: add review report and closure evidence 2026-05-28 15:18:49 +08:00
509c5ca2fd docs: 更新项目状态文档,记录 P0/P1/P2 修复完成状态
- 更新 REAL_PROJECT_STATUS.md 添加 2026-04-18 验证快照
- 添加 P0/P1/P2 修复完成状态表
- 更新 FULL_CODE_REVIEW_REPORT_2026-04-17.md 添加修复完成附录
- 记录 API 变更历史和验证结果
2026-04-18 21:23:55 +08:00
b6f330fe7d docs: add 2026-04-18 optimization baseline to governance documents
- Add optimization baseline appendix to QUALITY_STANDARD.md defining
  current baseline gates for all future optimization work
- Update REAL_PROJECT_STATUS.md with latest project status
- Add experience summary to PROJECT_EXPERIENCE_SUMMARY.md
- Add technical guide updates to TECHNICAL_GUIDE.md
- Add FULL_CODE_REVIEW_REPORT_2026-04-17.md as reference document
2026-04-18 12:24:36 +08:00
0d66aa0423 docs: add systematic test optimization review 2026-04-12 17:20:49 +08:00
e77f3a6391 docs: add expert invitation for test, performance, and UI optimization 2026-04-12 17:13:19 +08:00
09beb173cc feat: complete production readiness improvements
- Fix DIP violations in service layer (device, stats, auth middleware)
- Add ReplaceUserRoles interface method for transaction safety
- Implement Magic Bytes validation for avatar uploads
- Standardize OAuth error handling with ErrOAuthProviderNotSupported
- Use crypto/rand for JWT secret generation instead of weak fixed key
- Apply code formatting with gofumpt and goimports
- Fix staticcheck issues (S1024, S1008, ST1005)
- Add comprehensive quality and functional test reports
- Achieve 36.3% test coverage (up from 16.3%)
- All E2E, integration, and business logic tests passing
2026-04-12 16:15:32 +08:00
861736cf4d fix: exclude test files from tsconfig.app.json to resolve TS2304 build error
P0 F-01: Frontend build was failing with "Cannot find name 'beforeEach'"
because test files were being compiled by tsconfig.app.json which lacked
vitest globals. Added exclude patterns to tsconfig.app.json.

Updated PROJECT_REAL_COMPLETION_REVIEW_2026-04-10.md to reflect fix.
2026-04-11 23:45:43 +08:00
779b432f52 docs: update completion review with false completion prevention status 2026-04-11 23:39:17 +08:00
47b7205916 chore: update .gitignore and add review document
- Add SQLite temp files (sub2api*) to .gitignore
- Add .codex-tmp/ to .gitignore
- Add .workbuddy memory files to .gitignore
- Add frontend/admin/coverage/ to .gitignore
- Add SENIOR_DEV_REVIEW_2026-04-10.md review document
2026-04-11 23:02:13 +08:00
2824855be6 docs: update completion review with runbooks and K8s status 2026-04-11 22:58:11 +08:00
289aab2930 test: add repository tests to improve coverage from 46.6% to 74%
New test files:
- custom_field_repository_test.go: 10 tests for CustomFieldRepository & UserCustomFieldValueRepository
- login_log_repository_test.go: 3 tests for ListCursor, ListByUserIDCursor, ListAllForExport
- operation_log_repository_test.go: 1 test for ListCursor
- role_repository_test.go: 2 tests for GetAncestorIDs, GetAncestors
- social_account_repository_test.go: 8 CRUD tests
- theme_repository_test.go: 10 tests for ThemeConfigRepository
- user_role_repository_test.go: 1 test for DeleteByUserAndRole

Modified test files:
- device_repository_test.go: Added ListAllCursor tests
- user_repository_test.go: Added AdvancedSearch tests
- webhook_repository_test.go: Added ListByCreatorPaginated test

Updated documentation with new coverage status.
2026-04-11 21:58:28 +08:00
b1311ea144 docs: update completion review with Swagger and test coverage progress
- Added Swagger annotations summary (86 annotations, 13 handlers)
- Added Device Repository tests summary (15 test cases)
- Coverage: 46.6% -> 49.0% (+2.4%)

From PRODUCTION_GAP_ANALYSIS_2026-04-08:
- P2: Swagger annotations - substantially addressed
- P1: Repository coverage - improved from 46.6% to 49.0%
2026-04-11 21:33:45 +08:00
fd1161b867 docs: update completion review - all P2 handler format issues resolved
Mark all P2 handler response format unification as complete.
Update honest assessment to "可声称完全闭环: 是".
2026-04-11 13:38:23 +08:00
7c3b824b1a docs: update completion review to reflect P2 handler unification progress
- Mark P1 Service 层 DIP as fully resolved
- Note P2 handler format work is partially complete (13/16 handlers fixed)
- Remaining handlers to fix: device_handler.go, avatar_handler.go, auth_handler.go
2026-04-11 13:23:40 +08:00
e239e95a84 docs: update completion review to reflect DIP fix
- Mark P1 Service 层 DIP 违规 as  已修复
- Update honest assessment section to reflect current status
- Note remaining P2 issue: Handler response format unification
2026-04-11 12:55:22 +08:00
95a6afb574 docs: update completion review to reflect all fixes from SENIOR_DEV_REVIEW audit
- Mark AssignRoles transaction, N+1 queries, .gitattributes as fixed
- Update honest closure assessment
- Add remaining items: Service DIP refactor (P1), Handler response format (P2)
2026-04-11 10:36:00 +08:00
8c1cf54213 fix: resolve P0 stub/false-positive issues found in SENIOR_DEV_REVIEW audit
- Remove dead stub UploadAvatar in user_handler.go (real impl in avatar_handler.go)
- Fix GetAuthCapabilities to call service (was returning hardcoded static JSON, missing admin_bootstrap_required)
- Replace AdminRoleID=1 hardcoded constant with getAdminRoleID(ctx) dynamic lookup by code="admin"
- Fix double Argon2id hash computation in ChangePassword (hash once, reuse)
- Add PredefinedRoles seed to newIsolatedDB test infrastructure (fixes broken ADMIN_* tests)
2026-04-11 10:27:29 +08:00
713ca29419 docs: update 2026-04-10 completion review with new quality standards
Apply standards from QUALITY_STANDARD.md, PRODUCTION_CHECKLIST.md,
TECHNICAL_GUIDE.md, and PROJECT_EXPERIENCE_SUMMARY.md:

- Document TDD fixes completed (role/admin/avatar APIs, lint, SLA)
- Identify gaps per new standards (privilege failure tests, jsdom noise,
  main entry not re-verified)
- Add "live不等于闭环" lessons learned
- Update honest assessment to reflect new quality bar
2026-04-10 09:34:51 +08:00
dbff591039 fix: update admin flows and review report 2026-04-10 08:09:48 +08:00
f1bbba48c3 docs: update status and completion review 2026-04-09 23:59:47 +08:00
a3e090e821 test: add service layer unit tests for webhook/metadata/error/config
- webhook_service_test.go: isPrivateIP, isSafeURL, computeHMAC
- request_metadata_test.go: context functions
- classified_error_test.go: error types
- config_defaults_test.go: password reset/SMS defaults
- email_config_test.go: email code defaults
- auth_runtime_test.go: isUserNotFoundError

Service coverage: 11.2% -> 14.7%
2026-04-09 15:30:26 +08:00
a85d822419 fix: 统一API响应格式并修复前端测试
- 所有Handler方法使用标准{code:0,message:"success",data:...}响应格式
- 修复Cursor分页响应包装(GetAllDevices,GetLoginLogs,ListUsers等)
- 修复AuthHandler和SMSHandler认证方法响应格式
- 修复operation_log.go admin用户operation_type前缀问题
- 修复DashboardPage嵌套stats结构
- 修复LoginLogsPage reset功能stale closure问题
- 修复UsersPage批量操作API调用
- 修复多个前端测试(mock格式、按钮选择、断言逻辑)
- 添加OAuth测试域名白名单
- 新增代码审查流程文档
2026-04-08 20:06:54 +08:00
5b6bd93179 refactor: 整理项目根目录结构
整理内容:
- 删除 60+ 临时测试输出文件 (*.txt)
- 移动二进制文件到 bin/ 目录
- 移动 Shell 脚本到 scripts/ 目录
  - scripts/dev/: check_gitea.sh, check_sub2api.sh, run_tests.sh
  - scripts/deploy/: deploy_*.sh, simple_deploy.sh
  - scripts/ops/: fix_nginx.sh, fix_ssl.sh, install_docker.sh
  - scripts/test/: test_*.sh, test_*.bat
- 移动批处理文件到 scripts/
- 移动 Python 脚本到 tools/
- 清理临时日志文件

保留根目录必要文件:
- go.mod, go.sum, go.work
- Makefile, docker-compose.yml
- .env.example, .gitignore
- README.md, AGENTS.md, DEPLOY_GUIDE.md

验证: go build ./... && go test ./... 通过
2026-04-07 18:10:36 +08:00
10d126ee12 docs: 添加系统性优化方案 (P1-P2) 2026-04-03 21:08:18 +08:00
44e60be918 docs: 添加项目全面审查报告(合并版) 2026-04-02 13:59:27 +08:00
bbeeb63dfa docs: project docs, scripts, deployment configs, and evidence 2026-04-02 11:22:17 +08:00