feat: 为两个市场团队及全部成员发布透明头像 (#203)

## Summary

Publish transparent portraits for both marketplace teams and all 11
roster members. Team cards use the supervisor portrait; a separate
`member-avatars.v1.json` sidecar supplies member images without changing
the strict `entry.json` member contract accepted by older clients. The
two catalog pointers now reference the merged team releases and their
updated member locks.

为市场中的两个团队和全部 11 位成员发布透明人像。团队卡片复用组长形象,成员图片由独立 sidecar
提供,旧客户端仍可读取原有团队条目。团队指针更新至已合并的团队版本与成员锁文件。

## Validation

- Catalog metadata validation: 0 errors (123 existing warnings)
- i18n validation: 0 errors (123 existing warnings)
- Translation freshness: passed
- Image assets: all 11 member portraits and 2 team portraits are
transparent WebP files
This commit is contained in:
2026-09-30 18:13:27 +08:00
committed by GitHub
parent 81aa0cf450
commit 7ce79c5cc9
21 changed files with 164 additions and 37 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "DesireCore Official Market", "name": "DesireCore Official Market",
"version": "1.5.5", "version": "1.5.6",
"schemaVersion": "1.1.0", "schemaVersion": "1.1.0",
"supportedLocales": [ "supportedLocales": [
"zh-CN", "zh-CN",

View File

@@ -0,0 +1,45 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Market Team Member Portraits",
"description": "Optional market-only portraits for published team members. Keep this separate from entry.json so older clients can continue to read the team.",
"type": "object",
"required": ["schemaVersion", "members"],
"properties": {
"$schema": {
"type": "string",
"description": "Relative path to this validation schema."
},
"schemaVersion": {
"type": "integer",
"const": 1,
"description": "Sidecar format version."
},
"members": {
"type": "object",
"description": "Portraits keyed by published team roster member ID.",
"propertyNames": {
"pattern": "^[A-Za-z0-9_-]+$"
},
"additionalProperties": {
"type": "object",
"required": ["image"],
"properties": {
"image": {
"type": "object",
"required": ["path"],
"properties": {
"path": {
"type": "string",
"pattern": "^(?!/|[A-Za-z]:|.*\\.\\.)(?:[A-Za-z0-9_.-]+/)*[A-Za-z0-9_.-]+\\.(?:png|jpe?g|webp)$",
"description": "Relative portrait image path inside the market team directory."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -29,28 +29,28 @@
}, },
"release": { "release": {
"state": "known", "state": "known",
"version": "0.2.0", "version": "0.2.1",
"versionScheme": "semver" "versionScheme": "semver"
}, },
"timestamps": { "timestamps": {
"catalogUpdatedAt": { "catalogUpdatedAt": {
"state": "known", "state": "known",
"value": "2026-09-13", "value": "2026-09-30",
"precision": "day" "precision": "day"
}, },
"releasePublishedAt": { "releasePublishedAt": {
"state": "known", "state": "known",
"value": "2026-09-13", "value": "2026-09-30",
"precision": "day" "precision": "day"
}, },
"reviewedAt": { "reviewedAt": {
"state": "known", "state": "known",
"value": "2026-09-13", "value": "2026-09-30",
"precision": "day" "precision": "day"
}, },
"upstreamObservedAt": { "upstreamObservedAt": {
"state": "known", "state": "known",
"value": "2026-09-13", "value": "2026-09-30",
"precision": "day" "precision": "day"
} }
}, },
@@ -58,7 +58,7 @@
"content": { "content": {
"kind": "git", "kind": "git",
"url": "https://github.com/desirecore-agent/biao-shu-lian-he-shen-cha.git", "url": "https://github.com/desirecore-agent/biao-shu-lian-he-shen-cha.git",
"ref": "af59d115f11f6a636e5e043b4f7a03f68dc02e33" "ref": "60d2f7f62e8035f7ad03d61a40a66925486c29a6"
} }
}, },
"governance": { "governance": {
@@ -72,8 +72,8 @@
"stewardship": "pointer", "stewardship": "pointer",
"compliance": { "compliance": {
"licenseEvidencePath": "LICENSE", "licenseEvidencePath": "LICENSE",
"reviewedRef": "af59d115f11f6a636e5e043b4f7a03f68dc02e33", "reviewedRef": "60d2f7f62e8035f7ad03d61a40a66925486c29a6",
"reviewedAt": "2026-09-13", "reviewedAt": "2026-09-30",
"reviewedBy": "desirecore-agent", "reviewedBy": "desirecore-agent",
"upstreamEndorsed": false "upstreamEndorsed": false
} }

View File

@@ -9,33 +9,38 @@
"document-review", "document-review",
"multimodal" "multimodal"
], ],
"latestVersion": "0.2.0", "latestVersion": "0.2.1",
"updatedAt": "2026-09-13", "updatedAt": "2026-09-30",
"members": [ "members": [
{ {
"id": "tender-review-lead", "id": "tender-review-lead",
"name": "标书总审", "name": "标书总审",
"role": "supervisor" "role": "supervisor",
"version": "0.2.1"
}, },
{ {
"id": "tender-review-requirements", "id": "tender-review-requirements",
"name": "条款响应审查", "name": "条款响应审查",
"role": "member" "role": "member",
"version": "0.2.1"
}, },
{ {
"id": "tender-review-commercial", "id": "tender-review-commercial",
"name": "商务报价审查", "name": "商务报价审查",
"role": "member" "role": "member",
"version": "0.2.1"
}, },
{ {
"id": "tender-review-visual", "id": "tender-review-visual",
"name": "技术图片审查", "name": "技术图片审查",
"role": "member" "role": "member",
"version": "0.2.1"
}, },
{ {
"id": "tender-review-evidence", "id": "tender-review-evidence",
"name": "独立证据复核", "name": "独立证据复核",
"role": "member" "role": "member",
"version": "0.2.1"
} }
], ],
"capabilities": [ "capabilities": [
@@ -52,7 +57,7 @@
"kind": "git", "kind": "git",
"repoUrl": "https://github.com/desirecore-agent/biao-shu-lian-he-shen-cha.git", "repoUrl": "https://github.com/desirecore-agent/biao-shu-lian-he-shen-cha.git",
"repoBranch": "main", "repoBranch": "main",
"ref": "af59d115f11f6a636e5e043b4f7a03f68dc02e33" "ref": "60d2f7f62e8035f7ad03d61a40a66925486c29a6"
}, },
"requiredClientVersion": "10.0.155", "requiredClientVersion": "10.0.155",
"fullDesc": "成果质量导向的五角色标书辅助审查:用自然语言说明目标和材料,成员自主检查,总审按重要问题、依据、整改建议和未决事项验收。结构化导出为可选能力;真实标书效果尚未验证。", "fullDesc": "成果质量导向的五角色标书辅助审查:用自然语言说明目标和材料,成员自主检查,总审按重要问题、依据、整改建议和未决事项验收。结构化导出为可选能力;真实标书效果尚未验证。",
@@ -71,5 +76,12 @@
"name": "Tender Review Team", "name": "Tender Review Team",
"shortDesc": "Five roles review requirements, pricing and tender images with independent evidence checks." "shortDesc": "Five roles review requirements, pricing and tender images with independent evidence checks."
} }
},
"avatar": {
"t": "标",
"bg": "linear-gradient(135deg, #315E8D, #244469)",
"image": {
"path": "assets/avatar.webp"
}
} }
} }

