| content |
{"Commits":[{"Sha1":"176c33149 {"Commits":[{"Sha1":"176c33149337c2eb03a0cdfb11ed910f75700e0c","Message":"chore(reports): rebind gate reports to the fact-read pick\n\n本分支只从 codex/ms3-fact-read-http 摘取 3074b75(fact-read),不带该分支的\nscope / permission-invalidation / OpenBao 工作。九处冲突按同一规则解决:只保留\nfact-read,剔除 scope/permission 引用,证据数字与棘轮取 HEAD——本分支尚未跑过\nruntime/UI 验收,不得引用原分支 clean 3260390 的 779 tests / 97 项主线专项。\n\n本地验证:turbo typecheck --force 28/28(0 cached,非缓存命中);\n@juhai/client-fact 13/13(含新增 reader.test.ts 10 例);\n@juhai/module-fact 42/42(含新增 read-runtime.test.ts 4 例);\n根 pnpm check exit 0(30 项,check:pins 36 处 / 34 个 package.json)。\n\n未跑:e2e/fact-read-http.test.ts(需真实 M5 库 + JWT 环境)与 runtime/UI 整轮——\nmainline 清单与地板已登记该套件 10 例,但本分支没有它的运行证据。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-14T18:58:31-07:00"},{"Sha1":"a45389784a7c399a941306eb1454ff456e97ebcb","Message":"docs(pf-15): record the evidence binding of the adversarial round\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-14T10:37:13-07:00"},{"Sha1":"96c108dc65e3ce9838b554cafdf428023be0fd25","Message":"chore(reports): bind the read-surface adversarial evidence @ 830291c\n\nMainline acceptance re-run on an isolated compose project\n(enterprise-platform-ms23-ci: its own Postgres with tmpfs data, Redis and\nRedpanda), on databases created fresh for this round, so no state from the\nimplementing session took part: fact-read-http 11, fact-persistence 11,\naudit-tamper 8, mainline-revocation-chaos 18 — validateMainlineReport now\nreturns no errors, which it did not before this round (the floor had been\nraised to require the read suite while the stored report still had three).\nRevocation stays partial with employment Scope explicit, p95 5043 ms.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-14T10:37:02-07:00"},{"Sha1":"830291c1795695f979219d89c55b6b5455a6169e","Message":"fix(fact): refuse a bearer carried in the read surface URL\n\nAdversarial acceptance of the accepted-fact read candidate on an isolated\nstack found that `?access_token=\u003cjwt\u003e` alone returned 200: the shared\nAuthGuard accepts a query token so WS/SSE, which have no header, can\nauthenticate, and the new route inherited it. A consumer read has a header,\nand a bearer in the URL is copied into every proxy access log, so the route\nnow refuses the channel itself with 401 FACT_READ_URL_CREDENTIAL_REFUSED —\nincluding when a valid header accompanies it, since the token has already\nreached the log line. An empty `?access_token=` is not a credential.\n\nAlso records what the round could not fix in code: a consumer registration\nthat is deactivated answers 403 and is retryable, while one that is still\nactive but out of source-domain/type scope answers the same 404 as an\nunknown id, which the Inbox turns into a dead letter. Narrowing the scope of\na live consumer therefore dead-letters facts already in flight; the SDK\nREADME now states the deactivate-first rule. The read path writes no audit\nrecord, registered as CHG-004 material rather than opening a write path in a\nread-only runtime.\n\nRead suite 10 -\u003e 11 cases; MAINLINE_SUITES floor raised with it.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-14T10:33:43-07:00"},{"Sha1":"78edacc6e101fa24876cac37302ffb425fd94597","Message":"feat(fact): authenticate accepted-fact reads for remote Inbox verification\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-12T20:14:01-07:00"}],"HeadCommit":{"Sha1":"176c33149337c2eb03a0cdfb11ed910f75700e0c","Message":"chore(reports): rebind gate reports to the fact-read pick\n\n本分支只从 codex/ms3-fact-read-http 摘取 3074b75(fact-read),不带该分支的\nscope / permission-invalidation / OpenBao 工作。九处冲突按同一规则解决:只保留\nfact-read,剔除 scope/permission 引用,证据数字与棘轮取 HEAD——本分支尚未跑过\nruntime/UI 验收,不得引用原分支 clean 3260390 的 779 tests / 97 项主线专项。\n\n本地验证:turbo typecheck --force 28/28(0 cached,非缓存命中);\n@juhai/client-fact 13/13(含新增 reader.test.ts 10 例);\n@juhai/module-fact 42/42(含新增 read-runtime.test.ts 4 例);\n根 pnpm check exit 0(30 项,check:pins 36 处 / 34 个 package.json)。\n\n未跑:e2e/fact-read-http.test.ts(需真实 M5 库 + JWT 环境)与 runtime/UI 整轮——\nmainline 清单与地板已登记该套件 10 例,但本分支没有它的运行证据。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-14T18:58:31-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/036a308f27acf35a46f068c96fea7723ef74d05e...176c33149337c2eb03a0cdfb11ed910f75700e0c","Len":5}... |