dsh-crwu-workbench 0.0.10
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/CHANGELOG.md +1516 -0
- package/LICENSE +26 -0
- package/README.en.md +204 -0
- package/README.md +521 -0
- package/SECURITY.md +39 -0
- package/bin/darwin-arm64/crwu +0 -0
- package/bin/darwin-arm64/dws +0 -0
- package/bin/darwin-arm64/ossutil +0 -0
- package/bin/manifest.json +82 -0
- package/bin/win32-x64/crwu.exe +0 -0
- package/bin/win32-x64/dws.exe +4 -0
- package/bin/win32-x64/ossutil.exe +0 -0
- package/common/skills/.synced.json +8 -0
- package/common/skills/crwu-dws/SKILL.md +208 -0
- package/common/skills/crwu-dws/references/00-/347/233/256/345/275/225/345/277/253/347/205/247schema.md +113 -0
- package/common/skills/crwu-dws/references/01-/345/256/241/346/240/270/344/270/213/350/275/275/344/270/216manifest/350/247/204/350/214/203.md +115 -0
- package/common/skills/crwu-dws/references/02-/347/274/223/345/255/230/344/270/216/345/205/234/345/272/225/346/237/245/346/211/276/350/247/204/350/214/203.md +119 -0
- package/common/skills/crwu-dws/scripts/test_dws_source_contract.py +493 -0
- package/common/skills/crwu-h3yun-login/SKILL.md +130 -0
- package/common/skills/crwu-h3yun-query/SKILL.md +192 -0
- package/config/crwu-workbench.yml +26 -0
- package/cordis.patch.yml +46 -0
- package/lib/client.js +10346 -0
- package/lib/index.js +11584 -0
- package/package.json +119 -0
- package/scripts/prepare.mjs +59 -0
- package/skills/README.md +26 -0
- package/skills/crwu/crwu-audit/SKILL.md +152 -0
- package/skills/crwu/crwu-audit/references/00-input-and-route-profile.md +232 -0
- package/skills/crwu/crwu-audit/references/01-report-id-resolution.md +13 -0
- package/skills/crwu/crwu-audit/references/02-scope-classification.md +25 -0
- package/skills/crwu/crwu-audit/references/03-asset-classification.md +27 -0
- package/skills/crwu/crwu-audit/references/04-business-classification.md +63 -0
- package/skills/crwu/crwu-audit/references/05-method-classification.md +66 -0
- package/skills/crwu/crwu-audit/references/06-overlay-classification.md +42 -0
- package/skills/crwu/crwu-audit/references/07-skill-registry.md +57 -0
- package/skills/crwu/crwu-audit/references/08-union-dispatch-rules.md +142 -0
- package/skills/crwu/crwu-audit/references/09-review-risk-classification.md +85 -0
- package/skills/crwu/crwu-audit/references/10-capability-gap-proposal.md +68 -0
- package/skills/crwu/crwu-audit/references/11-html-delivery-spec.md +881 -0
- package/skills/crwu/crwu-audit/references/12-leaf-common-contract.md +202 -0
- package/skills/crwu/crwu-audit/references/13-dingtalk-result-publish.md +88 -0
- package/skills/crwu/crwu-audit/references/14-orchestration-workflow.md +52 -0
- package/skills/crwu/crwu-audit/references/99-maintenance.md +62 -0
- package/skills/crwu/crwu-audit/scripts/README.md +157 -0
- package/skills/crwu/crwu-audit/scripts/audit_delivery.py +2736 -0
- package/skills/crwu/crwu-audit/scripts/audit_result.schema.json +1659 -0
- package/skills/crwu/crwu-audit/scripts/examples/audit-result.sample.json +739 -0
- package/skills/crwu/crwu-audit/scripts/fetch_review_records.py +85 -0
- package/skills/crwu/crwu-audit/scripts/media_extract.py +513 -0
- package/skills/crwu/crwu-audit/scripts/prepare_materials.py +1252 -0
- package/skills/crwu/crwu-audit/scripts/test_audit_delivery.py +1678 -0
- package/skills/crwu/crwu-audit/scripts/test_audit_multiaxis_router.py +1339 -0
- package/skills/crwu/crwu-audit/scripts/test_fetch_review_records.py +77 -0
- package/skills/crwu/crwu-audit/scripts/test_media_extract.py +332 -0
- package/skills/crwu/crwu-audit/scripts/test_prepare_materials.py +1081 -0
- package/skills/crwu/crwu-audit/template/audit-report.html +435 -0
- package/skills/crwu/crwu-audit-asset-asset-group-goodwill/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-asset-group-goodwill/references/00-applicability.md +28 -0
- package/skills/crwu/crwu-audit-asset-asset-group-goodwill/references/01-kb-assembly.md +31 -0
- package/skills/crwu/crwu-audit-asset-asset-group-goodwill/references/02-review-focus.md +21 -0
- package/skills/crwu/crwu-audit-asset-asset-group-goodwill/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-debt/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-debt/references/00-applicability.md +40 -0
- package/skills/crwu/crwu-audit-asset-debt/references/01-kb-assembly.md +41 -0
- package/skills/crwu/crwu-audit-asset-debt/references/02-review-focus.md +54 -0
- package/skills/crwu/crwu-audit-asset-debt/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-enterprise-value/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-enterprise-value/references/00-applicability.md +31 -0
- package/skills/crwu/crwu-audit-asset-enterprise-value/references/01-kb-assembly.md +35 -0
- package/skills/crwu/crwu-audit-asset-enterprise-value/references/02-review-focus.md +33 -0
- package/skills/crwu/crwu-audit-asset-enterprise-value/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-equipment/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-equipment/references/00-applicability.md +40 -0
- package/skills/crwu/crwu-audit-asset-equipment/references/01-kb-assembly.md +39 -0
- package/skills/crwu/crwu-audit-asset-equipment/references/02-review-focus.md +52 -0
- package/skills/crwu/crwu-audit-asset-equipment/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-intangible/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-intangible/references/00-applicability.md +36 -0
- package/skills/crwu/crwu-audit-asset-intangible/references/01-kb-assembly.md +40 -0
- package/skills/crwu/crwu-audit-asset-intangible/references/02-review-focus.md +68 -0
- package/skills/crwu/crwu-audit-asset-intangible/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-inventory/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-inventory/references/00-applicability.md +28 -0
- package/skills/crwu/crwu-audit-asset-inventory/references/01-kb-assembly.md +31 -0
- package/skills/crwu/crwu-audit-asset-inventory/references/02-review-focus.md +21 -0
- package/skills/crwu/crwu-audit-asset-inventory/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-mining-right/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-mining-right/references/00-applicability.md +31 -0
- package/skills/crwu/crwu-audit-asset-mining-right/references/01-kb-assembly.md +35 -0
- package/skills/crwu/crwu-audit-asset-mining-right/references/02-review-focus.md +33 -0
- package/skills/crwu/crwu-audit-asset-mining-right/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-other/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-other/references/00-applicability.md +28 -0
- package/skills/crwu/crwu-audit-asset-other/references/01-kb-assembly.md +31 -0
- package/skills/crwu/crwu-audit-asset-other/references/02-review-focus.md +21 -0
- package/skills/crwu/crwu-audit-asset-other/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-portfolio/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-portfolio/references/00-applicability.md +28 -0
- package/skills/crwu/crwu-audit-asset-portfolio/references/01-kb-assembly.md +31 -0
- package/skills/crwu/crwu-audit-asset-portfolio/references/02-review-focus.md +21 -0
- package/skills/crwu/crwu-audit-asset-portfolio/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-realestate/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-realestate/references/00-applicability.md +43 -0
- package/skills/crwu/crwu-audit-asset-realestate/references/01-kb-assembly.md +75 -0
- package/skills/crwu/crwu-audit-asset-realestate/references/02-review-focus.md +93 -0
- package/skills/crwu/crwu-audit-asset-realestate/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-scrap-materials/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-scrap-materials/references/00-applicability.md +28 -0
- package/skills/crwu/crwu-audit-asset-scrap-materials/references/01-kb-assembly.md +31 -0
- package/skills/crwu/crwu-audit-asset-scrap-materials/references/02-review-focus.md +21 -0
- package/skills/crwu/crwu-audit-asset-scrap-materials/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-transport-equipment/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-transport-equipment/references/00-applicability.md +31 -0
- package/skills/crwu/crwu-audit-asset-transport-equipment/references/01-kb-assembly.md +35 -0
- package/skills/crwu/crwu-audit-asset-transport-equipment/references/02-review-focus.md +33 -0
- package/skills/crwu/crwu-audit-asset-transport-equipment/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-asset-operation/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-asset-operation/references/00-applicability.md +30 -0
- package/skills/crwu/crwu-audit-biz-asset-operation/references/01-kb-assembly.md +32 -0
- package/skills/crwu/crwu-audit-biz-asset-operation/references/02-review-focus.md +42 -0
- package/skills/crwu/crwu-audit-biz-asset-operation/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-consulting-review/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-consulting-review/references/00-applicability.md +30 -0
- package/skills/crwu/crwu-audit-biz-consulting-review/references/01-kb-assembly.md +32 -0
- package/skills/crwu/crwu-audit-biz-consulting-review/references/02-review-focus.md +40 -0
- package/skills/crwu/crwu-audit-biz-consulting-review/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-financial-reporting/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-financial-reporting/references/00-applicability.md +41 -0
- package/skills/crwu/crwu-audit-biz-financial-reporting/references/01-kb-assembly.md +40 -0
- package/skills/crwu/crwu-audit-biz-financial-reporting/references/02-review-focus.md +64 -0
- package/skills/crwu/crwu-audit-biz-financial-reporting/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-financing-debt/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-financing-debt/references/00-applicability.md +31 -0
- package/skills/crwu/crwu-audit-biz-financing-debt/references/01-kb-assembly.md +34 -0
- package/skills/crwu/crwu-audit-biz-financing-debt/references/02-review-focus.md +47 -0
- package/skills/crwu/crwu-audit-biz-financing-debt/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-investment-capital/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-investment-capital/references/00-applicability.md +31 -0
- package/skills/crwu/crwu-audit-biz-investment-capital/references/01-kb-assembly.md +34 -0
- package/skills/crwu/crwu-audit-biz-investment-capital/references/02-review-focus.md +47 -0
- package/skills/crwu/crwu-audit-biz-investment-capital/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/references/00-applicability.md +30 -0
- package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/references/01-kb-assembly.md +32 -0
- package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/references/02-review-focus.md +40 -0
- package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-tax-history/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-tax-history/references/00-applicability.md +29 -0
- package/skills/crwu/crwu-audit-biz-tax-history/references/01-kb-assembly.md +30 -0
- package/skills/crwu/crwu-audit-biz-tax-history/references/02-review-focus.md +33 -0
- package/skills/crwu/crwu-audit-biz-tax-history/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-transaction-disposal/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-transaction-disposal/references/00-applicability.md +31 -0
- package/skills/crwu/crwu-audit-biz-transaction-disposal/references/01-kb-assembly.md +34 -0
- package/skills/crwu/crwu-audit-biz-transaction-disposal/references/02-review-focus.md +47 -0
- package/skills/crwu/crwu-audit-biz-transaction-disposal/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-datacheck/SKILL.md +59 -0
- package/skills/crwu/crwu-audit-datacheck/references/00-KB/350/243/205/351/205/215/350/241/250.md +25 -0
- package/skills/crwu/crwu-audit-datacheck/references/01-runtime-and-check-catalog.md +139 -0
- package/skills/crwu/crwu-audit-datacheck/scripts/recalc_check.py +521 -0
- package/skills/crwu/crwu-audit-datacheck/scripts/test_recalc_check.py +419 -0
- package/skills/crwu/crwu-audit-datacheck/scripts/test_skill_self_containment.py +44 -0
- package/skills/crwu/crwu-audit-external-data/SKILL.md +73 -0
- package/skills/crwu/crwu-audit-external-data/references/00-KB/350/243/205/351/205/215/350/241/250.md +38 -0
- package/skills/crwu/crwu-audit-external-data/references/01-connector-access.md +116 -0
- package/skills/crwu/crwu-audit-external-data/references/02-verification-workflow.md +78 -0
- package/skills/crwu/crwu-audit-external-data/scripts/connector_probe.py +374 -0
- package/skills/crwu/crwu-audit-external-data/scripts/test_connector_probe.py +264 -0
- package/skills/crwu/crwu-audit-output-filter/SKILL.md +34 -0
- package/skills/crwu/crwu-audit-output-filter/references/00-applicability.md +7 -0
- package/skills/crwu/crwu-audit-output-filter/references/01-kb-assembly.md +11 -0
- package/skills/crwu/crwu-audit-output-filter/references/02-review-focus.md +25 -0
- package/skills/crwu/crwu-audit-public-general-standards/SKILL.md +46 -0
- package/skills/crwu/crwu-audit-public-general-standards/references/00-applicability.md +41 -0
- package/skills/crwu/crwu-audit-public-general-standards/references/01-kb-assembly.md +66 -0
- package/skills/crwu/crwu-audit-public-general-standards/references/02-review-focus.md +111 -0
- package/skills/crwu/crwu-audit-public-general-standards/references/03-execution-contract.md +89 -0
- package/skills/crwu/crwu-dev-audit-optimize/SKILL.md +98 -0
- package/skills/crwu/crwu-dev-audit-optimize/references/00-/344/274/230/345/214/226/350/247/204/350/214/203/344/270/216/346/226/207/344/273/266/350/220/275/347/202/271.md +132 -0
- package/skills/crwu/crwu-dev-audit-optimize/references/01-/345/217/215/351/246/210/345/256/232/344/275/215/344/270/216/347/224/273/345/203/217/346/265/201/347/250/213.md +108 -0
- package/skills/crwu/crwu-dev-audit-optimize/references/02-/346/226/271/346/241/210/346/250/241/346/235/277/344/270/216/347/241/256/350/256/244/351/227/250/347/246/201.md +92 -0
- package/skills/crwu/crwu-dev-audit-optimize/references/03-AI/344/272/272/345/267/245/345/267/256/350/267/235/345/210/206/346/236/220/346/265/201/347/250/213.md +95 -0
- package/skills/crwu/crwu-dev-audit-optimize/scripts/examples/gap-analysis.sample.json +116 -0
- package/skills/crwu/crwu-dev-audit-optimize/scripts/gap_analysis.schema.json +33 -0
- package/skills/crwu/crwu-dev-audit-optimize/scripts/gap_analysis_delivery.py +475 -0
- package/skills/crwu/crwu-dev-audit-optimize/scripts/test_gap_analysis_delivery.py +855 -0
- package/skills/crwu/crwu-dev-audit-optimize/template/NOTICE.echarts.txt +7 -0
- package/skills/crwu/crwu-dev-audit-optimize/template/echarts.min.js +45 -0
- package/skills/crwu/crwu-dev-audit-optimize/template/gap-analysis-report.html +71 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/SKILL.md +74 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/00-responsibility-and-modes.md +62 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/01-kb-source-discovery.md +89 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/02-child-skill-contract.md +99 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/03-review-item-execution-contract.md +51 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/04-registry-and-mapping-update.md +73 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/05-validation-and-delivery.md +127 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/06-live-routing-reconciliation.md +136 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/07-kb-skill-map.md +411 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/scripts/README.md +200 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/scripts/check_audit_skill_mappings.py +2477 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/scripts/kb_tool.py +577 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/scripts/test_audit_skill_maintainer.py +5097 -0
- package/skills/dws/LICENSE +178 -0
- package/skills/dws/NOTICE +17 -0
- package/skills/dws/dingtalk-aisearch/SKILL.md +83 -0
- package/skills/dws/dingtalk-aisearch/references/aisearch.md +249 -0
- package/skills/dws/dingtalk-aisearch/references/intent-guide.md +15 -0
- package/skills/dws/dingtalk-aisearch/references/lite-recipes.md +31 -0
- package/skills/dws/dingtalk-aitable/SKILL.md +139 -0
- package/skills/dws/dingtalk-aitable/references/06-data-analytics.md +11 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-advperm.md +251 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-attachment.md +49 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-best-practices.md +48 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-cell-value.md +346 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-dashboard-chart.md +46 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-data-analysis-sop.md +131 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-datasource.md +272 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-error-recovery.md +128 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-export-import.md +113 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-field-properties.md +238 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-field.md +186 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-filter-sort.md +135 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-form.md +130 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-formula-guide.md +224 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-primary-doc.md +58 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-create.md +52 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-delete.md +20 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-history.md +97 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-name-key.md +47 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-query.md +120 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-share.md +54 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-stats.md +59 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-update.md +66 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-upsert.md +89 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-view-config.md +140 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-view-extras.md +195 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-view-types.md +95 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-workflow.md +384 -0
- package/skills/dws/dingtalk-aitable/references/aitable-record-ops.md +80 -0
- package/skills/dws/dingtalk-aitable/references/aitable-section.md +30 -0
- package/skills/dws/dingtalk-aitable/references/aitable.md +59 -0
- package/skills/dws/dingtalk-aitable/references/field-rules.md +17 -0
- package/skills/dws/dingtalk-aitable/references/intent-guide.md +17 -0
- package/skills/dws/dingtalk-aitable/references/recipes/conventions.md +44 -0
- package/skills/dws/dingtalk-aitable/references/url-patterns.md +144 -0
- package/skills/dws/dingtalk-aitable/scripts/aitable_export_via_task.py +210 -0
- package/skills/dws/dingtalk-aitable/scripts/aitable_import_via_task.py +173 -0
- package/skills/dws/dingtalk-aitable/scripts/bulk_add_fields.py +273 -0
- package/skills/dws/dingtalk-aitable/scripts/import_records.py +333 -0
- package/skills/dws/dingtalk-aitable/scripts/upload_attachment.py +190 -0
- package/skills/dws/dingtalk-calendar/SKILL.md +137 -0
- package/skills/dws/dingtalk-calendar/references/03-meeting.md +56 -0
- package/skills/dws/dingtalk-calendar/references/calendar.md +760 -0
- package/skills/dws/dingtalk-calendar/references/intent-guide.md +9 -0
- package/skills/dws/dingtalk-calendar/references/lite-recipes.md +25 -0
- package/skills/dws/dingtalk-calendar/scripts/calendar_free_slot_finder.py +199 -0
- package/skills/dws/dingtalk-calendar/scripts/calendar_schedule_meeting.py +233 -0
- package/skills/dws/dingtalk-calendar/scripts/calendar_today_agenda.py +139 -0
- package/skills/dws/dingtalk-chat/SKILL.md +127 -0
- package/skills/dws/dingtalk-chat/references/01-messaging.md +103 -0
- package/skills/dws/dingtalk-chat/references/card/callback.md +10 -0
- package/skills/dws/dingtalk-chat/references/card/create.md +27 -0
- package/skills/dws/dingtalk-chat/references/card/schema.md +14 -0
- package/skills/dws/dingtalk-chat/references/card/update.md +13 -0
- package/skills/dws/dingtalk-chat/references/chat/chat-bot.md +187 -0
- package/skills/dws/dingtalk-chat/references/chat/chat-conversation.md +165 -0
- package/skills/dws/dingtalk-chat/references/chat/group-admin.md +144 -0
- package/skills/dws/dingtalk-chat/references/chat/group-discovery.md +121 -0
- package/skills/dws/dingtalk-chat/references/chat/message-actions.md +132 -0
- package/skills/dws/dingtalk-chat/references/chat/message-media.md +76 -0
- package/skills/dws/dingtalk-chat/references/chat/message-query.md +135 -0
- package/skills/dws/dingtalk-chat/references/chat/thread.md +46 -0
- package/skills/dws/dingtalk-chat/references/chat-emoji-list.md +216 -0
- package/skills/dws/dingtalk-chat/references/chat.md +140 -0
- package/skills/dws/dingtalk-chat/references/contracts.md +70 -0
- package/skills/dws/dingtalk-chat/references/intent-guide.md +56 -0
- package/skills/dws/dingtalk-contact/SKILL.md +122 -0
- package/skills/dws/dingtalk-contact/references/08-directory.md +51 -0
- package/skills/dws/dingtalk-contact/references/contact.md +595 -0
- package/skills/dws/dingtalk-contact/references/intent-guide.md +14 -0
- package/skills/dws/dingtalk-contact/references/lite-recipes.md +30 -0
- package/skills/dws/dingtalk-contact/references/recipes/conventions.md +44 -0
- package/skills/dws/dingtalk-contact/scripts/contact_dept_members.py +130 -0
- package/skills/dws/dingtalk-doc/SKILL.md +112 -0
- package/skills/dws/dingtalk-doc/references/04-document.md +57 -0
- package/skills/dws/dingtalk-doc/references/contracts.md +40 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-block.md +39 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-comment.md +29 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-create.md +54 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-export.md +30 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-import.md +28 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-info.md +12 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-media.md +46 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-read.md +56 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-update.md +87 -0
- package/skills/dws/dingtalk-doc/references/doc/format/doc-jsonml-cookbook.md +469 -0
- package/skills/dws/dingtalk-doc/references/doc/format/doc-jsonml-schema.json +526 -0
- package/skills/dws/dingtalk-doc/references/doc/format/doc-jsonml-schema.md +711 -0
- package/skills/dws/dingtalk-doc/references/doc/style/doc-create-workflow.md +414 -0
- package/skills/dws/dingtalk-doc/references/doc/style/doc-style-guideline.md +404 -0
- package/skills/dws/dingtalk-doc/references/doc/style/doc-update-workflow.md +316 -0
- package/skills/dws/dingtalk-doc/references/doc.md +82 -0
- package/skills/dws/dingtalk-doc/references/intent-guide.md +20 -0
- package/skills/dws/dingtalk-drive/SKILL.md +128 -0
- package/skills/dws/dingtalk-drive/references/drive.md +126 -0
- package/skills/dws/dingtalk-drive/references/folder-sync.md +40 -0
- package/skills/dws/dingtalk-drive/references/intent-guide.md +22 -0
- package/skills/dws/dingtalk-drive/references/lite-recipes.md +39 -0
- package/skills/dws/dingtalk-event/SKILL.md +106 -0
- package/skills/dws/dingtalk-event/references/event-im-keys.md +54 -0
- package/skills/dws/dingtalk-event/references/event-im-lifecycle.md +35 -0
- package/skills/dws/dingtalk-event/references/event-im-operations.md +52 -0
- package/skills/dws/dingtalk-event/references/event-im-output.md +39 -0
- package/skills/dws/dingtalk-event/references/event-im.md +58 -0
- package/skills/dws/dingtalk-event/references/event-oa.md +155 -0
- package/skills/dws/dingtalk-event/references/event-todo.md +50 -0
- package/skills/dws/dingtalk-event/references/event-voip.md +69 -0
- package/skills/dws/dingtalk-mail/SKILL.md +113 -0
- package/skills/dws/dingtalk-mail/references/09-mail.md +45 -0
- package/skills/dws/dingtalk-mail/references/intent-guide.md +8 -0
- package/skills/dws/dingtalk-mail/references/lite-recipes.md +45 -0
- package/skills/dws/dingtalk-mail/references/mail.md +1889 -0
- package/skills/dws/dingtalk-mail/references/recipes/conventions.md +44 -0
- package/skills/dws/dingtalk-mail/scripts/mail_send_with_cc.py +122 -0
- package/skills/dws/dingtalk-mail/scripts/mail_unread_summary.py +114 -0
- package/skills/dws/dingtalk-minutes/SKILL.md +116 -0
- package/skills/dws/dingtalk-minutes/references/07-minutes.md +149 -0
- package/skills/dws/dingtalk-minutes/references/10-minutes-speaker-match.md +32 -0
- package/skills/dws/dingtalk-minutes/references/11-minutes-speaker-correct.md +40 -0
- package/skills/dws/dingtalk-minutes/references/intent-guide.md +79 -0
- package/skills/dws/dingtalk-minutes/references/lite-recipes.md +25 -0
- package/skills/dws/dingtalk-minutes/references/minutes.md +210 -0
- package/skills/dws/dingtalk-minutes/references/recipes/conventions.md +33 -0
- package/skills/dws/dingtalk-minutes/scripts/minutes_recent_summary.py +196 -0
- package/skills/dws/dingtalk-minutes/scripts/test_minutes_scripts.py +222 -0
- package/skills/dws/dingtalk-misc/SKILL.md +55 -0
- package/skills/dws/dingtalk-misc/references/05-reporting.md +29 -0
- package/skills/dws/dingtalk-misc/references/agoal.md +302 -0
- package/skills/dws/dingtalk-misc/references/attendance-intent-guide.md +7 -0
- package/skills/dws/dingtalk-misc/references/attendance-report.md +109 -0
- package/skills/dws/dingtalk-misc/references/attendance-schedule.md +115 -0
- package/skills/dws/dingtalk-misc/references/attendance-vacation.md +129 -0
- package/skills/dws/dingtalk-misc/references/attendance.md +149 -0
- package/skills/dws/dingtalk-misc/references/dev/app.md +42 -0
- package/skills/dws/dingtalk-misc/references/dev/connect.md +108 -0
- package/skills/dws/dingtalk-misc/references/dev/credentials.md +26 -0
- package/skills/dws/dingtalk-misc/references/dev/dev-index.md +13 -0
- package/skills/dws/dingtalk-misc/references/dev/event.md +47 -0
- package/skills/dws/dingtalk-misc/references/dev/mcp.md +106 -0
- package/skills/dws/dingtalk-misc/references/dev/member.md +19 -0
- package/skills/dws/dingtalk-misc/references/dev/permission.md +56 -0
- package/skills/dws/dingtalk-misc/references/dev/recipes.md +58 -0
- package/skills/dws/dingtalk-misc/references/dev/robot.md +74 -0
- package/skills/dws/dingtalk-misc/references/dev/security.md +21 -0
- package/skills/dws/dingtalk-misc/references/dev/version.md +99 -0
- package/skills/dws/dingtalk-misc/references/dev/webapp.md +22 -0
- package/skills/dws/dingtalk-misc/references/devapp.md +148 -0
- package/skills/dws/dingtalk-misc/references/devdoc-intent-guide.md +7 -0
- package/skills/dws/dingtalk-misc/references/devdoc.md +42 -0
- package/skills/dws/dingtalk-misc/references/ding.md +184 -0
- package/skills/dws/dingtalk-misc/references/hrbrain.md +67 -0
- package/skills/dws/dingtalk-misc/references/live.md +23 -0
- package/skills/dws/dingtalk-misc/references/markdown.md +167 -0
- package/skills/dws/dingtalk-misc/references/oa/oa-form-components.md +345 -0
- package/skills/dws/dingtalk-misc/references/oa/oa-process-nodes.md +374 -0
- package/skills/dws/dingtalk-misc/references/oa.md +1014 -0
- package/skills/dws/dingtalk-misc/references/openapi-explorer.md +47 -0
- package/skills/dws/dingtalk-misc/references/pat.md +52 -0
- package/skills/dws/dingtalk-misc/references/profile.md +41 -0
- package/skills/dws/dingtalk-misc/references/recruit.md +89 -0
- package/skills/dws/dingtalk-misc/references/report-conventions.md +44 -0
- package/skills/dws/dingtalk-misc/references/report-intent-guide.md +11 -0
- package/skills/dws/dingtalk-misc/references/report-lite-recipes.md +25 -0
- package/skills/dws/dingtalk-misc/references/report.md +109 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-batch-operations.md +104 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-chart.md +69 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-comment.md +166 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-conditional-format.md +59 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-dimension-operations.md +60 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-dropdown.md +103 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-export.md +135 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-filter-view.md +51 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-filter.md +181 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-formula.md +192 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-import.md +76 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-media-image.md +263 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-pivot-table.md +292 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-range-operations.md +161 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-read-data.md +60 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-revision-changeset.md +46 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-search-replace.md +120 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-style-format.md +71 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-version.md +84 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-workbook.md +59 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-write-data.md +93 -0
- package/skills/dws/dingtalk-misc/references/sheet-conventions.md +44 -0
- package/skills/dws/dingtalk-misc/references/sheet-intent-guide.md +12 -0
- package/skills/dws/dingtalk-misc/references/sheet.md +166 -0
- package/skills/dws/dingtalk-misc/references/skill.md +98 -0
- package/skills/dws/dingtalk-misc/references/unsupported-scripts.md +49 -0
- package/skills/dws/dingtalk-misc/references/url-patterns.md +144 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/compose.md +200 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/01-overview.md +57 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/02-query.md +288 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/03-update.md +249 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/04-text-style.md +395 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/05-shape-frame-group-connector.md +186 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/06-vector-icon-path.md +313 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/07-examples-errors-write-support.md +270 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/08-catalogs.md +61 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1.md +54 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/replace.md +41 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/vector.md +51 -0
- package/skills/dws/dingtalk-misc/references/whiteboard.md +115 -0
- package/skills/dws/dingtalk-misc/scripts/aiapp_create_and_poll.py +138 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_my_record.py +91 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_report_checkin.py +440 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_report_common.py +1698 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_report_daily.py +558 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_report_detail.py +809 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_report_monthly.py +758 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_report_record.py +947 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_schedule_export.py +344 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_schedule_import.py +498 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_team_shift.py +89 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_vacation_balance.py +617 -0
- package/skills/dws/dingtalk-misc/scripts/finance_daily_cashflow.py +70 -0
- package/skills/dws/dingtalk-misc/scripts/finance_expense_flow.py +138 -0
- package/skills/dws/dingtalk-misc/scripts/oa_batch_approve.py +158 -0
- package/skills/dws/dingtalk-misc/scripts/oa_pending_review.py +132 -0
- package/skills/dws/dingtalk-misc/scripts/report_received_today.py +315 -0
- package/skills/dws/dingtalk-misc/scripts/yida_custom_page_update.py +401 -0
- package/skills/dws/dingtalk-misc/scripts/yida_form_builder.py +526 -0
- package/skills/dws/dingtalk-misc/scripts/yida_form_fields.py +315 -0
- package/skills/dws/dingtalk-misc/scripts/yida_form_inspector.py +311 -0
- package/skills/dws/dingtalk-misc/scripts/yida_form_update.py +185 -0
- package/skills/dws/dingtalk-misc/scripts/yida_jsx_pipeline.py +1588 -0
- package/skills/dws/dingtalk-misc/scripts/yida_page_compiler.py +1441 -0
- package/skills/dws/dingtalk-misc/scripts/yida_page_generate.py +514 -0
- package/skills/dws/dingtalk-misc/scripts/yida_page_schema.py +519 -0
- package/skills/dws/dingtalk-misc/scripts/yida_page_self_check.py +398 -0
- package/skills/dws/dingtalk-misc/scripts/yida_process_flow.py +1478 -0
- package/skills/dws/dingtalk-misc/scripts/yida_process_update.py +589 -0
- package/skills/dws/dingtalk-misc/scripts/yida_report_builder.py +494 -0
- package/skills/dws/dingtalk-misc/scripts/yida_report_charts.py +1434 -0
- package/skills/dws/dingtalk-misc/scripts/yida_report_update.py +244 -0
- package/skills/dws/dingtalk-misc/scripts/yida_schema_common.py +340 -0
- package/skills/dws/dingtalk-shared/SKILL.md +83 -0
- package/skills/dws/dingtalk-shared/references/capability-limits.md +31 -0
- package/skills/dws/dingtalk-shared/references/channel-login.md +26 -0
- package/skills/dws/dingtalk-shared/references/confirmation.md +59 -0
- package/skills/dws/dingtalk-shared/references/error-codes.md +155 -0
- package/skills/dws/dingtalk-shared/references/global-reference.md +122 -0
- package/skills/dws/dingtalk-shared/references/intent-guide.md +537 -0
- package/skills/dws/dingtalk-shared/references/recipes/conventions.md +45 -0
- package/skills/dws/dingtalk-shared/references/recipes/lite-catalog.md +275 -0
- package/skills/dws/dingtalk-shared/references/recipes/meta.md +67 -0
- package/skills/dws/dingtalk-shared/references/routing.md +52 -0
- package/skills/dws/dingtalk-shared/references/runtime-contract.md +11 -0
- package/skills/dws/dingtalk-shared/references/schema-usage.md +88 -0
- package/skills/dws/dingtalk-shared/references/url-patterns.md +144 -0
- package/skills/dws/dingtalk-shared/references/workflow-routing.md +45 -0
- package/skills/dws/dingtalk-todo/SKILL.md +119 -0
- package/skills/dws/dingtalk-todo/references/02-task.md +70 -0
- package/skills/dws/dingtalk-todo/references/intent-guide.md +15 -0
- package/skills/dws/dingtalk-todo/references/lite-recipes.md +68 -0
- package/skills/dws/dingtalk-todo/references/recipes/conventions.md +44 -0
- package/skills/dws/dingtalk-todo/references/todo.md +517 -0
- package/skills/dws/dingtalk-todo/scripts/todo_batch_create.py +354 -0
- package/skills/dws/dingtalk-todo/scripts/todo_daily_summary.py +153 -0
- package/skills/dws/dingtalk-todo/scripts/todo_overdue_check.py +101 -0
- package/skills/dws/dingtalk-wiki/SKILL.md +117 -0
- package/skills/dws/dingtalk-wiki/references/intent-guide.md +14 -0
- package/skills/dws/dingtalk-wiki/references/lite-recipes.md +44 -0
- package/skills/dws/dingtalk-wiki/references/wiki-members.md +32 -0
- package/skills/dws/dingtalk-wiki/references/wiki-node-ops.md +46 -0
- package/skills/dws/dingtalk-wiki/references/wiki.md +65 -0
- package/skills/dws/provenance.json +27 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# 叶子技能共同约束(资产轴 / 业务轴通用)
|
|
2
|
+
|
|
3
|
+
| 版本 | v1.0 | 状态 | 2026-09-10 定稿 | 维护 | crwu-audit + crwu-dev-audit-skill-maintainer |
|
|
4
|
+
| --- | --- | --- | --- | --- |
|
|
5
|
+
|
|
6
|
+
> 本文件是**所有 `crwu-audit-asset-*` 与 `crwu-audit-biz-*` 叶子**的共同约束:公共部分只写一份,
|
|
7
|
+
> 由确定性同步命令复制为每个叶子的本地副本 `references/03-common-contract.md`;**运行时只读取本 Skill 目录内的这一份**。
|
|
8
|
+
> 叶子自己的 `SKILL.md` 只写"本轴/本标签特有"的内容,其余按本文件执行。
|
|
9
|
+
>
|
|
10
|
+
> **位置与维护关系(源码维护口径,不是运行时依赖)**:源仓中的规范源位于
|
|
11
|
+
> `crwu-audit/references/12-leaf-common-contract.md`,由 `crwu-dev-audit-skill-maintainer` 的
|
|
12
|
+
> `scripts/kb_tool.py sync-leaf-common-contract --write` 同步到各叶子,`kb_tool.py validate` / `--check` 阻止缺失与漂移。
|
|
13
|
+
> 规范源与各叶子副本**逐字节相同**,是一个内容的多个副本,**不是多个独立事实源**。
|
|
14
|
+
>
|
|
15
|
+
> **自包含边界**:本文件不把任何 sibling Skill 内的文件当作运行时读取对象或优先级来源。
|
|
16
|
+
> 文中出现的「router / 编排层」一律只描述**调用方提供的输入接口**(即叶子收到什么),不要求叶子去读取调用方的文件。
|
|
17
|
+
> 与调用方在**分发与交付**层面的规则冲突时以调用方为准,但这类规则只经叶子收到的
|
|
18
|
+
> `route_profile` / 本次 manifest / 材料路径体现;叶子**不需要、也不得**为此打开任何外部文件。
|
|
19
|
+
|
|
20
|
+
## 1 调用边界
|
|
21
|
+
|
|
22
|
+
- **仅经 `crwu-audit` router 编排调用**,禁止单独调用;叶子 `SKILL.md` 必须显式声明该门禁。
|
|
23
|
+
- 不查询报告记录、不自行获取材料、不重新下载规则正文之外的东西。
|
|
24
|
+
- **不自行外部取数**:普通资产/业务叶子一律不得连接任何外部数据源,也不得自行探测取数入口。
|
|
25
|
+
报告引用的外部公开数据由**独立的外部数据核验能力**负责,该能力由编排层按画像条件另行装配;
|
|
26
|
+
它的执行路径、数据源、凭据归属与降级口径**不在本契约内定义**,叶子不得依赖它、不得复制其规程,
|
|
27
|
+
也不得把「未做外部核验」写成本叶子自己的缺失。交付件涉及外部数据核验结论时,只引用编排层给出的回执。
|
|
28
|
+
- 不产出面向委托方的审核意见:叶子只产出 findings,由 router 汇总、去重并交付。
|
|
29
|
+
- 不修改任何运行时技能目录;改动只落源仓。
|
|
30
|
+
|
|
31
|
+
## 2 输入契约
|
|
32
|
+
|
|
33
|
+
叶子只接受这三项,缺任一项记 capability gap,不自行补取:
|
|
34
|
+
|
|
35
|
+
1. router 冻结的一级 `route_profile`(五轴标签 + 证据 + `confidence`/`review_required`);
|
|
36
|
+
2. router 已准备并隔离的报告、评估说明、测算明细表等材料路径;
|
|
37
|
+
3. router 已验证的**本次** DWS manifest 及其文件路径、`exportedAt`。
|
|
38
|
+
|
|
39
|
+
不得沿用上一轮下载物、目录缓存或历史摘录充当本次正文。
|
|
40
|
+
|
|
41
|
+
## 3 轴边界
|
|
42
|
+
|
|
43
|
+
| 轴 | 只管 | 不管 |
|
|
44
|
+
| --- | --- | --- |
|
|
45
|
+
| 资产轴 `crwu-audit-asset-*` | 对象/资产类型的专业规则:权属、实物与经济特征、资产特有方法前提、对象特有风险 | 评估目的与经济行为(业务轴);方法与监管正文(method/overlay 轴);表格勾稽(public 轴) |
|
|
46
|
+
| 业务轴 `crwu-audit-biz-*` | 评估目的、经济行为与场景规则:租赁、处置、拍卖、清算、抵押、财务报告目的等对口径、材料和判断的影响 | 对象专业规则(资产轴);方法与监管正文;表格勾稽 |
|
|
47
|
+
|
|
48
|
+
- **禁止创建 `资产 × 业务` 组合 Skill**。同一报告命中多轴时由 router 做稳定并集;任一轴都不得替代另一轴。
|
|
49
|
+
- 业务目录内的"资产专项"只按 `route_profile.asset_types[]` 与二级对象结果**条件使用**,不得据此新建组合技能,也不得取代资产轴。
|
|
50
|
+
- 跨轴冲突并列呈现交人工复核,不以后加载的来源覆盖先加载来源。
|
|
51
|
+
|
|
52
|
+
## 4 装配契约(一级根)
|
|
53
|
+
|
|
54
|
+
- 每个叶子**恰好登记一个一级根**:资产 = `02-资产类型/<一级资产>/`,业务 = `01-业务路线/<一级业务>/`。
|
|
55
|
+
- 一级根必须是 `request_kind=directory`、`recursive=true`、`required=true`;**递归下载根内全部支持正文**,不退回逐文件挑选。
|
|
56
|
+
- 细分对象与子业务**不各建 Skill、不各占 registry 行**;它们是父级叶子在已下载目录包内的二级选择索引。
|
|
57
|
+
- 全局执行契约、方法正文、监管正文由 router 的其他轴装配,不复制进本轴的根映射;财务报告覆盖规则是唯一按 `business_types[]=财务报告` 动态追加的业务补充包,仍不登记为叶子的第二个一级根。
|
|
58
|
+
- 路径键一律用**库内层级路径**写法;禁止本地知识库根字面、`KB/<相对路径>` 引用、个人绝对路径。
|
|
59
|
+
|
|
60
|
+
## 5 二级选择契约
|
|
61
|
+
|
|
62
|
+
叶子在**已下载目录包内**完成二级分类,不改变一级路由,返回:
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"parent_label": "<一级标签>",
|
|
67
|
+
"label": "<细分对象或子业务>",
|
|
68
|
+
"evidence": [{"source": "<材料类型>", "location": "<报告:页码或章节>"}],
|
|
69
|
+
"confidence": "high|medium|low",
|
|
70
|
+
"review_required": false,
|
|
71
|
+
"selected_relative_paths": ["<相对路径>"]
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- 数组名:资产轴 `asset_subobjects[]`,业务轴 `business_subroutes[]`。
|
|
76
|
+
- 证据以**评估对象、资产明细、权属材料、评估目的原文**等原始材料为准,不得只凭文件名或报告标题判断。
|
|
77
|
+
- **同时命中多项全部保留**,不使用"首次命中即停止"。
|
|
78
|
+
- 低置信度标记 `review_required=true`,并审阅全部合理候选,不猜唯一分类。
|
|
79
|
+
- 结果只并入本次审核运行记录,**不回写或篡改** router 已冻结的一级 `route_profile`。
|
|
80
|
+
|
|
81
|
+
## 6 执行顺序契约
|
|
82
|
+
|
|
83
|
+
统一按「**一级共用层 → 命中二级条目**」执行,不得颠倒、不得因为只命中一个二级项就跳过共用层:
|
|
84
|
+
|
|
85
|
+
| 轴 | 一级共用层 | 命中后的二级条目 |
|
|
86
|
+
| --- | --- | --- |
|
|
87
|
+
| 资产 | `01-共性参考/` 下全部文档(对象准则、定义分类、共性评估审核条目及相关复核条目) | 每个命中 `02-细分对象/<对象>/` 的 `评估审核条目` |
|
|
88
|
+
| 业务 | 一级根直接文档 `共同审核点`(**若库内存在**) | 每个命中子业务的 `01-业务通用审核要点` 及其同目录关联文件(资产专项、方法适用索引、监管适用索引) |
|
|
89
|
+
|
|
90
|
+
- 一级共用层缺失:资产缺 `01-共性参考/` 记内容缺口;业务缺 `共同审核点` **不记缺口**(条件性约定)。
|
|
91
|
+
- 已下载但未命中的二级资料:登记"未选用及原因",不强行套用。
|
|
92
|
+
|
|
93
|
+
## 7 条目状态契约
|
|
94
|
+
|
|
95
|
+
命中审核文件后,其中**每一项**必须产生一条状态,不得以"未发现问题"笼统概括。
|
|
96
|
+
|
|
97
|
+
必检项 / 必检项要点:
|
|
98
|
+
|
|
99
|
+
| 字段 | 允许值或要求 |
|
|
100
|
+
| --- | --- |
|
|
101
|
+
| `status` | `符合`、`不符合`、`不适用`、`无法核验` |
|
|
102
|
+
| `report_evidence` | 当前报告页码、章节、表格或附件位置 |
|
|
103
|
+
| `rule_source` | 对应来源路径及 RULE/CHK 标识 |
|
|
104
|
+
| `reason` | `不适用`、`无法核验` 时必填 |
|
|
105
|
+
| `finding` | `不符合` 时必填,描述当前项目具体问题 |
|
|
106
|
+
|
|
107
|
+
历史高频复核问题:
|
|
108
|
+
|
|
109
|
+
| 状态 | 含义 |
|
|
110
|
+
| --- | --- |
|
|
111
|
+
| `涉及` | 当前报告存在对应风险迹象,并给出本项目证据 |
|
|
112
|
+
| `未涉及` | 已检查,当前报告未出现 |
|
|
113
|
+
| `无法核验` | 资料不足,并列明缺失资料 |
|
|
114
|
+
|
|
115
|
+
- 来源写有"待补"、`TODO`、空文档时:**登记知识库内容缺口**,不根据标题、经验或历史补造要求;该子业务的必检覆盖记为不完整。
|
|
116
|
+
- 相同检查点稳定去重,但保留全部 `source_skills[]` 与 `rule_source`。
|
|
117
|
+
|
|
118
|
+
### 7.1 隐藏区相关条目的定级与去向(2026-09-15 立规 · 2026-09-16 用户口径修订)
|
|
119
|
+
|
|
120
|
+
人工隐藏的 sheet/行/列/折叠分组由员工手动隐藏,**整体排除审核范围**(H0:禁读禁报——不读取、不解析、
|
|
121
|
+
不核对、不引用其中任何值或公式,也不对其产生意见、不写入证据值;对隐藏区既不报错也不报漏)。
|
|
122
|
+
凡结论涉及隐藏区,按下列三档处理,**不得再按普通缺陷定级**:
|
|
123
|
+
|
|
124
|
+
| 情形 | 定级 | 去向 | 备注 |
|
|
125
|
+
| --- | --- | --- | --- |
|
|
126
|
+
| **隐藏区内容本身的判断**(含读取隐藏格取值、对隐藏列/表下结论) | 不作为意见 | 必要时登记「待人工复核事项」 | 需 H1 书面授权方可读取;未获授权不得进入结论 |
|
|
127
|
+
| **不确定项**:可见结果是否依赖隐藏输入、隐藏区取数口径/用途不明、隐藏结构元数据与实际不一致而影响可复核性 | **S3(最低等级)** | **`manualConfirmationItems[]`(`decision=pending_confirmation`、`review_required=true`)** | 不计入 `fail`/不进入「需要处理的问题」;标题须写明"待人工确认" |
|
|
128
|
+
| **被可见公式引用的隐藏区**:可见格公式**确实**引用了隐藏行/列/隐藏工作表,该可见结果的计算输入不可见 | **S3(最低等级)** | **`manualConfirmationItems[]`(人工建议检查项,`review_required=true`)** | **2026-09-16 口径**:审核只要公式计算正确即可——**不得**将其出成 `issues[]`、不得据此升级严重度;建议人工核对隐藏区公式与结果 |
|
|
129
|
+
|
|
130
|
+
纪律:
|
|
131
|
+
|
|
132
|
+
1. **两类必须分开**:第 2 行(不确定)与第 3 行(被引用的隐藏区)不得混为一条;同一发现同时涉及两者时拆成两条。
|
|
133
|
+
2. **默认取不确定档**:只要"是否依赖隐藏输入"本身无法在不读隐藏区的前提下判定,就按第 2 行处理,不得推测。
|
|
134
|
+
3. **可见区自身算错照常出问题**:可见区勾稽不符、重算值≠缓存值等**可见区**缺陷,仍按普通可见区缺陷定级进 `issues[]`——
|
|
135
|
+
**不因涉及隐藏区而加严,也不因涉及隐藏区而放松**;本表只约束"隐藏区相关"的去向。
|
|
136
|
+
4. **建议项只为被引用的隐藏区出**:表内存在隐藏行/列/sheet 但不参与任何可见公式计算的不出建议项(避免噪声)。
|
|
137
|
+
5. **元数据可信度**:隐藏结构以**原件 raw XML 的真实区段**(`<col min max hidden>`/`<row hidden>`)为准;
|
|
138
|
+
工具给出的隐藏集合若与 raw XML 不一致,按 raw XML 判定,并**另记一条 `capability gap`**(工具缺陷),
|
|
139
|
+
不得把工具缺陷产生的差异写成被审件缺陷。
|
|
140
|
+
6. 定级只影响"处理去向与优先级"(走人工确认、不占不通过数),**不影响证据留痕**:仍须给出被审件在件位置与原始摘录 —— **只允许摘录可见结果、可见公式或其它可见证据**;**不得摘录隐藏区内容**(隐藏区既禁读,也不得进入任何摘录、证据值或引用);
|
|
141
|
+
`材料盘点.json` 的 `hiddenRefs` / `calcChainNotReproducible` 是**审计元数据**,供生成上述建议项,本身不构成 AI 问题。
|
|
142
|
+
|
|
143
|
+
### 7.2 程序层条目的判据深度与跨文件语义一致性(2026-09-16 立规)
|
|
144
|
+
|
|
145
|
+
程序层条目(现场调查、资料核查验证、引用其他机构报告、资产核实、权属查验等)**不得只做"环节是否披露"的齐备性核对**,须再核"程序内容是否与本项目评估对象类型、业务场景相适配":
|
|
146
|
+
|
|
147
|
+
| 维度 | 须核到什么 | 不满足时的去向 |
|
|
148
|
+
| --- | --- | --- |
|
|
149
|
+
| 环节齐备性 | 按当次选定版本的程序准则,要求披露的环节是否均有披露 | 缺环节 → `不符合` |
|
|
150
|
+
| 程序适配性 | 程序手段是否匹配评估对象类型与业务场景,是否沿用其他资产类型的模板化表述(示例:对以数据、权利或系统记录为标的的对象,仍通篇写"现场实地勘查/账、表相符"即属未适配) | 模板化且不匹配 → `不符合`,并在条目中写明应补的专项手段 |
|
|
151
|
+
|
|
152
|
+
**跨文件语义一致性**:结论性表述(评估说明的核实结论、评估假设、方法理由)须与测算明细表数值、报告披露相互一致。凡出现"核实结果与账面记录一致"而账面价值为 0、"权属证明文件齐全"而权属登记于基准日后取得等**同一事实在不同文件间相互矛盾**的情形,即出条目——数值勾稽通过不等于语义自洽。
|
|
153
|
+
|
|
154
|
+
纪律:本节核对只引用当次选定版本的程序准则 RULE 编号与库内层级路径寻址键;**各资产类型应核的具体专项手段以知识库对应条目的检查点为准,本文件不复制清单正文**。
|
|
155
|
+
|
|
156
|
+
### 7.3 基础要素一致性必查项(叶子公共 · 2026-09-16 立规)
|
|
157
|
+
|
|
158
|
+
下列五类属**跨全部资产轴与业务轴的公共必查项**,任何命中叶子都必须逐项执行并按 §7 产生状态;它们对应的历史复核问题在 ≥380 个项目上逐字出现(公司复核表固定检查项),不是某个资产的专属事项。各资产/业务条目的专属检查点不因本节存在而免检:
|
|
159
|
+
|
|
160
|
+
| # | 必查项 | 核到什么 | 不满足时的去向 |
|
|
161
|
+
| --- | --- | --- | --- |
|
|
162
|
+
| 1 | **数值四表勾稽** | 报告正文、报告摘要、评估说明、评估明细表(含万元汇总表)四处同一口径的评估值/账面值/增减值/增值率必须同值;万元汇总表与明细表在万元口径下一致 | 任一处不符 → `不符合`,写明两处位置与各自数值 |
|
|
163
|
+
| 2 | **基础日期四处一致** | 封面报告日、正文末尾报告日、签字盖章日、评估师承诺函日期四处一致;且评估组核实工作期间落在评估基准日之后、报告日之前且期间合理;承诺函/有关事项说明签署日期不晚于报告日 | 不一致 → `不符合`;期间不合理 → `不符合` 并写明实际期间 |
|
|
164
|
+
| 3 | **增减值与增值率自洽(先定符号口径、再套对应公式)** | **无条件前置**:`增减值 = 评估价值 − 账面价值`;**账面价值为 0** 不得计算比率(不得臆造,也不得目测补一个比率);**账面价值为负**、或账面价值为正但口径特殊且缺少明确说明 → `pending_verification` 转人工,**不套任何比率公式**;**必须先确认**报告采用哪种符号口径(来源限于报告正文/表头/表注备注/本次实时下载的 `06-规则库/M-计算表审核/` 之「C13 增减值与增值率勾稽」「C21 正负号约定」),**不得**凭行业惯例假定。**口径 A · 有符号增值率**:`增值率 = 增减值 ÷ 账面价值`,账面价值为正常正值时增减值与增值率**同号**,**减值时出现负增值率本身不是错误**。**口径 B · 正数幅度(减值幅度)**(须有「减值率」「减值幅度」等明确标签或声明,或明示正数代表减值):`减值幅度 = (账面价值 − 评估价值) ÷ 账面价值`(等价 `abs(增减值 ÷ 账面价值)`),**不得要求**减值幅度与增减值同号;报告正文、摘要、明细表、分类汇总表、万元汇总表须使用**同一标签与约定**;**不得**把有符号「增值率」与正数「减值率/幅度」当作同一字段直接比较。**口径 C · 无法确认公司口径**:**不选** A 或 B,记 `capability gap` 与 `pending_verification` 转人工,**不作判断**(不得直接判 `不符合`)。 | 违反**已明确选定**的口径(A 的同号关系不符;B 的标签或跨文件约定不一致)→ `不符合`;口径未确认 → **不作判断**、转人工;增减值恒等式不成立 → `不符合`;出现减值而结论处未作增减值原因分析 → `不符合` |
|
|
165
|
+
| 4 | **目录与页码** | 报告目录与说明目录均为最新且与各部分内容对应;页码连续、无重复、无漏页;页眉与所属文件一致 | 任一项不符 → `不符合`,写明页码位置 |
|
|
166
|
+
| 5 | **单位与小数位** | 全文金额单位(元/万元)标注完整且前后一致;单价、面积、比率的小数位符合公司口径且表间一致 | 不符 → `不符合` |
|
|
167
|
+
|
|
168
|
+
纪律:
|
|
169
|
+
|
|
170
|
+
1. 本节只定**执行要求与去向**;具体条目编号、检查点文本与公司口径**一律按装配表从知识库实时下载后只读引用**,本文件不复述、不列举。
|
|
171
|
+
2. 第 3 项的口径可能随公司要求调整;**口径缺失或库内条目未就位时记 capability gap 并转人工**,不得凭行业惯例自定符号写法。
|
|
172
|
+
3. 表格侧的机械核验由编排层按需叠加**表格勾稽能力**(其 C1/C2/C4/C9 覆盖本表第 1、3、5 项的表内部分);
|
|
173
|
+
叶子不得因编排层已调用该能力而省略本表第 2、4 项。
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
## 8 来源优先级与冲突
|
|
177
|
+
|
|
178
|
+
1. 现行法律法规、执业准则和有效监管规则(硬约束);
|
|
179
|
+
2. 必检项(确保约束与业务要求被完整执行);
|
|
180
|
+
3. 历史高频复核问题(防止重复发生既往缺陷);
|
|
181
|
+
4. 审核经验(补充视角,不得降低或覆盖更高层级要求)。
|
|
182
|
+
|
|
183
|
+
来源冲突、失效或版本不明时:停止形成确定性结论,记录冲突双方与来源,转人工判断;不得用低层级经验覆盖准则。
|
|
184
|
+
历史次数、旧项目名称与案例只用于提示检查方向,**不是当前事实,也不是现行准则**。
|
|
185
|
+
|
|
186
|
+
## 9 证据与出处
|
|
187
|
+
|
|
188
|
+
- 每条 finding 的出处至少包含:**本次下载文件、实际行号、库内路径、本次运行返回的 `nodeId`、`exportedAt`**。
|
|
189
|
+
- 运行时值(`nodeId` 等)不得写回技能文件。
|
|
190
|
+
- 技能文件只写 RULE/CHK 编号与库内层级路径寻址键,以及基于本次真实读取归纳的要点;**不得逐字复制知识库正文**。
|
|
191
|
+
|
|
192
|
+
## 10 capability gap
|
|
193
|
+
|
|
194
|
+
以下情形必须留 gap,且**只影响对应检查**,不得让其他可用能力停止执行:目录未完整、递归下载失败、空目录、不支持导出的节点、审核文件缺失、内容为占位/待补、规则版本不明、来源冲突、报告证据不足。
|
|
195
|
+
|
|
196
|
+
gap 要写清:缺什么、在哪个库内层级路径、影响哪些检查、需要谁补。
|
|
197
|
+
|
|
198
|
+
## 11 输出
|
|
199
|
+
|
|
200
|
+
- 每条 finding 带 `source_skills[]`(至少包含本技能名)、`report_evidence`、`rule_source`、`status`。
|
|
201
|
+
- 分区(报告 / 评估说明 / 测算明细表)组织,不混写。
|
|
202
|
+
- 输出前自检:二级选择是否回指一级根、共用层是否执行、必检项是否逐项有状态、gap 是否登记。
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# AuditResult 钉钉回传契约(结构化 Tool)
|
|
2
|
+
|
|
3
|
+
本契约只负责把步骤 14 已生成并通过最终态校验的内部监控 JSON 回传到固定钉钉团队空间。它不参与审核判断、HTML 渲染或知识库取数。
|
|
4
|
+
|
|
5
|
+
**执行入口只有一个:`crwu_audit_dingtalk_archive`。** 组织、团队空间、结果根目录、profile、`spaceId`/`folderId`/`nodeId` 全部由 Tool 内部解析;审核子代理**不提交、也不知道**这些标识,**不再**通过命令行或 Python 脚本完成这一步。
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
crwu_audit_dingtalk_archive({ caseDir: "<案例目录绝对路径>", seqNo: "<报告流水号>" })
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 固定目标(由 Tool 内部解析,不接受参数覆盖)
|
|
12
|
+
|
|
13
|
+
| 层级 | 精确名称 | 处理规则 |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| 组织 | `中瑞世联资产评估集团有限公司` | 用 DWS profile 列表精确匹配;组织必须唯一,并且有且只有一个 `isOrgCurrent=true` 账号 |
|
|
16
|
+
| 企业团队空间 | `00-【系统专用】AI结果回传区(自动同步·请勿删改)` | 只在目标组织下查询 `orgSpace` 空间;必须预先存在且唯一 |
|
|
17
|
+
| 结果根目录 | `AI资产评估审核结果` | 只在上述空间根目录逐层精确查找;必须预先存在且唯一 |
|
|
18
|
+
| 年份目录 | `YYYY` | 取 `auditTask.auditTime` 的年份;不存在时允许创建,存在时必须唯一且为文件夹 |
|
|
19
|
+
| 月份目录 | `MM` | 取同一 `auditTask.auditTime` 的零补齐月份;不存在时允许创建,存在时必须唯一且为文件夹 |
|
|
20
|
+
|
|
21
|
+
不得创建、重命名或替代组织、企业团队空间、结果根目录;只允许自动创建年份和月份两级目录。不得跨组织搜索、选择相似名称、选择第一项或持久切换 profile。所有远端 ID 必须来自本次真实返回,不得写入 Skill source。
|
|
22
|
+
|
|
23
|
+
## 输入门禁与文件名
|
|
24
|
+
|
|
25
|
+
输入固定为步骤 14 `render --json-out` 生成的 `审核结果.<项目ID>.json`(放在案例目录下)。上传前 Tool 会再次按渲染后状态校验它依赖的字段;校验失败时**不访问钉钉、不创建目录**。
|
|
26
|
+
|
|
27
|
+
- 归档年月:`auditTask.auditTime`,必须是带时区的 ISO 8601 时间。
|
|
28
|
+
- 重名后缀:`fileTrace.generatedAt`,必须是带时区的 ISO 8601 时间,格式化为 `YYYYMMDD-HHmmssffffff`。
|
|
29
|
+
- 远端文件名:`审核结果.<安全化项目ID>.<时间戳>.json`。
|
|
30
|
+
- 项目 ID 中不适用于文件名的 `\ / : * ? " < > |` 与控制字符替换为 `_`;不得改写 JSON 内容。
|
|
31
|
+
|
|
32
|
+
示例:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
AI资产评估审核结果/
|
|
36
|
+
└── 2026/
|
|
37
|
+
└── 09/
|
|
38
|
+
└── 审核结果.PRJ-2026-0001.20260918-140607123456.json
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
时间戳取 JSON 内既有生成时间而不是上传时钟,使同一最终结果的远端名称可复现。目标月份目录已经存在同名文件时立即停止,禁止覆盖、删除或自动追加随机序号。
|
|
42
|
+
|
|
43
|
+
## `crwu_audit_dingtalk_archive` 的执行顺序
|
|
44
|
+
|
|
45
|
+
Tool 内部按以下顺序执行(**不需要**审核子代理逐条编排):
|
|
46
|
+
|
|
47
|
+
1. 读取案例目录里的结果 JSON,校验 `auditTask.auditTime` / `auditTask.projectId` / `fileTrace.generatedAt` 三个字段并生成回传计划。
|
|
48
|
+
2. 解析目标组织及其唯一组织默认账号;**后续全部调用显式携带同一个 profile**,不修改当前 profile。
|
|
49
|
+
3. 在该 profile 下列出全部 `orgSpace`(按 `nextToken` 完整续页),精确解析固定团队空间。
|
|
50
|
+
4. 从空间真实 `rootFolderId` 列目录,精确解析固定结果根目录。
|
|
51
|
+
5. 在结果根目录下解析 `YYYY`;零命中时创建并读回,多命中或非文件夹时停止。
|
|
52
|
+
6. 在年份目录下解析 `MM`;零命中时创建并读回,多命中或非文件夹时停止。
|
|
53
|
+
7. 上传前完整列出月份目录;远端文件名已存在时停止。
|
|
54
|
+
8. 上传普通 JSON,写后重新列目录并核对唯一名称、节点 ID;服务端返回文件大小时还必须与本地一致。
|
|
55
|
+
|
|
56
|
+
任一级列表必须完整分页。零命中、多命中、类型错误、认证/权限错误或写后无法证明成功时 Tool 返回 `ok:false`,不猜测、不重试到其他组织、不把本地审核成功误报为钉钉回传成功。
|
|
57
|
+
|
|
58
|
+
## 结果与失败语义
|
|
59
|
+
|
|
60
|
+
成功时返回的结构化 JSON 至少包含:
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"ok": true,
|
|
65
|
+
"corpName": "中瑞世联资产评估集团有限公司",
|
|
66
|
+
"spaceName": "00-【系统专用】AI结果回传区(自动同步·请勿删改)",
|
|
67
|
+
"remotePath": "AI资产评估审核结果/2026/09/审核结果.PRJ-2026-0001.20260918-140607123456.json",
|
|
68
|
+
"nodeId": "来自本次真实上传后的写后列举",
|
|
69
|
+
"sizeBytes": 123456,
|
|
70
|
+
"steps": ["profile", "space", "root", "year", "month", "upload", "verify"]
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
`exitCode` 为上传命令的真实退出码。失败时:
|
|
75
|
+
|
|
76
|
+
- 保留本地 HTML 和 JSON,不回滚已经完成的审核交付。
|
|
77
|
+
- 汇报里必须把 Tool 返回的 `error` **原文**贴出,并明确标记“钉钉回传失败”。
|
|
78
|
+
- 已创建的年份或月份目录属于正式归档结构,不因后续上传失败而删除。
|
|
79
|
+
- 不把未经写后读回验证的未知状态宣称为成功;需人工确认远端状态后再决定是否重试。
|
|
80
|
+
|
|
81
|
+
## 第二步:把 HTML 发给自己并 DING
|
|
82
|
+
|
|
83
|
+
归档完成后,用**同一个案例目录**调用 `crwu_audit_dingtalk_notify_self({ caseDir, seqNo })`:它把 `审核意见.<seqNo>.html` 发到「我自己的钉钉单聊」,再把那条文件消息转成**应用内** DING。
|
|
84
|
+
|
|
85
|
+
- `userId` / `openDingTalkId` / `conversationId` / `messageId` / `openDingId` 全部来自真实返回,子代理不提交、不写死。
|
|
86
|
+
- **一个案例只成功发送一次**:Tool 自带幂等(命中时返回 `alreadySent:true`)。不要为重试反复调用,也不要手工重发。
|
|
87
|
+
- 只使用应用内 DING;`sms` / `call` 有成本,Tool 不会使用。
|
|
88
|
+
- 失败时把 `error` 原文贴进汇报并写“钉钉通知失败”;成功时汇报 `conversationId` / `messageId` / `openDingId`。
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# 14 · 运行时编排(router 执行顺序与条件分支)
|
|
2
|
+
|
|
3
|
+
> 本文件是 `crwu-audit` router **运行时执行顺序与条件分支的唯一落点**。入口 `SKILL.md` 只保留
|
|
4
|
+
> 指针与门禁,不重复维护本节正文。
|
|
5
|
+
>
|
|
6
|
+
> 本文件**不复制**以下权威正文:输入字段与五轴画像定义见 `00-input-and-route-profile.md`;
|
|
7
|
+
> 交付与送达规范见 `11-html-delivery-spec.md`(步骤 14 只回指);钉钉回传契约见
|
|
8
|
+
> `13-dingtalk-result-publish.md`;并集算法与公共能力触发事实源见 `08-union-dispatch-rules.md`。
|
|
9
|
+
>
|
|
10
|
+
> **导航**:§1 脚本运行时(Python) → §2 路由流程(步骤 1–15) → §3 KB 兼容与运行时装配边界
|
|
11
|
+
|
|
12
|
+
## 1. 脚本运行时(Python)
|
|
13
|
+
|
|
14
|
+
技能自带脚本一律用 **DSH 自带的 Python** 执行,**不要**依赖系统 `python3`:
|
|
15
|
+
|
|
16
|
+
- **自动审核模式**:启动指令会给出唯一允许的解释器**绝对路径**。命令写成
|
|
17
|
+
`<该绝对路径> scripts/<文件> <参数>`(仍然经宿主 shell 执行,沙箱与审批照旧),并在汇报里引用该路径。
|
|
18
|
+
- **独立使用技能**(没有被注入路径时):先调用**一次** `load_workspace_dependencies`,
|
|
19
|
+
用返回的 `python` 字段当解释器路径,并在同一次会话内**复用**,不要重复调用。
|
|
20
|
+
- **禁止**:用裸 `python3` 这类解释器名字;任何形式的解释器查找(搜索可执行文件、读 shell 环境变量、改 PATH);
|
|
21
|
+
静默降级到系统自带解释器 —— 它没有本技能脚本需要的包(至少 `openpyxl`),结果不可信。
|
|
22
|
+
- 解释器不可用(不存在 / 执行失败 / 缺包)时**停止该步骤**并记 capability gap(写明缺什么),不要换一个解释器继续。
|
|
23
|
+
- 本技能**不下载、不安装** Python,也不执行 pip 安装。
|
|
24
|
+
|
|
25
|
+
下面流程里出现的 `python3 scripts/<文件>` 一律按本节解析出的解释器路径执行。
|
|
26
|
+
|
|
27
|
+
## 2. 路由流程(步骤 1–15)
|
|
28
|
+
|
|
29
|
+
1. **消费 Host 已准备的输入快照(不要再定位、不要重复取数)**:报告已由 Host 按精确 ObjectId 定位并取数一次,结果落在案例目录的 `输入快照/` 下——完整记录 `报告记录.json`、附件清单 `附件清单.json`、元数据 `快照元数据.json`。`schemaCode` 是 Host 的基础设施状态:**核验记录事实一律以 `报告记录.json` 为准**,不要提交、不要猜测 `schemaCode`,也不要再调 `records list` / 搜表单 / 重新取记录。仅在启动指令明确说明「输入快照缺失」时,才允许**一次**兜底:调 `crwu_h3yun_record_get({objectId,caseDir})`(它由 Host 自己解析 `schemaCode`)。附件元数据直接读 `附件清单.json`(字段:附件字段、文件名、类型、大小、`fileId`)并分类;只有快照缺失时才对同一 `objectId` 调一次 `crwu_h3yun_files_list({objectId,caseDir})`;附件名只用于隔离决策和待抽验提示。(工具**不返回**带会话鉴权的下载 URL,也不需要。)
|
|
30
|
+
2. **阶段一安全下载门禁**:先把一至四级复核意见、质控意见、底稿/在线底稿意见、外审意见、答复文件等归为复核记录。源材料**只按单附件定向下载**取回:对每个源材料附件调 `crwu_h3yun_file_get({fileId, caseDir, relativePath: '材料-源/<文件名>'})`(fileId 来自步骤 1 的元数据);**复核件绝不下载、绝不进入阶段一工作集**——只在《阶段一排除清单》记元数据。**本链路没有「整单下载」这个能力**:`crwu_h3yun_file_get` 一次只取一个附件,失败就是失败,不存在退化成批量下载的路径。若 `crwu_h3yun_file_get` 不可见或返回 capability gap、或记录含无法可靠区分源材料/复核件的附件,立即停止并记录 capability gap,绝不能接触复核正文。**被排除的复核件必须落盘《阶段一排除清单》**(`排除清单.json`:`[{fileId,name,sizeBytes}]`),供阶段二按 `scripts/fetch_review_records.py --manifest 排除清单.json` 定向取回——取回只认该清单、落 `复核-人工/`、禁写 `材料-源/`、逐件校验字节数(闭环,防越权取件)。
|
|
31
|
+
3. **工作材料隔离**:表格在任何解析前按 00 §Excel 隐藏数据隔离 重建**只含可见区域的工作版**——人工隐藏的 sheet/行/列/折叠分组由**员工手动隐藏**,整体排除审核范围,Agent **绝对不能纳入审核范围**(禁读禁报);执行本技能自带脚本 `python3 scripts/prepare_materials.py --case <案例目录>`(**压缩包先解压再审核**、缓存值优先、同名消歧、「值不可得」登记、隐藏区零残留,并做**隐藏区引用审计**:只读可见公式坐标,
|
|
32
|
+
把依赖隐藏输入的可见结果记为**人工建议检查项**(**去向、定级与边界以 `references/12-leaf-common-contract.md` §7.1 为唯一权威 —— 本节不复述状态表**)。**同批产出媒体证据**:脚本内部经 `scripts/media_extract.py` 把可见锚点的图片(xlsx 内嵌图 / docx·doc 正文图 / PDF 内嵌图 / 独立图片)导出到 `媒体证据/` 并写 `媒体索引.json`(放行清单,含 `mediaId`/受控 `locator`/`localPath`/`sha256`);锚点落在隐藏区、锚点不可判定或隐藏结构不可得者按 H0 **不导出**,只记数量与 `unresolvedReasons[]`(fail-closed)。raw 只由 router 持有。
|
|
33
|
+
若需就隐藏区**内容本身**下判断,属 **H1 例外**,必须先取得委托人/审核负责人**书面授权**,并单独成条、
|
|
34
|
+
显式标注"经授权读取的隐藏区";未获授权只登记「待人工复核事项」。阶段一源材料工作集不得含复核记录;叶子只接收隔离后的只读材料路径(工作版)与编排层的媒体放行清单 `媒体索引.json`(叶子不得自行解析 raw 原件包)。
|
|
35
|
+
4. **真实读取与画像**:真实读取报告、评估说明和测算材料,定位评估目的、全部采用/参考方法、结论方法及 `source/evidence/location`。构建多标签 `route_profile`:`scope_types[]`、`asset_types[]`、`business_types[]`、`methods[]`、`overlays[]`,并生成 `review_risk_class`。企业价值底层 `asset_types[]` 逐项保留 `materiality=key|non-key|unknown`;不确定项要求人工复核,不静默排除。
|
|
36
|
+
5. **冲突处理**:按 06 记录 ROUTE001–004 及双方证据,只挂起冲突影响的标签、字段或依赖规则;其他已确认轴继续求值。未真实读取或未定位的材料不能触发冲突定论。
|
|
37
|
+
6. **专业候选解析**:对五个轴的每个标签查询 07。`available` 加入对应候选数组;`pending` 或未注册项按 10 在 `route_profile.material_gaps[]` 生成独立的 per-label gap;`profile-only` 只保留画像。任一 gap 不得短路其他能力。
|
|
38
|
+
7. **先判公共能力**:在求并集前独立求值每个公共能力,各自按自己的触发条件判定——**通用准则类(`crwu-audit-public-general-standards`:报告披露层 + 程序质控层)与审核意见输出过滤(`crwu-audit-output-filter`)均与报告形态、对象、业务、方法、监管无关,无条件写入 `public_skills[]`**;输出过滤技能此时只加载并装配清单,延后到候选意见汇总后、阶段一冻结前执行。表格类在材料含测算、明细、汇总等表格时写入,否则不写;外部数据核验**按 `methods[]` 是否命中 `收益法`/`市场法` 触发**(触发事实源 = `references/08-union-dispatch-rules.md`,本节不复述):命中即加载 `crwu-audit-external-data`,**router 不读知识库表 A**(表 A 由该能力在加载后自行判定 `required`/`not_applicable`,消除循环依赖);未命中即不加载、不探测数据源、不记未检查项或能力缺口;加载后判定 `required` 而能力不可用时,才在交付 HTML 显式声明未配置/未认证。即使所有专业标签都为 `pending`,其他公共能力仍须独立求值并加载。
|
|
39
|
+
8. **完整稳定并集**:六个候选数组全部求值后,严格按 08 计算 `skills_to_load`。不得 first-match、不得使用排他链、不得以后加载技能覆盖先前轴,也不得在并集或执行后追加 public skill。
|
|
40
|
+
9. **先准备完整知识库清单**:汇总全部 `skills_to_load`(包括 `public_skills[]`)各自 references 声明的层级路径,与两个执行契约 `00-总纲/执行契约/02-防幻觉协议执行细则`、`00-总纲/执行契约/03-审核统计与台账规范`,**再按本次 `methods[]`、`overlays[]`、明确登记的 `business_types[]=财务报告` 及映射表中的显式跨轴条件,追加方法层、覆盖层与财务报告补充规则的库内目录(映射唯一事实源见 `references/08-union-dispatch-rules.md` §「方法层、覆盖层与财务报告补充规则的库内装配映射」,只装命中项、不装全集)**,去重形成本次知识库清单(**交付/送达口径不再走知识库契约,见 `references/11-html-delivery-spec.md`**)。在任何技能执行前,把整份清单交给 `crwu_audit_knowledge_materialize({caseDir, paths})` 做**本次实时下载**,并按它返回的 `manifest` 逐项核对成功/跳过/失败;目录缓存不能提供正文。返回的 `path`/`nodeId`/`exportedAt` 与落盘文件只作本次证据,不写回 Skill source。清单里**只放本次命中的路径**(目录项以 `/` 结尾),不要放整库全量。
|
|
41
|
+
10. **同时加载执行**:完整清单验证结束后,同时加载并执行规则材料验证成功的 `skills_to_load`(包括 public skill),但 `crwu-audit-output-filter` 只加载其运行时清单,不在专业技能执行阶段提前过滤检查项。验证失败的技能仍保留在 `dispatch.skills_to_load` 及执行状态中并记录 gap,不得静默删除,也不得短路其他成功技能。每个叶子只接收同一 `route_profile`、已准备的阶段一源材料工作路径,以及经验证的本次 DWS 规则材料路径/manifest;不得接收复核记录,也不得重复 fetch 记录。
|
|
42
|
+
11. **阶段一独立汇总、过滤并冻结**(并产出**AI 自查记录**):先汇总所有专业与公共审核能力基于源材料独立产生的 findings,按报告、评估说明、测算明细表分区去重。每条 finding 必须保留 `source_skills[]`;相同结论合并时保留全部来源,冲突结论并列留待人工复核,不相互覆盖。**候选审核意见汇总完成后、阶段一冻结前**,执行 `crwu-audit-output-filter`:只按本次实时下载《02-屏蔽清单》中启用记录的 `匹配标识` 精确匹配,并同时核对适用范围、屏蔽条件和不屏蔽例外;命中全部条件者不进入正式审核结果,未命中、冲突或无法判断者保留。清单缺失或失败时零屏蔽并记 gap,不得沿用旧清单或模糊匹配。在读取任何复核记录前,定稿并冻结过滤后的 AI 正式意见、完整 `route_profile`、全部命中轴,以及本次完整规则/模块清单;这些阶段一产物在阶段二不可改写。**冻结指纹按本技能 `scripts/audit_delivery.py digest <冻结快照.json>` 计算**(规范化序列化 sha256)写入 `phaseControl.phase1FrozenAt` / `phaseControl.phase1Digest`,冻结后才允许进入阶段二。同批产出 **`selfAuditErrors[]`(初审自查发现的 AI 自身错误:假阳性/事实更正/漏检/表述,记 `discoveredAt=初审`)**;已关闭的 `false_positive` 不得仍作为有效问题保留。旧版 `aiScorecard` 六维自评仅为历史兼容字段,不得进入员工端客观评分卡或替代复核命中率。**同批完成媒体证据判读**:逐条消费 `媒体索引.json`(`locator` 逐字引用),用宿主多模态读图(DeepSeek Harness `read_image`)把读到的事实写入对应材料证据的 `excerptOrValue`;宿主无视觉能力、图片不可读或媒体未导出时逐条记 `scope.notCheckedItems`(`reasonCode=unreadable|unsupported`)并给 `requiredAction`——**未核 ≠ 缺失**,严禁写成"为空/缺失/未列示"。
|
|
43
|
+
12. **阶段二复核对照**:AI 意见固定后才在阶段二上下文读取复核记录。**先抽复核件媒体证据**:复核件经 `scripts/fetch_review_records.py` 落 `复核-人工/` 后,跑 `python3 scripts/prepare_materials.py --case <案例目录> --src 复核-人工 --label 复核`(产出 `复核盘点.json` / `复核媒体索引.json` / `媒体证据-复核/`,**绝不覆盖阶段一冻结的 `材料盘点.json`**),把复核意见附件里的图与独立图片同样导出并交宿主多模态读图——人工用截图提出的问题必须按其 `locator` 逐条进入复核事项全集,不得因"复核件里只有图、没有文字"而漏进 `B·AI 新增`。按发生顺序登记 `reviewFiles[]`,并把每条复核意见写入 `reviewItems[]`,记录复核级次、问题模块、`exact/partial/miss`、关联阶段一 issueId、复核原文和处理结果;再做双向三条带:AI∩复核、AI 新增、复核独有。**复核独有项必须先做「在件核验」,再定性**:逐条核验该事项在被审件**最终版**(定稿/终稿)中是否已落实,核验须给出**在件位置**(文件 + 行号/单元格)作为证据,与复核原文出处并列留痕。核验结论四态:`L-resolved`(在件已落实 → 不计漏检、不进命中率分母,仅作人工工作成果呈现。**凡 AI 未命中(`matchStatus=miss`)的复核意见,必须先判断是否因该事项“已被修改/已不存在”而导致 AI 不可能命中:属此情形记 `L-resolved` 并从命中率分母中剔除,且必须给出在件原文(`inFileEvidence.quote`)作为“确已修改”的证明;无法证明已修改的,只能记 `L-open` 并计入漏检**);`L-open`(在件未落实 → 漏检候选,进步骤 13 隔离补审);`L-uncheckable`(材料不可读或缺失 → 记未检查项,不臆断);`L-unclosed`(答复称已改但被审件未落地 → 优先回客户,并同时给 `closureEvidence` 与 `inFileEvidence`)。**禁止**跳过在件核验直接按复核独有项启动补审或计入漏检;不得拿复核文本直接改写阶段一意见。**能力边界与分母剔除(强制)**:①交付件必须显式声明「本工具当前暂不支持底稿文件审核」,底稿类复核意见(`reviewComparison.outOfScopeItems[]`)不计入 AI 命中率、不计漏检,但必须登记备查、可见可展开;②交付件必须逐条列出**不计入命中率分母的条目及其剔除依据**(已修改/已落实、材料缺失或不可读、能力边界三类),使分母可审计;③被剔除的 `L-resolved` 项若为 AI 未命中,须给在件原文证明。客观指标按明细重算:`evaluable=total-L-resolved-L-uncheckable`;**命中率=`(exact+partial)/evaluable`**(**部分命中计为命中,只是层次较低**),并同时输出**命中层次**:精确命中率=`exact/evaluable`、部分命中率=`partial/evaluable`、未命中率=`miss/evaluable`,全部用百分数;综合率先汇总分子分母,不平均各组百分比。**禁止**以 `exact/evaluable` 作为「命中率」主指标(那等于把部分命中当未命中)。每条复核意见必须给出 `hitExplanation`(`reviewerScope` 笼统/具体、`matchedAspects` AI 命中内容、`unmatchedAspects` 未命中内容、`rationale` 判定理由):复核条目**笼统**(员工写得宽)而 AI 的发现已覆盖其全部实质诉求、只是更细更深时,判 **exact**,不得因深度差异降为 partial;只有复核条目含多个诉求、AI 确有一部分未触及时才判 **partial**。人工指出或在件核验发现的 AI 错误追加进 `selfAuditErrors[]`(`discoveredAt=复审`)。
|
|
44
|
+
13. **隔离补审**:发现漏检候选后,只能由阶段二编排器创建不继承复核文本和阶段二历史的新子任务或隔离执行上下文。该上下文只接收阶段一源材料工作集、已验证的 DWS 规则快照,以及步骤 11 在复核读取前已冻结的完整命中模块集合;应重跑全部阶段一命中模块或完整阶段一审核。禁止传复核原文、摘要、结论,也禁止用复核事项派生、改写、提示、选择或缩窄补审范围。隔离执行先产出并固定不可变的补审结果,再回到阶段二上下文对照。无法建立该隔离上下文时不补审,记录 capability gap 并交人工复核;需要长期修复时登记 `crwu-dev-audit-optimize`。
|
|
45
|
+
14. **交付与回填**:按技能内 `references/11-html-delivery-spec.md`(v1.6 送达规范)执行,**不再引用知识库输出契约**。以 **AuditResult JSON 为单一事实源**汇总阶段一 findings、适用规则集快照、逐条裁定、复核文件与逐条对照、客观命中率及《本次审核记录清单》(AI 检查项、知识库业务/资产必检项、评估数据核查、监管覆盖核查、风险覆盖核查、未检查项及阶段二对照/归因,逐条给证据,对比项两端都给依据)。**每条问题的 `problemDescription` 必须按 §4.6 写成员工可直接核对的「两段式」**:首句 ≤60 字一句话说清问题是什么;其后另起一行写 2–4 行明细(写明差异与影响,并给出本次材料中的具体文件、sheet、单元格或页码)。首句与明细均不得出现规则编号、知识库路径、内部代号或绝对路径——规则叫什么、出自哪本规则库,属于默认折叠的「展开判断依据与规则」,不占员工首屏。报告读者是资产评估师:读不懂的描述等于没审出来,校验器会直接拦截并拒绝渲染。发布前必须通过送达规范 **JSON 校验**:规则性缺陷双证据链齐备、五段式判定完整、问题描述两段式可读、未检查项显式、统计可重算、无绝对路径/`nodeId`/凭据。**每个项目向员工只交付一个自包含单文件 HTML** `审核意见.<项目ID>.html`;内部同步留档 `审核结果.<项目ID>.json` 供审核监控统计,且必须与 HTML 内嵌 AuditResult 完全一致。页面首屏使用三行行动摘要,计数卡可跳转;正文按序呈现 AI 问题、需要人工确认、AI 外部核验、人工复核与客观评分卡;问题位置醒目展示,完整说明与专业轨迹按需展开。落地实现见本技能 `scripts/audit_delivery.py`、`scripts/audit_result.schema.json` 与 `template/audit-report.html`。**编排层交付调用序列(按序执行,不得跳步)**:① 汇总产出 AuditResult 输入 JSON;② `python3 scripts/audit_delivery.py validate 审核意见.<项目ID>.json`(失败 → 停止交付、逐条报告精确 JSON 路径,HTML 与配套 JSON 均不得生成);③ 仅在通过后执行 `python3 scripts/audit_delivery.py render 审核意见.<项目ID>.json --out 审核意见.<项目ID>.html --json-out 审核结果.<项目ID>.json`(脚本再次 JSON 校验并做渲染后自检,全部通过才成对落盘);④ 员工侧交付 HTML,内部监控读取配套 JSON。仅当运行时技能副本缺少上述脚本、Schema 或模板时记 capability gap,此时只保留输入 JSON 与校验错误报告,**不得跳过 JSON 校验直接出 HTML**。契约 04 统计台账仍须由本次 `crwu-dws` 实时下载后回填。
|
|
46
|
+
15. **钉钉结果回传**:步骤 14 的最终态 `审核结果.<项目ID>.json` 生成后,调 `crwu_audit_dingtalk_archive({caseDir, seqNo})`(契约见 `references/13-dingtalk-result-publish.md`);再把 HTML 发给自己并 DING:调 `crwu_audit_dingtalk_notify_self({caseDir, seqNo})`。组织、团队空间、结果根目录、`YYYY/MM` 两级目录全部由 Tool 按契约精确解析(只有年月允许自动创建),**不要提交这些标识、不要手工指定目录**。远端文件名追加 `fileTrace.generatedAt` 时间戳,已存在同名文件时拒绝覆盖。上传失败保留本地交付件并显式报告“钉钉回传失败”,不得把审核完成等同于回传成功。
|
|
47
|
+
|
|
48
|
+
## 3. KB 兼容与运行时装配边界
|
|
49
|
+
|
|
50
|
+
按 `00-input-and-route-profile.md`,五轴 `scope_types[]/asset_types[]/business_types[]/methods[]/overlays[]` 是 router 的唯一画像契约,router 不得为兼容生成旧画像键。
|
|
51
|
+
|
|
52
|
+
装配清单由叶子声明、不经本仓装配器:命中轴标签后,下载清单 = 命中叶子 `references/01-kb-assembly.md` 的路径键(一级目录根或单文件路径)+公共执行契约路径并集 + **按本次单轴标签和映射表显式跨轴条件命中的方法层、覆盖层与财务报告补充规则目录**(映射表见 `references/08-union-dispatch-rules.md`),由 `crwu-dws` 实时下载正文。叶子的一级目录根按 `request_kind=directory`、`recursive=true` 递归下载根内全部支持正文;细分对象与子业务在已下载目录包内二次选用,不各建技能。**方法轴与覆盖层技能为 `pending` 期间,其知识库内容仍必须按本条的映射命中项装载**——`pending` 表示能力未落地,不表示内容可以不装;财务报告补充规则由 available 的财务报告业务技能执行,不产生额外 overlay gap。下载失败、空目录或不支持导出的节点记 capability gap,并继续执行不依赖该步骤的已加载能力。
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# 多轴路由维护说明
|
|
2
|
+
|
|
3
|
+
| 版本 | v1.0 | 状态 | 2026-09-09 守门文档 | 适用 | `crwu-audit` router、references 与叶子能力维护 |
|
|
4
|
+
| --- | --- | --- | --- | --- | --- |
|
|
5
|
+
|
|
6
|
+
## owner 映射
|
|
7
|
+
|
|
8
|
+
| 改动 | 唯一 owner |
|
|
9
|
+
| --- | --- |
|
|
10
|
+
| 输入字段、route profile schema、溯源 | `00-input-and-route-profile.md` |
|
|
11
|
+
| 隐藏区**规范**(H0 禁读禁报 / H1 书面授权 / 定级、状态与去向) | **`12-leaf-common-contract.md` §7.1(唯一权威)** |
|
|
12
|
+
| 隐藏区**隔离机制**(结构识别、raw 元数据、工作版重建、坐标映射、媒体锚点、`prepare_materials.py` 输入输出) | `00-input-and-route-profile.md` |
|
|
13
|
+
| `SeqNo` / `ObjectId` 定位 | `01-report-id-resolution.md` |
|
|
14
|
+
| `scope_types[]` 分类与企业价值 materiality | `02-scope-classification.md` |
|
|
15
|
+
| `asset_types[]` 分类 | `03-asset-classification.md` |
|
|
16
|
+
| `business_types[]` 分类 | `04-business-classification.md` |
|
|
17
|
+
| `methods[]`、方法角色与结论方法 | `05-method-classification.md` |
|
|
18
|
+
| `overlays[]` 与 ROUTE001–004 | `06-overlay-classification.md` |
|
|
19
|
+
| `axis+label` 技能名、状态与加载行为 | `07-skill-registry.md` |
|
|
20
|
+
| 稳定并集、公共能力触发(通用准则恒装配 / 表格勾稽 / 外部数据核验)、pending/冲突执行边界与结果来源 | `08-union-dispatch-rules.md` |
|
|
21
|
+
| A/B/C 机构审核风险分类 | `09-review-risk-classification.md` |
|
|
22
|
+
| 能力 gap 与待建提案 | `10-capability-gap-proposal.md` |
|
|
23
|
+
| 送达与交付层规范(AuditResult/单文件 HTML、双证据链、两阶段门禁、验收清单) | `11-html-delivery-spec.md` |
|
|
24
|
+
| 最终 AuditResult 的钉钉组织门禁、年月归档、文件命名与上传验证 | `13-dingtalk-result-publish.md` |
|
|
25
|
+
| HTML 页面结构、左侧目录、CSS 与打印样式 | `template/audit-report.html` |
|
|
26
|
+
| 总体 workflow、加载指针与输出步骤 | `SKILL.md` |
|
|
27
|
+
|
|
28
|
+
规则正文和检查点不属于本技能族的 owner;只允许按编号和知识库层级路径引用。**例外**:送达与交付层正文(CRWU 审核意见 HTML 送达规范 v1.4)为本技能内正式规范,owner 是 `11-html-delivery-spec.md`,不经知识库下载。
|
|
29
|
+
|
|
30
|
+
## 维护流程
|
|
31
|
+
|
|
32
|
+
0. 用户反馈驱动的优化先经 `crwu-dev-audit-optimize` 形成含文件清单和回归项的方案;经用户确认后再修改。用户已经明确批准的范围可直接执行。
|
|
33
|
+
1. 先按上表确定唯一 owner,只在该文件改定义;上层文件只保留指针,不复制完整词表或规则。
|
|
34
|
+
2. 改动只落源仓的本技能目录(`crwu-audit`)。运行时技能布局、软链与部署由用户的 skills 管理机制负责;维护者不得直接对运行时目录执行写入、复制、链接或删除。
|
|
35
|
+
3. 标签变更同步其分类 owner 与 07;分发语义变更同步 08;workflow 指针变更才同步根 `SKILL.md`。
|
|
36
|
+
4. 按变更影响同步源仓的设计文档、技能清单、变更纪要(均由源仓维护、不随技能安装)和相应测试。若用户明确把一次迁移限制为 references,则记录其他同步为后续任务,不越界修改。
|
|
37
|
+
5. 运行 router contract、DWS source contract、BG8169/300673 等相关叶子回归和 `git diff --check`;验证失败不得宣称完成。字段或统计口径变化时重跑相应基线画像。
|
|
38
|
+
6. 只提交源仓中已授权范围;检查提交内容和工作区状态,不夹带凭据、下载材料或其他任务改动。
|
|
39
|
+
|
|
40
|
+
## DWS live reference 与反编造
|
|
41
|
+
|
|
42
|
+
- 推理引用遵守 R1–R5:目录可以缓存,正文零缓存;以本次清单驱动,经 `crwu-dws` 实时下载;按 RULE/CHK 编号与库内层级路径寻址。
|
|
43
|
+
- 技能文件只写编号和库内层级路径,不写知识库名、本地根路径或 nodeId。出处必须是本次下载文件的行号和 `exportedAt`。
|
|
44
|
+
- 下载失败时显式报告路径和原因,对应检查点不引用、不编造;目录缓存不能替代正文。
|
|
45
|
+
- 评估目的、方法、结论方法与其 location 必须来自真实读取和定位的报告文件。字段、附件名、行业经验不能补写原文或伪造章节、页码、行号。
|
|
46
|
+
- 新增任何 available 能力必须完成 07、设计文档、skills README 等登记,叶子 SKILL 自带“仅经 crwu-audit 编排调用、禁止单独调用”门禁。
|
|
47
|
+
|
|
48
|
+
## 隐藏数据隔离
|
|
49
|
+
|
|
50
|
+
下载的 Excel 在任何解析前按 00 制作只含可见 sheet、行、列的重建工作版,并重开验证隐藏区为零。raw 原件只由编排层持有;叶子只接收工作版。公式/引用坐标核查仅可对 raw 可见区做限定只读访问。发现读取隐藏区、叶子整簿读取 raw 或工作版仍含隐藏区时立即阻断并记录违规。
|
|
51
|
+
|
|
52
|
+
本节只讲**机制**(谁把隐藏区剔除、怎么验证零残留);隐藏区事项的**定级、状态与去向**唯一权威是 `12-leaf-common-contract.md` §7.1,此处不复述。
|
|
53
|
+
|
|
54
|
+
## 自查
|
|
55
|
+
|
|
56
|
+
- 正式 route profile 字段仍是 `scope_types[]/asset_types[]/business_types[]/methods[]/overlays[]`。
|
|
57
|
+
- 分类保持多标签,技能以 available 稳定并集装载;pending 每个 `axis+label` 独立 gap。
|
|
58
|
+
- A/B/C 只影响审核风险提示,不改变 business skills。
|
|
59
|
+
- 来源字段完整,未读取材料不冒充已抽验;隐藏数据没有进入叶子上下文。
|
|
60
|
+
- references 集合、根指针、注册表、设计/README/CHANGELOG 与测试在对应任务中同步。
|
|
61
|
+
- 根 `SKILL.md` 只保留 workflow、reference 指针和执行契约,避免复制大表,并维持不超过 300 行的目标(极限 500 行)。
|
|
62
|
+
- 变更只存在于 source repo,验证输出可复现,提交范围准确。
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# CRWU 审核意见交付工具(AuditResult 校验 + 单文件 HTML 渲染)
|
|
2
|
+
|
|
3
|
+
本目录实现《CRWU 审核意见 HTML 送达规范 v1.6》的**机器可校验 Schema**、**校验器**与**确定性 renderer**。
|
|
4
|
+
规范正文(唯一事实源):本技能 `references/11-html-delivery-spec.md`。
|
|
5
|
+
|
|
6
|
+
> **归档与通知只走结构化 Tool,本目录不含任何业务 CLI 执行路径。**
|
|
7
|
+
> 钉钉回传由 `crwu_audit_dingtalk_archive`(契约见 `references/13-dingtalk-result-publish.md`)与
|
|
8
|
+
> `crwu_audit_dingtalk_notify_self` 完成;Skill 自带脚本**不得**用 `subprocess` / `child_process` /
|
|
9
|
+
> shell / 裸命令调用 `crwu` / `dws` / `ossutil`。这条边界由 `npm run skills:cli-guard`
|
|
10
|
+
> (`scripts/check-skill-cli-guard.mjs`)静态守住,扫描 `.md` / `.py` / `.js` / `.mjs`。
|
|
11
|
+
|
|
12
|
+
## 导航
|
|
13
|
+
|
|
14
|
+
- [用法](#用法)
|
|
15
|
+
- [材料准备与媒体证据通道(阶段一 / 阶段二复核件)](#材料准备与媒体证据通道阶段一-阶段二复核件)
|
|
16
|
+
- [编排层接入(脚本映射)](#编排层接入脚本映射)
|
|
17
|
+
- [校验器覆盖的强制规则(§9.4 / §11.1 / §12.2)](#校验器覆盖的强制规则94-111-122)
|
|
18
|
+
- [renderer 行为(§10)](#renderer-行为10)
|
|
19
|
+
- [维护规则](#维护规则)
|
|
20
|
+
|
|
21
|
+
| 文件 | 作用 | 对应规范 |
|
|
22
|
+
| --- | --- | --- |
|
|
23
|
+
| `audit_result.schema.json` | AuditResult JSON Schema(draft 2020-12):必填、枚举、条件必填、路径安全 | §9.1–§9.3 |
|
|
24
|
+
| `audit_delivery.py` | 校验器 + renderer(纯标准库,无第三方依赖);`validate` / `digest` / `render` 子命令 | §9.4、§10、§11.1、§12.2 |
|
|
25
|
+
| `fetch_review_records.py` | 阶段二**按《阶段一排除清单》定向取回**复核件到 `复核-人工/`(只认清单、禁写 `材料-源/`、逐件校验字节数) | [14-orchestration-workflow.md](../references/14-orchestration-workflow.md) 步骤 2、步骤 12 |
|
|
26
|
+
| `template/audit-report.html`(从技能根目录定位) | 独立 HTML/CSS 模板:左侧目录、响应式正文、折叠轨迹与 A4 打印 | §10、附录 B |
|
|
27
|
+
| `examples/audit-result.sample.json` | 【示意】样例(数值与名称为占位,禁止当真值使用) | §9.3 |
|
|
28
|
+
| `test_audit_delivery.py` | 契约测试(Schema 语义、门禁、证据链、统计可重算、隐私、模板、目录、渲染确定性、转义、打印、空态) | §13.4 |
|
|
29
|
+
| `test_fetch_review_records.py` | `fetch_review_records.py` 的契约测试(清单边界、字节数校验、禁写源材料目录) | [14-orchestration-workflow.md](../references/14-orchestration-workflow.md) 步骤 2、步骤 12 |
|
|
30
|
+
| `test_audit_multiaxis_router.py` | 多轴 router 契约测试(注册表、并集派发、装配路径键、渐进披露与入口尺寸) | [SKILL.md](../SKILL.md) + `references/00–14` |
|
|
31
|
+
|
|
32
|
+
## 用法
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# 阶段一冻结指纹(写入 AuditResult.phaseControl.phase1Digest)
|
|
36
|
+
python3 scripts/audit_delivery.py digest <冻结快照.json>
|
|
37
|
+
|
|
38
|
+
# 交付校验(渲染前)
|
|
39
|
+
python3 scripts/audit_delivery.py validate scripts/examples/audit-result.sample.json
|
|
40
|
+
|
|
41
|
+
# JSON 校验通过后,再成对输出 HTML 与监控留档 JSON(两者数据完全一致)
|
|
42
|
+
python3 scripts/audit_delivery.py render scripts/examples/audit-result.sample.json \
|
|
43
|
+
--out 审核意见.PRJ-2026-0001.html \
|
|
44
|
+
--json-out 审核结果.PRJ-2026-0001.json
|
|
45
|
+
|
|
46
|
+
# 校验渲染后状态(要求 fileTrace 摘要已回填)
|
|
47
|
+
python3 scripts/audit_delivery.py validate <rendered.json> --rendered
|
|
48
|
+
|
|
49
|
+
# 最终态监控 JSON 回传钉钉:**只能**用结构化 Tool,本目录不提供 CLI 回传脚本
|
|
50
|
+
# crwu_audit_dingtalk_archive({ caseDir, seqNo }) → 归档(契约见 references/13-dingtalk-result-publish.md)
|
|
51
|
+
# crwu_audit_dingtalk_notify_self({ caseDir, seqNo }) → 发给自己并转应用内 DING
|
|
52
|
+
|
|
53
|
+
# 契约测试
|
|
54
|
+
python3 scripts/test_audit_delivery.py
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
退出码:`0` 通过;`1` 校验失败(错误逐条打印到 stderr,且**拒绝渲染**)。`render` 严格先做 JSON 校验;
|
|
58
|
+
任一输入错误都会返回精确 JSON 路径,并且 HTML、配套 JSON 均不落盘。校验通过后才在内存中渲染、自检,最后成对写出。
|
|
59
|
+
配套 JSON 是最终渲染态 AuditResult,必须与 HTML 内嵌 `#audit-result` 解析出的对象完全一致,供后续审核监控与统计使用。
|
|
60
|
+
|
|
61
|
+
## 材料准备与媒体证据通道(阶段一 / 阶段二复核件)
|
|
62
|
+
|
|
63
|
+
| 文件 | 作用 | 对应口径 |
|
|
64
|
+
| --- | --- | --- |
|
|
65
|
+
| `prepare_materials.py` | 材料盘点 + 隐藏区隔离(工作版重建)+ 归档解压 + **媒体证据导出与放行清单** | `references/00-input-and-route-profile.md` §Excel 隐藏数据隔离 |
|
|
66
|
+
| `media_extract.py` | 媒体抽取库:xlsx 绘图锚点 / docx·doc 正文图(段落序)/ PDF 内嵌图 / 独立图片;H0 与 fail-closed | 同上 §非单元格证据 |
|
|
67
|
+
| `test_prepare_materials.py`、`test_media_extract.py` | 上述两脚本的契约测试 | — |
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# 阶段一:盘点 + 工作版 + 媒体证据(产出 材料盘点.json / 媒体索引.json / 提取/ / 工作版/ / 媒体证据/)
|
|
71
|
+
python3 scripts/prepare_materials.py --case <案例目录>
|
|
72
|
+
|
|
73
|
+
# 阶段二:复核件(复核意见附件里的图同样要抽取;产物名加后缀,绝不覆盖阶段一冻结产物)
|
|
74
|
+
python3 scripts/prepare_materials.py --case <案例目录> --src 复核-人工 --label 复核
|
|
75
|
+
|
|
76
|
+
# 契约测试
|
|
77
|
+
python3 scripts/test_prepare_materials.py
|
|
78
|
+
python3 scripts/test_media_extract.py
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
- `媒体索引.json` 是**媒体放行清单**:逐条含 `mediaId`、`kind`、受控 `locator`、`localPath`(案例内相对路径)、
|
|
82
|
+
`sha256`、`evidenceChannel=host-vision`。叶子只按该清单消费(经宿主多模态读图),**不得自行解析 raw 原件包**。
|
|
83
|
+
- **H0**:锚点落在隐藏 sheet / 隐藏行 / 隐藏列的媒体**不导出、不定位**,只记 `hiddenSkippedCount`;
|
|
84
|
+
锚点不可判定或隐藏结构不可得时 fail-closed 不导出,并记 `unresolvedReasons[]` —— **未核 ≠ 缺失**。
|
|
85
|
+
- 可选依赖:`openpyxl`(xlsx)、`pypdf`(PDF 内嵌图)。缺 `pypdf` 时 PDF 媒体本次未核,脚本会在盘点与
|
|
86
|
+
标准输出显式汇报,**不得**当作"材料缺失"。
|
|
87
|
+
|
|
88
|
+
## 编排层接入(脚本映射)
|
|
89
|
+
|
|
90
|
+
调用者唯一:`crwu-audit` 编排层(router);叶子不得直接调用校验器/渲染器,也不得生成页面或定义最终字段。
|
|
91
|
+
|
|
92
|
+
**完整阶段、输入、输出与失败处理只见规范 [11-html-delivery-spec.md §14.1](../references/11-html-delivery-spec.md#141-编排层调用映射脚本接入)——该节是编排层调用映射的唯一事实源。** 本文件不复述、不另存第二份映射表。
|
|
93
|
+
|
|
94
|
+
`digest`、`render` 共用同一规范化序列化(排序键、UTF-8、无多余空白),故冻结指纹可复现,且可与
|
|
95
|
+
`fileTrace.sourceDigest` 互校;脚本仅依赖 Python 标准库。
|
|
96
|
+
|
|
97
|
+
### JSON 与员工页面映射
|
|
98
|
+
|
|
99
|
+
- 首屏「AI 检出问题 / 待人工确认 / 未检查项」分别来自 `summary.counts.issuesTotal`、
|
|
100
|
+
`summary.counts.pendingConfirmation`、`summary.counts.notChecked`;计数还会根据明细重算,不一致即拒绝交付。
|
|
101
|
+
- 三行「优先处理 / 继续核对 / 人工确认」只摘取 `issues[]` 的严重度与标题、
|
|
102
|
+
`manualConfirmationItems[]` 的标题,不生成新审核事实;完整 `summary.narrative` 默认折叠保留。
|
|
103
|
+
- 问题位置只来自 `issues[].locationSummary` 与 `issues[].materialEvidence[]` 的文件名、定位,
|
|
104
|
+
不拿修改建议冒充问题位置。
|
|
105
|
+
- 三张计数卡分别跳转到问题项、人工确认和 `scope.notCheckedItems[]` 对应区块;
|
|
106
|
+
「需要人工确认事项」紧跟「AI 检出的问题项」,方便连续处理。
|
|
107
|
+
- AI 问题、人工确认、复核意见和未检查项均显示区内连续序号;稳定业务 ID 仍从 JSON 原样保留。
|
|
108
|
+
- `L-unclosed` 完全由 `reviewItems[].inFileResolution` 驱动:首屏结论给出直达告警,《人工复核对照》标题下前置总数,各级摘要与具体条目同步显示异常标签。
|
|
109
|
+
- 外部数据核验先读取 `externalDataVerification.applicability`:`not_applicable` 显示“不适用”、原因和知识库依据,且不显示数据源告警;只有 `required` 才展示来源可用性与逐项核验结果。
|
|
110
|
+
|
|
111
|
+
这些展示均由最终配套 JSON 确定性派生;renderer 不新增业务字段,`schemaVersion` 为 `1.2.0`。
|
|
112
|
+
|
|
113
|
+
## 校验器覆盖的强制规则(§9.4 / §11.1 / §12.2)
|
|
114
|
+
|
|
115
|
+
1. `issueId` / `ruleId` / `recordId` 等在各自作用域内唯一;
|
|
116
|
+
2. `decision=fail` 且 `issueType=rule_defect` 时,规则证据与材料证据**均不得为空**;
|
|
117
|
+
3. `authorityClass=external_formal` 必须具备名称、版本次数状态、条款与来源;版本不得写“现行/现行有效”;
|
|
118
|
+
4. `kbRelativePath` 必须是知识库相对路径(拒绝 `/`、盘符、`~`、`file://`);
|
|
119
|
+
5. `manualConfirmationItems` 不计入不通过数量(`summary.counts` 由明细重算比对);
|
|
120
|
+
6. `summary.counts`、规则 `usageCount`、`usedByIssueIds`、复核三条带及 `reviewItems` 客观命中率均可由明细重算,不一致即失败;
|
|
121
|
+
7. 阶段二完成(`phase2CompletedAt`)时每条阶段一 issue 必须有 `reviewComparison`,复核独有项必须进 `reviewerOnlyItems`;
|
|
122
|
+
8. `reviewAccessedAt` 必须晚于 `phase1FrozenAt`(阶段一先冻结,阶段二才可读复核记录);
|
|
123
|
+
9. 未检查项 `reasonCode` 受控枚举;`scope.notCheckedItems` 显式(无则空数组);
|
|
124
|
+
10. 敏感信息扫描:绝对路径、`file://`、`nodeId`、凭据类字段名一律拒绝(§10.1 / §12.2)。
|
|
125
|
+
11. 已关闭的 `false_positive` 不得继续以有效问题项保留在 `issues`;`L-unclosed` 必须同时给出答复与在件核验证据。
|
|
126
|
+
12. **问题描述写法(§4.6)**:`problemDescription` 必须是「首句 + 明细」两段式——首句 ≤60 字、以句读收尾、一句话说清问题是什么;
|
|
127
|
+
明细 2–4 行、每行 ≤80 字、全字段 ≤420 字,每行以句读或可核对落点(文件名/sheet/单元格/页码)收尾;
|
|
128
|
+
首句与明细不得含规则编号(`RULE-`/`CHK-`/`kb_id`)、知识库相对路径或 `issueId` 形态的内部代号;明细须给出本次材料的可核对落点。
|
|
129
|
+
首句另不得含公式串(`=SUM(...)`)、区域坐标(`AD6:AD10`)、`文件!表` 定位串或案例目录内相对路径(`工作版/…`、`提取/…`)——
|
|
130
|
+
这类坐标移到明细行。不合格即校验失败、拒绝渲染,堵住“员工读不懂的长描述”。
|
|
131
|
+
13. `externalDataVerification.applicability` 必填;`not_applicable` 时来源、检查项必须为空且禁止不可用声明,只有 `required` 才允许记录数据源不可用与未检查。
|
|
132
|
+
|
|
133
|
+
## renderer 行为(§10)
|
|
134
|
+
|
|
135
|
+
- **单一事实源**:只从 AuditResult 渲染;不接受额外业务输入,不新增/删除/合并/改写任何结论;
|
|
136
|
+
- **确定性**:同一输入 + 同一 renderer 版本 → 逐字节一致输出(`render` 可重复比对);
|
|
137
|
+
- **自包含**:CSS 内嵌,无外链字体/样式/脚本/图片,无遥测;动态内容全部 HTML 转义;
|
|
138
|
+
- **独立模板**:页面结构和 CSS 只维护在 `template/audit-report.html`;桌面端左侧目录可直达全部区域,窄屏转为顶部目录,打印时隐藏;
|
|
139
|
+
- **完整结构**:中瑞世联AI审核报告 - [报告流水号ID] → AI 检出的问题项 → 需要人工确认事项 → AI 外部数据核验结果 → 人工复核对照 → AI 审核表现评分卡
|
|
140
|
+
→ 本次审核依据 → 审核范围与未检查项 → 专业审核轨迹(默认折叠)→ 文件追溯信息;
|
|
141
|
+
- **问题卡片**:位置和问题直接可读;**问题描述按 §4.6 分行呈现——首句为加粗单行结论,明细逐行列点**,不拼成一整段;阶段二已执行时单列 AI 独立检出总数及高/中/低分布,`category=B` 卡片在标题区显示“AI 独立发现”;修改意见收进“展开修改意见(共 N 项)”,规则、材料、差异与结论收进另一带计数的明确展开控件;打印时两类折叠内容完整展开,严重程度**文字标签 + 颜色**并存;
|
|
142
|
+
- **复核对照**:按文件声明顺序列出复核层级,逐级显示已验证修改、精确/部分/未命中及命中率;`L-unclosed` 在首屏、复核区标题下、复核级次与条目四处联动提示,并高亮呈现答复与实际未落实证据;
|
|
143
|
+
- **客观评分卡**:命中率=`(exact+partial)/evaluable`(**部分命中计为命中,只是层次较低**),精确/部分/未命中作为命中层次单列;`L-resolved` 与 `L-uncheckable` 不进分母,综合率按明细加权重算;
|
|
144
|
+
- **A4 打印**:`@page { size: A4; margin: 16mm 15mm 18mm; }`、卡片 `break-inside: avoid`、表头跨页重复,
|
|
145
|
+
黑白可读;`renderPolicy.printTrail=true` 时轨迹默认展开;
|
|
146
|
+
- **空态显式**:空列表输出“本次无此类事项”,不留空白标题或隐藏事实;
|
|
147
|
+
- **嵌入 JSON**:`<script id="audit-result" type="application/json">` 承载同源完整对象(`<` 转义为 `\u003c`),
|
|
148
|
+
`fileTrace.sourceDigest` / `embeddedJsonDigest` 为 sha256 规范化摘要,可离线追溯。
|
|
149
|
+
|
|
150
|
+
## 维护规则
|
|
151
|
+
|
|
152
|
+
- 规范字段变更 → 同批更新 `audit_result.schema.json` + `audit_delivery.py` + 测试 + 规范正文 §9/§10;
|
|
153
|
+
破坏性字段变更提升 `schemaVersion` 主版本,兼容新增提升次版本(§12.1);
|
|
154
|
+
- renderer 任何字段映射、排序、打印或转义逻辑变化 → 记录 `fileTrace.rendererVersion`(`RENDERER_VERSION`);
|
|
155
|
+
- 收紧既有字段的**写法约束**(如 §4.6 问题描述两段式)→ 同批更新规范正文、本 README 的强制规则清单、样例 JSON 与测试;
|
|
156
|
+
此类约束会让旧 JSON 校验不通过,属于交付口径变更,但不新增/删除字段,故 `schemaVersion` 次版本不变(§12.1);
|
|
157
|
+
- 叶子 Skill 不得生成页面或定义最终字段(§12.2 / §13.1);本工具只被编排层在阶段二收口调用。
|