@ohos-cpf/3rdloop 0.0.1 → 0.0.3
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.
- package/README.md +245 -425
- package/bin/3rdloop.mjs +46 -46
- package/lib/cli.js +781 -740
- package/lib/config-cmd.js +452 -0
- package/lib/config.js +318 -317
- package/lib/doctor.js +113 -113
- package/lib/exit-codes.js +30 -30
- package/lib/opencode.js +155 -155
- package/lib/orch.js +426 -426
- package/lib/queries.js +263 -263
- package/lib/step.js +325 -325
- package/lib/ui.js +222 -222
- package/lib/update.js +280 -0
- package/lib/workflow.js +308 -290
- package/lib/workflows.js +131 -131
- package/package.json +50 -50
- package/vendor/Server/Agent/SkillSelector/README.md +343 -343
- package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -207
- package/vendor/Server/Agent/SkillSelector/index.js +14 -14
- package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -313
- package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -161
- package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -144
- package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -433
- package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -382
- package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +59 -59
- package/vendor/Server/Brain/AnalysisStrategies.js +422 -422
- package/vendor/Server/Brain/Brain.js +686 -686
- package/vendor/Server/Brain/DecompositionStrategies.js +621 -621
- package/vendor/Server/Brain/PlanPersistence.js +196 -196
- package/vendor/Server/Brain/SkillExecutor.js +251 -251
- package/vendor/Server/Brain/index.js +11 -11
- package/vendor/Server/CLI/cli.js +275 -243
- package/vendor/Server/CLI/deveco-code/index.js +71 -0
- package/vendor/Server/CLI/deveco-code.js +5 -0
- package/vendor/Server/CLI/opencode/index.js +817 -804
- package/vendor/Server/CLI/opencode.js +5 -5
- package/vendor/Server/DbUse/MessageArchive.js +61 -61
- package/vendor/Server/DbUse/StorageManager.js +107 -107
- package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -94
- package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -138
- package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -138
- package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -114
- package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -157
- package/vendor/Server/DbUse/index.js +160 -160
- package/vendor/Server/DbUse/stores/SessionStore.js +279 -279
- package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -133
- package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -262
- package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -279
- package/vendor/Server/FlexRunner/FlexRunner.js +1759 -1759
- package/vendor/Server/FlexRunner/index.js +12 -12
- package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -523
- package/vendor/Server/Knowledge/KnowledgeManager.js +341 -341
- package/vendor/Server/Knowledge/index.js +33 -33
- package/vendor/Server/LoopEngine/LoopEngine.js +1133 -1133
- package/vendor/Server/LoopEngine/index.js +11 -11
- package/vendor/Server/Orchestrator/Orchestrator.js +0 -3
- package/vendor/Server/Orchestrator/StepNode.js +312 -312
- package/vendor/Server/Orchestrator/index.js +13 -13
- package/vendor/Server/Routes/controllers/BrainController.js +241 -241
- package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -1125
- package/vendor/Server/Routes/controllers/HealthController.js +44 -44
- package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -355
- package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -788
- package/vendor/Server/Routes/controllers/StatsController.js +57 -57
- package/vendor/Server/Routes/controllers/StreamController.js +67 -67
- package/vendor/Server/Routes/library/logger.js +179 -179
- package/vendor/Server/Routes/library/zipArchive.js +172 -172
- package/vendor/Server/Routes/router/Router.js +204 -204
- package/vendor/Server/Routes/routes/brain.js +47 -47
- package/vendor/Server/Routes/routes/flexrunner.js +72 -72
- package/vendor/Server/Routes/routes/health.js +28 -28
- package/vendor/Server/Routes/routes/index.js +57 -57
- package/vendor/Server/Routes/routes/knowledge.js +55 -55
- package/vendor/Server/Routes/routes/loopengine.js +58 -58
- package/vendor/Server/Routes/routes/orchestrator.js +61 -61
- package/vendor/Server/Routes/routes/registry.js +97 -97
- package/vendor/Server/Routes/routes/stats.js +23 -23
- package/vendor/Server/Routes/routes/stream.js +30 -30
- package/vendor/Server/Routes/server.js +203 -202
- package/vendor/Server/Routes/sse/SseHub.js +308 -308
- package/vendor/Server/Skills/acceptance-check/SKILL.md +191 -174
- package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -52
- package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -77
- package/vendor/Server/Skills/acceptance-check/references/PHASE2_EVIDENCE_VERIFICATION.md +70 -0
- package/vendor/Server/Skills/arkts-code-check/SKILL.md +320 -313
- package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +210 -159
- package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +28 -28
- package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +233 -222
- package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +219 -219
- package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +328 -328
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -291
- package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -68
- package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -184
- package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -337
- package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -400
- package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +98 -98
- package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -544
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -174
- package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -321
- package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -100
- package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -185
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +233 -233
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +102 -102
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -89
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -62
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +107 -107
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -124
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -90
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -57
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -259
- package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -97
- package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +391 -391
- package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -113
- package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +312 -312
- package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -154
- package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +165 -165
- package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +308 -308
- package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -90
- package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -282
- package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +360 -360
- package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +145 -145
- package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +252 -252
- package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +114 -114
- package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +262 -262
- package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -455
- package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -60
- package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -76
- package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -200
- package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +518 -518
- package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -276
- package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +92 -92
- package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -767
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -221
- package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +228 -228
- package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -97
- package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -194
- package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +575 -575
- package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +574 -574
- package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -182
- package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +490 -490
- package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -217
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -299
- package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +311 -311
- package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -190
- package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +133 -133
- package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -259
- package/vendor/Server/Skills/flutter-interface/README.md +75 -75
- package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -291
- package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -336
- package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -190
- package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -258
- package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -254
- package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +517 -517
- package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +381 -381
- package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +341 -341
- package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -71
- package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +518 -518
- package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +406 -406
- package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +652 -652
- package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +396 -396
- package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +744 -744
- package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +720 -720
- package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -414
- package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -150
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -304
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -265
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -286
- package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -383
- package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -165
- package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -91
- package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -127
- package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +453 -301
- package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_CHECKLIST.md +151 -0
- package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +257 -105
- package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +191 -127
- package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +317 -208
- package/vendor/Server/Skills/rn-code-check/SKILL.md +320 -320
- package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +234 -234
- package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +188 -188
- package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +246 -246
- package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -198
- package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -40
- package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -78
- package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -70
- package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -47
- package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -252
- package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -176
- package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -5
- package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -35
- package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -137
- package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -33
- package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -40
- package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -429
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -105
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -90
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -213
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -73
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -258
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -341
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -67
- package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -299
- package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -293
- package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -857
- package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -856
- package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -157
- package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -801
- package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +683 -683
- package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -233
- package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -1373
- package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -220
- package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -245
- package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -263
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -414
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -413
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -311
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -355
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -115
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -139
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -586
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -57
- package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -259
- package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -301
- package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -148
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -118
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -168
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -176
- package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -274
- package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -45
- package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -25
- package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -61
- package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -165
- package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -239
- package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -263
- package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -96
- package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +57 -57
- package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -99
- package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -64
- package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +74 -74
- package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -164
- package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +356 -339
- package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +85 -83
- package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +905 -859
- package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +124 -122
- package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +287 -279
- package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -273
- package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -129
- package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -581
- package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -138
- package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -168
- package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +526 -506
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +321 -280
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -221
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +220 -209
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -325
- package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -279
- package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -404
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -185
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -265
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -189
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -203
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -147
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -148
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -165
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -195
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -249
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -235
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -161
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -413
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -235
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -245
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -282
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -251
- package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -469
- package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -310
- package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -303
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -421
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -358
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -114
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -274
- package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -185
- package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -191
- package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -216
- package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -107
- package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -120
- package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -108
- package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -237
- package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -261
- package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -112
- package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +497 -497
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -270
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -164
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -556
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -459
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -65
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -512
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -132
- package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -424
- package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -137
- package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -306
- package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -485
- package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -172
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -422
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -95
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -169
- package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -554
- package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -106
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -216
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -413
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -269
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -98
- package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -337
- package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -722
- package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -219
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -345
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -269
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -173
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -267
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -174
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -111
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -186
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -150
- package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -296
- package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -371
- package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -212
- package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -345
- package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -223
- package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -1053
- package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +295 -255
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +82 -77
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -224
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +175 -174
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -967
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -1798
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -5
- package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +180 -137
- package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -145
- package/vendor/Server/Skills/skill-generator/SKILL.md +365 -365
- package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -183
- package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -82
- package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -110
- package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -122
- package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -121
- package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -259
- package/vendor/Server/Skills/task-analysis/SKILL.md +234 -234
- package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -160
- package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -190
- package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -224
- package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -162
- package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -55
- package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -126
- package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -256
- package/vendor/Server/Skills/task-decomposition/SKILL.md +528 -528
- package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -451
- package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -179
- package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -152
- package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -175
- package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -195
- package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -226
- package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -263
- package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -29
- package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -376
- package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -259
- package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -216
- package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +424 -424
- package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -427
- package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -214
- package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -235
- package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -250
- package/vendor/Server/TestCheck/TestCheck.js +775 -775
- package/vendor/Server/TestCheck/index.js +11 -11
- package/vendor/Server/library/McpToolGuide.js +280 -280
- package/vendor/Server/library/StatsService.js +126 -126
- package/vendor/Server/library/cstTime.js +16 -16
- package/vendor/VERSION +3 -3
- package/workflows/pr-check.mjs +105 -105
- package/workflows/pr-push.mjs +193 -0
- package/vendor/Server/Agent/SkillSelector/types.js +0 -63
|
@@ -1,274 +1,274 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: rn-library-issue-generalizer
|
|
3
|
-
description: 将 RN 三方库鸿蒙化历史问题案例(问题描述+修复 PR 链接)泛化为机制层检视规则,问题拆分后直接写入分级知识库(一级 INDEX 索引 + 二级 rules/cases 目录),实现一个案例防范一类问题。当需要从已修复问题中提炼可复用检视规则、扩充 RN 库已知问题知识库、或对新修复 PR 做归类沉淀时使用。离线运营工具,产出标记 draft 状态的条目供人工审核激活,供已知问题检视 SKILL 消费。
|
|
4
|
-
license: Apache-2.0
|
|
5
|
-
compatibility: 需要网络访问 GitCode(获取 PR 元数据与 diff)、Python ≥ 3.8(运行 scripts/fetch-pr-info.py,无第三方依赖)、对知识库目录(knowledgeDir)的文件读写权限
|
|
6
|
-
metadata:
|
|
7
|
-
author: CPPAgent
|
|
8
|
-
version: "2.0.0"
|
|
9
|
-
category: rn-library-check
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# rn-library-issue-generalizer — 问题案例泛化器
|
|
13
|
-
|
|
14
|
-
将**具体的**问题案例(现象描述 + 修复 PR)提炼为**机制层的检视规则**:案例归档为 few-shot 参考,规则用于未来所有库的已知问题检视——**一个案例,防范一类问题**。问题拆分(一案例 → 多规则)后,产出**直接写入分级知识库目录**。
|
|
15
|
-
|
|
16
|
-
> ⚠️ **核心原则**:
|
|
17
|
-
> 1. **泛化三约束**:规则体必须 ①**去库化**(不出现具体库名/API 名)②**上升到机制层**(描述检查方法,而非修复某个 bug)③**可判定**(每个检查点 Agent 读源码后能给出 是/否/疑似)
|
|
18
|
-
> 2. **规则数量收敛**:优先将案例归入已有规则(增厚 few-shot);只有确认现有规则的问题本质无法覆盖时才新建规则
|
|
19
|
-
> 3. **直接写入分级目录 + draft 状态标记**:新建/修订的规则与案例**直接写入知识库分级目录**(rules/、cases/、INDEX.md),但状态标记为 `draft`;经人工审核后将状态改为 `active` 方可被检视 SKILL 消费
|
|
20
|
-
> 4. **案例信息完整保留**:具体库名、PR 链接、修复方式只出现在案例文件中,作为 few-shot 与修复指引
|
|
21
|
-
> 5. **所有文件存放在 knowledgeDir 下**:禁止写入系统临时目录或其他外部路径
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## 任务参数
|
|
26
|
-
|
|
27
|
-
| 参数 | 必填 | 说明 |
|
|
28
|
-
|------|------|------|
|
|
29
|
-
| `issueList` | ✅ | 案例清单。三种格式任选:① JSON 数组 `[{"description": "...", "prUrl": "..."}]` ② 清单文件路径(每行一条:`问题描述 <空格/Tab> PR链接`,兼容 Markdown 链接 `[描述](url)` 与裸 URL) ③ 多行文本(同②格式) |
|
|
30
|
-
| `knowledgeDir` | ✅ | 知识库根目录绝对路径(如 `BadCase/rn`)。目录无 `INDEX.md` 时视为**冷启动**,自动初始化分级结构;已有 `INDEX.md` 时读取现有规则执行归类比对(Phase 4) |
|
|
31
|
-
| `gitcodeToken` | ❌ | GitCode API Token。访问私有仓库或遇速率限制时使用 |
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## 输入依赖
|
|
36
|
-
|
|
37
|
-
无前置 SKILL。可作为独立任务调用。
|
|
38
|
-
|
|
39
|
-
- **可选输入**:现有分级知识库(`knowledgeDir` 下已有 `INDEX.md` + `rules/` + `cases/`),格式参见 [规则条目编写指南](references/RULE_TEMPLATE_GUIDE.md)
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## 目录结构约定
|
|
44
|
-
|
|
45
|
-
> ⚠️ **所有新增/修改文件**都必须存放在 `{knowledgeDir}` 内。知识库采用**分级结构**(一级索引 + 二级知识):
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
{knowledgeDir}/ # 通常为 BadCase/rn/
|
|
49
|
-
├── INDEX.md # 一级:分类 + 规则/案例索引(不含具体知识)
|
|
50
|
-
├── rules/ # 二级:规则知识
|
|
51
|
-
│ └── R-{XX}-{规则名}.md # 检查点/特征 + 案例索引行
|
|
52
|
-
├── cases/ # 二级:案例知识(格式二:代码证据式)
|
|
53
|
-
│ └── KI-{XXX}-{库名现象}.md # 元数据/现象/根因/错误代码/正确代码/修复方式
|
|
54
|
-
├── pr-info/ # 案例原始 PR diff 证据材料
|
|
55
|
-
│ └── {repo}-{number}.md(+ .json)
|
|
56
|
-
└── generalization-log.md # 运行产出:泛化过程日志(追加式)
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
**分级规则**:
|
|
60
|
-
- **一级 INDEX.md** 只含分类、索引表(编号/名称/严重级别/文件链接),Agent 预筛时只读此文件
|
|
61
|
-
- **二级 rules/** 每规则一文件,含完整检查知识 + 案例索引行(不含案例详情)
|
|
62
|
-
- **二级 cases/** 每案例一文件(格式二),一案例挂多条规则时只存一份,规则文件通过索引引用
|
|
63
|
-
- **pr-info/** 是案例的证据材料,案例文件中链接引用
|
|
64
|
-
|
|
65
|
-
**状态机制**(draft → active):
|
|
66
|
-
- 本 SKILL 新建/修订的规则与案例,frontmatter 或元数据中状态标记为 `draft`
|
|
67
|
-
- 人工审核通过后,将状态改为 `active`(规则文件改 `- **状态**: active`;案例文件元数据加 `status: active`)
|
|
68
|
-
- 检视 SKILL 只消费 `active` 状态的规则与案例
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## 工作流程概览
|
|
73
|
-
|
|
74
|
-
```
|
|
75
|
-
Phase 1: 案例解析与 PR 材料获取(写入 pr-info/)
|
|
76
|
-
↓
|
|
77
|
-
Phase 2: 根因分析(现象 → 根因 → 修复机制)
|
|
78
|
-
↓
|
|
79
|
-
Phase 3: 泛化提炼(去库化 / 机制化 / 可判定化)
|
|
80
|
-
↓
|
|
81
|
-
Phase 4: 知识库归类比对(读 INDEX + rules/,归入已有规则 or 新建规则)
|
|
82
|
-
↓
|
|
83
|
-
Phase 5: 直接写入分级目录(rules/ + cases/ + INDEX.md,draft 状态)与自检
|
|
84
|
-
↓
|
|
85
|
-
Phase 6: 输出与审核指引(审核通过后翻 active)
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## Phase 1:案例解析与 PR 材料获取
|
|
91
|
-
|
|
92
|
-
### 1.0 初始化知识库目录
|
|
93
|
-
|
|
94
|
-
检查 `{knowledgeDir}` 是否已有 `INDEX.md`:
|
|
95
|
-
- **已有** → 读取 INDEX.md 的规则/案例索引,进入正常流程(Phase 4 执行归类比对)
|
|
96
|
-
- **没有** → 冷启动:创建 `INDEX.md`(空索引骨架)+ `rules/` + `cases/` + `pr-info/` 目录
|
|
97
|
-
|
|
98
|
-
### 1.1 解析 issueList
|
|
99
|
-
|
|
100
|
-
- **JSON 数组**:直接使用 `description` + `prUrl` 字段
|
|
101
|
-
- **文本/文件**:逐行解析,提取「描述文本」与「GitCode PR 链接」。示例行:
|
|
102
|
-
|
|
103
|
-
```
|
|
104
|
-
【DTSE代提】【react-native-webview】视频无法横屏 https://gitcode.com/CPF-RN/rntpc_react-native-webview/pull/121
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
- 解析失败的行(无 PR 链接 / 链接非 gitcode.com)记入 `generalization-log.md` 的"无效条目"章节,**不中断流程**
|
|
108
|
-
- 按 PR 链接去重;`pr-info/` 下已存在同名材料文件的跳过重复获取
|
|
109
|
-
- **案例编号分配**:新案例编号 = INDEX.md 案例索引中现有最大 KI 编号 +1(冷启动从 KI-001 开始)
|
|
110
|
-
|
|
111
|
-
### 1.2 获取 PR 材料
|
|
112
|
-
|
|
113
|
-
对每个案例运行脚本(在 SKILL 根目录下执行):
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
python3 scripts/fetch-pr-info.py '{"prUrl": "https://gitcode.com/owner/repo/pull/123", "outputDir": "{knowledgeDir}", "token": "{gitcodeToken 可选}"}'
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
脚本输出 `{knowledgeDir}/pr-info/{repo}-{number}.md`(可读摘要:标题/描述/变更文件/diff)与 `.json`(原始数据)。
|
|
120
|
-
|
|
121
|
-
> 脚本用法、API 端点、降级策略详见 [PR 材料获取指南](references/PR_FETCH_GUIDE.md)
|
|
122
|
-
|
|
123
|
-
### 1.3 获取失败降级
|
|
124
|
-
|
|
125
|
-
脚本获取失败时(私有仓库 / 网络受限 / PR 已删除):
|
|
126
|
-
|
|
127
|
-
1. 标记该案例为 **材料不足**
|
|
128
|
-
2. Phase 2 仅基于问题描述分析,泛化质量会下降
|
|
129
|
-
3. 在最终草稿的"审核要点"中明确标注:`该规则未验证修复 diff,审核时需人工确认问题本质归纳是否准确`
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
## Phase 2:根因分析
|
|
134
|
-
|
|
135
|
-
对每个案例,从三个层次分析并记入 `generalization-log.md`:
|
|
136
|
-
|
|
137
|
-
| 层次 | 内容 | 示例(thumbImageUrl 案例) |
|
|
138
|
-
|------|------|---------------------------|
|
|
139
|
-
| **现象层** | 用户可感知的症状,保留原始描述 | 分享时图片下载报错,无法跳转微信 |
|
|
140
|
-
| **根因层** | 代码机制层面的缺陷描述 | 缩略图下载失败码直接出现在主流程 reject 路径上,附属操作失败阻断了核心流程 |
|
|
141
|
-
| **修复机制** | 从 PR diff 提炼修复**模式**(不是逐行复述 diff) | 缩略图下载失败时置空 thumb 字段、记录日志并继续调起主流程 |
|
|
142
|
-
|
|
143
|
-
**要求**:
|
|
144
|
-
- 根因层必须落到"机制":回答"这类问题为什么会发生",而不是"这个 bug 在哪一行"
|
|
145
|
-
- 修复机制必须可迁移:换个库遇到同类问题,这个修法依然有指导意义
|
|
146
|
-
- diff 材料充足时,定位修复前后的关键差异(错误路径处理 / 配置补全 / 入口修正等)
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
## Phase 3:泛化提炼
|
|
151
|
-
|
|
152
|
-
将根因层泛化为规则。**必须通过泛化三约束**,对照反例自检:
|
|
153
|
-
|
|
154
|
-
| 反例类型 | 错误示范 | 问题 |
|
|
155
|
-
|----------|----------|------|
|
|
156
|
-
| ❌ 过拟合 | "检查视频全屏时是否处理横屏旋转" | 等于没泛化,只防住原案例本身 |
|
|
157
|
-
| ❌ 过泛化 | "检查异常处理是否完善" | 废话型规则,无法判定,Agent 只能泛泛而谈 |
|
|
158
|
-
| ✅ 合格 | "主流程中每个附属操作失败时,是否隔离降级而非阻断主流程" | 机制层描述 + 读源码可判定 |
|
|
159
|
-
|
|
160
|
-
**泛化操作要点**:
|
|
161
|
-
1. **去库化**:把案例中的具体库名、组件名、API 名替换为"能力/角色"描述(`react-native-webview` → "含 WebView 能力的库";`shareWebpage` → "主流程接口")
|
|
162
|
-
2. **机制化**:从"这个 bug 怎么修"上升到"这类问题怎么查"——产出的是检查方法,不是修复补丁
|
|
163
|
-
3. **可判定化**:每个检查点改写为动词开头的源码检查动作(识别/列出/逐项检查/验证),确保 Agent 执行时能给出 是/否/疑似 结论
|
|
164
|
-
|
|
165
|
-
> 字段级编写规范、更多正反例、首批规则参考示例详见 [规则条目编写指南](references/RULE_TEMPLATE_GUIDE.md)
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
## Phase 4:知识库归类比对
|
|
170
|
-
|
|
171
|
-
### 4.1 读取现有知识库
|
|
172
|
-
|
|
173
|
-
读取 `{knowledgeDir}/INDEX.md` 的规则索引,获取现有规则列表(编号、规则名、分类、严重级别)。需要比对"问题本质"细节时,按索引链接读取对应 `rules/R-XX-*.md` 文件。
|
|
174
|
-
|
|
175
|
-
冷启动(INDEX 无规则)时跳过比对,全部走新建分支。
|
|
176
|
-
|
|
177
|
-
### 4.2 归类判定
|
|
178
|
-
|
|
179
|
-
对每条泛化后的规则草稿,按以下顺序判定:
|
|
180
|
-
|
|
181
|
-
1. **语义比对**:草稿的"问题本质"与现有规则的"问题本质"是否描述同一类机制缺陷?
|
|
182
|
-
2. **命中** → 该案例**挂载**到已有规则(增厚 few-shot,**不新建规则**),必要时补充/修订该规则的检查点
|
|
183
|
-
3. **未命中** → 新建规则草稿,分配下一个可用编号(R-{现有最大编号+1}),并确定其所属分类(现有分类优先,必要时新建分类)
|
|
184
|
-
|
|
185
|
-
**边界处理**:
|
|
186
|
-
- 同一案例可能触及多条规则(既是"降级缺失"又是"能力声明不匹配")→ 允许一案例挂多条规则,但**新建规则要保持克制**
|
|
187
|
-
- 修订已有规则的检查点时,必须在 `generalization-log.md` 中明确标注"修订项"及理由,供人工审核
|
|
188
|
-
|
|
189
|
-
### 4.3 记录归类依据
|
|
190
|
-
|
|
191
|
-
每条归类判定(命中/未命中的理由)写入 `generalization-log.md`,供人工审核追溯。
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## Phase 5:直接写入分级目录与自检
|
|
196
|
-
|
|
197
|
-
> 问题拆分完成后,产出**直接写入知识库分级目录**(不生成单文件草稿快照),所有新建/修订条目标记 `draft` 状态。
|
|
198
|
-
|
|
199
|
-
### 5.1 写入规则文件(rules/)
|
|
200
|
-
|
|
201
|
-
- **新建规则**:按 [规则条目模板](assets/rule-template.md) 生成,写入 `rules/R-{XX}-{规则名}.md`,状态标记 `draft`
|
|
202
|
-
- **修订已有规则**(挂载案例时):在原文件"来源案例"索引表追加案例行;如需补充检查点,在原检查点列表追加并标注 `({日期} 新增,draft 待审)`
|
|
203
|
-
|
|
204
|
-
### 5.2 写入案例文件(cases/)
|
|
205
|
-
|
|
206
|
-
- 按 [案例条目模板](assets/case-template.md) 生成(**格式二:代码证据式**),写入 `cases/KI-{XXX}-{库名现象}.md`
|
|
207
|
-
- **一案例一文件**:复合问题案例(挂多条规则)只写一份,元数据 `rule` 字段逗号分隔多条规则编号
|
|
208
|
-
|
|
209
|
-
**案例代码证据要求**(格式二核心):
|
|
210
|
-
- `verified: diff` 的案例**必须**包含"错误代码(修复前)"与"正确代码(修复后)"两个片段,从 PR diff 实际提取,禁止凭描述臆造
|
|
211
|
-
- 每段 ≤15 行,只保留命中判定关键行;错误代码用 `// ←` 标注缺陷点,正确代码用 `①②③` 标注修复步骤
|
|
212
|
-
- 元数据行必填:`rule` · `verified` · `source` · `severity`
|
|
213
|
-
|
|
214
|
-
### 5.3 更新一级索引(INDEX.md)
|
|
215
|
-
|
|
216
|
-
- **规则分类索引表**:新建规则追加行(含所属分类);新建分类时增加分类小节
|
|
217
|
-
- **案例索引表**:新案例追加行(编号/库/现象/所属规则/验证方式/案例文件链接)
|
|
218
|
-
- **变更记录表**:追加本次运行记录(日期 + 新建规则数/挂载案例数/修订项摘要)
|
|
219
|
-
|
|
220
|
-
### 5.4 自检清单
|
|
221
|
-
|
|
222
|
-
对每条产出逐项自检(不通过则回到 Phase 3 修订):
|
|
223
|
-
|
|
224
|
-
| # | 检查项 |
|
|
225
|
-
|---|--------|
|
|
226
|
-
| 1 | 规则体(来源案例区之外)无具体库名 / API 名 |
|
|
227
|
-
| 2 | 每个检查点可独立判定(读源码能给出 是/否/疑似) |
|
|
228
|
-
| 3 | 适用范围含可执行的预筛特征(依赖/文件/API 特征) |
|
|
229
|
-
| 4 | 与现有规则无"问题本质"层面的重叠 |
|
|
230
|
-
| 5 | 案例信息完整(现象 / 根因 / 修复方式 / PR 链接) |
|
|
231
|
-
| 6 | 严重级别有判定依据(high=功能不可用;medium=特定场景失效;low=体验问题) |
|
|
232
|
-
| 7 | INDEX.md 索引行与实际文件一一对应(链接可跳转) |
|
|
233
|
-
| 8 | 新建/修订条目状态均为 `draft` |
|
|
234
|
-
|
|
235
|
-
---
|
|
236
|
-
|
|
237
|
-
## Phase 6:输出与审核指引
|
|
238
|
-
|
|
239
|
-
### 6.1 审核指引(写入 generalization-log.md)
|
|
240
|
-
|
|
241
|
-
每次运行在 `generalization-log.md` **追加**一节,包含:
|
|
242
|
-
|
|
243
|
-
```markdown
|
|
244
|
-
# 泛化运行 — {日期}
|
|
245
|
-
|
|
246
|
-
## 产出清单
|
|
247
|
-
- 新建规则: {R-XX 列表 + 文件路径}
|
|
248
|
-
- 新建案例: {KI-XXX 列表 + 文件路径}
|
|
249
|
-
- 挂载案例: {KI-XXX → R-XX 映射}
|
|
250
|
-
- 修订规则: {R-XX + 修订内容}
|
|
251
|
-
|
|
252
|
-
## 审核要点
|
|
253
|
-
- 泛化度存疑项: {列出过拟合/过泛化风险条目及原因}
|
|
254
|
-
- 材料不足项: {未获取到 diff 的案例清单}
|
|
255
|
-
- 规则重叠风险: {与现有规则边界模糊的条目}
|
|
256
|
-
|
|
257
|
-
## 审核操作指引
|
|
258
|
-
1. 逐条审阅 draft 状态的规则/案例文件
|
|
259
|
-
2. 审核通过 → 规则文件改 `- **状态**: active`;案例文件元数据加 `status: active`
|
|
260
|
-
3. 审核不通过 → 修订文件内容或删除文件,并同步删除 INDEX.md 对应索引行
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
### 6.2 输出确认
|
|
264
|
-
|
|
265
|
-
完成后输出确认信息:处理案例数、新建规则数、挂载案例数、材料不足数、写入的文件列表(含 INDEX.md 变更摘要)。
|
|
266
|
-
|
|
267
|
-
---
|
|
268
|
-
|
|
269
|
-
## 与其他 SKILL 的关系
|
|
270
|
-
|
|
271
|
-
| SKILL | 关系 |
|
|
272
|
-
|-------|------|
|
|
273
|
-
| `rn-library-known-issue-check`(已知问题检视) | **消费者**:读 INDEX.md 预筛 → 按 `active` 状态规则执行检查,案例作为 few-shot |
|
|
274
|
-
| RN 仓库检视流水线 | 间接关系:本 SKILL 为离线运营工具,**不参与**在线扫描流水线;其产出经人工审核激活后供检视 SKILL 使用 |
|
|
1
|
+
---
|
|
2
|
+
name: rn-library-issue-generalizer
|
|
3
|
+
description: 将 RN 三方库鸿蒙化历史问题案例(问题描述+修复 PR 链接)泛化为机制层检视规则,问题拆分后直接写入分级知识库(一级 INDEX 索引 + 二级 rules/cases 目录),实现一个案例防范一类问题。当需要从已修复问题中提炼可复用检视规则、扩充 RN 库已知问题知识库、或对新修复 PR 做归类沉淀时使用。离线运营工具,产出标记 draft 状态的条目供人工审核激活,供已知问题检视 SKILL 消费。
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
compatibility: 需要网络访问 GitCode(获取 PR 元数据与 diff)、Python ≥ 3.8(运行 scripts/fetch-pr-info.py,无第三方依赖)、对知识库目录(knowledgeDir)的文件读写权限
|
|
6
|
+
metadata:
|
|
7
|
+
author: CPPAgent
|
|
8
|
+
version: "2.0.0"
|
|
9
|
+
category: rn-library-check
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# rn-library-issue-generalizer — 问题案例泛化器
|
|
13
|
+
|
|
14
|
+
将**具体的**问题案例(现象描述 + 修复 PR)提炼为**机制层的检视规则**:案例归档为 few-shot 参考,规则用于未来所有库的已知问题检视——**一个案例,防范一类问题**。问题拆分(一案例 → 多规则)后,产出**直接写入分级知识库目录**。
|
|
15
|
+
|
|
16
|
+
> ⚠️ **核心原则**:
|
|
17
|
+
> 1. **泛化三约束**:规则体必须 ①**去库化**(不出现具体库名/API 名)②**上升到机制层**(描述检查方法,而非修复某个 bug)③**可判定**(每个检查点 Agent 读源码后能给出 是/否/疑似)
|
|
18
|
+
> 2. **规则数量收敛**:优先将案例归入已有规则(增厚 few-shot);只有确认现有规则的问题本质无法覆盖时才新建规则
|
|
19
|
+
> 3. **直接写入分级目录 + draft 状态标记**:新建/修订的规则与案例**直接写入知识库分级目录**(rules/、cases/、INDEX.md),但状态标记为 `draft`;经人工审核后将状态改为 `active` 方可被检视 SKILL 消费
|
|
20
|
+
> 4. **案例信息完整保留**:具体库名、PR 链接、修复方式只出现在案例文件中,作为 few-shot 与修复指引
|
|
21
|
+
> 5. **所有文件存放在 knowledgeDir 下**:禁止写入系统临时目录或其他外部路径
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 任务参数
|
|
26
|
+
|
|
27
|
+
| 参数 | 必填 | 说明 |
|
|
28
|
+
|------|------|------|
|
|
29
|
+
| `issueList` | ✅ | 案例清单。三种格式任选:① JSON 数组 `[{"description": "...", "prUrl": "..."}]` ② 清单文件路径(每行一条:`问题描述 <空格/Tab> PR链接`,兼容 Markdown 链接 `[描述](url)` 与裸 URL) ③ 多行文本(同②格式) |
|
|
30
|
+
| `knowledgeDir` | ✅ | 知识库根目录绝对路径(如 `BadCase/rn`)。目录无 `INDEX.md` 时视为**冷启动**,自动初始化分级结构;已有 `INDEX.md` 时读取现有规则执行归类比对(Phase 4) |
|
|
31
|
+
| `gitcodeToken` | ❌ | GitCode API Token。访问私有仓库或遇速率限制时使用 |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 输入依赖
|
|
36
|
+
|
|
37
|
+
无前置 SKILL。可作为独立任务调用。
|
|
38
|
+
|
|
39
|
+
- **可选输入**:现有分级知识库(`knowledgeDir` 下已有 `INDEX.md` + `rules/` + `cases/`),格式参见 [规则条目编写指南](references/RULE_TEMPLATE_GUIDE.md)
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 目录结构约定
|
|
44
|
+
|
|
45
|
+
> ⚠️ **所有新增/修改文件**都必须存放在 `{knowledgeDir}` 内。知识库采用**分级结构**(一级索引 + 二级知识):
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
{knowledgeDir}/ # 通常为 BadCase/rn/
|
|
49
|
+
├── INDEX.md # 一级:分类 + 规则/案例索引(不含具体知识)
|
|
50
|
+
├── rules/ # 二级:规则知识
|
|
51
|
+
│ └── R-{XX}-{规则名}.md # 检查点/特征 + 案例索引行
|
|
52
|
+
├── cases/ # 二级:案例知识(格式二:代码证据式)
|
|
53
|
+
│ └── KI-{XXX}-{库名现象}.md # 元数据/现象/根因/错误代码/正确代码/修复方式
|
|
54
|
+
├── pr-info/ # 案例原始 PR diff 证据材料
|
|
55
|
+
│ └── {repo}-{number}.md(+ .json)
|
|
56
|
+
└── generalization-log.md # 运行产出:泛化过程日志(追加式)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**分级规则**:
|
|
60
|
+
- **一级 INDEX.md** 只含分类、索引表(编号/名称/严重级别/文件链接),Agent 预筛时只读此文件
|
|
61
|
+
- **二级 rules/** 每规则一文件,含完整检查知识 + 案例索引行(不含案例详情)
|
|
62
|
+
- **二级 cases/** 每案例一文件(格式二),一案例挂多条规则时只存一份,规则文件通过索引引用
|
|
63
|
+
- **pr-info/** 是案例的证据材料,案例文件中链接引用
|
|
64
|
+
|
|
65
|
+
**状态机制**(draft → active):
|
|
66
|
+
- 本 SKILL 新建/修订的规则与案例,frontmatter 或元数据中状态标记为 `draft`
|
|
67
|
+
- 人工审核通过后,将状态改为 `active`(规则文件改 `- **状态**: active`;案例文件元数据加 `status: active`)
|
|
68
|
+
- 检视 SKILL 只消费 `active` 状态的规则与案例
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 工作流程概览
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Phase 1: 案例解析与 PR 材料获取(写入 pr-info/)
|
|
76
|
+
↓
|
|
77
|
+
Phase 2: 根因分析(现象 → 根因 → 修复机制)
|
|
78
|
+
↓
|
|
79
|
+
Phase 3: 泛化提炼(去库化 / 机制化 / 可判定化)
|
|
80
|
+
↓
|
|
81
|
+
Phase 4: 知识库归类比对(读 INDEX + rules/,归入已有规则 or 新建规则)
|
|
82
|
+
↓
|
|
83
|
+
Phase 5: 直接写入分级目录(rules/ + cases/ + INDEX.md,draft 状态)与自检
|
|
84
|
+
↓
|
|
85
|
+
Phase 6: 输出与审核指引(审核通过后翻 active)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Phase 1:案例解析与 PR 材料获取
|
|
91
|
+
|
|
92
|
+
### 1.0 初始化知识库目录
|
|
93
|
+
|
|
94
|
+
检查 `{knowledgeDir}` 是否已有 `INDEX.md`:
|
|
95
|
+
- **已有** → 读取 INDEX.md 的规则/案例索引,进入正常流程(Phase 4 执行归类比对)
|
|
96
|
+
- **没有** → 冷启动:创建 `INDEX.md`(空索引骨架)+ `rules/` + `cases/` + `pr-info/` 目录
|
|
97
|
+
|
|
98
|
+
### 1.1 解析 issueList
|
|
99
|
+
|
|
100
|
+
- **JSON 数组**:直接使用 `description` + `prUrl` 字段
|
|
101
|
+
- **文本/文件**:逐行解析,提取「描述文本」与「GitCode PR 链接」。示例行:
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
【DTSE代提】【react-native-webview】视频无法横屏 https://gitcode.com/CPF-RN/rntpc_react-native-webview/pull/121
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
- 解析失败的行(无 PR 链接 / 链接非 gitcode.com)记入 `generalization-log.md` 的"无效条目"章节,**不中断流程**
|
|
108
|
+
- 按 PR 链接去重;`pr-info/` 下已存在同名材料文件的跳过重复获取
|
|
109
|
+
- **案例编号分配**:新案例编号 = INDEX.md 案例索引中现有最大 KI 编号 +1(冷启动从 KI-001 开始)
|
|
110
|
+
|
|
111
|
+
### 1.2 获取 PR 材料
|
|
112
|
+
|
|
113
|
+
对每个案例运行脚本(在 SKILL 根目录下执行):
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
python3 scripts/fetch-pr-info.py '{"prUrl": "https://gitcode.com/owner/repo/pull/123", "outputDir": "{knowledgeDir}", "token": "{gitcodeToken 可选}"}'
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
脚本输出 `{knowledgeDir}/pr-info/{repo}-{number}.md`(可读摘要:标题/描述/变更文件/diff)与 `.json`(原始数据)。
|
|
120
|
+
|
|
121
|
+
> 脚本用法、API 端点、降级策略详见 [PR 材料获取指南](references/PR_FETCH_GUIDE.md)
|
|
122
|
+
|
|
123
|
+
### 1.3 获取失败降级
|
|
124
|
+
|
|
125
|
+
脚本获取失败时(私有仓库 / 网络受限 / PR 已删除):
|
|
126
|
+
|
|
127
|
+
1. 标记该案例为 **材料不足**
|
|
128
|
+
2. Phase 2 仅基于问题描述分析,泛化质量会下降
|
|
129
|
+
3. 在最终草稿的"审核要点"中明确标注:`该规则未验证修复 diff,审核时需人工确认问题本质归纳是否准确`
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Phase 2:根因分析
|
|
134
|
+
|
|
135
|
+
对每个案例,从三个层次分析并记入 `generalization-log.md`:
|
|
136
|
+
|
|
137
|
+
| 层次 | 内容 | 示例(thumbImageUrl 案例) |
|
|
138
|
+
|------|------|---------------------------|
|
|
139
|
+
| **现象层** | 用户可感知的症状,保留原始描述 | 分享时图片下载报错,无法跳转微信 |
|
|
140
|
+
| **根因层** | 代码机制层面的缺陷描述 | 缩略图下载失败码直接出现在主流程 reject 路径上,附属操作失败阻断了核心流程 |
|
|
141
|
+
| **修复机制** | 从 PR diff 提炼修复**模式**(不是逐行复述 diff) | 缩略图下载失败时置空 thumb 字段、记录日志并继续调起主流程 |
|
|
142
|
+
|
|
143
|
+
**要求**:
|
|
144
|
+
- 根因层必须落到"机制":回答"这类问题为什么会发生",而不是"这个 bug 在哪一行"
|
|
145
|
+
- 修复机制必须可迁移:换个库遇到同类问题,这个修法依然有指导意义
|
|
146
|
+
- diff 材料充足时,定位修复前后的关键差异(错误路径处理 / 配置补全 / 入口修正等)
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Phase 3:泛化提炼
|
|
151
|
+
|
|
152
|
+
将根因层泛化为规则。**必须通过泛化三约束**,对照反例自检:
|
|
153
|
+
|
|
154
|
+
| 反例类型 | 错误示范 | 问题 |
|
|
155
|
+
|----------|----------|------|
|
|
156
|
+
| ❌ 过拟合 | "检查视频全屏时是否处理横屏旋转" | 等于没泛化,只防住原案例本身 |
|
|
157
|
+
| ❌ 过泛化 | "检查异常处理是否完善" | 废话型规则,无法判定,Agent 只能泛泛而谈 |
|
|
158
|
+
| ✅ 合格 | "主流程中每个附属操作失败时,是否隔离降级而非阻断主流程" | 机制层描述 + 读源码可判定 |
|
|
159
|
+
|
|
160
|
+
**泛化操作要点**:
|
|
161
|
+
1. **去库化**:把案例中的具体库名、组件名、API 名替换为"能力/角色"描述(`react-native-webview` → "含 WebView 能力的库";`shareWebpage` → "主流程接口")
|
|
162
|
+
2. **机制化**:从"这个 bug 怎么修"上升到"这类问题怎么查"——产出的是检查方法,不是修复补丁
|
|
163
|
+
3. **可判定化**:每个检查点改写为动词开头的源码检查动作(识别/列出/逐项检查/验证),确保 Agent 执行时能给出 是/否/疑似 结论
|
|
164
|
+
|
|
165
|
+
> 字段级编写规范、更多正反例、首批规则参考示例详见 [规则条目编写指南](references/RULE_TEMPLATE_GUIDE.md)
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Phase 4:知识库归类比对
|
|
170
|
+
|
|
171
|
+
### 4.1 读取现有知识库
|
|
172
|
+
|
|
173
|
+
读取 `{knowledgeDir}/INDEX.md` 的规则索引,获取现有规则列表(编号、规则名、分类、严重级别)。需要比对"问题本质"细节时,按索引链接读取对应 `rules/R-XX-*.md` 文件。
|
|
174
|
+
|
|
175
|
+
冷启动(INDEX 无规则)时跳过比对,全部走新建分支。
|
|
176
|
+
|
|
177
|
+
### 4.2 归类判定
|
|
178
|
+
|
|
179
|
+
对每条泛化后的规则草稿,按以下顺序判定:
|
|
180
|
+
|
|
181
|
+
1. **语义比对**:草稿的"问题本质"与现有规则的"问题本质"是否描述同一类机制缺陷?
|
|
182
|
+
2. **命中** → 该案例**挂载**到已有规则(增厚 few-shot,**不新建规则**),必要时补充/修订该规则的检查点
|
|
183
|
+
3. **未命中** → 新建规则草稿,分配下一个可用编号(R-{现有最大编号+1}),并确定其所属分类(现有分类优先,必要时新建分类)
|
|
184
|
+
|
|
185
|
+
**边界处理**:
|
|
186
|
+
- 同一案例可能触及多条规则(既是"降级缺失"又是"能力声明不匹配")→ 允许一案例挂多条规则,但**新建规则要保持克制**
|
|
187
|
+
- 修订已有规则的检查点时,必须在 `generalization-log.md` 中明确标注"修订项"及理由,供人工审核
|
|
188
|
+
|
|
189
|
+
### 4.3 记录归类依据
|
|
190
|
+
|
|
191
|
+
每条归类判定(命中/未命中的理由)写入 `generalization-log.md`,供人工审核追溯。
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Phase 5:直接写入分级目录与自检
|
|
196
|
+
|
|
197
|
+
> 问题拆分完成后,产出**直接写入知识库分级目录**(不生成单文件草稿快照),所有新建/修订条目标记 `draft` 状态。
|
|
198
|
+
|
|
199
|
+
### 5.1 写入规则文件(rules/)
|
|
200
|
+
|
|
201
|
+
- **新建规则**:按 [规则条目模板](assets/rule-template.md) 生成,写入 `rules/R-{XX}-{规则名}.md`,状态标记 `draft`
|
|
202
|
+
- **修订已有规则**(挂载案例时):在原文件"来源案例"索引表追加案例行;如需补充检查点,在原检查点列表追加并标注 `({日期} 新增,draft 待审)`
|
|
203
|
+
|
|
204
|
+
### 5.2 写入案例文件(cases/)
|
|
205
|
+
|
|
206
|
+
- 按 [案例条目模板](assets/case-template.md) 生成(**格式二:代码证据式**),写入 `cases/KI-{XXX}-{库名现象}.md`
|
|
207
|
+
- **一案例一文件**:复合问题案例(挂多条规则)只写一份,元数据 `rule` 字段逗号分隔多条规则编号
|
|
208
|
+
|
|
209
|
+
**案例代码证据要求**(格式二核心):
|
|
210
|
+
- `verified: diff` 的案例**必须**包含"错误代码(修复前)"与"正确代码(修复后)"两个片段,从 PR diff 实际提取,禁止凭描述臆造
|
|
211
|
+
- 每段 ≤15 行,只保留命中判定关键行;错误代码用 `// ←` 标注缺陷点,正确代码用 `①②③` 标注修复步骤
|
|
212
|
+
- 元数据行必填:`rule` · `verified` · `source` · `severity`
|
|
213
|
+
|
|
214
|
+
### 5.3 更新一级索引(INDEX.md)
|
|
215
|
+
|
|
216
|
+
- **规则分类索引表**:新建规则追加行(含所属分类);新建分类时增加分类小节
|
|
217
|
+
- **案例索引表**:新案例追加行(编号/库/现象/所属规则/验证方式/案例文件链接)
|
|
218
|
+
- **变更记录表**:追加本次运行记录(日期 + 新建规则数/挂载案例数/修订项摘要)
|
|
219
|
+
|
|
220
|
+
### 5.4 自检清单
|
|
221
|
+
|
|
222
|
+
对每条产出逐项自检(不通过则回到 Phase 3 修订):
|
|
223
|
+
|
|
224
|
+
| # | 检查项 |
|
|
225
|
+
|---|--------|
|
|
226
|
+
| 1 | 规则体(来源案例区之外)无具体库名 / API 名 |
|
|
227
|
+
| 2 | 每个检查点可独立判定(读源码能给出 是/否/疑似) |
|
|
228
|
+
| 3 | 适用范围含可执行的预筛特征(依赖/文件/API 特征) |
|
|
229
|
+
| 4 | 与现有规则无"问题本质"层面的重叠 |
|
|
230
|
+
| 5 | 案例信息完整(现象 / 根因 / 修复方式 / PR 链接) |
|
|
231
|
+
| 6 | 严重级别有判定依据(high=功能不可用;medium=特定场景失效;low=体验问题) |
|
|
232
|
+
| 7 | INDEX.md 索引行与实际文件一一对应(链接可跳转) |
|
|
233
|
+
| 8 | 新建/修订条目状态均为 `draft` |
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Phase 6:输出与审核指引
|
|
238
|
+
|
|
239
|
+
### 6.1 审核指引(写入 generalization-log.md)
|
|
240
|
+
|
|
241
|
+
每次运行在 `generalization-log.md` **追加**一节,包含:
|
|
242
|
+
|
|
243
|
+
```markdown
|
|
244
|
+
# 泛化运行 — {日期}
|
|
245
|
+
|
|
246
|
+
## 产出清单
|
|
247
|
+
- 新建规则: {R-XX 列表 + 文件路径}
|
|
248
|
+
- 新建案例: {KI-XXX 列表 + 文件路径}
|
|
249
|
+
- 挂载案例: {KI-XXX → R-XX 映射}
|
|
250
|
+
- 修订规则: {R-XX + 修订内容}
|
|
251
|
+
|
|
252
|
+
## 审核要点
|
|
253
|
+
- 泛化度存疑项: {列出过拟合/过泛化风险条目及原因}
|
|
254
|
+
- 材料不足项: {未获取到 diff 的案例清单}
|
|
255
|
+
- 规则重叠风险: {与现有规则边界模糊的条目}
|
|
256
|
+
|
|
257
|
+
## 审核操作指引
|
|
258
|
+
1. 逐条审阅 draft 状态的规则/案例文件
|
|
259
|
+
2. 审核通过 → 规则文件改 `- **状态**: active`;案例文件元数据加 `status: active`
|
|
260
|
+
3. 审核不通过 → 修订文件内容或删除文件,并同步删除 INDEX.md 对应索引行
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### 6.2 输出确认
|
|
264
|
+
|
|
265
|
+
完成后输出确认信息:处理案例数、新建规则数、挂载案例数、材料不足数、写入的文件列表(含 INDEX.md 变更摘要)。
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 与其他 SKILL 的关系
|
|
270
|
+
|
|
271
|
+
| SKILL | 关系 |
|
|
272
|
+
|-------|------|
|
|
273
|
+
| `rn-library-known-issue-check`(已知问题检视) | **消费者**:读 INDEX.md 预筛 → 按 `active` 状态规则执行检查,案例作为 few-shot |
|
|
274
|
+
| RN 仓库检视流水线 | 间接关系:本 SKILL 为离线运营工具,**不参与**在线扫描流水线;其产出经人工审核激活后供检视 SKILL 使用 |
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
<!-- 案例条目模板:生成 cases/KI-{XXX}-{库名现象}.md 独立文件 -->
|
|
2
|
-
<!-- 案例编号 KI-XXX 全局唯一,三位数字递增 -->
|
|
3
|
-
<!-- 格式二(代码证据式):错误/正确代码对照是 few-shot 判断的核心依据,必须从实际 PR diff 提取 -->
|
|
4
|
-
|
|
5
|
-
# KI-{XXX} {库名}:{问题现象简述}
|
|
6
|
-
|
|
7
|
-
- **元数据**: `rule: {R-XX[, R-XX]}` · `verified: {diff|description-only}` · `source: {dtse|community-issue|self-check}` · `severity: {high|medium|low}` · `status: {draft|active}`
|
|
8
|
-
- **PR**: {修复 PR 完整链接}({状态},{核心变更文件数})
|
|
9
|
-
- **diff 材料**: [../pr-info/{repo}-{number}.md](../pr-info/{repo}-{number}.md)
|
|
10
|
-
|
|
11
|
-
## 现象
|
|
12
|
-
|
|
13
|
-
{原始 issue 描述,保留具体信息}
|
|
14
|
-
|
|
15
|
-
## 根因
|
|
16
|
-
|
|
17
|
-
{该案例的机制层根因,与所属规则的"问题本质"呼应}
|
|
18
|
-
|
|
19
|
-
## 错误代码(修复前{,注明文件与关键缺陷点})
|
|
20
|
-
|
|
21
|
-
```{语言}
|
|
22
|
-
{从 PR diff 的删除行/上下文提取,只保留命中判定的关键行,≤15 行;
|
|
23
|
-
无法获取 diff 时省略本字段并在元数据标记 verified: description-only}
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## 正确代码(修复后{,注明关键修复点})
|
|
27
|
-
|
|
28
|
-
```{语言}
|
|
29
|
-
{从 PR diff 的新增行提取,只保留体现修复模式的关键行,≤15 行;
|
|
30
|
-
可用注释标注 ①②③ 分步说明修复链路}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## 修复方式
|
|
34
|
-
|
|
35
|
-
{从 PR diff 提炼的可迁移修复模式}
|
|
36
|
-
|
|
37
|
-
<!--
|
|
38
|
-
字段说明:
|
|
39
|
-
- rule: 所属规则编号(一案例可挂多条规则,逗号分隔;每条规则文件中放索引行,案例文件只存一份)
|
|
40
|
-
- verified: diff=基于实际 patch 验证(有错误/正确代码);description-only=仅基于描述(无代码字段)
|
|
41
|
-
- source: dtse=DTSE代提;community-issue=社区 issue;self-check=内部自检发现
|
|
42
|
-
- severity: 该案例的严重级别(可能与规则默认级别不同)
|
|
43
|
-
- status: draft=泛化产出待审核;active=人工审核通过(检视 SKILL 只消费 active)
|
|
44
|
-
- 错误/正确代码约束:每段 ≤15 行;只留命中判定关键行;语言标注正确(typescript/cpp 等)
|
|
45
|
-
-->
|
|
1
|
+
<!-- 案例条目模板:生成 cases/KI-{XXX}-{库名现象}.md 独立文件 -->
|
|
2
|
+
<!-- 案例编号 KI-XXX 全局唯一,三位数字递增 -->
|
|
3
|
+
<!-- 格式二(代码证据式):错误/正确代码对照是 few-shot 判断的核心依据,必须从实际 PR diff 提取 -->
|
|
4
|
+
|
|
5
|
+
# KI-{XXX} {库名}:{问题现象简述}
|
|
6
|
+
|
|
7
|
+
- **元数据**: `rule: {R-XX[, R-XX]}` · `verified: {diff|description-only}` · `source: {dtse|community-issue|self-check}` · `severity: {high|medium|low}` · `status: {draft|active}`
|
|
8
|
+
- **PR**: {修复 PR 完整链接}({状态},{核心变更文件数})
|
|
9
|
+
- **diff 材料**: [../pr-info/{repo}-{number}.md](../pr-info/{repo}-{number}.md)
|
|
10
|
+
|
|
11
|
+
## 现象
|
|
12
|
+
|
|
13
|
+
{原始 issue 描述,保留具体信息}
|
|
14
|
+
|
|
15
|
+
## 根因
|
|
16
|
+
|
|
17
|
+
{该案例的机制层根因,与所属规则的"问题本质"呼应}
|
|
18
|
+
|
|
19
|
+
## 错误代码(修复前{,注明文件与关键缺陷点})
|
|
20
|
+
|
|
21
|
+
```{语言}
|
|
22
|
+
{从 PR diff 的删除行/上下文提取,只保留命中判定的关键行,≤15 行;
|
|
23
|
+
无法获取 diff 时省略本字段并在元数据标记 verified: description-only}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 正确代码(修复后{,注明关键修复点})
|
|
27
|
+
|
|
28
|
+
```{语言}
|
|
29
|
+
{从 PR diff 的新增行提取,只保留体现修复模式的关键行,≤15 行;
|
|
30
|
+
可用注释标注 ①②③ 分步说明修复链路}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 修复方式
|
|
34
|
+
|
|
35
|
+
{从 PR diff 提炼的可迁移修复模式}
|
|
36
|
+
|
|
37
|
+
<!--
|
|
38
|
+
字段说明:
|
|
39
|
+
- rule: 所属规则编号(一案例可挂多条规则,逗号分隔;每条规则文件中放索引行,案例文件只存一份)
|
|
40
|
+
- verified: diff=基于实际 patch 验证(有错误/正确代码);description-only=仅基于描述(无代码字段)
|
|
41
|
+
- source: dtse=DTSE代提;community-issue=社区 issue;self-check=内部自检发现
|
|
42
|
+
- severity: 该案例的严重级别(可能与规则默认级别不同)
|
|
43
|
+
- status: draft=泛化产出待审核;active=人工审核通过(检视 SKILL 只消费 active)
|
|
44
|
+
- 错误/正确代码约束:每段 ≤15 行;只留命中判定关键行;语言标注正确(typescript/cpp 等)
|
|
45
|
+
-->
|