receipt.json 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. {
  2. "release": "ksf-board-research-20261108-r13",
  3. "packageSha256": "45749c9dcff171229a2602d8c085aa4243f211fdb3deab245f6770a431061011",
  4. "integrity": {
  5. "ok": true,
  6. "filesChecked": 121,
  7. "note": "FILES.sha256 121/121 OK(清单无CRLF)"
  8. },
  9. "nativeRuntime": {
  10. "python": "3.9.2",
  11. "pythonTestsPassed": 60,
  12. "nodeTestsPassed": 50,
  13. "readOnlyPreflight": true,
  14. "preflightReceipt": "/opt/ksf-voc-intake/industry-r13-20261108/native-preflight.json",
  15. "preflightFields": {
  16. "ok": true,
  17. "readOnly": true,
  18. "databaseWrites": 0,
  19. "paidCalls": 0,
  20. "nativePython39Verified": true,
  21. "generation": "82b104fc024b49a75d2f5376bf9778ced6f63a9433b5fc5a6daa3c458d05d5ea",
  22. "primaryStore": {
  23. "products": 165,
  24. "reviewRows": 746,
  25. "uniqueReadableTexts": 701
  26. },
  27. "policy": {
  28. "verified": 12,
  29. "pending": 19,
  30. "originals": 13
  31. },
  32. "probes": 8
  33. }
  34. },
  35. "service": {
  36. "unit": "industry.service",
  37. "oldCodePath": "/opt/ksf-industry-monitor-20261108-r12",
  38. "newCodePath": "/opt/ksf-board-research-20261108-r13",
  39. "privateConfigBackup": "/root/r13-service-backup",
  40. "loopbackVerified": true,
  41. "publicSameOriginVerified": true,
  42. "loopback": {
  43. "noBearer": 401,
  44. "withBearer": 200
  45. },
  46. "publicOps": {
  47. "contract": 200,
  48. "workshop": 200,
  49. "policies": 200
  50. },
  51. "checks": {
  52. "readOnly": true,
  53. "databaseWrites": 0,
  54. "generation": "82b104fc…",
  55. "workshopRulesVersion": "ksf.workshop-analysis.v3",
  56. "workshopDimensions": "8组52项",
  57. "policiesReviewedEvidence": "12/19/13",
  58. "sodiumTopicClauses": 3
  59. },
  60. "dropin": "/etc/systemd/system/industry.service.d/r13-unified.conf",
  61. "policyEnv": "/etc/ksf-industry/r13-policy.env",
  62. "workerUntouched": {
  63. "unit": "industry-inbox.service",
  64. "mainPid": 3123,
  65. "execMainStartTimestamp": "2026-11-07 20:36:01 CST"
  66. }
  67. },
  68. "frontend": {
  69. "targetDir": "/opt/kangshifu-web",
  70. "dryReceipt": "/tmp/r13-dry2.json",
  71. "applyReceipt": "/tmp/r13-apply.json",
  72. "noOpReceipt": "/tmp/r13-dry3.json",
  73. "backup": "/opt/ksf-industry-ui-backup-qDwE33",
  74. "journal": "/opt/ksf-industry-ui-backup-qDwE33/journal.json",
  75. "filesystemVerified": true,
  76. "publicModulesVerified": 33,
  77. "expectedModules": 33,
  78. "homepageUnchanged": true,
  79. "dry": {
  80. "filesChecked": 33,
  81. "changes": 27,
  82. "unchanged": 6
  83. },
  84. "apply": {
  85. "changes": 27,
  86. "invocationId": "e6b2807d-72a6-48dd-b8ca-3be096c76d0f"
  87. },
  88. "noOp": {
  89. "changes": 0,
  90. "unchanged": 33
  91. },
  92. "publicStatic": {
  93. "http200": 33,
  94. "rawMatch": 31,
  95. "lfNormalizedMatch": 33,
  96. "lfOnly": [
  97. "src/core/industry-materials.js",
  98. "src/pages/industry-pipeline-view.js"
  99. ]
  100. },
  101. "permissionFix": {
  102. "files": 8,
  103. "from": "0600",
  104. "to": "0644",
  105. "contentChanged": 0,
  106. "reason": "回滚r12时用copy2恢复了0600备份,发布器沿用该模式导致nginx 403;仅改权限"
  107. }
  108. },
  109. "browser": {
  110. "verified": true,
  111. "viewportWidths": [
  112. 1440,
  113. 1024,
  114. 768,
  115. 390,
  116. 320
  117. ],
  118. "screenshots": [
  119. "r13-browser-shots/industry-1440.png",
  120. "r13-browser-shots/industry-390.png"
  121. ],
  122. "horizontalOverflow": false,
  123. "uncaughtExceptions": 0,
  124. "checks": {
  125. "navLibrary4": true,
  126. "navIndustry3": true,
  127. "policy": {
  128. "topics": 8,
  129. "verified": 12,
  130. "pending": 19,
  131. "originals": 13,
  132. "sodiumClauses": 3
  133. },
  134. "rankingsLeads": true,
  135. "innovation": true
  136. }
  137. },
  138. "invariants": {
  139. "generation": "82b104fc024b49a75d2f5376bf9778ced6f63a9433b5fc5a6daa3c458d05d5ea",
  140. "products": 4674,
  141. "reviews": 3454,
  142. "prices": 4172,
  143. "analysisReviews": 771,
  144. "primaryStore": {
  145. "products": 165,
  146. "reviewRows": 746,
  147. "readableDedup": 701
  148. },
  149. "homepageSha256": "dfeb6a6d0b63e8e1190f9308bf6619a5ca523a5a2f91af5f7ca5ad5fc9642db3"
  150. },
  151. "productionDeployed": true,
  152. "researchDatabaseWrites": 0,
  153. "newPaidCalls": 0,
  154. "blockedItems": [],
  155. "rollback": {
  156. "needed": false,
  157. "note": "r12前端已用其journal按before/after SHA逐件校验回滚(8恢复/12删除),r13 apply 一次成功"
  158. },
  159. "paidCalls": 0,
  160. "deferred": [
  161. "全量评价",
  162. "竞品持续更新",
  163. "12份政策缺件/19条待核",
  164. "完整Top100/400",
  165. "上游自动监听"
  166. ],
  167. "billing": {
  168. "chargedCny": 46.2,
  169. "pendingCny": 0,
  170. "protectedCny": 3.8,
  171. "newPaidCalls": 0
  172. }
  173. }