@ohos-cpf/3rdloop 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/README.md +425 -0
  2. package/bin/3rdloop.mjs +48 -0
  3. package/lib/cli.js +741 -0
  4. package/lib/config.js +318 -0
  5. package/lib/doctor.js +114 -0
  6. package/lib/exit-codes.js +31 -0
  7. package/lib/opencode.js +156 -0
  8. package/lib/orch.js +427 -0
  9. package/lib/queries.js +264 -0
  10. package/lib/runner.js +979 -0
  11. package/lib/step.js +326 -0
  12. package/lib/ui.js +223 -0
  13. package/lib/workflow.js +291 -0
  14. package/lib/workflows.js +132 -0
  15. package/package.json +50 -0
  16. package/vendor/Server/Agent/SkillSelector/README.md +344 -0
  17. package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -0
  18. package/vendor/Server/Agent/SkillSelector/index.js +14 -0
  19. package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -0
  20. package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -0
  21. package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -0
  22. package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -0
  23. package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -0
  24. package/vendor/Server/Agent/SkillSelector/types.js +63 -0
  25. package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +60 -0
  26. package/vendor/Server/Brain/AnalysisStrategies.js +422 -0
  27. package/vendor/Server/Brain/Brain.js +686 -0
  28. package/vendor/Server/Brain/DecompositionStrategies.js +621 -0
  29. package/vendor/Server/Brain/PlanPersistence.js +196 -0
  30. package/vendor/Server/Brain/SkillExecutor.js +251 -0
  31. package/vendor/Server/Brain/index.js +11 -0
  32. package/vendor/Server/CLI/cli.js +243 -0
  33. package/vendor/Server/CLI/opencode/index.js +804 -0
  34. package/vendor/Server/CLI/opencode.js +5 -0
  35. package/vendor/Server/DbUse/MessageArchive.js +61 -0
  36. package/vendor/Server/DbUse/StorageManager.js +107 -0
  37. package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -0
  38. package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -0
  39. package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -0
  40. package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -0
  41. package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -0
  42. package/vendor/Server/DbUse/index.js +160 -0
  43. package/vendor/Server/DbUse/stores/SessionStore.js +279 -0
  44. package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -0
  45. package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -0
  46. package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -0
  47. package/vendor/Server/FlexRunner/FlexRunner.js +1759 -0
  48. package/vendor/Server/FlexRunner/index.js +12 -0
  49. package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -0
  50. package/vendor/Server/Knowledge/KnowledgeManager.js +341 -0
  51. package/vendor/Server/Knowledge/index.js +33 -0
  52. package/vendor/Server/LoopEngine/LoopEngine.js +1133 -0
  53. package/vendor/Server/LoopEngine/index.js +11 -0
  54. package/vendor/Server/Orchestrator/Orchestrator.js +1425 -0
  55. package/vendor/Server/Orchestrator/StepNode.js +312 -0
  56. package/vendor/Server/Orchestrator/index.js +13 -0
  57. package/vendor/Server/Routes/controllers/BrainController.js +241 -0
  58. package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -0
  59. package/vendor/Server/Routes/controllers/HealthController.js +44 -0
  60. package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -0
  61. package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -0
  62. package/vendor/Server/Routes/controllers/OrchestratorController.js +911 -0
  63. package/vendor/Server/Routes/controllers/StatsController.js +57 -0
  64. package/vendor/Server/Routes/controllers/StreamController.js +67 -0
  65. package/vendor/Server/Routes/library/logger.js +179 -0
  66. package/vendor/Server/Routes/library/zipArchive.js +172 -0
  67. package/vendor/Server/Routes/router/Router.js +204 -0
  68. package/vendor/Server/Routes/routes/brain.js +47 -0
  69. package/vendor/Server/Routes/routes/flexrunner.js +72 -0
  70. package/vendor/Server/Routes/routes/health.js +28 -0
  71. package/vendor/Server/Routes/routes/index.js +57 -0
  72. package/vendor/Server/Routes/routes/knowledge.js +55 -0
  73. package/vendor/Server/Routes/routes/loopengine.js +58 -0
  74. package/vendor/Server/Routes/routes/orchestrator.js +61 -0
  75. package/vendor/Server/Routes/routes/registry.js +98 -0
  76. package/vendor/Server/Routes/routes/stats.js +23 -0
  77. package/vendor/Server/Routes/routes/stream.js +30 -0
  78. package/vendor/Server/Routes/server.js +202 -0
  79. package/vendor/Server/Routes/sse/SseHub.js +308 -0
  80. package/vendor/Server/Skills/acceptance-check/SKILL.md +174 -0
  81. package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -0
  82. package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -0
  83. package/vendor/Server/Skills/arkts-code-check/SKILL.md +314 -0
  84. package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +160 -0
  85. package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +29 -0
  86. package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +222 -0
  87. package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +220 -0
  88. package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +329 -0
  89. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -0
  90. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +433 -0
  91. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -0
  92. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +789 -0
  93. package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -0
  94. package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -0
  95. package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -0
  96. package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -0
  97. package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -0
  98. package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +99 -0
  99. package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -0
  100. package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -0
  101. package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +433 -0
  102. package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -0
  103. package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +789 -0
  104. package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -0
  105. package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -0
  106. package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -0
  107. package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -0
  108. package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +234 -0
  109. package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +103 -0
  110. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -0
  111. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -0
  112. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +108 -0
  113. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -0
  114. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -0
  115. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -0
  116. package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -0
  117. package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -0
  118. package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +392 -0
  119. package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -0
  120. package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +313 -0
  121. package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -0
  122. package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +166 -0
  123. package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +309 -0
  124. package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -0
  125. package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -0
  126. package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +361 -0
  127. package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +146 -0
  128. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +253 -0
  129. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +115 -0
  130. package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +263 -0
  131. package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -0
  132. package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -0
  133. package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -0
  134. package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -0
  135. package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +519 -0
  136. package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -0
  137. package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +93 -0
  138. package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -0
  139. package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -0
  140. package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +433 -0
  141. package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -0
  142. package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +789 -0
  143. package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -0
  144. package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +229 -0
  145. package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -0
  146. package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -0
  147. package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +576 -0
  148. package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +575 -0
  149. package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -0
  150. package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +491 -0
  151. package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -0
  152. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -0
  153. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +433 -0
  154. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -0
  155. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +789 -0
  156. package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -0
  157. package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +312 -0
  158. package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -0
  159. package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +134 -0
  160. package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -0
  161. package/vendor/Server/Skills/flutter-interface/README.md +75 -0
  162. package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -0
  163. package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -0
  164. package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -0
  165. package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -0
  166. package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -0
  167. package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +518 -0
  168. package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +382 -0
  169. package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +342 -0
  170. package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -0
  171. package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +519 -0
  172. package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +407 -0
  173. package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +653 -0
  174. package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +397 -0
  175. package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +745 -0
  176. package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +721 -0
  177. package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -0
  178. package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -0
  179. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -0
  180. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -0
  181. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -0
  182. package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -0
  183. package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -0
  184. package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -0
  185. package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -0
  186. package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +301 -0
  187. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +105 -0
  188. package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +127 -0
  189. package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +208 -0
  190. package/vendor/Server/Skills/rn-code-check/SKILL.md +321 -0
  191. package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +235 -0
  192. package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +189 -0
  193. package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +247 -0
  194. package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -0
  195. package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -0
  196. package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -0
  197. package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -0
  198. package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -0
  199. package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -0
  200. package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -0
  201. package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -0
  202. package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -0
  203. package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -0
  204. package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -0
  205. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -0
  206. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -0
  207. package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -0
  208. package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -0
  209. package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -0
  210. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -0
  211. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -0
  212. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -0
  213. package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -0
  214. package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -0
  215. package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -0
  216. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -0
  217. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -0
  218. package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -0
  219. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -0
  220. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +684 -0
  221. package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -0
  222. package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -0
  223. package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -0
  224. package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -0
  225. package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -0
  226. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -0
  227. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -0
  228. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -0
  229. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -0
  230. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -0
  231. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -0
  232. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -0
  233. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -0
  234. package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -0
  235. package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -0
  236. package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -0
  237. package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -0
  238. package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -0
  239. package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -0
  240. package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -0
  241. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -0
  242. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -0
  243. package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -0
  244. package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -0
  245. package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -0
  246. package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -0
  247. package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -0
  248. package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +58 -0
  249. package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -0
  250. package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -0
  251. package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +75 -0
  252. package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -0
  253. package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +339 -0
  254. package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +83 -0
  255. package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +859 -0
  256. package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +122 -0
  257. package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +279 -0
  258. package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -0
  259. package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -0
  260. package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -0
  261. package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -0
  262. package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -0
  263. package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +506 -0
  264. package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +280 -0
  265. package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -0
  266. package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +209 -0
  267. package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -0
  268. package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -0
  269. package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -0
  270. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -0
  271. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -0
  272. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -0
  273. package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -0
  274. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -0
  275. package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -0
  276. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -0
  277. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -0
  278. package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -0
  279. package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -0
  280. package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -0
  281. package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -0
  282. package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -0
  283. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -0
  284. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -0
  285. package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -0
  286. package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -0
  287. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -0
  288. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -0
  289. package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -0
  290. package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -0
  291. package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -0
  292. package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -0
  293. package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -0
  294. package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -0
  295. package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -0
  296. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -0
  297. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -0
  298. package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -0
  299. package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -0
  300. package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -0
  301. package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -0
  302. package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +498 -0
  303. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -0
  304. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -0
  305. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -0
  306. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -0
  307. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -0
  308. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -0
  309. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -0
  310. package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -0
  311. package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -0
  312. package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -0
  313. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -0
  314. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -0
  315. package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -0
  316. package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -0
  317. package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -0
  318. package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -0
  319. package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -0
  320. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -0
  321. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -0
  322. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -0
  323. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -0
  324. package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -0
  325. package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -0
  326. package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -0
  327. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -0
  328. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -0
  329. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -0
  330. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -0
  331. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -0
  332. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -0
  333. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -0
  334. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -0
  335. package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -0
  336. package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -0
  337. package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -0
  338. package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -0
  339. package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -0
  340. package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -0
  341. package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +255 -0
  342. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +77 -0
  343. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -0
  344. package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +174 -0
  345. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -0
  346. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -0
  347. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -0
  348. package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +137 -0
  349. package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -0
  350. package/vendor/Server/Skills/skill-generator/SKILL.md +365 -0
  351. package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -0
  352. package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -0
  353. package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -0
  354. package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -0
  355. package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -0
  356. package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -0
  357. package/vendor/Server/Skills/task-analysis/SKILL.md +234 -0
  358. package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -0
  359. package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -0
  360. package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -0
  361. package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -0
  362. package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -0
  363. package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -0
  364. package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -0
  365. package/vendor/Server/Skills/task-decomposition/SKILL.md +529 -0
  366. package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -0
  367. package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -0
  368. package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -0
  369. package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -0
  370. package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -0
  371. package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -0
  372. package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -0
  373. package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -0
  374. package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -0
  375. package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -0
  376. package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -0
  377. package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +425 -0
  378. package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -0
  379. package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -0
  380. package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -0
  381. package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -0
  382. package/vendor/Server/TestCheck/TestCheck.js +775 -0
  383. package/vendor/Server/TestCheck/index.js +11 -0
  384. package/vendor/Server/library/McpToolGuide.js +280 -0
  385. package/vendor/Server/library/StatsService.js +127 -0
  386. package/vendor/Server/library/cstTime.js +16 -0
  387. package/vendor/Server/package.json +17 -0
  388. package/vendor/VERSION +3 -0
  389. package/workflows/pr-check.mjs +106 -0
