test: 记录生产验收并验证 Sync 测试部署

This commit is contained in:
2026-09-08 12:51:23 +08:00
parent 4c79e940d2
commit 8d9333d8b0
5 changed files with 459 additions and 3 deletions
@@ -0,0 +1,374 @@
{
"baseline": "e064f46",
"deployment_patch": "server sync/Dockerfile: use opennexus instead of reserved sync system user",
"overall": "NOT_PASSED",
"full_cases_passed": 0,
"full_cases_total": 30,
"checks": [
{
"name": "backend",
"command": [
"uv",
"run",
"--directory",
"backend",
"pytest",
"-q",
"--junitxml=G:\\OSProject\\NotesAgent-phase3\\.build\\acceptance\\e064f46\\backend.xml"
],
"exit_code": 0,
"seconds": 295.9,
"finished_utc": "2026-09-08T04:38:12.067022+00:00"
},
{
"name": "packaged-core",
"command": [
"uv",
"run",
"--directory",
"backend",
"pytest",
"-q",
"tests/test_sidecar_auth.py",
"--junitxml=G:\\OSProject\\NotesAgent-phase3\\.build\\acceptance\\e064f46\\packaged-core.xml"
],
"exit_code": 0,
"seconds": 7.264,
"finished_utc": "2026-09-08T04:38:19.340103+00:00"
},
{
"name": "frontend",
"command": [
"pnpm",
"--dir",
"frontend",
"exec",
"vitest",
"run",
"--reporter=default",
"--reporter=junit",
"--outputFile.junit=G:\\OSProject\\NotesAgent-phase3\\.build\\acceptance\\e064f46\\frontend.xml"
],
"exit_code": 1,
"seconds": 69.319,
"finished_utc": "2026-09-08T04:34:25.531377+00:00"
},
{
"name": "types",
"command": [
"pnpm",
"--dir",
"frontend",
"type-check"
],
"exit_code": 0,
"seconds": 33.504,
"finished_utc": "2026-09-08T04:34:59.212101+00:00"
},
{
"name": "build",
"command": [
"pnpm",
"--dir",
"frontend",
"build"
],
"exit_code": 0,
"seconds": 148.893,
"finished_utc": "2026-09-08T04:37:28.169120+00:00"
},
{
"name": "rust-fmt",
"command": [
"cargo",
"fmt",
"--manifest-path",
"frontend/src-tauri/Cargo.toml",
"--check"
],
"exit_code": 0,
"seconds": 0.604,
"finished_utc": "2026-09-08T04:33:16.807564+00:00"
},
{
"name": "rust-tests",
"command": [
"cargo",
"test",
"--manifest-path",
"frontend/src-tauri/Cargo.toml",
"--features",
"desktop",
"--all-targets",
"--locked"
],
"exit_code": 0,
"seconds": 346.627,
"finished_utc": "2026-09-08T04:39:03.456525+00:00"
},
{
"name": "rust-clippy",
"command": [
"cargo",
"clippy",
"--manifest-path",
"frontend/src-tauri/Cargo.toml",
"--features",
"desktop",
"--all-targets",
"--locked",
"--",
"-D",
"warnings"
],
"exit_code": 0,
"seconds": 2.395,
"finished_utc": "2026-09-08T04:39:05.874012+00:00"
},
{
"name": "sync",
"command": [
"uv",
"run",
"--directory",
"server sync",
"pytest",
"-q",
"--junitxml=G:\\OSProject\\NotesAgent-phase3\\.build\\acceptance\\e064f46\\sync.xml"
],
"exit_code": 0,
"seconds": 35.96,
"finished_utc": "2026-09-08T04:33:52.124616+00:00"
},
{
"name": "community",
"command": [
"uv",
"run",
"--directory",
"community-server",
"pytest",
"-q",
"--junitxml=G:\\OSProject\\NotesAgent-phase3\\.build\\acceptance\\e064f46\\community.xml"
],
"exit_code": 0,
"seconds": 16.786,
"finished_utc": "2026-09-08T04:34:08.920635+00:00"
},
{
"name": "smoke",
"command": [
"G:\\OSProject\\NotesAgent-phase3\\backend\\.venv\\Scripts\\python.exe",
"scripts/phase3-isolated-smoke.py"
],
"exit_code": 0,
"seconds": 10.452,
"finished_utc": "2026-09-08T04:34:19.377480+00:00"
},
{
"name": "docs",
"command": [
"python",
"scripts/check-doc-links.py"
],
"exit_code": 0,
"seconds": 32.323,
"finished_utc": "2026-09-08T04:34:51.736262+00:00"
},
{
"name": "diff",
"command": [
"git",
"diff",
"--check",
"--",
".",
":(exclude)backend/data/vault"
],
"exit_code": 0,
"seconds": 0.721,
"finished_utc": "2026-09-08T04:34:52.492509+00:00"
}
],
"frontend_retry": {
"tests": 498,
"failed": 0,
"max_workers": 2,
"first_run_failure_retained": true
},
"cases": [
{
"id": "A-01",
"status": "partial",
"reason": "打包Core运行与完整性库测试通过;缺签名安装包、干净VM、20次冷启动和更新证据"
},
{
"id": "A-02",
"status": "partial",
"reason": "鉴权和真实Core测试通过;未完成全部路由各100次负向与秘密扫描矩阵"
},
{
"id": "A-03",
"status": "failed",
"reason": "专项复现普通桌面请求忽略已取消信号及自定义超时;缺提交确认"
},
{
"id": "A-04",
"status": "partial",
"reason": "进程关闭与代际隔离有证据;缺6次崩溃/子孙进程与更新中断矩阵"
},
{
"id": "B-01",
"status": "partial",
"reason": "域检查与真实管道凭据写入通过;缺完整四域/三秘密及泄漏扫描矩阵"
},
{
"id": "B-02",
"status": "partial",
"reason": "100条Fernet迁移和冲突测试通过;缺完整环境钥匙/坏token/空库/断点矩阵"
},
{
"id": "B-03",
"status": "not_implemented",
"reason": "手动锁定和改密有测试;OS锁屏联动与备份恢复未完成"
},
{
"id": "B-04",
"status": "failed",
"reason": "复现两个已解锁Broker先后写入导致先提交凭据丢失;缺完整迁移故障注入和清除链路"
},
{
"id": "C-01",
"status": "not_implemented",
"reason": "生产OS沙箱未实现,禁止启动不是正向隔离验收"
},
{
"id": "C-02",
"status": "not_implemented",
"reason": "生产OS沙箱未实现,禁止启动不是正向隔离验收"
},
{
"id": "C-03",
"status": "not_implemented",
"reason": "生产OS沙箱未实现,禁止启动不是正向隔离验收"
},
{
"id": "C-04",
"status": "not_implemented",
"reason": "生产OS沙箱未实现,禁止启动不是正向隔离验收"
},
{
"id": "D-01",
"status": "not_implemented",
"reason": "Rust扩展管理全生命周期未实现"
},
{
"id": "D-02",
"status": "not_implemented",
"reason": "Rust扩展管理全生命周期未实现"
},
{
"id": "D-03",
"status": "not_implemented",
"reason": "Rust扩展管理全生命周期未实现"
},
{
"id": "D-04",
"status": "not_implemented",
"reason": "Rust扩展管理全生命周期未实现"
},
{
"id": "E-01",
"status": "blocked",
"reason": "缺完整桌面链路、签名RC和双实机端到端证据"
},
{
"id": "E-02",
"status": "blocked",
"reason": "缺完整桌面链路、签名RC和双实机端到端证据"
},
{
"id": "E-03",
"status": "blocked",
"reason": "缺完整桌面链路、签名RC和双实机端到端证据"
},
{
"id": "E-04",
"status": "blocked",
"reason": "缺完整桌面链路、签名RC和双实机端到端证据"
},
{
"id": "E-05",
"status": "blocked",
"reason": "缺完整桌面链路、签名RC和双实机端到端证据"
},
{
"id": "S-01",
"status": "not_implemented",
"reason": "完整Rust同步客户端、冲突和分类链路未实现"
},
{
"id": "S-02",
"status": "not_implemented",
"reason": "完整Rust同步客户端、冲突和分类链路未实现"
},
{
"id": "S-03",
"status": "not_implemented",
"reason": "完整Rust同步客户端、冲突和分类链路未实现"
},
{
"id": "S-04",
"status": "partial",
"reason": "真实PostgreSQL/MinIO双worker100竞争1成功99冲突、重复100次不增加revision;分页和全部故障矩阵未完成"
},
{
"id": "S-05",
"status": "partial",
"reason": "100MiB对象与重复complete100次通过;缺两worker offset/清理竞争各100轮矩阵"
},
{
"id": "S-06",
"status": "partial",
"reason": "真实服务未认证100次拒绝及撤销后下一请求拒绝通过;完整跨账号/过期/故障矩阵未完成"
},
{
"id": "S-07",
"status": "not_implemented",
"reason": "测试实例已部署;一致备份/全新实例恢复/RPO/RTO未实现或未验证"
},
{
"id": "S-08",
"status": "not_implemented",
"reason": "完整Rust同步客户端、冲突和分类链路未实现"
},
{
"id": "S-09",
"status": "not_run",
"reason": "未运行30分钟10客户端负载和4并发100MiB峰值测量;单次100MiB结果不可替代"
}
],
"test_service": {
"url": "http://yui.kronecker.cc:18080",
"purpose": "user-authorized HTTP test deployment",
"image": "opennexus-sync:e064f46-audit1",
"production_approved": false
},
"evidence_directory": ".build/acceptance/e064f46",
"contains_credentials": false,
"remote_checks": {
"100MiB_sha256_roundtrip": true,
"complete_retries": 100,
"CAS_attempts": 100,
"CAS_success": 1,
"CAS_conflicts": 99,
"revision_idempotent_retries": 100,
"unauthenticated_denials": 100,
"revoked_next_status": 401,
"observed_ready_failure_seconds": 3.005,
"observed_ready_recovery_seconds": 0.767,
"restart_ready_seconds": 6.339,
"100MiB_hash_after_restart": true,
"all_fault_matrix_passed": false
}
}