View File

@@ -0,0 +1,31 @@
{
"$schema": "../../schemas/team-member-avatars.v1.schema.json",
"schemaVersion": 1,
"members": {
"tender-review-lead": {
"image": {
"path": "assets/members/tender-review-lead.webp"
}
},
"tender-review-requirements": {
"image": {
"path": "assets/members/tender-review-requirements.webp"
}
},
"tender-review-commercial": {
"image": {
"path": "assets/members/tender-review-commercial.webp"
}
},
"tender-review-visual": {
"image": {
"path": "assets/members/tender-review-visual.webp"
}
},
"tender-review-evidence": {
"image": {
"path": "assets/members/tender-review-evidence.webp"
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@@ -34,36 +34,36 @@
}, },
"release": { "release": {
"state": "known", "state": "known",
"version": "0.1.36", "version": "0.1.38",
"versionScheme": "semver" "versionScheme": "semver"
}, },
"timestamps": { "timestamps": {
"catalogUpdatedAt": { "catalogUpdatedAt": {
"state": "known", "state": "known",
"value": "2026-09-15", "value": "2026-09-30",
"precision": "day" "precision": "day"
}, },
"releasePublishedAt": { "releasePublishedAt": {
"state": "known", "state": "known",
"value": "2026-09-15T14:05:00Z", "value": "2026-09-30",
"precision": "second" "precision": "day"
}, },
"reviewedAt": { "reviewedAt": {
"state": "known", "state": "known",
"value": "2026-09-15", "value": "2026-09-30",
"precision": "day" "precision": "day"
}, },
"upstreamObservedAt": { "upstreamObservedAt": {
"state": "known", "state": "known",
"value": "2026-09-15T13:56:26Z", "value": "2026-09-30",
"precision": "second" "precision": "day"
} }
}, },
"provenance": { "provenance": {
"content": { "content": {
"kind": "git", "kind": "git",
"url": "https://github.com/desirecore-agent/contract-review-team.git", "url": "https://github.com/desirecore-agent/contract-review-team.git",
"ref": "aa67148a8da07bcf8f654edfca1df6bd35d1c9cb" "ref": "914ee32c2199c9a5a3bd126403b47255014235ce"
} }
}, },
"governance": { "governance": {
@@ -82,8 +82,8 @@
}, },
"compliance": { "compliance": {
"licenseEvidencePath": "LICENSE", "licenseEvidencePath": "LICENSE",
"reviewedRef": "aa67148a8da07bcf8f654edfca1df6bd35d1c9cb", "reviewedRef": "914ee32c2199c9a5a3bd126403b47255014235ce",
"reviewedAt": "2026-09-15", "reviewedAt": "2026-09-30",
"reviewedBy": "DesireCore Agent", "reviewedBy": "DesireCore Agent",
"upstreamEndorsed": true "upstreamEndorsed": true
} }

View File

@@ -9,7 +9,7 @@
"compliance", "compliance",
"legal-collaboration" "legal-collaboration"
], ],
"latestVersion": "0.1.36", "latestVersion": "0.1.38",
"i18n": { "i18n": {
"zh-CN": { "zh-CN": {
"name": "合同审查团队", "name": "合同审查团队",
@@ -33,52 +33,55 @@
"kind": "git", "kind": "git",
"repoUrl": "https://github.com/desirecore-agent/contract-review-team.git", "repoUrl": "https://github.com/desirecore-agent/contract-review-team.git",
"repoBranch": "main", "repoBranch": "main",
"ref": "aa67148a8da07bcf8f654edfca1df6bd35d1c9cb" "ref": "914ee32c2199c9a5a3bd126403b47255014235ce"
}, },
"requiredClientVersion": "10.0.136", "requiredClientVersion": "10.0.136",
"avatar": { "avatar": {
"t": "合审", "t": "合审",
"bg": "linear-gradient(135deg, #5856D6, #3634A3)" "bg": "linear-gradient(135deg, #5856D6, #3634A3)",
"image": {
"path": "assets/avatar.webp"
}
}, },
"shortDesc": "Six-member contract review team with parallel risk and jurisdiction checks, independent re-verification, scored reporting, and tracked DOCX delivery. Requires a user-configured model service; contract text and attachments are sent for analysis, results require qualified human review, and capability gaps produce a bounded report.", "shortDesc": "Six-member contract review team with parallel risk and jurisdiction checks, independent re-verification, scored reporting, and tracked DOCX delivery. Requires a user-configured model service; contract text and attachments are sent for analysis, results require qualified human review, and capability gaps produce a bounded report.",
"updatedAt": "2026-09-15", "updatedAt": "2026-09-30",
"fullDesc": "Six-member contract review team with parallel risk and jurisdiction checks, independent re-verification, scored reporting, and tracked DOCX delivery. Requires a user-configured model service; contract text and attachments are sent for analysis, results require qualified human review, and capability gaps produce a bounded report.", "fullDesc": "Six-member contract review team with parallel risk and jurisdiction checks, independent re-verification, scored reporting, and tracked DOCX delivery. Requires a user-configured model service; contract text and attachments are sent for analysis, results require qualified human review, and capability gaps produce a bounded report.",
"members": [ "members": [
{ {
"id": "contract-review-lead", "id": "contract-review-lead",
"name": "合同审查统筹官", "name": "合同审查统筹官",
"role": "supervisor", "role": "supervisor",
"version": "1.0.21" "version": "1.0.23"
}, },
{ {
"id": "contract-intake", "id": "contract-intake",
"name": "合同输入治理官", "name": "合同输入治理官",
"role": "member", "role": "member",
"version": "1.0.6" "version": "1.0.8"
}, },
{ {
"id": "clause-extractor", "id": "clause-extractor",
"name": "条款结构化官", "name": "条款结构化官",
"role": "member", "role": "member",
"version": "1.1.0" "version": "1.1.1"
}, },
{ {
"id": "risk-scanner", "id": "risk-scanner",
"name": "合同风险识别官", "name": "合同风险识别官",
"role": "member", "role": "member",
"version": "1.1.0" "version": "1.1.1"
}, },
{ {
"id": "jurisdiction-auditor", "id": "jurisdiction-auditor",
"name": "法域合规官", "name": "法域合规官",
"role": "member", "role": "member",
"version": "1.3.0" "version": "1.3.1"
}, },
{ {
"id": "review-reporter", "id": "review-reporter",
"name": "合同复核出报告官", "name": "合同复核出报告官",
"role": "member", "role": "member",
"version": "1.0.6" "version": "1.0.7"
} }
], ],
"capabilities": [ "capabilities": [

View File

@@ -0,0 +1,36 @@
{
"$schema": "../../schemas/team-member-avatars.v1.schema.json",
"schemaVersion": 1,
"members": {
"contract-review-lead": {
"image": {
"path": "assets/members/contract-review-lead.webp"
}
},
"contract-intake": {
"image": {
"path": "assets/members/contract-intake.webp"
}
},
"clause-extractor": {
"image": {
"path": "assets/members/clause-extractor.webp"
}
},
"risk-scanner": {
"image": {
"path": "assets/members/risk-scanner.webp"
}
},
"jurisdiction-auditor": {
"image": {
"path": "assets/members/jurisdiction-auditor.webp"
}
},
"review-reporter": {
"image": {
"path": "assets/members/review-reporter.webp"
}
}
}
}