| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- {
- "schema": "release-manifest/v0",
- "detail_style_baseline": {
- "confirmed_by": "用户裁决 2026-09-06 (确认 C1; 删末块与门户一致; 补返回门户/重新选择后冻结)",
- "route": "/v2 (8033) → 目标架构 /detail/",
- "source": "src/windscada/ui + src/windscada/lang.py",
- "git_commit": "db2f7ad5",
- "source_blobs_sha16": {
- "src/windscada/ui/shell.html": "a8acac8142a4d928",
- "src/windscada/ui/app.css": "c49667615c15ffd6",
- "src/windscada/ui/app.js": "7b9afa74d6a5c38f",
- "src/windscada/ui/charts.js": "aa29b853a9f07d4f",
- "src/windscada/ui/build.py": "c5f8fd4edc2227aa",
- "src/windscada/lang.py": "c7d0387f4057f11d"
- },
- "build_cmd": "python -m src.windscada.ui.build zh",
- "built": "2026-09-06T22:23",
- "artifact_sha256": "4788166ea3cd8e5319f29049669491ea3557d24021a0455ad14f325c12bf6fa3",
- "artifact_size": 225088,
- "portal_reference_sha256": "6fe7ec7b88d26facad29f3a6b3ff8f37fb18c6b73a4ff9b006e41a018e133aa7",
- "portal_tokens": {
- "--ground": "#F5F7F8",
- "--ink": "#1B2430",
- "--accent": "#1F6F8B",
- "--line": "#DDE3E8"
- },
- "css_tokens": {
- "--ground": "#F5F7F8",
- "--panel": "#FFFFFF",
- "--ink": "#1B2430",
- "--muted": "#5C6B78",
- "--line": "#DDE3E8",
- "--hair": "#C9D1D8",
- "--accent": "#1F6F8B",
- "--accent-deep": "#175A71",
- "--accent-soft": "#BFDCE6",
- "--wash": "#E8F2F6",
- "--critical": "#C8372D",
- "--warning": "#D48A1E",
- "--good": "#2E8B6A",
- "--excellent": "#8FCBB5",
- "--sans": "Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"PingFang SC\",\"Hiragino Sans GB\",\"Microsoft YaHei\",Arial,sans-serif",
- "--mono": "\"SF Mono\",Menlo,Consolas,monospace"
- },
- "n_root_blocks": 2,
- "tabs": [
- "overview",
- "energy",
- "component",
- "vibration",
- "generation",
- "fault",
- "decision",
- "assistant",
- "report",
- "system"
- ],
- "nav_zh": [
- "总览",
- "电量算账",
- "部件问题",
- "振动融合分析",
- "发电性能",
- "故障统计",
- "检修决策",
- "检修助手",
- "汇报定制",
- "系统维护"
- ],
- "actions": {
- "ui.back_portal": "← 返回门户",
- "ui.reselect": "重新选择机组 / 测点",
- "ui.back_to": "← 返回{tab}",
- "win.label": "时间窗"
- },
- "dom": {
- "shell_ids": [
- "top",
- "tabs",
- "root",
- "foot"
- ],
- "header_controls": [
- "backPortal",
- "reselect",
- "win"
- ],
- "theme_attr": false,
- "lang": "zh"
- },
- "fingerprint": "b469bc0e8d67d5c2",
- "screenshot_note": "2026-09-06 浏览器实测 computed style: --ground #F5F7F8 / --ink #1B2430 / --accent #1F6F8B / --line #DDE3E8, 10 tab, 返回门户 href=/ (?portal= 可覆盖), 重新选择 存在; 像素级截图指纹未建 (无基线截图机制), fingerprint = 令牌+导航+DOM 摘要 sha",
- "frozen": [
- "色彩令牌",
- "字体",
- "字号层级/留白/卡片/边框 (app.css)",
- "顶部导航与十模块顺序",
- "返回门户/重新选择 位置与语义",
- "板块框架 (总览…系统维护)"
- ],
- "allowed_changes": "仅结构化事实契约驱动的数据/时间窗/结论/图表数据/报告文本; 不得改 DOM 布局/CSS 令牌/导航顺序/按钮层级"
- },
- "content_contract": {
- "path": "outputs/rudong/guanlan/facts_contract_v0.json",
- "schema": "guanlan-facts-contract/v0",
- "version": "v0",
- "contract_sha256": "225909ed15911b1c16b9c7884a7d0f0433264ddb7c083c16ab05028ceca9fe1f",
- "n_claims": 119,
- "by_verdict": {
- "定论": 18,
- "准定论·预警": 11,
- "候选": 62,
- "参考": 15,
- "INSUFFICIENT": 9,
- "撤回": 4
- },
- "inputs": {
- "findings": {
- "path": "outputs/rudong/sop/findings.json",
- "sha16": "8132848beb62d6ed"
- },
- "e5": {
- "path": "outputs/rudong/paradigm_r1/experiments/E5_coverage_table/底稿.json",
- "sha16": "64e04cabe7d6597e"
- },
- "e3": {
- "path": "outputs/rudong/paradigm_r1/experiments/E3_candidate_closure/底稿.json",
- "sha16": "0e35d593e415543a"
- },
- "s0": {
- "path": "outputs/rudong/paradigm_r1/experiments/E8_rudong_rebuild/底稿_s0.json",
- "sha16": "3bb1aac9084427f0"
- }
- },
- "consumers": {
- "portal_claims.json": "63a2029adb4f62a4",
- "detail_cards.json": "392ba483b0fa71dc",
- "report_summary.md": "ad5b77e9034ab774",
- "qa_refs.json": "e8c08f4980e6536c"
- },
- "rule": "数据/时间窗/结论/图表数据/报告文本只经本契约更新 (build → render); 消费者禁手改 (内嵌 contract sha, check 校验); 探针: probe <claim_id> 四消费者必全变",
- "wiring_status": "v0: 四消费者为派生文件; 8033 /api/* 与门户正文尚未切到契约生成 (须改 windscada_serve.py 路由 = 共享脏文件, 待批)",
- "renderer": "scripts/guanlan_facts_contract.py",
- "ci": "tests/guanlan/test_facts_contract.py (5 项)",
- "consumers_wired": {
- "8033": [
- "/api/facts",
- "/api/facts/claim",
- "rpt paper rptFacts()"
- ],
- "portal": "section#contract-claims (findings 页, 注入器幂等)"
- }
- }
- }
|