@@ -0,0 +1,299 @@
1
+ ---
2
+ name: rn-library-consistency-check
3
+ description: 对 RN 三方库的鸿蒙化代码进行一致性检视,对比 source/ohos/ 下的鸿蒙化实现与 source/RN/ 下 Android/iOS 原生模块的函数级实现一致性,检测方法缺失、Stub 实现、参数类型致命错误、返回值异常、TurboModule/NAPI 桥接不一致、原生组件 Props/Commands/事件不一致、Props副作用&关联影响不一致、非rawProps属性默认值不一致等问题,生成严苛评分报告(0-100分)。作为 RN 仓库检视流程的第三阶段,依赖稳定性检视和接口规格文档。Use when 需要对 RN 鸿蒙化库进行实现一致性检视或评估鸿蒙化完成度。
4
+ license: Apache-2.0
5
+ compatibility: 需要访问双仓库源码(ohos + RN 上游)、对比鸿蒙化与 Android/iOS 原生实现
6
+ metadata:
7
+ version: "1.0.0"
8
+ ---
9
+
10
+ # RNLibraryConsistencyCheckSkill
11
+
12
+ 对 RN 三方库的**鸿蒙化实现代码**进行一致性检视,对比 `source/ohos/` 中的鸿蒙化实现与 `source/RN/` 中 Android/iOS 原生模块的实现。按四类型(`cppComp`/`cppTM`/`arktsComp`/`arktsTM`)分类检视:组件类检查 Props/Command/Methods/Callback/Lifecycle 五个关键点 + Props副作用&关联影响 + 非rawProps属性默认值;TurboModule 类检查函数签名/返回值/实现逻辑三个关键点。每个检查点均要求与 Android/iOS 做行为级对比,**最关键检查项为实现逻辑一致性**。扣分按四维度路由,副作用&关联影响、非rawProps默认值采用条件路由(有文档且合理→维度4,其余→维度2)。
13
+
14
+ > ⚠️ **核心定位与原则**:
15
+ > 1. 本 SKILL 同时使用**两个仓库**的源码:`source/ohos/`(鸿蒙化)和 `source/RN/`(上游原库)
16
+ > 2. **一致性对比必须以具体函数为粒度**,禁止使用模糊文字描述(如"连接管理")
17
+ > 3. 每个对比项必须包含:函数名、签名、文件位置、代码片段
18
+ > 4. 检视范围仅限鸿蒙化代码 vs 原库 Android/iOS 原生实现
19
+
20
+ ---
21
+
22
+ ## 任务参数
23
+
24
+ | 参数 | 必需 | 说明 |
25
+ |------|------|------|
26
+ | `repoUrl` | ✅ | 鸿蒙化仓库地址 |
27
+ | `outputDir` | ✅ | 输出目录绝对路径 |
28
+ | `interfaceDocPath` | ✅ | 接口规格说明文档路径 |
29
+ | `repoName` | ✅ | 仓库名称 |
30
+
31
+ ---
32
+
33
+ ## 输入依赖
34
+
35
+ 本 SKILL 是 RN 仓库检视流程的**第三阶段**,依赖:
36
+
37
+ - **前置 SKILL**: `rn-library-interface-check`、`rn-library-stability-check`
38
+ - **输入文件**: `接口规格说明.md`、`稳定性检视报告.md`
39
+ - **仓库源码**: `{outputDir}/source/ohos/`(鸿蒙化)+ `{outputDir}/source/RN/`(原库)
40
+
41
+ ---
42
+
43
+ ## 工作流程概览
44
+
45
+ ```
46
+ Phase 0: 鸿蒙代码智能定位与范围识别(四类型 cppComp/cppTM/arktsComp/arktsTM)
47
+
48
+ Phase 1: cppComp 检视(C++ 组件层)— Props/Command/Methods/Callback/Lifecycle
49
+
50
+ Phase 2: cppTM 检视(C++ TurboModule 层)— 函数签名/返回值/实现逻辑
51
+
52
+ Phase 3: arktsComp 检视(ArkTS @Component 层)— Props/Command/Methods/Callback/Lifecycle
53
+
54
+ Phase 4: arktsTM 检视(ArkTS TurboModule 层)— 函数签名/返回值/实现逻辑 ⚠️最关键
55
+
56
+ Phase 5: 其他架构检视 — NAPI桥接/NativeModule架构/平台差异记录
57
+
58
+ Phase 6: 严苛评分计算 — 四维度加权扣分制(0-100分)
59
+
60
+ Phase 7: 生成报告 — 一致性检视报告.md
61
+ ```
62
+
63
+ > 📖 **详细参考文档索引**(渐进式披露,按需加载):
64
+ >
65
+ > | 参考文件 | 内容 | 加载时机 |
66
+ > |----------|------|----------|
67
+ > | [references/SCORING_STANDARD.md](references/SCORING_STANDARD.md) | 完整扣分规则、豁免规则、归零规则、维度加权计算 | Phase 6 评分计算时 |
68
+ > | [references/NATIVE_COMPONENT_IDENTIFICATION.md](references/NATIVE_COMPONENT_IDENTIFICATION.md) | 四类型原生实体识别、注册链路定位流程、搜索模式 | Phase 0 代码定位时 |
69
+ > | [references/CPP_COMPONENT_CHECK_GUIDE.md](references/CPP_COMPONENT_CHECK_GUIDE.md) | C++ 组件层检视:Props/Command/Methods/Callback/Lifecycle 检查点详细操作 | Phase 1 执行时 |
70
+ > | [references/CPP_TURBOMODULE_CHECK_GUIDE.md](references/CPP_TURBOMODULE_CHECK_GUIDE.md) | C++ TurboModule 层检视:函数签名/返回值/实现逻辑 详细操作 | Phase 2 执行时 |
71
+ > | [references/ARKTS_COMPONENT_CHECK_GUIDE.md](references/ARKTS_COMPONENT_CHECK_GUIDE.md) | ArkTS @Component 层检视:Props/Command/Methods/Callback/Lifecycle + 副作用&默认值 | Phase 3 执行时 |
72
+ > | [references/ARKTS_TURBOMODULE_CHECK_GUIDE.md](references/ARKTS_TURBOMODULE_CHECK_GUIDE.md) | ArkTS TurboModule 层检视:函数签名/返回值/实现逻辑 + Stub检测 | Phase 4 执行时 |
73
+ > | [references/FUNCTION_COMPARISON_GUIDE.md](references/FUNCTION_COMPARISON_GUIDE.md) | 函数级对比规范:粒度要求、提取流程、对比表格格式、Stub识别特征 | 各Phase对比时 |
74
+ > | [references/CHECKLIST.md](references/CHECKLIST.md) | RN 一致性检视清单:四维度检查项速查表 | 检视过程参考 |
75
+ > | [assets/REPORT_TEMPLATE.md](assets/REPORT_TEMPLATE.md) | 报告输出模板:完整Markdown格式规范 | Phase 7 生成报告时 |
76
+
77
+ ---
78
+
79
+ ## 评分体系摘要
80
+
81
+ 采用**严苛扣分制**(从100分开始扣减),按四维度加权:
82
+
83
+ | 维度编号 | 维度 | 权重 | 满分 | 核心检查内容 |
84
+ |----------|------|------|------|-------------|
85
+ | 维度1 | API 契约一致性 | 35% | 35 | 方法签名、参数类型、返回值、事件/回调对比 |
86
+ | 维度2 | 平台实现一致性 | 30% | 30 | Android/iOS vs OHOS 函数级功能对比;副作用&默认值(无文档/不合理部分) |
87
+ | 维度3 | RN 架构一致性 | 20% | 20 | TurboModule/NativeModule/NAPI 桥接一致性 |
88
+ | 维度4 | 平台适配合理性 | 15% | 15 | 合理差异判定;副作用&默认值(有文档且合理部分) |
89
+
90
+ **归零规则**:致命≥4 / 致命≥3+严重≥2 / 累计扣分>60 / 无鸿蒙代码 / 全部Stub → 0分
91
+
92
+ > 📖 完整扣分规则、豁免规则、条件路由规则、评分等级说明详见 [SCORING_STANDARD.md](references/SCORING_STANDARD.md)
93
+
94
+ ---
95
+
96
+ ## Phase 0:鸿蒙代码智能定位与范围识别
97
+
98
+ 鸿蒙化代码位置**可能不固定**,必须通过智能搜索定位实际实现。
99
+
100
+ ### 0.1 四类型原生桥接实体识别
101
+
102
+ RN 库的鸿蒙化代码包含四种类型的原生桥接实体,必须分别识别:
103
+
104
+ | 类型标识 | 全称 | 关键文件特征 |
105
+ |----------|------|-------------|
106
+ | `cppComp` | C++ 组件层 | `*Package.h`、`*JSIBinder.h`、`*NapiBinder.h` |
107
+ | `cppTM` | C++ TurboModule 层 | `*TurboModule*FactoryDelegate*`、`turbo_modules/*JSIBinder.h` |
108
+ | `arktsComp` | ArkTS 组件层 | `@Component struct`、`*EtsProps.ts`、`*EtsCommandPayload.ts` |
109
+ | `arktsTM` | ArkTS TurboModule 层 | `*TurboModule.ets`、`generated/turboModules/*.ts` |
110
+
111
+ ### 0.2 搜索流程
112
+
113
+ 搜索分两步执行:
114
+
115
+ 1. **JS/TS 层扫描与名称提取**:定位 `codegenNativeComponent`(组件注册)和 `TurboModuleRegistry.getEnforcing`(TM注册),提取组件名和TM名清单
116
+ 2. **四类桥接层文件识别**:根据名称清单逐一定位各类型的桥接层文件和实现文件
117
+
118
+ > 📖 详细搜索步骤、关键词模式、提取模板详见 [NATIVE_COMPONENT_IDENTIFICATION.md](references/NATIVE_COMPONENT_IDENTIFICATION.md)
119
+
120
+ ### 0.3 搜索结果判定
121
+
122
+ | 搜索结果 | 判定 | 下一步 |
123
+ |----------|------|--------|
124
+ | 找到 `*.ets`/`*.cpp`/`*.h`/`@ohos`/NAPI 绑定 | 定位鸿蒙化代码 | 进入对应Phase |
125
+ | 找到 RN 原生组件注册链路 | 按四类型分别定位 | 进入 Phase 1-4 |
126
+ | ❌ 无任何鸿蒙特征 | 未实现鸿蒙化 | **评分 0 分** |
127
+
128
+ > 💡 RN 库可能同时包含四种类型实体,每种类型独立检视、独立扣分。
129
+
130
+ ### 0.4 检视范围记录
131
+
132
+ 必须在报告中记录实际定位到的鸿蒙代码位置(搜索方法、定位结果、文件数、类型标识)。四类型原生实体定位记录表格式详见 [REPORT_TEMPLATE.md](assets/REPORT_TEMPLATE.md) 第四节。
133
+
134
+ ---
135
+
136
+ ## Phase 1:cppComp 检视(C++ 组件层)
137
+
138
+ > ⚠️ **适用条件**:Phase 0 中识别到 `cppComp` 类型文件时必须执行。
139
+ > 📖 **完整检视方法**详见 [CPP_COMPONENT_CHECK_GUIDE.md](references/CPP_COMPONENT_CHECK_GUIDE.md) 第 3 节
140
+
141
+ 每个检查点覆盖三个维度:**①契约一致性**、**②平台实现差异**、**③架构桥接一致性**。
142
+
143
+ | 检查点 | ①契约一致性 | ②平台实现差异 | ③架构桥接一致性 |
144
+ |--------|-------------|---------------|-----------------|
145
+ | **Props** | 传递完整性(-8/个)、类型一致性(-5)、默认值(-4)、NapiBinder桥接(-5) | 实现逻辑一致性(-8~-15);副作用&关联影响(条件路由) | 全链路断桥检测(JS→C++→ArkTS→build()) |
146
+ | **Command** | 注册完整性(-8)、签名一致性(-8/-15) | 实现逻辑一致性(-10~-15)、边界处理(-8) | (已覆盖) |
147
+ | **Methods** | 组件名一致性(-5) | N/A | Package注册(-8)、JSIBinder映射(-8) |
148
+ | **Callback** | 事件注册(-5)、事件名映射(-5)、数据格式(-6) | 回调触发时机一致性(-8) | C++事件名→OHOS映射(-5) |
149
+ | **Lifecycle** | N/A | 构造逻辑(-5)、析构逻辑(-5) | (已覆盖) |
150
+
151
+ ---
152
+
153
+ ## Phase 2:cppTM 检视(C++ TurboModule 层)
154
+
155
+ > ⚠️ **适用条件**:Phase 0 中识别到 `cppTM` 类型文件时必须执行。
156
+ > 📖 **完整检视方法**详见 [CPP_TURBOMODULE_CHECK_GUIDE.md](references/CPP_TURBOMODULE_CHECK_GUIDE.md) 第 3 节
157
+
158
+ | 检查点 | ①契约一致性 | ②平台实现差异 | ③架构桥接一致性 |
159
+ |--------|-------------|---------------|-----------------|
160
+ | **函数签名** | TM名一致性(-5)、方法名(-8)、方法存在性(-10)、参数数量(-8)、参数类型(-10)、参数顺序(-6) | 方法签名vs Android/iOS | TurboModule注册完整性(-10) |
161
+ | **返回值** | 返回值类型(-10)、语义(-8)、Promise(-6)、getConstants()(-5) | 返回值vs Android/iOS | (已覆盖) |
162
+ | **实现逻辑** | N/A | C++→ArkTS映射(-8)、回调绑定(-8)、回调参数类型(-10) | (已覆盖) |
163
+
164
+ ---
165
+
166
+ ## Phase 3:arktsComp 检视(ArkTS @Component 层)
167
+
168
+ > ⚠️ **适用条件**:Phase 0 中识别到 `arktsComp` 类型文件时必须执行。
169
+ > 📖 **完整检视方法**详见 [ARKTS_COMPONENT_CHECK_GUIDE.md](references/ARKTS_COMPONENT_CHECK_GUIDE.md) 第 3 节
170
+
171
+ **⚠️ 前置过滤规则**:检视前先检查 JS/TS Spec 注册的 Component 名是否在 ArkTS Package 中注册。未注册 → 致命-15 + ⛔跳过该组件内部逐项检查。
172
+
173
+ | 检查点 | ①契约一致性 | ②平台实现差异 | ③架构桥接一致性 |
174
+ |--------|-------------|---------------|-----------------|
175
+ | **Props** | rawProps读取完整性(-5/-3)、类型断言(-4)、默认值(-4)、build()断桥(-5/-3) | 实现逻辑一致性(-8~-15);副作用&关联影响(条件路由);非rawProps默认值(-12/-8) | (已覆盖) |
176
+ | **Command** | 注册完整性(-15)、签名(-8)、参数类型(-15)、fall-through(-10) | 实现逻辑一致性(-10~-15)、边界处理(-8) | (已覆盖) |
177
+ | **Methods** | 组件名注册一致性(-5) | N/A | (已覆盖) |
178
+ | **Callback** | Events emit完整性(-8)、Payload完整性(-3/字段) | 回调触发时机一致性(-8) | (已覆盖) |
179
+ | **Lifecycle** | N/A | aboutToAppear(-5)、aboutToDisappear(-5) | (已覆盖) |
180
+
181
+ ---
182
+
183
+ ## Phase 4:arktsTM 检视(ArkTS TurboModule 层)
184
+
185
+ > ⚠️ **适用条件**:Phase 0 中识别到 `arktsTM` 类型文件时必须执行。
186
+ > 📖 **完整检视方法**详见 [ARKTS_TURBOMODULE_CHECK_GUIDE.md](references/ARKTS_TURBOMODULE_CHECK_GUIDE.md) 第 3 节
187
+
188
+ **⚠️ 前置过滤规则**:检视前先检查 JS/TS Spec 注册的 TurboModule 名是否在 ArkTS Factory 中注册。未注册 → 致命-15 + ⛔跳过该TM内部方法逐项检查。
189
+
190
+ **Stub 识别特征**:方法体仅有 `return` 固定值;未调用 `@ohos` API;未执行实际业务操作。
191
+
192
+ | 检查点 | ①契约一致性 | ②平台实现差异 | ③架构桥接一致性 |
193
+ |--------|-------------|---------------|-----------------|
194
+ | **函数签名** | NAME常量(-5)、Spec接口实现(-8)、方法存在性(-15)、签名(-8)、参数类型(-10)、参数顺序(-6) | 方法签名vs Android/iOS | (已覆盖) |
195
+ | **返回值** | 返回值类型(-10)、语义(-8)、Promise(-6)、常量导出(-5)、常量值(-3) | 返回值vs Android/iOS | (已覆盖) |
196
+ | **实现逻辑 ⚠️最关键** | N/A | Stub检测(致命-8/合理0)、方法行为跨平台对比(致命-15/严重-12)、边界处理(-8)、错误处理(-6) | 回调/事件机制(-12) |
197
+
198
+ ---
199
+
200
+ ## Phase 5:其他架构检视(如适用)
201
+
202
+ ### 5.1 NAPI/C++ 桥接层一致性(适用于含 C++ Native 层但非 RN 新架构的库)
203
+
204
+ | 检查项 | 对比对象 | 扣分 |
205
+ |--------|----------|------|
206
+ | NAPI 函数注册 | C++ 导出函数 vs JS 期望方法 | -8 |
207
+ | NAPI 类型转换 | napi_value 类型与 JS 期望类型 | -10 |
208
+ | JSI 绑定一致性 | JSI HostFunction vs 原库实现 | -8 |
209
+
210
+ ### 5.2 NativeModule 架构一致性(适用于旧架构库)
211
+
212
+ | 检查项 | 对比对象 | 扣分 |
213
+ |--------|----------|------|
214
+ | 模块名注册 | Android getName() vs OHOS 模块名 | -5 |
215
+ | 方法导出 | @ReactMethod / RCT_EXPORT_METHOD vs OHOS 导出 | -8 |
216
+ | Promise 处理 | Android/iOS Promise vs OHOS Promise | -6 |
217
+ | Callback 处理 | Android/iOS Callback vs OHOS 回调 | -5 |
218
+ | 事件发送 | Android/iOS sendEvent vs OHOS 事件 | -5 |
219
+
220
+ ### 5.3 平台差异记录
221
+
222
+ | 检查项 | 检查内容 | 扣分 |
223
+ |--------|----------|------|
224
+ | OHOS 限制标注 | 特有限制是否文档化 | -3 |
225
+ | 平台检测机制 | 是否有 `Platform.OS` 判断 | -2 |
226
+ | 平台差异文档 | 是否有 README 说明差异 | -3 |
227
+
228
+ ---
229
+
230
+ ## Phase 6:严苛评分计算
231
+
232
+ 基于 Phase 1-5 检视结果进行**四维度加权扣分**(0-100分):
233
+
234
+ 1. 按检查项维度标签将扣分归入对应维度(①→维度1, ②→维度2, ③→维度3)
235
+ 2. 副作用&关联影响、非rawProps默认值采用**条件路由**:无文档/不合理→维度2,有文档且合理→维度4
236
+ 3. 各维度实际扣分 = min(扣分上限, 累计扣分)
237
+ 4. 执行归零检查(致命≥4 / 致命≥3+严重≥2 / 累计>60 / 无代码 / 全Stub)
238
+ 5. 最终分 = max(0, 100 - 各维度实际扣分之和)
239
+
240
+ > 📖 完整扣分规则、条件路由详情、维度扣分来源映射详见 [SCORING_STANDARD.md](references/SCORING_STANDARD.md)
241
+
242
+ ---
243
+
244
+ ## Phase 7:生成报告
245
+
246
+ 输出文件:`{outputDir}/一致性检视报告.md`
247
+
248
+ > ⚠️ **评分格式要求**:报告必须包含 `**综合评分:XX/100**`(粗体标记,中文冒号),确保 `_parseRNLibraryScore` 函数正确解析。
249
+
250
+ > ⚠️ **扣分维度标注**:所有检视表格扣分列须标注维度编号,格式 `-X(维度N)`。
251
+
252
+ > 📖 完整报告结构、表格模板详见 [REPORT_TEMPLATE.md](assets/REPORT_TEMPLATE.md)
253
+
254
+ ---
255
+
256
+ ## 输出产物
257
+
258
+ | 产物 | 文件名 | 说明 |
259
+ |------|--------|------|
260
+ | 一致性检视报告 | `一致性检视报告.md` | 四类型分类检视 + Props副作用&关联影响分析 + 非rawProps属性默认值对比 + 函数级对比表格 + Stub检测 + 全链路Props对比 + 扣分维度标注 + 平台差异记录 |
261
+
262
+ 所有产物写入 `{outputDir}` 目录。
263
+
264
+ > ⚠️ **输出文件自检**:写入结果文件前,先确认 `一致性检视报告.md` 已存在且内容完整(**独立文件,禁止只写入 result 执行结果文件**)。若报告内容仅在草稿中,必须先将其保存为上述独立文件。
265
+
266
+ ### 结构化指标输出(必须执行)
267
+
268
+ 执行环境会在任务 prompt 中下发一个**结构化指标文件输出路径**(`stepId{X}_loop{L}_meta_{N}.json`)。
269
+ 检视完成后,**必须**将最终评分以下述 JSON 对象写入该路径:
270
+
271
+ ```json
272
+ {
273
+ "consistencyScore": 85,
274
+ "scoreReason": "致命问题2处-30,Stub方法1处-8等(一句话判定依据,≤50字;触发一票否决时必须注明)"
275
+ }
276
+ ```
277
+
278
+ | 字段 | 类型 | 说明 |
279
+ |------|------|------|
280
+ | `consistencyScore` | number | 一致性评分(0-100 整数,与报告中 `**综合评分:XX/100**` 的数值一致) |
281
+ | `scoreReason` | string | 评分判定依据摘要(可选,前端悬浮提示展示;0 分时强烈建议写明触发规则,如"全Stub实现触发归零") |
282
+
283
+ **说明**:该文件由执行框架自动收割入库(前端/历史列表直接读取评分,无需解析报告文本)。若 prompt 未下发该路径则跳过本节。
284
+
285
+ ---
286
+
287
+ ## 评分权重
288
+
289
+ 本 SKILL 在 RN 仓库检视综合评分中权重为 **20%**。
290
+
291
+ ---
292
+
293
+ ## 与前置/后置 SKILL 的衔接
294
+
295
+ | 衔接方向 | SKILL 名称 | 依赖/产出 |
296
+ |----------|-----------|-----------|
297
+ | 前置依赖 | `rn-library-interface-check` | 输入:`接口规格说明.md` |
298
+ | 前置依赖 | `rn-library-stability-check` | 输入:`稳定性检视报告.md` |
299
+ | 后置衔接 | `rn-library-code-quality-check` | 输出:`一致性检视报告.md` 供编码质量检视参考 |
@@ -0,0 +1,293 @@
1
+ # 一致性检视报告输出模板
2
+
3
+ 本模板定义 RN 鸿蒙化一致性检视报告的完整输出格式。检视报告必须严格遵循此格式,确保 `_parseRNLibraryScore` 函数能正确解析评分。
4
+
5
+ > 📖 **引用来源**:SKILL.md Phase 7 输出格式规范节的详细内容。
6
+
7
+ > ⚠️ **扣分维度标注规则**:所有检视表格的扣分列,必须在分数后标注维度编号,格式为 **`-X(维度N)`**。详见 [SCORING_STANDARD.md](references/SCORING_STANDARD.md) 第 7 节。
8
+
9
+ > ⚠️ **评分格式要求**:必须包含 `**综合评分:XX/100**`(粗体标记,中文冒号)。
10
+
11
+ ---
12
+
13
+ ## 报告结构
14
+
15
+ ```markdown
16
+ # {repoName} 一致性检视报告
17
+
18
+ ## 一、检视概览
19
+
20
+ | 字段 | 内容 |
21
+ |------|------|
22
+ | **仓库名称** | {repoName} |
23
+ | **检视类型** | RN 鸿蒙化实现一致性检视 |
24
+ | **检视时间** | {timestamp} |
25
+ | **对比平台** | Android / iOS / OHOS |
26
+ | **分析方法数** | {methodCount} |
27
+ | **致命问题数** | {criticalCount} |
28
+ | **严重问题数** | {majorCount} |
29
+
30
+ ## 二、综合评分
31
+
32
+ **综合评分:{score}/100**
33
+
34
+ 评分等级:{grade}
35
+
36
+ > 评分说明:采用严苛扣分制,从 100 分开始扣减,最低 0 分。致命/严重/中等/轻微问题独立扣分计算。
37
+
38
+ ## 三、各维度评分明细
39
+
40
+ | 维度编号 | 检视维度 | 权重 | 扣分 | 维度得分 | 致命数 | 严重数 | 中等数 | 轻微数 |
41
+ |----------|----------|------|------|----------|--------|--------|--------|--------|
42
+ | 维度1 | API 契约一致性 | 35% | {api扣分} | {api得分} | {c1} | {m1} | {n1} | {l1} |
43
+ | 维度2 | 平台实现一致性 | 30% | {platform扣分} | {platform得分} | {c2} | {m2} | {n2} | {l2} |
44
+ | 维度3 | RN 架构一致性 | 20% | {arch扣分} | {arch得分} | {c3} | {m3} | {n3} | {l3} |
45
+ | 维度4 | 平台适配合理性 | 15% | {adapt扣分} | {adapt得分} | {c4} | {m4} | {n4} | {l4} |
46
+
47
+ **扣分明细**(按四类型分组,表格形式,每项标注维度编号):
48
+
49
+ | # | 类型 | 检查点 | 方法名/属性名 | 问题描述 | 文件:行号 | 严重度 | 维度 | 扣分 |
50
+ |---|------|--------|-------------|---------|----------|--------|------|------|
51
+ | 1 | arktsTM | 实现逻辑 | `startScan` 参数 `force` 类型错误 (boolean→string) | 参数类型致命错误 | `NativeModule.ets:344` | 致命 | 维度1 | -15 |
52
+ | 2 | arktsTM | 实现逻辑 | `removeBond` 为 Stub 方法,返回 `true` 未调用 `unpairDevice()` | Stub实现 | `NativeModule.ets:278` | 致命 | 维度2 | -8 |
53
+ | 3 | cppComp | Props | `src` Prop JSIBinder→NapiBinder 断桥 | 桥接缺失 | `JSIBinder.h:56` | 中等 | 维度3 | -5 |
54
+ | 4 | arktsComp | Props副作用 | `forceDarkOn` 影响 backgroundColor(White/Transparent),Android无此副作用,无文档说明 | 无文档副作用 | `RNCWebView.ets:547` | 致命 | 维度2 | -15 |
55
+ | ... | ... | ... | ... | ... | ... | ... | ... | ... |
56
+
57
+ ## 四、检视范围
58
+
59
+ ### 鸿蒙代码智能定位结果
60
+
61
+ | 搜索方法 | 类型 | 定位结果 | 文件数 | 状态 |
62
+ |----------|------|----------|--------|------|
63
+ | `codegenNativeComponent` | arktsComp/cppComp | JS 层组件注册文件 | X | ✅/⚠️ 无 |
64
+ | `TurboModuleRegistry.getEnforcing` | arktsTM/cppTM | JS 层 TurboModule Spec 文件 | X | ✅/⚠️ 无 |
65
+ | `*Package extends RNOHPackage` | — | ArkTS Package 注册文件 | X | ✅/⚠️ 无 |
66
+ | C++ Package | cppComp | `harmony/<module>/src/main/cpp/*Package.h` | X | ✅/⚠️ 无 |
67
+ | C++ JSIBinder | cppComp | `generated/*JSIBinder.h` | X | ✅/⚠️ 无 |
68
+ | C++ NapiBinder | cppComp | `generated/*NapiBinder.h` | X | ✅/⚠️ 无 NapiBinder |
69
+ | C++ EventEmitRequestHandler | cppComp | `*Package.h` 中 `supportedEventNames` | X | ✅/⚠️ 无 |
70
+ | C++ TurboModule FactoryDelegate | cppTM | `generated/turbo_modules/*` | X | ✅/⚠️ 无 |
71
+ | C++ TurboModule JSIBinder | cppTM | `turbo_modules/*JSIBinder.h` | X | ✅/⚠️ 无 |
72
+ | @Component struct | arktsComp | 组件实现文件 | X | ✅/⚠️ 无 |
73
+ | generated Props 类型 | arktsComp | `generated/*EtsProps.ts` | X | ✅/⚠️ 无 |
74
+ | generated Commands Payload | arktsComp | `generated/*EtsCommandPayload.ts` | X | ✅/⚠️ 无 |
75
+ | generated EventEmitRequestHandler | arktsComp | `generated/*EtsEventEmitRequestHandler.ts` | X | ✅/⚠️ 无 |
76
+ | ArkTS TurboModule 实现文件 | arktsTM | `harmony/<module>/src/main/ets/*TurboModule.ets` | X | ✅/⚠️ 无 |
77
+ | generated TurboModule Spec 类型 | arktsTM | `generated/turboModules/*.ts` | X | ✅/⚠️ 无 |
78
+
79
+ ### 四类型原生实体注册链路
80
+
81
+ | 原生实体名 | 类型 | JS 层注册文件:行号 | 桥接层文件:行号 | 原生实现文件:行号 |
82
+ |------------|------|-------------------|---------------|-------------------|
83
+ | {组件名} | cppComp | {JS文件}:{行号} | {JSIBinder}:{行号}; {NapiBinder}:{行号} | {Package.h}:{行号} |
84
+ | {TurboModule名} | cppTM | {JS Spec}:{行号} | {JSIBinder}:{行号}; {FactoryDelegate}:{行号} | {FactoryDelegate.h}:{行号} |
85
+ | {组件名} | arktsComp | {JS文件}:{行号} | {EtsProps}:{行号}; {EtsCommandPayload}:{行号} | {Component.ets}:{行号} |
86
+ | {TurboModule名} | arktsTM | {JS Spec}:{行号} | {TM Spec.ts}:{行号} | {TurboModule.ets}:{行号} |
87
+
88
+ > 若库不含某类型实体,在表中标注"⚠️ 无该类型"即可。
89
+
90
+ ### 对比参考定位
91
+
92
+ | 平台 | 目录 | 文件数 | 状态 |
93
+ |------|--------|--------|------|
94
+ | Android | `source/RN/android/` | X | ✅ |
95
+ | iOS | `source/RN/ios/` | X | ✅ |
96
+ | JS 接口 | `source/RN/src/` | - | ⚠️ 仅接口定义 |
97
+
98
+ ## 五、详细检视结果(按四类型分类)
99
+
100
+ #### cppComp 检视结果(C++ 组件层,如适用)
101
+
102
+ > 📖 详见 [CPP_COMPONENT_CHECK_GUIDE.md](references/CPP_COMPONENT_CHECK_GUIDE.md) 第 6 节输出格式。
103
+
104
+ **C++ Package 模式**:{Thin Wrapper / Hand-Written / ⚠️ 无 cppComp}
105
+
106
+ **1. Props 检视**:
107
+
108
+ | # | Prop 名 | 上游 NativeProps | C++ JSIBinder | C++ NapiBinder | OHOS DirectRawProps | ArkTS rawProps 使用 | 断桥位置 | 扣分 |
109
+ |---|---------|----------------|--------------|---------------|--------------------|-------------------|---------|------|
110
+ | ... | ... | ... | ... | ... | ... | ... | ... | ... |
111
+
112
+ **1a. Props 副作用&关联影响分析**(仅 C++ 渲染模式;桥接转发模式标注"⛔ 由arktsComp覆盖"):
113
+
114
+ | # | 渲染模式 | Prop 名 | 主映射行为 | 副作用/关联影响 | Android/iOS 是否有同副作用 | 文档说明 | 文档合理性 | 致命度 | 扣分 |
115
+ |---|---------|---------|-----------|-------------|--------------------------|---------|-----------|--------|------|
116
+ | (桥接转发)| ⛔ 桥接转发 | — | — | — | — | — | — | — | 0 |
117
+ | (C++渲染)| ✅ C++渲染 | `propA` | ... | ... | ❌ | ❌ 无文档 | — | 致命 | -15(维度2) |
118
+ | (C++渲染)| ✅ C++渲染 | `propB` | ... | ... | ❌ | ✅ 有文档且合理 | ✅ | 轻微 | -3(维度4) |
119
+
120
+ **2. Command 检视**:
121
+
122
+ | # | Command 名 | 上游 JS Spec | C++ Command handler | C++ 实现逻辑 | Android/iOS 实现 | 实现逻辑一致性 | 扣分 |
123
+ |---|-----------|-------------|--------------------|-------------|----------------|---------------|------|
124
+ | ... | ... | ... | ... | ... | ... | ... | ... |
125
+
126
+ **3. Methods 检视**(Package 注册等):
127
+
128
+ | # | 检查项 | 上游实现 | OHOS C++ 实现 | 状态 | 扣分 |
129
+ |---|--------|---------|-------------|------|------|
130
+ | 1 | 组件注册完整性 | ... | ... | ... | ... |
131
+ | 2 | JSIBinder 映射完整性 | ... | ... | ... | ... |
132
+
133
+ **4. Callback 检视**(EventEmitRequestHandler):
134
+
135
+ | # | 事件名 | 上游 JS onXxx | C++ supportedEventNames | C++→JS 映射 | 回调触发时机 vs Android/iOS | 扣分 |
136
+ |---|--------|-------------|-------------------------|------------|---------------------------|------|
137
+ | ... | ... | ... | ... | ... | ... | ... |
138
+
139
+ **5. Lifecycle 检视**(C++ 组件构造/析构):
140
+
141
+ | # | 生命周期 | Android/iOS 实现 | OHOS C++ 实现 | 一致性 | 扣分 |
142
+ |---|---------|----------------|-------------|--------|------|
143
+ | ... | ... | ... | ... | ... | ... |
144
+
145
+ #### cppTM 检视结果(C++ TurboModule 层,如适用)
146
+
147
+ > 📖 详见 [CPP_TURBOMODULE_CHECK_GUIDE.md](references/CPP_TURBOMODULE_CHECK_GUIDE.md) 第 7 节输出格式。
148
+
149
+ **C++ TurboModule 模式**:{Codegen / Legacy / ⚠️ 无 cppTM}
150
+
151
+ **1. 函数签名检视**:
152
+
153
+ | # | TurboModule 名 | JS Spec 注册名 | C++ FactoryDelegate | C++ JSIBinder 方法 | C++ 文件:行号 | 状态 | 扣分 |
154
+ |---|--------------|--------------|--------------------|-----------------|-------------|------|------|
155
+ | ... | ... | ... | ... | ... | ... | ... | ... |
156
+
157
+ **TurboModule JSIBinder 方法级对比**:
158
+
159
+ | # | 方法名 | JS Spec 签名 | C++ JSIBinder 签名 | C++ 文件:行号 | 状态 | 扣分 |
160
+ |---|--------|-------------|-------------------|-------------|------|------|
161
+ | ... | ... | ... | ... | ... | ... | ... |
162
+
163
+ **2. 返回值检视**:
164
+
165
+ | # | 方法名 | JS Spec 期望返回 | C++ TurboModule 返回 | C++ 文件:行号 | 状态 | 扣分 |
166
+ |---|--------|----------------|--------------------|-------------|------|------|
167
+ | ... | ... | ... | ... | ... | ... | ... |
168
+
169
+ **3. 实现逻辑检视**(C++→ArkTS 映射):
170
+
171
+ | # | TurboModule 名 | C++ FactoryDelegate 类名 | ArkTS TurboModule 类名 | 映射状态 | 扣分 |
172
+ |---|--------------|--------------------|--------------------|--------|------|
173
+ | ... | ... | ... | ... | ... | ... |
174
+
175
+ #### arktsComp 检视结果(ArkTS @Component 层,如适用)
176
+
177
+ > 📖 详见 [ARKTS_COMPONENT_CHECK_GUIDE.md](references/ARKTS_COMPONENT_CHECK_GUIDE.md) 第 7 节输出格式。
178
+
179
+ **ArkTS 组件模式**:{Codegen DirectRawProps / Legacy 手动读取 / ⚠️ 无 arktsComp}
180
+
181
+ **1. Props 检视**:
182
+
183
+ | # | Prop 名 | OHOS generated 类型 | ArkTS rawProps 读取 | as-类型断言 | build() 传递给原生组件 | 上游 Android/iOS Prop 处理 | 实现逻辑一致性 | 断桥位置 | 扣分 |
184
+ |---|---------|--------------------|-------------------|------------|--------------------|------------------------|---------------|---------|------|
185
+ | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
186
+
187
+ **1a. Props 副作用&关联影响分析**:
188
+
189
+ | # | Prop 名 | 主映射原生属性 | 副作用/关联影响原生属性 | Android/iOS 是否有同副作用 | 文档说明 | 文档合理性 | 致命度 | 扣分 |
190
+ |---|---------|-------------|-------------------|--------------------------|---------|-----------|--------|------|
191
+ | 1 | `forceDarkOn` | .darkMode() | .backgroundColor(White/Transparent条件) | ❌ Android始终Transparent | ❌ 无文档 | — | 致命 | -15(维度2) |
192
+ | 2 | `propX` | ... | ... | ✅ | — | — | — | 0 |
193
+ | 3 | `propY` | ... | ... | ❌ | ✅ 有文档且合理 | ✅ | 轻微 | -3(维度4) |
194
+
195
+ **1b. build() 非 rawProps 属性跨平台默认值对比**:
196
+
197
+ | # | 原生属性 | OHOS build() 值 | 值来源类型 | Android 默认值 | iOS 默认值 | 一致性 | 文档说明 | 影响范围 | 扣分 |
198
+ |---|---------|----------------|-----------|-------------|-----------|--------|---------|---------|------|
199
+ | 1 | backgroundColor | getColorMode===On ? White : Transparent | 条件计算 | TRANSPARENT | clearColor | ❌ | ❌ 无文档 | 核心行为 | -12(维度2) |
200
+ | 2 | propX | ... | ... | ... | ... | ❌ | ✅ 有文档且合理 | 次要 | -3(维度4) |
201
+
202
+ **2. Command 检视**:
203
+
204
+ | # | Command 名 | 上游 JS Spec | ArkTS Command handler | ArkTS 实现逻辑 | 上游 Android/iOS Command 实现 | 实现逻辑一致性 | fall-through | 扣分 |
205
+ |---|-----------|-------------|--------------------|--------------|------------------------|---------------|-------------|------|
206
+ | ... | ... | ... | ... | ... | ... | ... | ... | ... |
207
+
208
+ **3. Methods 检视**(组件注册等):
209
+
210
+ | # | 检查项 | 上游实现 | OHOS ArkTS 实现 | 状态 | 扣分 |
211
+ |---|--------|---------|---------------|------|------|
212
+ | 1 | 组件名注册一致性 | ... | ... | ... | ... |
213
+
214
+ **4. Callback 检视**(Events emit):
215
+
216
+ | # | 事件名 | 上游 JS onXxx | C++ Handler | ArkTS emitEvent | ArkTS Payload | 上游 nativeEvent | 回调触发时机 vs Android/iOS | 扣分 |
217
+ |---|--------|-------------|------------|----------------|--------------|----------------|---------------------------|------|
218
+ | ... | ... | ... | ... | ... | ... | ... | ... | ... |
219
+
220
+ **5. Lifecycle 检视**(aboutToAppear/aboutToDisappear):
221
+
222
+ | # | 生命周期 | Android/iOS 实现 | OHOS ArkTS 实现 | 一致性 | 扣分 |
223
+ |---|---------|----------------|---------------|--------|------|
224
+ | ... | ... | ... | ... | ... | ... |
225
+
226
+ #### arktsTM 检视结果(ArkTS TurboModule 层,如适用)
227
+
228
+ > 📖 详见 [ARKTS_TURBOMODULE_CHECK_GUIDE.md](references/ARKTS_TURBOMODULE_CHECK_GUIDE.md) 第 7 节输出格式。
229
+
230
+ **ArkTS TurboModule 模式**:{Codegen(implements TM.Xxx.Spec)/ Legacy(手写)/ ⚠️ 无 arktsTM}
231
+
232
+ **1. 函数签名检视**:
233
+
234
+ | # | TurboModule 名 | ArkTS 类名 | NAME 常量 | JS Spec 注册名 | C++ FactoryDelegate | implements Spec? | 状态 | 扣分 |
235
+ |---|--------------|-----------|----------|--------------|--------------------|----------------|------|------|
236
+ | ... | ... | ... | ... | ... | ... | ... | ... | ... |
237
+
238
+ **方法级签名对比**:
239
+
240
+ | # | 方法名 | JS Spec 签名 | generated Spec 签名 | ArkTS TurboModule 签名 | ArkTS 文件:行号 | 状态 | 扣分 |
241
+ |---|--------|-------------|--------------------|----------------------|---------------|------|------|
242
+ | ... | ... | ... | ... | ... | ... | ... | ... |
243
+
244
+ **2. 返回值检视**:
245
+
246
+ | # | 方法名 | JS Spec 期望返回 | ArkTS TurboModule 返回 | ArkTS 文件:行号 | 状态 | 扣分 |
247
+ |---|--------|----------------|----------------------|---------------|------|------|
248
+ | ... | ... | ... | ... | ... | ... | ... |
249
+
250
+ **常量导出对比**:
251
+
252
+ | # | 常量名 | Android getConstants() | iOS getConstants() | ArkTS TurboModule getConstants() | ArkTS 文件:行号 | 值一致性 | 状态 | 扣分 |
253
+ |---|--------|----------------------|--------------------|--------------------------------|---------------|---------|------|------|
254
+ | ... | ... | ... | ... | ... | ... | ... | ... | ... |
255
+
256
+ **3. 实现逻辑检视**:
257
+
258
+ **Stub 检测**:
259
+
260
+ | # | 方法名 | ArkTS 文件:行号 | Stub 代码 | Android 实现 | iOS 实现 | Stub 合理性 | 缺失逻辑 | 严重度 | 扣分 |
261
+ |---|--------|---------------|----------|-------------|---------|------------|---------|--------|------|
262
+ | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
263
+
264
+ **方法行为跨平台对比**:
265
+
266
+ | # | 方法名 | Android 实现摘要 | iOS 实现摘要 | ArkTS 实现摘要 | ArkTS 文件:行号 | 行为对比状态 | 扣分 |
267
+ |---|--------|----------------|-------------|--------------|---------------|------------|------|
268
+ | ... | ... | ... | ... | ... | ... | ... | ... |
269
+
270
+ #### NAPI/C++ 桥接一致性(如适用,适用于含 C++ Native 层但非 RN 新架构的库)
271
+
272
+ | # | 检查项 | 原库 C++ 实现 | OHOS NAPI 实现 | 状态 | 扣分 |
273
+ |---|--------|-------------|---------------|------|------|
274
+ | ... | ... | ... | ... | ... | ... |
275
+
276
+ #### NativeModule 架构一致性(如适用,适用于旧架构库)
277
+
278
+ | # | 检查项 | Android/iOS 实现 | OHOS 实现 | 状态 | 扣分 |
279
+ |---|--------|-----------------|----------|------|------|
280
+ | ... | ... | ... | ... | ... | ... |
281
+
282
+ ## 六、平台差异记录
283
+
284
+ | # | 差异项 | Android/iOS 实现 | OHOS 实现 | 合理性判定 | 说明 |
285
+ |---|--------|-----------------|----------|-----------|------|
286
+ | 1 | `requestPriority` | ✅ 调用 `gatt.requestConnectionPriority()` | ⛔ 不支持 | 🔶 合理差异 | 鸿蒙蓝牙 API 无对应接口 |
287
+
288
+ ---
289
+
290
+ **报告生成时间**:{timestamp}
291
+ ```
292
+
293
+ > **重要**:报告必须包含 `**综合评分:XX/100**` 格式,且评分值位于"二、综合评分"章节,确保可被 `_parseRNLibraryScore` 函数正确解析。