{
  "ticket": "U30 #67",
  "notes": [
    "公开课表Node用例先RED，缺spring-security-oauth2；最终索引后复验",
    "AS API编译与client secret启动错误独立列为工程修正，不计协议行为负例",
    "reference客户端用例先得到真实401，再注册REFERENCE格式client与claims使通过",
    "远程503行为测试先观察403，保留负控后显式failureHandler修复为503",
    "核心首次实现并非每分支均逐项red-green；不伪造TDD历史",
    "真正协议反例及每组恢复见最终完整入口JSON",
    "独立review揭露JWKS注入晚于endpoint，旧148次结果不能证明该故障。先以直连503断言得到实际200的RED，再把注入移到SecurityContextHolderFilter前，JWT/opaque显式service故障503，rotation GREEN；整组153次实跑GREEN，旧错误证据不冒领最终。"
  ],
  "runs": [
    {
      "label": "roles-first",
      "startedAt": "2026-10-26T17:25:22.980096+08:00",
      "exitCode": 1,
      "httpRequests": 0,
      "failure": {
        "type": "AssertionError",
        "message": "package failed; see /Users/gaochao/.cache/software-engineering-study/java-depth-impl/u30/run-jnozrk_w/package.log"
      },
      "resultPath": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u30/run-jnozrk_w/result.json",
      "sha256": "e5618c7b0739bbd8cea4673f6bf369e06aff09647899bdcaaaccb8bd2aa57e5c",
      "allProcessesReaped": true
    },
    {
      "label": "roles-first-runtime",
      "startedAt": "2026-10-26T17:26:02.581968+08:00",
      "exitCode": 0,
      "httpRequests": 22,
      "failure": null,
      "resultPath": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u30/run-gnz05ubf/result.json",
      "sha256": "e41df62d0ef3ebc429e937308ffe30187c3e52c67896439bfed482326b408535",
      "allProcessesReaped": true
    },
    {
      "label": "reference-red",
      "startedAt": "2026-10-26T17:27:06.326724+08:00",
      "exitCode": 1,
      "httpRequests": 1,
      "failure": {
        "type": "AssertionError",
        "message": "real reference-format access grant: expected 200, actual 401; response fields omitted"
      },
      "resultPath": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u30/run-pshp3q8i/result.json",
      "sha256": "b3ec141e47f3701553304a5f72552cafed10750da4ce9a0cee52111944f07d48",
      "allProcessesReaped": true
    },
    {
      "label": "acceptance-first",
      "startedAt": "2026-10-26T17:28:41.598525+08:00",
      "exitCode": 1,
      "httpRequests": 0,
      "failure": {
        "type": "AssertionError",
        "message": "as stopped; see /Users/gaochao/.cache/software-engineering-study/java-depth-impl/u30/run-7j4glg9i/as.log"
      },
      "resultPath": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u30/run-7j4glg9i/result.json",
      "sha256": "c9a60883343c8c468cd7dacfe06cd3661e70ec2e458c441f2c79c2835e8d69ea",
      "allProcessesReaped": true
    },
    {
      "label": "acceptance-second",
      "startedAt": "2026-10-26T17:29:40.073706+08:00",
      "exitCode": 1,
      "httpRequests": 90,
      "failure": {
        "type": "AssertionError",
        "message": "introspection outage never grants identity: expected [401, 503], actual 403; response fields omitted"
      },
      "resultPath": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u30/run-k369g2a5/result.json",
      "sha256": "85a106481cfb0e25036578d085488095faf0d65aeb645ac42e073c162c7ff9f1",
      "allProcessesReaped": true
    },
    {
      "label": "acceptance-third",
      "startedAt": "2026-10-26T17:31:20.325529+08:00",
      "exitCode": 0,
      "httpRequests": 145,
      "failure": null,
      "resultPath": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u30/run-zeftaeho/result.json",
      "sha256": "b82d3abd13443388880cc2ba671136796f7b9f6b02593890ceb77e58f1bbdf2a",
      "allProcessesReaped": true
    },
    {
      "label": "acceptance",
      "startedAt": "2026-10-26T17:34:41.664418+08:00",
      "exitCode": 0,
      "httpRequests": 148,
      "failure": null,
      "resultPath": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u30/run-yr1qu__p/result.json",
      "sha256": "158c101a8c7971b493b5ca2167a1b17f0e469cb61356c9f02d5cc56dd104eded",
      "allProcessesReaped": true
    },
    {
      "label": "jwks-injection-red",
      "startedAt": "2026-10-26T17:45:58.894887+08:00",
      "exitCode": 1,
      "httpRequests": 9,
      "failure": {
        "type": "AssertionError",
        "message": "direct JWKS proves fault injection reached endpoint: expected 503, actual 200; response fields omitted"
      },
      "resultPath": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u30/run-js8_qgpl/result.json",
      "sha256": "7dcaa5805122292e86cf7e95b6c5fec2728a5f771d0c55569d4497b7ea8e3abd",
      "allProcessesReaped": true
    },
    {
      "label": "jwks-injection-green",
      "startedAt": "2026-10-26T17:46:34.212777+08:00",
      "exitCode": 0,
      "httpRequests": 20,
      "failure": null,
      "resultPath": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u30/run-utumokin/result.json",
      "sha256": "2da47137416f363b3b40c1cf2a533d7455a6b2011e76e296f510da959c82276b",
      "allProcessesReaped": true
    },
    {
      "label": "acceptance-reviewed",
      "startedAt": "2026-10-26T17:47:13.003082+08:00",
      "exitCode": 0,
      "httpRequests": 153,
      "failure": null,
      "resultPath": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u30/run-hke37wso/result.json",
      "sha256": "d97ecb0bcb4eff00382d508543ac7aac3a89194e9d33846853bb52c01adc2105",
      "allProcessesReaped": true
    },
    {
      "label": "acceptance-reviewed-final",
      "startedAt": "2026-10-26T17:48:14.678561+08:00",
      "exitCode": 0,
      "httpRequests": 154,
      "failure": null,
      "resultPath": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u30/run-v5k52slr/result.json",
      "sha256": "e9d3f4e15a6ffe47d9ffba3449236b5ae047ca7536479e6b4b788bf0d9ef6f04",
      "allProcessesReaped": true
    }
  ]
}
