mirror of
https://git.openapi.site/https://github.com/desirecore/market.git
synced 2026-09-05 20:03:43 +08:00
feat: 迁移统一目录元数据契约 (#102)
## 中文 - 为 System Agent、34 个 Builtin Skill、28 个 Pointer/Collection 条目增加 catalog sidecar - 覆盖 147 个 collection child,并固定可证明的来源;无法证明的内容保持 listing-only/unknown - 增加 strict Schema、validator、collection check 与 CI 完整性门禁 ## English - Add catalog metadata sidecars for the System Agent, 34 built-in Skills, and 28 pointer/collection entries - Cover 147 collection children while keeping unverifiable facts listing-only or unknown - Add strict schemas, validators, deterministic collection checks, and CI completeness gates ## 验证 / Verification - Catalog validator 17/17 - Collection generator 4/4 - 63 sidecars, 147 children, zero errors
This commit is contained in:
18
.github/workflows/i18n-validate.yml
vendored
18
.github/workflows/i18n-validate.yml
vendored
@@ -12,7 +12,7 @@ permissions:
|
||||
jobs:
|
||||
validate:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
;;
|
||||
esac
|
||||
changed=$(git diff --name-only "$range" || true)
|
||||
if echo "$changed" | grep -qE '^(skills/|agents/|manifest\.json$|categories\.json$|scripts/i18n/)'; then
|
||||
if echo "$changed" | grep -qE '^(skills/|agents/|schemas/|manifest\.json$|categories\.json$|scripts/i18n/|scripts/catalog/|scripts/gen-collection-children\.py$)'; then
|
||||
echo "relevant=true" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "relevant=false" >> "$GITHUB_OUTPUT"
|
||||
@@ -62,6 +62,16 @@ jobs:
|
||||
if: steps.changes.outputs.relevant == 'true'
|
||||
run: uv run --quiet scripts/i18n/test_validate_i18n.py
|
||||
|
||||
- name: Run catalog validator unit tests
|
||||
if: steps.changes.outputs.relevant == 'true'
|
||||
run: |
|
||||
uv run --quiet scripts/catalog/test_validate_catalog_metadata.py
|
||||
uv run --quiet scripts/catalog/test_collection_generator.py
|
||||
|
||||
- name: Validate catalog metadata
|
||||
if: steps.changes.outputs.relevant == 'true'
|
||||
run: uv run --quiet scripts/catalog/validate_catalog_metadata.py --require-complete
|
||||
|
||||
- name: Validate i18n
|
||||
if: steps.changes.outputs.relevant == 'true'
|
||||
run: uv run --quiet scripts/i18n/validate-i18n.py
|
||||
@@ -70,6 +80,10 @@ jobs:
|
||||
if: steps.changes.outputs.relevant == 'true'
|
||||
run: uv run --quiet scripts/i18n/translate.py --check
|
||||
|
||||
- name: Check generated collection children
|
||||
if: steps.changes.outputs.relevant == 'true'
|
||||
run: uv run --quiet scripts/gen-collection-children.py --check
|
||||
|
||||
- name: Skip notice
|
||||
if: steps.changes.outputs.relevant != 'true'
|
||||
run: echo "No i18n-relevant changes; validation skipped."
|
||||
|
||||
Reference in New Issue
Block a user