| content |
{"Commits":[{"Sha1":"eb7613dc5 {"Commits":[{"Sha1":"eb7613dc5b7daff586c599829c91c8878e5bd914","Message":"chore(evidence): record U2 round-2 gates on 03a80d7\n\nNative latest reports from clean 03a80d7 (worktreeHash\nsha256:f09f831b7d6ab3159d98f90b3053a1b6a09cb1416516217cac0959c5abb58b7b):\npnpm check exit 0 (ownTests 28, ownTestCases 160); check:device-boundaries\nexit 0; check:runtime exit 0 (150 passed = contracts 16 + NestJS 134, floor\n143, RLS enforce, dedicated container DB device_cloud_u2run / Redis db5);\nUI_MATRIX=1 check:ui exit 0 (nestjs/ws 9, nestjs/sse 9, ports 45710/45711);\ncheck:evidence exit 0; test:s3:rules 46/46. CLAUDE.md progress rows now name\nclean 03a80d7 (acceptance-successor scope only). Closes THING-U2-V1.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T17:10:14-07:00"},{"Sha1":"03a80d717b2472c836ff13731dca30b699f7ea2a","Message":"test(device-v1b): close U2 verifier findings V1-V5 (ABA, valid control bodies, boundaries)\n\n- V2: new PM-A05 ABA case via real transfer round-trip (merchant -\u003e other -\u003e\n merchant mid-read): new grant/projection must not authorize the in-flight\n read (404), later read under the new grant is 200. Weakening the recheck to\n `if (!still)` turns it red; base 9fe2f24 service fails it too.\n- V3: the six authority write entries now use bodies that pass the route's\n own contracts schemas (asserted via safeParse) and each must be 403; a spy\n asserts all 9 requests reached assertAuthority for the grantee tenant.\n- V1: CLAUDE.md runtime/UI progress rows point to clean e4a1b6e, the source\n of the committed latest reports (acceptance-successor scope).\n- V4/V5: docs/u2-authorized-read.md records the PM-A05 boundary (decided at\n the post-read recheck; already-rechecked responses are not recalled) and\n lists device history visibility (topologyAt/serviceHistory lower bound)\n as a pending business decision, so \"old binding no leak\" is not verified.\n\nNo service/contract/Prisma/migration/candidate change.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T17:07:49-07:00"},{"Sha1":"aa141dc52a89eeda5cee38bd6fc4d52e7990e58a","Message":"chore(evidence): record U2 gates on e4a1b6e\n\nNative latest reports from runs on clean e4a1b6e (worktreeHash\nsha256:9695a881d79f4e1cdf07c2c8463c71174ae7e770eeb5187d843d98480c01eeb7):\npnpm check exit 0 (ownTests 28, ownTestCases 159); check:device-boundaries\nexit 0; check:runtime exit 0 (149 passed, floor 143, RLS enforce, dedicated\ncontainer DB device_cloud_u2run / Redis db5); UI_MATRIX=1 check:ui exit 0\n(nestjs/ws 9, nestjs/sse 9); check:evidence exit 0. test:s3:rules 46/46\n(candidate untouched; s3 runtime not rerun). Reports only; no source change.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T16:50:35-07:00"},{"Sha1":"e4a1b6e855fd835f64b3bd6a077164d51f93136b","Message":"fix(device-v1b): deny tenant topology when revocation commits mid-read (U2)\n\nU2 slice (01 存量应用升级/物云.md §4; 01 权限计划 §4.3 / PM-A01 / PM-A03 / PM-A05):\n- getTenantTopology re-verifies the same tenant projection and sourceGrantId\n after reading authority topology; a revocation committed between the grant\n check and the authority read now yields 404 instead of 200 + topology.\n- New device-v1b.revocation-read.acceptance.test.ts (6 cases, JWT with\n issuer/audience, FastifyAdapter host, runtime role): PM-A01 rejections on\n tenant device reads, read-only grantee cannot reach any authority control\n entry and tenant surface has no command route, cross-tenant guessed IDs\n indistinguishable from nonexistent, revoked tenant loses list/detail/\n topology incl. ?at=, reads leave zero writes, in-flight and concurrent\n revocation.\n- Before fix: in-flight revocation case red (200 != 404), other 5 green on\n 9fe2f24 (gap-zero negatives). Five targeted mutations each turn the\n matching case red.\n- Connection-status / original command receipt query NOT added to the host:\n the original ledger exists only in the default-closed\n ops/device-loop-candidate; needs 02/04 decisions (docs/u2-authorized-read.md).\n\nVerified before commit: vitest device files 21/21, test:s3:rules 46/46,\ncheck:quick 14/14, pnpm check exit 0 (dirty tree; full gates rerun on the\ncommitted tree). No migration, contract, Prisma or candidate change.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T16:47:36-07:00"}],"HeadCommit":{"Sha1":"eb7613dc5b7daff586c599829c91c8878e5bd914","Message":"chore(evidence): record U2 round-2 gates on 03a80d7\n\nNative latest reports from clean 03a80d7 (worktreeHash\nsha256:f09f831b7d6ab3159d98f90b3053a1b6a09cb1416516217cac0959c5abb58b7b):\npnpm check exit 0 (ownTests 28, ownTestCases 160); check:device-boundaries\nexit 0; check:runtime exit 0 (150 passed = contracts 16 + NestJS 134, floor\n143, RLS enforce, dedicated container DB device_cloud_u2run / Redis db5);\nUI_MATRIX=1 check:ui exit 0 (nestjs/ws 9, nestjs/sse 9, ports 45710/45711);\ncheck:evidence exit 0; test:s3:rules 46/46. CLAUDE.md progress rows now name\nclean 03a80d7 (acceptance-successor scope only). Closes THING-U2-V1.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T17:10:14-07:00"},"CompareURL":"luoanwu/juhai-thing-cloud/compare/9fe2f24089819c6d062b22f50ab799f5cb8f48d2...eb7613dc5b7daff586c599829c91c8878e5bd914","Len":4}... |