release-verification.json 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. {
  2. "at": "2026-11-10T09:24:01.911Z",
  3. "sourceCommit": "592919581ec48a5ef6cc974ba852f72a35e44073",
  4. "gateways": [
  5. {
  6. "scope": "operations",
  7. "hash": "959369b4261294ed62d263aeb89afc2e9d56adb82d43c60e7b2f1847da0071ac"
  8. },
  9. {
  10. "scope": "mobile",
  11. "hash": "6be6e3cefff302995abe3cdf77b5711b4508b2ea089ba204cbb1d691f96ef363"
  12. }
  13. ],
  14. "database": {
  15. "installed": {
  16. "digest": true,
  17. "source": true,
  18. "snapshot": true
  19. },
  20. "rollbackRehearsed": true,
  21. "original39FunctionsUnchanged": true,
  22. "derivedFunctionDefinitions": 28
  23. },
  24. "mobile": {
  25. "at": "2026-11-10T09:21:55.049Z",
  26. "origin": "https://h5.xiaoshu.pro",
  27. "releaseId": "mobile-speed3-592919581ec4-20261110T090242570Z",
  28. "commit": "592919581ec48a5ef6cc974ba852f72a35e44073",
  29. "publicAssetsVerified": 107,
  30. "deepRoutesVerified": 6,
  31. "login": {
  32. "passed": true,
  33. "unauthenticatedGate": true
  34. },
  35. "readOnly": true,
  36. "limitations": "Public asset and unauthenticated login-gate acceptance. Role journeys were checked separately with anonymous fixtures; real-record API projections separately. No real teacher/student password login or native-device acceptance.",
  37. "cdnRefreshTask": "8145662520"
  38. },
  39. "admin": {
  40. "at": "2026-11-10T09:20:28.451Z",
  41. "origin": "https://admin.xiaoshu.pro",
  42. "releaseId": "admin-speed2-e72a405025aa-20261110T062158898Z",
  43. "commit": "e72a405025aa102680c1ee30404fae656b029d6c",
  44. "filesVerified": 96,
  45. "deepRoutesVerified": 12,
  46. "readOnly": true,
  47. "measurement": "One production smoke sample per page; not comparable to controlled p75",
  48. "pages": [
  49. {
  50. "page": "dashboard",
  51. "readyMs": 2702,
  52. "passed": true,
  53. "primaryRequests": 1
  54. },
  55. {
  56. "page": "members",
  57. "readyMs": 1390,
  58. "passed": true,
  59. "primaryRequests": 1
  60. },
  61. {
  62. "page": "stores",
  63. "readyMs": 1905,
  64. "passed": true,
  65. "primaryRequests": 1
  66. },
  67. {
  68. "page": "schedule",
  69. "readyMs": 2521,
  70. "passed": true,
  71. "primaryRequests": 1
  72. },
  73. {
  74. "page": "coaches",
  75. "readyMs": 1989,
  76. "passed": true,
  77. "primaryRequests": 1
  78. },
  79. {
  80. "page": "payroll",
  81. "readyMs": 6853,
  82. "passed": true,
  83. "primaryRequests": 1,
  84. "verificationDisabled": true,
  85. "coachDetailMs": 473,
  86. "exportVerified": true
  87. },
  88. {
  89. "page": "lessons",
  90. "readyMs": 4421,
  91. "passed": true,
  92. "primaryRequests": 1,
  93. "menuReturn": {
  94. "ms": 89,
  95. "primaryRequests": 0
  96. }
  97. },
  98. {
  99. "page": "learning-reports",
  100. "readyMs": 2070,
  101. "passed": true,
  102. "primaryRequests": 1
  103. },
  104. {
  105. "page": "support-requests",
  106. "readyMs": 853,
  107. "passed": true,
  108. "primaryRequests": 1,
  109. "menuReturn": {
  110. "ms": 63,
  111. "primaryRequests": 0
  112. }
  113. },
  114. {
  115. "page": "vocabulary",
  116. "readyMs": 2419,
  117. "passed": true,
  118. "primaryRequests": 1
  119. },
  120. {
  121. "page": "special-training",
  122. "readyMs": 1022,
  123. "passed": true,
  124. "primaryRequests": 1
  125. }
  126. ]
  127. },
  128. "teacher": {
  129. "at": "2026-11-10T09:20:17.781Z",
  130. "gatewayHash": "6be6e3cefff302995abe3cdf77b5711b4508b2ea089ba204cbb1d691f96ef363",
  131. "guards": {
  132. "source": true,
  133. "snapshot": true,
  134. "digest": true
  135. },
  136. "exactGross": true,
  137. "checks": [
  138. {
  139. "oldMs": 1845,
  140. "newMs": 1120,
  141. "monthly": {
  142. "available": true,
  143. "matched": 28,
  144. "computed": 0
  145. }
  146. },
  147. {
  148. "oldMs": 1587,
  149. "newMs": 631,
  150. "monthly": {
  151. "available": true,
  152. "matched": 28,
  153. "computed": 0
  154. }
  155. }
  156. ],
  157. "scope": "Two production operator-bound teacher read projections; current original source vs released monthly/indexed algorithm. Derived monthly rows may be stored. No business source/payroll/payment writes. Not teacher login or production p75."
  158. },
  159. "cleanup": {
  160. "guards": {
  161. "digest": true,
  162. "source": true,
  163. "snapshot": true
  164. },
  165. "diagnosticSchemasRemaining": 0,
  166. "sessionTemporaryReadHelpers": 1,
  167. "diagnosticFunctionsRemaining": 0,
  168. "note": "No private speed3 schemas or standalone diagnostic endpoints remain. A session-local read-only SQL probe may remain until its pooled PostgreSQL backend closes; cross-session deletion was denied, and no pool/backend was terminated. It has no business writes or secrets."
  169. },
  170. "tests": {
  171. "mobile": 350,
  172. "backend": 102,
  173. "finalIndexAndPatch": 14,
  174. "cloudDefinitions": 11,
  175. "build": "mobile production passed with existing CSS/CommonJS warnings"
  176. },
  177. "scope": {
  178. "mobileH5": true,
  179. "adminStaticChanged": false,
  180. "nativePackage": false,
  181. "businessSourceWrites": false,
  182. "payrollLedgerWrites": false
  183. }
  184. }