@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,313 @@
1
+ ---
2
+ name: arkts-library-stability-check
3
+ description: 对 ArkTS 鸿蒙化库核心实现代码进行稳定性检视,分析异常处理、资源释放、并发安全、生命周期管理、NAPI 跨语言调用、调用链完整性,排除 example/demo/sample/test 代码,生成严苛评分报告(0-100分)。作为 ArkTS 仓库检视流程第二阶段,依赖 library-interface-analyzer 输出。当需要对已鸿蒙化的 ArkTS 三方库进行稳定性评估时使用。
4
+ license: Apache-2.0
5
+ compatibility: 需要访问 Git 仓库、分析 ArkTS/ETS 和 C++ 源码
6
+ metadata:
7
+ version: "1.1.0"
8
+ category: harmonyos-testing
9
+ language: ArkTS/ETS/C++
10
+ invoked-by: LoopEngine
11
+ consumed-by: arkts-library-documentation-quality-check
12
+ upstream: arkts-library-interface-spec
13
+ ---
14
+
15
+ # ArktsLibraryStabilityCheckSkill
16
+
17
+ 对**已鸿蒙化的 ArkTS 库**的核心实现代码进行稳定性检视,评估异常处理、资源管理、并发安全、跨语言调用等关键稳定性指标,生成严苛评分报告。
18
+
19
+ > ⚠️ **核心原则**:本 SKILL **仅检视核心实现代码**(对外暴露的 API、核心业务逻辑、NAPI 绑定层),**排除 example、demo、sample 及 test 相关代码**。通过多维度特征扫描智能识别代码范围,而非依赖固定目录名称。
20
+
21
+ ---
22
+
23
+ ## 任务参数
24
+
25
+ | 参数 | 必需 | 说明 |
26
+ |------|------|------|
27
+ | `repoUrl` | ✅ | Git 仓库地址,支持分支参数 `?branch=xxx` |
28
+ | `outputDir` | ✅ | 输出目录绝对路径,存放检视报告 |
29
+ | `interfaceDocPath` | ✅ | 接口规格说明文档路径(由 library-interface-analyzer 生成) |
30
+ | `repoName` | ✅ | 仓库名称(用于报告标识) |
31
+
32
+ ---
33
+
34
+ ## 输入依赖
35
+
36
+ 本 SKILL 是 ArkTS 仓库检视流程的**第二阶段**,依赖:
37
+
38
+ - **前置 SKILL**: `arkts-library-interface-spec`
39
+ - **输入文件**: `接口规格说明.md`(位于 outputDir)
40
+ - **仓库源码**: 已克隆到 `{outputDir}/source/`
41
+
42
+ ---
43
+
44
+ ## 工作流程概览
45
+
46
+ ```
47
+ Phase 1: 鸿蒙代码智能定位 → Phase 2: ArkTS 核心层稳定性分析 → Phase 3: C++ Native 层稳定性分析 → Phase 4: 调用链完整性分析 → Phase 5: 严苛评分计算 → Phase 6: 报告生成
48
+ ```
49
+
50
+ ---
51
+
52
+ ## Phase 1:鸿蒙代码智能定位与范围识别
53
+
54
+ ### 1.1 扫描策略(优先级递减)
55
+
56
+ | 扫描维度 | 特征模式 | 权重 | 说明 |
57
+ |----------|----------|------|------|
58
+ | **文件类型** | `*.ets` 文件 | ⭐⭐⭐ 高 | ArkTS/ETS 是鸿蒙化最强特征 |
59
+ | **配置文件** | `module.json5`、`oh-package.json5` | ⭐⭐⭐ 高 | 鸿蒙特有模块配置 |
60
+ | **API 调用** | `@ohos.*`、`napi_*`、`import from '@ohos'` | ⭐⭐ 中 | 鸿蒙 API 特征 |
61
+ | **C++ NAPI** | `napi_create_reference`、`napi_value` 等 | ⭐⭐ 中 | Native 层鸿蒙绑定 |
62
+ | **目录标识** | 目录名包含 `ohos`、`harmony`、`openharmony` | ⭐ 低 | 辅助参考 |
63
+
64
+ ### 1.2 范围过滤(排除非核心代码)
65
+
66
+ **排除规则**:目录路径含 `example`/`demo`/`sample`/`test`/`tests`/`__test__`/`spec`/`unittest` 的全部排除。文件名含 `example`/`demo`/`sample` 的 `.ets`/`.ts` 文件也排除。
67
+
68
+ ```bash
69
+ # 扫描核心 ArkTS/ETS 文件(排除非核心目录)
70
+ find {sourceDir} -name "*.ets" -type f \
71
+ -not -path "*/example*" -not -path "*/demo*" \
72
+ -not -path "*/sample*" -not -path "*/samples*" \
73
+ -not -path "*/test*" -not -path "*/__test__*" \
74
+ -not -path "*/spec*" -not -path "*/unittest*"
75
+
76
+ # 扫描核心鸿蒙配置文件
77
+ find {sourceDir} \( -name "module.json5" -o -name "oh-package.json5" \) -type f \
78
+ -not -path "*/example*" -not -path "*/demo*" \
79
+ -not -path "*/sample*" -not -path "*/test*"
80
+
81
+ # 扫描核心 NAPI C++ 文件
82
+ grep -r "napi_" --include="*.cpp" --include="*.h" {sourceDir} \
83
+ --exclude-dir="example" --exclude-dir="demo" \
84
+ --exclude-dir="sample" --exclude-dir="test" --exclude-dir="tests"
85
+
86
+ # 扫描核心 @ohos API 导入
87
+ grep -r "import.*@ohos" --include="*.ets" --include="*.ts" {sourceDir} \
88
+ --exclude-dir="example" --exclude-dir="demo" \
89
+ --exclude-dir="sample" --exclude-dir="test" --exclude-dir="tests"
90
+ ```
91
+
92
+ ### 1.3 判定规则
93
+
94
+ | 扫描结果 | 判定 | 评分 | 后续操作 |
95
+ |----------|------|------|----------|
96
+ | 发现核心 `.ets` 文件 | ✅ 存在鸿蒙化 | 正常评分 | 进入 Phase 2 |
97
+ | 发现核心 `module.json5` + NAPI 代码 | ✅ 存在鸿蒙化 | 正常评分 | 进入 Phase 2 |
98
+ | 仅目录名含 `ohos` 但无代码文件 | ⚠️ 疑似未完成 | 0-30 分 | 标注"鸿蒙化代码疑似缺失" |
99
+ | 未发现任何鸿蒙特征(核心代码) | ❌ 未鸿蒙化 | 0 分 | 标注"未发现鸿蒙化核心实现代码" |
100
+ | 仅在 example/demo/sample/test 中发现鸿蒙代码 | ⚠️ 核心实现缺失 | 0 分 | 标注"鸿蒙化代码仅存在于示例中" |
101
+ | 无法访问源码目录 | ❌ 无法检视 | 0 分 | 标注"源码目录不可访问" |
102
+
103
+ > 详细检查清单参见 [references/CHECKLIST.md](references/CHECKLIST.md)
104
+
105
+ ---
106
+
107
+ ## Phase 2:ArkTS 核心实现层稳定性分析
108
+
109
+ **仅检视库核心实现代码**,不分析 example/demo/sample 及 test 代码。每个维度按检查项逐项检视并扣分。
110
+
111
+ ### 2.1 异常处理完整性(25 分)
112
+
113
+ | # | 检查项 | 扣分 | 说明 |
114
+ |---|--------|------|------|
115
+ | E-01 | 核心公共 API 调用无 try-catch | **-10** | 涉及系统 API 调用但无异常捕获(不含 example/demo) |
116
+ | E-02 | Promise rejection 未处理 | **-8** | `.then()` 无 `.catch()` 或 await 无 try-catch |
117
+ | E-03 | 异常吞没 | **-7** | catch 块为空或仅 `console.log` |
118
+ | E-04 | 参数验证缺失 | **-5** | 公共 API 入口无类型/边界/空值检查 |
119
+ | E-05 | 异常类型窄化 | **-3** | 仅捕获特定类型,遗漏其他可能 |
120
+ | E-06 | finally 缺失 | **-2** | 资源操作无 finally 清理路径 |
121
+
122
+ ### 2.2 资源释放安全性(25 分)
123
+
124
+ | # | 检查项 | 扣分 | 说明 |
125
+ |---|--------|------|------|
126
+ | R-01 | 系统资源未释放(sensor/location/network) | **-12** | 未调用 `unregister`/`disable`/`off` |
127
+ | R-02 | 事件订阅未取消 | **-8** | `on()` 无对应 `off()` |
128
+ | R-03 | Stream/Connection 泄露 | **-5** | 打开未关闭的 I/O 流或连接 |
129
+ | R-04 | Timer 未清理 | **-5** | `setInterval`/`setTimeout` 未清除 |
130
+ | R-05 | Worker 未终止 | **-5** | Worker 创建后未 `terminate()` |
131
+
132
+ ### 2.3 并发安全(20 分)
133
+
134
+ | # | 检查项 | 扣分 | 说明 |
135
+ |---|--------|------|------|
136
+ | C-01 | 主线程阻塞 | **-10** | 核心 API 中存在耗时同步操作 |
137
+ | C-02 | 共享状态无同步保护 | **-7** | 多异步回调修改同一状态,无锁/队列 |
138
+ | C-03 | 回调重入 | **-3** | 缺少重入防护标志 |
139
+
140
+ ### 2.4 ArkTS 生命周期管理(10 分)
141
+
142
+ | # | 检查项 | 扣分 | 说明 |
143
+ |---|--------|------|------|
144
+ | L-01 | aboutToDisappear 未清理 | **-8** | 销毁钩子未释放资源/移除监听 |
145
+ | L-02 | @State 持有大引用未释放 | **-2** | 组件销毁后大对象引用未释放 |
146
+
147
+ > 代码示例参见 [references/CODE_EXAMPLES.md](references/CODE_EXAMPLES.md)
148
+
149
+ ---
150
+
151
+ ## Phase 3:C++ Native 核心层稳定性分析
152
+
153
+ **仅检视库核心 NAPI 绑定和 C++ 实现代码**,不分析 example/demo/sample 及 test 代码。
154
+
155
+ ### 3.1 NAPI 跨语言调用(15 分)
156
+
157
+ | # | 检查项 | 扣分 | 说明 |
158
+ |---|--------|------|------|
159
+ | N-01 | napi_ref 创建/释放不匹配 | **-10** | 创建和释放数量不匹配 |
160
+ | N-02 | napi_handle_scope 未清理 | **-8** | 无对应 `napi_close_handle_scope` |
161
+ | N-03 | napi_value 类型转换无边界检查 | **-5** | 缺少类型检查和边界验证 |
162
+ | N-04 | napi_create_async_work 缺少异常处理 | **-5** | 回调未检查返回值 |
163
+ | N-05 | Native 对象与 ArkTS 生命周期不一致 | **-3** | 未绑定 ArkTS 侧 GC 回调 |
164
+
165
+ ### 3.2 C++ 内存管理安全(10 分)
166
+
167
+ | # | 检查项 | 扣分 | 说明 |
168
+ |---|--------|------|------|
169
+ | M-01 | malloc/new 与 free/delete 不匹配 | **-8** | 分配/释放不对称或双重释放 |
170
+ | M-02 | 异常路径资源未释放 | **-5** | try/catch 异常分支未释放 |
171
+ | M-03 | 未使用 RAII 管理资源 | **-3** | 可改用智能指针但未使用 |
172
+
173
+ > 代码示例参见 [references/CODE_EXAMPLES.md](references/CODE_EXAMPLES.md)
174
+
175
+ ---
176
+
177
+ ## Phase 4:核心功能调用链完整性分析
178
+
179
+ **仅追踪库对外暴露的核心功能调用链**,不分析 example/demo/sample 中展示的调用链。**必须追踪至少 3 个库核心功能的完整调用链**。
180
+
181
+ ### 4.1 跨层级调用链追踪
182
+
183
+ 追踪核心功能的完整调用链(ArkTS → Native),检查异常传播路径和资源释放节点:
184
+
185
+ ```
186
+ 调用链示例:
187
+ ArkTS 层 Native (C++) 层
188
+ ├─ publicAPI.method() │
189
+ │ ├─ try-catch ✅/❌ ├─ NativeImpl::execute()
190
+ │ └─ invokeNative() │ ├─ napi_handle_scope ✅/❌
191
+ │ │ ├─ napi_ref 管理 ✅/❌
192
+ ├─ callback/result │ └─ return result
193
+ │ ├─ 异常检查 ✅/❌ │
194
+ │ └─ return to caller │
195
+ ```
196
+
197
+ ### 4.2 异常传播链检查
198
+
199
+ | # | 检查项 | 扣分 | 说明 |
200
+ |---|--------|------|------|
201
+ | CH-01 | ArkTS → Native 异常传播断裂 | **-10** | Native 异常未通过 `napi_throw` 传播 |
202
+ | CH-02 | 跨模块调用异常未传播 | **-8** | 模块间异常被吞没 |
203
+ | CH-03 | 核心调用链缺失异常处理节点 | **-7** | 至少一个节点无异常处理 |
204
+
205
+ ---
206
+
207
+ ## Phase 5:严苛评分计算
208
+
209
+ ### 5.1 维度评分规则
210
+
211
+ 采用**严苛扣分制**,每个维度独立计算:
212
+
213
+ | 维度 | 基础分 | 扣分上限 |
214
+ |------|--------|----------|
215
+ | 异常处理完整性 | 25 | -25 |
216
+ | 资源释放安全性 | 25 | -25 |
217
+ | 并发安全 | 20 | -20 |
218
+ | ArkTS 生命周期 | 10 | -10 |
219
+ | NAPI 跨语言调用 | 15 | -15 |
220
+ | C++ 内存管理 | 10 | -10 |
221
+ | 调用链完整性 | 5 | -5 |
222
+
223
+ **维度得分** = max(0, 基础分 - 该维度累计扣分)
224
+ **综合评分** = Σ(各维度得分),范围 0-100
225
+
226
+ ### 5.2 特殊归零规则
227
+
228
+ | 规则 | 条件 | 结果 |
229
+ |------|------|------|
230
+ | 归零规则 1 | Critical 问题 ≥ 5 个 | **0 分** |
231
+ | 归零规则 2 | Critical ≥ 3 个 + Major ≥ 4 个 | **0 分** |
232
+ | 归零规则 3 | 核心 API 异常处理完全缺失(≥ 3 个无 try-catch) | **0 分** |
233
+ | 归零规则 4 | NAPI 引用管理完全不匹配 | **0 分** |
234
+ | 归零规则 5 | 未发现鸿蒙化核心代码 | **0 分** |
235
+ | 归零规则 6 | 源码目录不可访问 | **0 分** |
236
+
237
+ > 详细评分规则、严重度映射、等级说明参见 [references/SCORING_RULES.md](references/SCORING_RULES.md)
238
+
239
+ ---
240
+
241
+ ## Phase 6:报告生成
242
+
243
+ 在 `{outputDir}` 下生成 `稳定性检视报告.md`,须包含:
244
+
245
+ - **检视概览**:仓库名称、时间、文件数、范围摘要
246
+ - **综合评分**:`**综合评分:{score}/100**`(粗体、中文冒号,后端 `_parseArktsLibraryScore` 依赖此格式)
247
+ - **检视范围**:各维度文件数、检视/排除列表
248
+ - **维度明细**:7 个维度逐项列出发现、扣分和详情
249
+ - **调用链分析**:至少 3 个核心功能调用链图
250
+ - **问题清单**:文件、行号、编号、严重度、描述、修复建议
251
+ - **改进建议**:按 P0/P1/P2 优先级排列
252
+
253
+ > 完整报告模板参见 [assets/REPORT_TEMPLATE.md](assets/REPORT_TEMPLATE.md)
254
+
255
+ ---
256
+
257
+ ## 输出产物
258
+
259
+ | 产物 | 文件名 | 说明 |
260
+ |------|--------|------|
261
+ | 稳定性检视报告 | `稳定性检视报告.md` | 评分 + 维度明细 + 调用链 + 问题清单 + 修复建议 |
262
+
263
+ 所有产物写入 `{outputDir}` 目录。
264
+
265
+ > ⚠️ **输出文件自检**:写入结果文件前,先确认 `稳定性检视报告.md` 已存在且内容完整(**独立文件,禁止只写入 result 执行结果文件**)。若报告内容仅在草稿中,必须先将其保存为上述独立文件。
266
+
267
+ ### 结构化指标输出(必须执行)
268
+
269
+ 执行环境会在任务 prompt 中下发一个**结构化指标文件输出路径**(`stepId{X}_loop{L}_meta_{N}.json`)。
270
+ 检视完成后,**必须**将最终评分以下述 JSON 对象写入该路径:
271
+
272
+ ```json
273
+ {
274
+ "stabilityScore": 85,
275
+ "scoreReason": "异常处理缺失2处-16等(一句话判定依据,≤50字;触发一票否决时必须注明)"
276
+ }
277
+ ```
278
+
279
+ | 字段 | 类型 | 说明 |
280
+ |------|------|------|
281
+ | `stabilityScore` | number | 稳定性评分(0-100 整数,与报告中 `**综合评分:XX/100**` 的数值一致) |
282
+ | `scoreReason` | string | 评分判定依据摘要(可选,前端悬浮提示展示;0 分时强烈建议写明触发规则,如"Critical≥5 触发归零") |
283
+
284
+ **说明**:该文件由执行框架自动收割入库(前端/历史列表直接读取评分,无需解析报告文本)。若 prompt 未下发该路径则跳过本节。
285
+
286
+ ---
287
+
288
+ ## 特殊情况处理
289
+
290
+ | 情况 | 处理方式 | 评分 |
291
+ |------|----------|------|
292
+ | 未发现 `.ets` 核心文件和鸿蒙 API 特征(排除 example/test 后) | 报告标注"未发现鸿蒙化核心实现代码" | 0 分 |
293
+ | 仅在 example/demo/sample/test 中发现鸿蒙代码 | 报告标注"鸿蒙化代码仅存在于示例中" | 0 分 |
294
+ | 仅目录名含 `ohos` 但无代码文件 | 报告标注"鸿蒙化代码疑似缺失" | 0-30 分 |
295
+ | 发现鸿蒙核心代码但解析失败 | 报告标注"解析失败"并说明原因 | 0 分 |
296
+ | 扫描到 `.ets` 但不在 `ohos/` 目录 | 正常检视,标注实际路径 | 正常评分 |
297
+
298
+ ---
299
+
300
+ ## 评分权重
301
+
302
+ 本 SKILL 在 ArkTS 仓库检视综合评分中权重为 **25%**。
303
+
304
+ ---
305
+
306
+ ## 详细参考
307
+
308
+ | 文档 | 内容 |
309
+ |------|------|
310
+ | [检查清单](references/CHECKLIST.md) | 各维度完整检查项、检查方式、判定规则 |
311
+ | [代码示例](references/CODE_EXAMPLES.md) | 各维度正确/错误代码示例对照 |
312
+ | [评分规则](references/SCORING_RULES.md) | 评分计算方式、归零规则、等级说明 |
313
+ | [报告模板](assets/REPORT_TEMPLATE.md) | 输出报告完整格式模板 |
@@ -0,0 +1,154 @@
1
+ # 稳定性检视报告模板
2
+
3
+ > 本模板为 `arkts-library-stability-check` 的最终输出模板。生成报告时**严格遵循此格式**,替换 `{占位符}` 内容。
4
+ >
5
+ > ⚠️ **后端解析依赖**:报告必须包含 `**综合评分:XX/100**` 格式(粗体标记、中文冒号),以便后端 `_parseArktsLibraryScore` 函数正确解析评分。
6
+
7
+ ---
8
+
9
+ ## 报告模板
10
+
11
+ ```markdown
12
+ # {repoName} 稳定性检视报告
13
+
14
+ ## 一、检视概览
15
+
16
+ | 字段 | 内容 |
17
+ |------|------|
18
+ | **仓库名称** | {repoName} |
19
+ | **检视类型** | ArkTS 稳定性检视(核心实现) |
20
+ | **检视时间** | {timestamp} |
21
+ | **分析文件数** | {fileCount} |
22
+ | **检视范围** | {鸿蒙核心代码定位结果摘要} |
23
+ | **排除范围** | example/demo/sample/test 相关代码 |
24
+
25
+ ## 二、综合评分
26
+
27
+ **综合评分:{score}/100**
28
+
29
+ > 评分说明:采用严苛扣分制,7 个维度独立评分后汇总,最低 0 分。**仅对库核心实现代码评分**,example/demo/sample/test 代码不参与评分。
30
+
31
+ | 维度 | 基础分 | 扣分 | 得分 |
32
+ |------|--------|------|------|
33
+ | 异常处理完整性 | 25 | {扣分} | {得分}/25 |
34
+ | 资源释放安全性 | 25 | {扣分} | {得分}/25 |
35
+ | 并发安全 | 20 | {扣分} | {得分}/20 |
36
+ | ArkTS 生命周期管理 | 10 | {扣分} | {得分}/10 |
37
+ | NAPI 跨语言调用 | 15 | {扣分} | {得分}/15 |
38
+ | C++ 内存管理 | 10 | {扣分} | {得分}/10 |
39
+ | 调用链完整性 | 5 | {扣分} | {得分}/5 |
40
+
41
+ **扣分明细**:
42
+ - {检查项编号}:{问题描述}({严重度}):-{扣分值} 分
43
+ - ……
44
+
45
+ {归零规则触发时追加:}
46
+ > ⚠️ 触发归零规则:{规则描述},综合评分直接为 0 分
47
+
48
+ ## 三、检视范围
49
+
50
+ ### 鸿蒙核心代码定位结果
51
+
52
+ **扫描策略**:通过文件类型 + API 特征 + 配置文件智能识别,**排除 example/demo/sample/test 代码**
53
+
54
+ | 扫描维度 | 发现文件数 | 检视状态 |
55
+ |----------|------------|----------|
56
+ | `.ets` 文件(核心) | {count} | ✅ 已检视(核心) |
57
+ | `module.json5` | {count} | ✅ 已检视 |
58
+ | NAPI C++ 文件 | {count} | ✅ 已检视 |
59
+ | `@ohos` API 导入 | {count} 处 | ✅ 已检视 |
60
+ | example/demo/sample/test | {count} | ❌ 已排除 |
61
+
62
+ **实际检视文件列表**(仅核心实现):
63
+ - `{文件路径}` ✅
64
+ - ……
65
+
66
+ **已排除文件列表**:
67
+ - `{example/demo/sample/test 文件路径}` ❌ 已排除(非核心代码)
68
+
69
+ ## 四、检视维度明细
70
+
71
+ ### 4.1 异常处理完整性
72
+
73
+ | 检查项编号 | 检查项 | 严重度 | 发现数量 | 扣分 | 详情 |
74
+ |------------|--------|--------|----------|------|------|
75
+ | E-01 | …… | …… | …… | …… | …… |
76
+ | …… | …… | …… | …… | …… | …… |
77
+
78
+ ### 4.2 资源释放安全性
79
+ ……
80
+
81
+ ### 4.3 并发安全
82
+ ……
83
+
84
+ ### 4.4 ArkTS 生命周期管理
85
+ ……
86
+
87
+ ### 4.5 NAPI 跨语言调用
88
+ ……
89
+
90
+ ### 4.6 C++ 内存管理
91
+ ……
92
+
93
+ ## 五、调用链完整性分析
94
+
95
+ ### 5.1 核心功能调用链图
96
+
97
+ **核心功能 1**:{功能名称}
98
+
99
+ ```
100
+ 调用链:{methodA} → {methodB} → {nativeMethodC}
101
+ 异常处理:✅ / ❌(标注每个节点)
102
+ ```
103
+
104
+ ### 5.2 异常传播链检查
105
+
106
+ | 检查项编号 | 检查项 | 扣分 | 详情 |
107
+ |------------|--------|------|------|
108
+ | CH-01 | …… | …… | …… |
109
+
110
+ ## 六、问题清单
111
+
112
+ | # | 文件 | 行号 | 检查项编号 | 严重度 | 描述 | 修复建议 |
113
+ |---|------|------|------------|--------|------|----------|
114
+ | …… | …… | …… | …… | …… | …… | …… |
115
+
116
+ ## 七、改进建议
117
+
118
+ ### 优先级 P0(Critical,必须修复)
119
+ ……
120
+
121
+ ### 优先级 P1(Major,强烈建议修复)
122
+ ……
123
+
124
+ ### 优先级 P2(Minor,建议改进)
125
+ ……
126
+
127
+ ---
128
+
129
+ **报告生成时间**:{timestamp}
130
+ ```
131
+
132
+ ---
133
+
134
+ ## 填充说明
135
+
136
+ | 占位符 | 说明 |
137
+ |--------|------|
138
+ | `{repoName}` | 仓库名称(来自任务参数) |
139
+ | `{timestamp}` | 报告生成时间 |
140
+ | `{fileCount}` | 实际检视的核心文件数 |
141
+ | `{score}` | 综合评分(0-100) |
142
+ | `{扣分}` / `{得分}` | 各维度扣分与得分 |
143
+ | `{count}` | 各扫描维度的文件数 |
144
+
145
+ ## 评分等级速查
146
+
147
+ | 分数段 | 等级 | 说明 |
148
+ |--------|------|------|
149
+ | 90-100 | 优秀 | 异常处理完善,资源管理规范,无稳定性风险 |
150
+ | 80-89 | 良好 | 存在少量 Minor 问题,不影响核心稳定性 |
151
+ | 70-79 | 一般 | 存在 Major 级别问题需关注,有一定风险 |
152
+ | 60-69 | 较差 | 存在 Critical 级别问题,稳定性堪忧 |
153
+ | <60 | 严重不足 | 多个 Critical 问题,崩溃/泄露风险极高 |
154
+ | 0 | 不可用 | 触发归零规则或完全缺失稳定性设计 |
@@ -0,0 +1,166 @@
1
+ # ArkTS 稳定性检视详细检查清单
2
+
3
+ 本文件为 `ArktsLibraryStabilityCheckSkill` 的详细检查项参考,供深度检视时按项逐查。
4
+
5
+ > ⚠️ **检视范围限定**:以下所有检查项**仅适用于库核心实现代码**,排除 example、demo、sample 及 test 相关代码。仅检视库对外暴露的公共 API、核心业务逻辑、NAPI 绑定层。
6
+
7
+ ---
8
+
9
+ ## 相关参考文档
10
+
11
+ | 文档 | 内容 | 位置 |
12
+ |------|------|------|
13
+ | **代码示例** | 各维度正确/错误代码示例对照 | [CODE_EXAMPLES.md](CODE_EXAMPLES.md) |
14
+ | **评分规则** | 评分计算方式、归零规则、等级说明 | [SCORING_RULES.md](SCORING_RULES.md) |
15
+
16
+ ---
17
+
18
+ ## 1. 鸿蒙代码定位清单
19
+
20
+ ### 1.0 范围过滤(排除非核心代码)
21
+
22
+ **在扫描前先过滤掉非核心代码**,确保检视聚焦于库的核心能力:
23
+
24
+ | 排除类型 | 目录/文件特征 | 说明 |
25
+ |----------|---------------|------|
26
+ | **示例代码** | 目录名含 `example`、`demo`、`sample`、`samples` | 库的使用示例,不代表核心能力 |
27
+ | **测试代码** | 目录名含 `test`、`tests`、`__test__`、`spec`、`unittest` | 测试代码验证功能而非实现功能 |
28
+ | **文档示例** | 文件名含 `example`、`demo`、`sample` 的 `.ets/.ts` 文件 | 嵌入文档中的示例代码 |
29
+
30
+ > **过滤原则**:目录路径中包含 `example/demo/sample/test` 关键词时,该目录下所有文件均不检视。
31
+
32
+ ### 1.1 文件类型特征扫描
33
+
34
+ | 特征 | 模式 | 权重 | 说明 |
35
+ |------|------|------|------|
36
+ | ArkTS/ETS 文件 | `*.ets`(排除 example/demo/sample/test) | ⭐⭐⭐ 高 | 最强鸿蒙化特征 |
37
+ | 鸿蒙配置 | `module.json5`、`oh-package.json5`(排除 example/demo/sample/test) | ⭐⭐⭐ 高 | 鸿蒙特有配置 |
38
+ | TypeScript | `*.ts`(含 `@ohos` 导入,排除 example/demo/sample/test) | ⭐⭐ 中 | 需配合 API 特征判断 |
39
+ | NAPI C++ 文件 | `*.cpp`、`*.h`(含 `napi_*` 调用,排除 example/demo/sample/test) | ⭐⭐ 中 | Native 层绑定 |
40
+
41
+ ### 1.2 API 调用特征扫描
42
+
43
+ | 特征 | 模式 | 说明 |
44
+ |------|------|------|
45
+ | 鸿蒙系统 API | `@ohos.*`、`import from '@ohos'` | 鸿蒙官方模块(核心代码范围) |
46
+ | NAPI 绑定 | `napi_create_*`、`napi_get_*`、`napi_call_function` | Native 接口(核心代码范围) |
47
+ | 鸿蒙组件 | `@Entry`、`@Component`、`@Builder` | ArkUI 声明式组件(核心代码范围) |
48
+ | 鸿蒙生命周期 | `aboutToAppear`、`aboutToDisappear`、`onPageShow` | 组件/页面生命周期(核心代码范围) |
49
+ | 鸿蒙服务 | `geoLocationManager`、`sensor`、`network` | 系统服务调用(核心代码范围) |
50
+
51
+ ### 1.3 判定规则
52
+
53
+ | 扫描结果 | 判定 | 评分 | 后续操作 |
54
+ |----------|------|------|----------|
55
+ | 发现核心 `.ets` 文件 | ✅ 存在鸿蒙化 | 正常评分 | 进入深度分析 |
56
+ | 发现核心 `module.json5` + NAPI 代码 | ✅ 存在鸿蒙化 | 正常评分 | 进入深度分析 |
57
+ | 仅发现目录名含 `ohos` 但无代码文件 | ⚠️ 疑似未完成 | 0-30 分 | 标注"鸿蒙化代码疑似缺失" |
58
+ | 未发现任何鸿蒙特征(核心代码) | ❌ 未实现鸿蒙化 | 0 分 | 标注"未发现鸿蒙化核心实现代码" |
59
+ | 仅在 example/demo/sample/test 中发现鸿蒙代码 | ⚠️ 核心实现缺失 | 0 分 | 标注"鸿蒙化代码仅存在于示例中" |
60
+ | 无法访问源码目录 | ❌ 无法检视 | 0 分 | 标注"源码目录不可访问" |
61
+
62
+ ---
63
+
64
+ ## 2. ArkTS 核心实现层稳定性检查清单
65
+
66
+ ### 2.1 异常处理完整性(25 分)
67
+
68
+ **仅检视库核心实现代码**,不分析 example/demo/sample 及 test 代码。
69
+
70
+ | # | 检查项 | 扣分 | 检查方式 | 关键路径定义 |
71
+ |---|--------|------|----------|-------------|
72
+ | E-01 | 核心公共 API 调用无 try-catch | **-10** | 搜索 `@ohos.*` 调用上下文是否包裹 try-catch(排除 example/demo/sample/test) | 库对外暴露方法、涉及系统资源的核心操作 |
73
+ | E-02 | Promise rejection 未处理 | **-8** | 搜索 `.then()` 无 `.catch()`、await 无 try-catch | 所有异步操作链(核心实现) |
74
+ | E-03 | 异常吞没 | **-7** | catch 块为空或仅 `console.log`,未恢复/上报/重新抛出 | 所有 catch 块(核心实现) |
75
+ | E-04 | 参数验证缺失 | **-5** | 库公共 API 方法入口无类型/边界/空值检查 | 对外暴露的公共方法 |
76
+ | E-05 | 异常类型窄化 | **-3** | 仅捕获特定异常类型,遗漏其他可能异常 | 涉及多种异常源的核心操作 |
77
+ | E-06 | finally 缺失 | **-2** | 涉及资源操作但无 finally 清理路径 | 含资源分配的 try-catch(核心实现) |
78
+
79
+ ### 2.2 资源释放安全性(25 分)
80
+
81
+ **仅检视库核心实现代码**,不分析 example/demo/sample 及 test 代码。
82
+
83
+ | # | 检查项 | 扣分 | 检查方式 |
84
+ |---|--------|------|----------|
85
+ | R-01 | 系统资源未释放(sensor/location/network) | **-12** | 搜索核心代码中 `sensor.on()`/`geoLocationManager.on()` 等是否有对应 `.off()`/`.disable()`(排除 example/demo/sample/test) |
86
+ | R-02 | 事件订阅未取消 | **-8** | 搜索核心代码中 `on()` 注册是否在组件 `aboutToDisappear` 或 Ability `onDestroy` 中对应 `off()`(排除 example/demo/sample/test) |
87
+ | R-03 | Stream/Connection 泄露 | **-5** | 搜索 `createConnection`/`openSession` 是否有 `close`/`disconnect` |
88
+ | R-04 | Timer 未清理 | **-5** | 搜索 `setInterval`/`setTimeout` 是否在销毁时 `clearInterval`/`clearTimeout` |
89
+ | R-05 | Worker 未终止 | **-5** | 搜索 Worker 创建是否在适当时机 `terminate()` |
90
+
91
+ ### 2.3 并发安全(20 分)
92
+
93
+ **仅检视库核心实现代码**,不分析 example/demo/sample 及 test 代码。
94
+
95
+ | # | 检查项 | 扣分 | 检查方式 |
96
+ |---|--------|------|----------|
97
+ | C-01 | 主线程阻塞 | **-10** | 搜索核心 API 执行路径中是否存在耗时同步操作(大循环、同步 I/O、同步锁等待) |
98
+ | C-02 | 共享状态无同步保护 | **-7** | 搜索多个异步回调修改同一状态变量,无锁/队列/原子操作 |
99
+ | C-03 | 回调重入 | **-3** | 搜索异步回调可能重入导致状态混乱,缺少重入防护标志 |
100
+
101
+ ### 2.4 ArkTS 生命周期管理(10 分)
102
+
103
+ **仅检视库核心实现代码**,不分析 example/demo/sample 及 test 代码。
104
+
105
+ | # | 检查项 | 扣分 | 检查方式 |
106
+ |---|--------|------|----------|
107
+ | L-01 | aboutToDisappear 未清理 | **-8** | 库核心组件销毁钩子是否释放资源/移除监听/取消订阅 |
108
+ | L-02 | @State 对象持有大引用 | **-2** | 核心状态变量持有大对象引用在组件销毁后未释放 |
109
+
110
+ ---
111
+
112
+ ## 3. C++ Native 核心层稳定性检查清单
113
+
114
+ **仅检视库核心 NAPI 绑定和 C++ 实现代码**,不分析 example/demo/sample 及 test 代码。
115
+
116
+ ### 3.1 NAPI 跨语言调用(15 分)
117
+
118
+ | # | 检查项 | 扣分 | 检查方式 |
119
+ |---|--------|------|----------|
120
+ | N-01 | napi_ref 创建/释放不匹配 | **-10** | 搜索核心 NAPI 代码中 `napi_create_reference` 和 `napi_delete_reference` 是否数量匹配、路径对称(排除 example/demo/sample/test) |
121
+ | N-02 | napi_handle_scope 未清理 | **-8** | 搜索 `napi_open_handle_scope` 是否有对应 `napi_close_handle_scope` |
122
+ | N-03 | napi_value 类型转换无边界检查 | **-5** | 搜索 `napi_get_value_*` 是否有类型检查和边界验证 |
123
+ | N-04 | napi_create_async_work 缺少异常处理 | **-5** | 搜索异步 work 的 execute/complete 回调是否检查返回值 |
124
+ | N-05 | Native 对象与 ArkTS 对象生命周期不一致 | **-3** | 搜索 Native 侧对象是否绑定 ArkTS 侧 GC 回调 |
125
+
126
+ ### 3.2 C++ 内存管理安全(10 分)
127
+
128
+ | # | 检查项 | 扣分 | 检查方式 |
129
+ |---|--------|------|----------|
130
+ | M-01 | malloc/new 与 free/delete 不匹配 | **-8** | 搜索分配/释放是否对称,是否存在双重释放 |
131
+ | M-02 | 异常路径资源未释放 | **-5** | 搜索 try/catch 中分配的资源是否在异常分支释放 |
132
+ | M-03 | 未使用 RAII 管理资源 | **-3** | 搜索裸指针管理资源是否可改用智能指针 |
133
+
134
+ ---
135
+
136
+ ## 4. 核心功能调用链完整性检查清单
137
+
138
+ **仅追踪库对外暴露的核心功能调用链**,不分析 example/demo/sample 中展示的调用链。
139
+
140
+ ### 4.1 跨层级调用链追踪
141
+
142
+ | # | 检查项 | 扣分 | 检查方式 |
143
+ |---|--------|------|----------|
144
+ | CH-01 | ArkTS → Native 异常传播断裂 | **-10** | Native 异常是否通过 `napi_throw` 传播到 ArkTS 层 |
145
+ | CH-02 | 跨模块调用异常未传播 | **-8** | 模块间调用异常是否正确传播而非被吞没 |
146
+ | CH-03 | 核心功能调用链缺失异常处理节点 | **-7** | 追踪核心功能完整调用链,标注每个节点的异常处理状态 |
147
+
148
+ ---
149
+
150
+ ## 5. 特殊归零规则
151
+
152
+ | 规则 | 条件 | 结果 |
153
+ |------|------|------|
154
+ | 归零规则 1 | Critical 级别问题 ≥ 5 个 | 直接评 0 分 |
155
+ | 归零规则 2 | Critical 级别问题 ≥ 3 个 + Major 级别问题 ≥ 4 个 | 直接评 0 分 |
156
+ | 归零规则 3 | 核心公共 API 异常处理完全缺失(≥ 3 个核心 API 调用无 try-catch,不含 example/demo 代码) | 直接评 0 分 |
157
+ | 归零规则 4 | NAPI 引用管理完全不匹配(创建远多于释放) | 直接评 0 分 |
158
+ | 归零规则 5 | 未发现鸿蒙化核心实现代码 | 0 分 |
159
+ | 归零规则 6 | 源码目录不可访问 | 0 分 |
160
+
161
+ ---
162
+
163
+ ## 6. 评分规则参考
164
+
165
+ > 评分计算方式、严重度映射、等级说明详见 [SCORING_RULES.md](SCORING_RULES.md)。
166
+ | 归零规则 6 | 源码目录不可访问 | 0 分 |