{
  "ok": true,
  "schema_version": "1.0",
  "generated_at": "2026-06-15T00:00:00Z",
  "skill_dir": ".",
  "source": {
    "label": "user_signals.example.jsonl",
    "path": "evals/adaptation/user_signals.example.jsonl",
    "fingerprint_sha256": "48f94a4f3b82f90db29921c13d09c765ec10aabfde1adce65710c137cc6c5abf",
    "explicit_source": true,
    "record_count": 8
  },
  "privacy_contract": {
    "local_only": true,
    "explicit_source_required": true,
    "implicit_private_log_scan": false,
    "raw_content_stored": false,
    "redacted_excerpts_only": true,
    "redacted_excerpt_limit": 240,
    "writes_repository_files": false
  },
  "summary": {
    "record_count": 8,
    "pattern_count": 5,
    "discarded_signal_count": 0,
    "min_support": 2,
    "failure_count": 0
  },
  "patterns": [
    {
      "pattern_id": "language_default",
      "label": "Default language preference",
      "signal_type": "report-language",
      "support_count": 2,
      "confidence": 0.79,
      "reason": "2 redacted records matched repeated report-language signals.",
      "recommended_action": "Keep generated reports Chinese-first with an English switch where user-facing.",
      "evidence": [
        {
          "record_id": "line-1",
          "excerpt": "新生成的 Skill 报告默认使用中文简体，并在右上角提供英文切换。"
        },
        {
          "record_id": "line-2",
          "excerpt": "HTML 报告需要双语能力，但默认内容应该保持中文简体。"
        }
      ]
    },
    {
      "pattern_id": "report_ui",
      "label": "Report UI and visualization preference",
      "signal_type": "artifact-design",
      "support_count": 5,
      "confidence": 0.95,
      "reason": "5 redacted records matched repeated artifact-design signals.",
      "recommended_action": "Prioritize white-background Kami-style reports with readable charts and stable navigation.",
      "evidence": [
        {
          "record_id": "line-1",
          "excerpt": "新生成的 Skill 报告默认使用中文简体，并在右上角提供英文切换。"
        },
        {
          "record_id": "line-2",
          "excerpt": "HTML 报告需要双语能力，但默认内容应该保持中文简体。"
        },
        {
          "record_id": "line-3",
          "excerpt": "报告排版采用白底 Kami 风格，图表、模块和导航都要清晰。"
        }
      ]
    },
    {
      "pattern_id": "approval_safety",
      "label": "Approval and privacy boundary",
      "signal_type": "governance",
      "support_count": 2,
      "confidence": 0.79,
      "reason": "2 redacted records matched repeated governance signals.",
      "recommended_action": "Keep adaptive work proposal-only until a reviewer approves an allowlisted patch path.",
      "evidence": [
        {
          "record_id": "line-5",
          "excerpt": "自适应升级必须先生成提案，不能直接自动修改源文件。"
        },
        {
          "record_id": "line-6",
          "excerpt": "用户偏好扫描必须由用户提供明确路径，不要默认扫描私人日志。"
        }
      ]
    },
    {
      "pattern_id": "delivery_format",
      "label": "Delivery format preference",
      "signal_type": "artifact-format",
      "support_count": 2,
      "confidence": 0.79,
      "reason": "2 redacted records matched repeated artifact-format signals.",
      "recommended_action": "Surface stable artifact paths and formats in CLI output and generated summaries.",
      "evidence": [
        {
          "record_id": "line-2",
          "excerpt": "HTML 报告需要双语能力，但默认内容应该保持中文简体。"
        },
        {
          "record_id": "line-6",
          "excerpt": "用户偏好扫描必须由用户提供明确路径，不要默认扫描私人日志。"
        }
      ]
    },
    {
      "pattern_id": "evidence_testing",
      "label": "Evidence and testing preference",
      "signal_type": "quality-gate",
      "support_count": 2,
      "confidence": 0.79,
      "reason": "2 redacted records matched repeated quality-gate signals.",
      "recommended_action": "Attach focused tests and refreshed evidence reports to every non-trivial skill upgrade.",
      "evidence": [
        {
          "record_id": "line-7",
          "excerpt": "每次升级都需要测试、覆盖报告和可审计证据，推送前要跑 CI。"
        },
        {
          "record_id": "line-8",
          "excerpt": "涉及 GitHub 推送时，要保留证据链，避免把计划当作完成证明。"
        }
      ]
    }
  ],
  "discarded_signals": [],
  "failures": [],
  "artifacts": {
    "json": "reports/user_patterns.json",
    "markdown": "reports/user_patterns.md"
  }
}
