@stofone/dsh-agent-roster 0.9.1 → 0.10.0
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 +71 -1
- package/README.md +78 -4
- package/README.zh.md +44 -1
- package/bin/cli.mjs +228 -2
- package/client.js +49 -24
- package/docs/roster-v2.md +220 -0
- package/examples/dist/core-review-1.0.0.json +160 -0
- package/examples/dist/research-0.1.0.json +95 -0
- package/examples/roles/core-review-correctness/AGENT.md +20 -0
- package/examples/roles/core-review-lead/AGENT.md +23 -0
- package/examples/roles/core-review-lead-captain/AGENT.md +13 -0
- package/examples/roles/core-review-maintainer/AGENT.md +20 -0
- package/examples/roles/research-scout/AGENT.md +16 -0
- package/examples/roles/research-verifier/AGENT.md +16 -0
- package/examples/rosters/core-review/roster.yaml +39 -0
- package/examples/rosters/research/roster.yaml +20 -0
- package/examples-orchestration/dist/core-review-1.0.0.json +185 -0
- package/examples-orchestration/dist/core-review-1.0.0.tasks.json +76 -0
- package/examples-orchestration/roles/fixer/AGENT.md +18 -0
- package/examples-orchestration/roles/lead/AGENT.md +18 -0
- package/examples-orchestration/roles/reviewer/AGENT.md +23 -0
- package/examples-orchestration/roles/reviewer/parts/checklist.md +6 -0
- package/examples-orchestration/rosters/core-review/overrides/fixer.md +1 -0
- package/examples-orchestration/rosters/core-review/roster.yaml +43 -0
- package/index.js +8 -1
- package/lib/compile2.js +522 -0
- package/lib/format-v2.js +196 -0
- package/lib/frontmatter.js +113 -0
- package/lib/migrate.js +326 -0
- package/lib/plan.js +167 -0
- package/lib/registry.js +65 -11
- package/lib/role.js +498 -0
- package/lib/roster2.js +591 -0
- package/lib/run.js +188 -0
- package/lib/write.js +14 -8
- package/orgs/agent-roster-collective/dist/api-design-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/content-ops-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/contract-review-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/data-quality-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/db-migration-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/docs-writer-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/finance-recon-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/frontend-ui-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/i18n-l10n-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/incident-response-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/literature-review-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/market-research-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/ml-eval-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/performance-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/product-discovery-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/qa-regression-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/recruiting-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/release-manager-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/security-audit-1.0.0.json +132 -0
- package/orgs/agent-roster-collective/dist/sre-oncall-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/dist/support-triage-1.0.0.json +130 -0
- package/orgs/agent-roster-collective/roles/api-design-failure-mode/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/api-design-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/api-design-schema/AGENT.md +20 -0
- package/orgs/agent-roster-collective/roles/content-ops-distributor/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/content-ops-editor/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/content-ops-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/contract-review-clause-reader/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/contract-review-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/contract-review-risk-note/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/data-quality-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/data-quality-profiler/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/data-quality-rule-author/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/db-migration-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/db-migration-migrator/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/db-migration-verifier/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/docs-writer-example-runner/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/docs-writer-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/docs-writer-writer/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/finance-recon-exception/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/finance-recon-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/finance-recon-matcher/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/frontend-ui-a11y-reviewer/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/frontend-ui-implementer/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/frontend-ui-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/i18n-l10n-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/i18n-l10n-reviewer/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/i18n-l10n-translator/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/incident-response-commander/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/incident-response-scribe/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/incident-response-triage/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/literature-review-critic/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/literature-review-extractor/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/literature-review-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/market-research-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/market-research-researcher/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/market-research-synthesizer/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/ml-eval-dataset/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/ml-eval-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/ml-eval-metric/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/performance-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/performance-load-tester/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/performance-profiler/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/product-discovery-interviewer/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/product-discovery-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/product-discovery-skeptic/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/qa-regression-case-writer/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/qa-regression-flake-hunter/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/qa-regression-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/recruiting-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/recruiting-scheduler/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/recruiting-screener/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/release-manager-changelog/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/release-manager-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/release-manager-rollback/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/security-audit-code-auditor/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/security-audit-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/security-audit-threat-modeler/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/sre-oncall-capacity/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/sre-oncall-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/sre-oncall-runbook/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/support-triage-classifier/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/support-triage-lead/AGENT.md +19 -0
- package/orgs/agent-roster-collective/roles/support-triage-responder/AGENT.md +19 -0
- package/orgs/agent-roster-collective/rosters/api-design/roster.yaml +26 -0
- package/orgs/agent-roster-collective/rosters/content-ops/roster.yaml +25 -0
- package/orgs/agent-roster-collective/rosters/contract-review/roster.yaml +25 -0
- package/orgs/agent-roster-collective/rosters/data-quality/roster.yaml +26 -0
- package/orgs/agent-roster-collective/rosters/db-migration/roster.yaml +26 -0
- package/orgs/agent-roster-collective/rosters/docs-writer/roster.yaml +25 -0
- package/orgs/agent-roster-collective/rosters/finance-recon/roster.yaml +25 -0
- package/orgs/agent-roster-collective/rosters/frontend-ui/roster.yaml +26 -0
- package/orgs/agent-roster-collective/rosters/i18n-l10n/roster.yaml +26 -0
- package/orgs/agent-roster-collective/rosters/incident-response/roster.yaml +26 -0
- package/orgs/agent-roster-collective/rosters/literature-review/roster.yaml +25 -0
- package/orgs/agent-roster-collective/rosters/market-research/roster.yaml +25 -0
- package/orgs/agent-roster-collective/rosters/ml-eval/roster.yaml +25 -0
- package/orgs/agent-roster-collective/rosters/performance/roster.yaml +25 -0
- package/orgs/agent-roster-collective/rosters/product-discovery/roster.yaml +25 -0
- package/orgs/agent-roster-collective/rosters/qa-regression/roster.yaml +26 -0
- package/orgs/agent-roster-collective/rosters/recruiting/roster.yaml +25 -0
- package/orgs/agent-roster-collective/rosters/release-manager/roster.yaml +25 -0
- package/orgs/agent-roster-collective/rosters/security-audit/roster.yaml +30 -0
- package/orgs/agent-roster-collective/rosters/sre-oncall/roster.yaml +26 -0
- package/orgs/agent-roster-collective/rosters/support-triage/roster.yaml +25 -0
- package/package.json +3 -1
- package/schema/compiled.v1.schema.json +391 -0
- package/schema/role.v1.schema.json +240 -0
- package/schema/roster.v2.schema.json +437 -0
- package/examples/core-review/roster.yaml +0 -82
- package/examples/research/roster.yaml +0 -42
- package/orgs/agent-roster-collective/api-design/roster.yaml +0 -67
- package/orgs/agent-roster-collective/content-ops/roster.yaml +0 -55
- package/orgs/agent-roster-collective/contract-review/roster.yaml +0 -58
- package/orgs/agent-roster-collective/data-quality/roster.yaml +0 -64
- package/orgs/agent-roster-collective/db-migration/roster.yaml +0 -64
- package/orgs/agent-roster-collective/docs-writer/roster.yaml +0 -59
- package/orgs/agent-roster-collective/finance-recon/roster.yaml +0 -63
- package/orgs/agent-roster-collective/frontend-ui/roster.yaml +0 -60
- package/orgs/agent-roster-collective/i18n-l10n/roster.yaml +0 -60
- package/orgs/agent-roster-collective/incident-response/roster.yaml +0 -65
- package/orgs/agent-roster-collective/literature-review/roster.yaml +0 -61
- package/orgs/agent-roster-collective/market-research/roster.yaml +0 -60
- package/orgs/agent-roster-collective/ml-eval/roster.yaml +0 -63
- package/orgs/agent-roster-collective/performance/roster.yaml +0 -63
- package/orgs/agent-roster-collective/product-discovery/roster.yaml +0 -55
- package/orgs/agent-roster-collective/qa-regression/roster.yaml +0 -64
- package/orgs/agent-roster-collective/recruiting/roster.yaml +0 -58
- package/orgs/agent-roster-collective/release-manager/roster.yaml +0 -59
- package/orgs/agent-roster-collective/security-audit/roster.yaml +0 -65
- package/orgs/agent-roster-collective/sre-oncall/roster.yaml +0 -60
- package/orgs/agent-roster-collective/support-triage/roster.yaml +0 -58
- /package/orgs/agent-roster-collective/{security-audit → rosters/security-audit}/capabilities.yaml +0 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "dsh-agent-roster/compiled@1",
|
|
3
|
+
"source": {
|
|
4
|
+
"roster": "performance",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"title": "性能优化组",
|
|
7
|
+
"repo": "dsh-agent-roster/dsh-agent-roster",
|
|
8
|
+
"ref": "main",
|
|
9
|
+
"lock": null,
|
|
10
|
+
"file": "roster.yaml"
|
|
11
|
+
},
|
|
12
|
+
"targets": [
|
|
13
|
+
"agent-teams/members"
|
|
14
|
+
],
|
|
15
|
+
"captain": null,
|
|
16
|
+
"members": [
|
|
17
|
+
{
|
|
18
|
+
"name": "lead",
|
|
19
|
+
"role": "性能负责人",
|
|
20
|
+
"roleRef": "performance-lead@1.0.0",
|
|
21
|
+
"roleName": "performance-lead",
|
|
22
|
+
"roleVersion": "1.0.0",
|
|
23
|
+
"provider": "deepseek",
|
|
24
|
+
"model": "deepseek-v4.1-flash",
|
|
25
|
+
"reasoningEffort": "high",
|
|
26
|
+
"toolPolicy": null,
|
|
27
|
+
"executionPrompt": "你定基线:哪个场景、哪条延迟指标、当前是多少、目标是多少,然后决定这轮只改哪一处。\n不写实现,也不追求全面优化;被否决的方向要写清代价。\n产出是一页纸:基线读数、目标、本轮范围、验收方法。\n没有稳定基线时先要求补测量,不要凭感觉开工。",
|
|
28
|
+
"promptStats": {
|
|
29
|
+
"chars": 117,
|
|
30
|
+
"parts": [
|
|
31
|
+
{
|
|
32
|
+
"path": "roles/performance-lead/AGENT.md",
|
|
33
|
+
"kind": "body+parts"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"path": "body",
|
|
37
|
+
"kind": "part"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"sha256": "b3e01adefc2efe28a80882499c82012fd5cb449d77500c21e5b04fbd01d4c98d"
|
|
41
|
+
},
|
|
42
|
+
"provenance": {
|
|
43
|
+
"role": "performance-lead@1.0.0",
|
|
44
|
+
"sha256": "9a49e6f8"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "profiler",
|
|
49
|
+
"role": "热点定位",
|
|
50
|
+
"roleRef": "performance-profiler@1.0.0",
|
|
51
|
+
"roleName": "performance-profiler",
|
|
52
|
+
"roleVersion": "1.0.0",
|
|
53
|
+
"provider": "deepseek",
|
|
54
|
+
"model": "deepseek-v4.1-flash",
|
|
55
|
+
"reasoningEffort": "high",
|
|
56
|
+
"toolPolicy": null,
|
|
57
|
+
"executionPrompt": "你负责测量:用采样或分段计时找出时间/内存主要花在哪三处,给出占比。\n不做优化决策;你的产出是可复现的测量结果。\n每条结论附复现命令与样本量,说明噪声范围。\n测量结果不稳定时直接说“不可靠”,并给出提高置信度的做法。",
|
|
58
|
+
"promptStats": {
|
|
59
|
+
"chars": 108,
|
|
60
|
+
"parts": [
|
|
61
|
+
{
|
|
62
|
+
"path": "roles/performance-profiler/AGENT.md",
|
|
63
|
+
"kind": "body+parts"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"path": "body",
|
|
67
|
+
"kind": "part"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"sha256": "13c35f69cc2f7be21d1a2593edccea11e34011450c3f399f726441af8fa646af"
|
|
71
|
+
},
|
|
72
|
+
"provenance": {
|
|
73
|
+
"role": "performance-profiler@1.0.0",
|
|
74
|
+
"sha256": "83bf2a37"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "load-tester",
|
|
79
|
+
"role": "压测与回归",
|
|
80
|
+
"roleRef": "performance-load-tester@1.0.0",
|
|
81
|
+
"roleName": "performance-load-tester",
|
|
82
|
+
"roleVersion": "1.0.0",
|
|
83
|
+
"provider": "deepseek",
|
|
84
|
+
"model": "deepseek-v4.1-flash",
|
|
85
|
+
"reasoningEffort": "high",
|
|
86
|
+
"toolPolicy": null,
|
|
87
|
+
"executionPrompt": "你用固定负载模型对比改动前后:p50、p99、吞吐、错误率、资源占用。\n不改业务逻辑;只回答“这次改动是否在负载下变好且没引入新错误”。\n输出对比表,并注明负载模型与数据规模,避免不可比的数字。\n负载模型变了就说明不可比,不要硬做对比。",
|
|
88
|
+
"promptStats": {
|
|
89
|
+
"chars": 118,
|
|
90
|
+
"parts": [
|
|
91
|
+
{
|
|
92
|
+
"path": "roles/performance-load-tester/AGENT.md",
|
|
93
|
+
"kind": "body+parts"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"path": "body",
|
|
97
|
+
"kind": "part"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"sha256": "26c3ede98299406fce348916ebbbf782b2ccfdfca17e1a7f8e0fe7f0a846bb3d"
|
|
101
|
+
},
|
|
102
|
+
"provenance": {
|
|
103
|
+
"role": "performance-load-tester@1.0.0",
|
|
104
|
+
"sha256": "3f3950ac"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"orchestration": null,
|
|
109
|
+
"declarations": [
|
|
110
|
+
{
|
|
111
|
+
"scope": "roster",
|
|
112
|
+
"field": "defaults.route",
|
|
113
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"scope": "roster",
|
|
117
|
+
"field": "defaults.route",
|
|
118
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"scope": "roster",
|
|
122
|
+
"field": "defaults.route",
|
|
123
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"requires": {
|
|
127
|
+
"skills": [],
|
|
128
|
+
"toolPolicies": []
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "dsh-agent-roster/compiled@1",
|
|
3
|
+
"source": {
|
|
4
|
+
"roster": "product-discovery",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"title": "产品发现组",
|
|
7
|
+
"repo": "dsh-agent-roster/dsh-agent-roster",
|
|
8
|
+
"ref": "main",
|
|
9
|
+
"lock": null,
|
|
10
|
+
"file": "roster.yaml"
|
|
11
|
+
},
|
|
12
|
+
"targets": [
|
|
13
|
+
"agent-teams/members"
|
|
14
|
+
],
|
|
15
|
+
"captain": null,
|
|
16
|
+
"members": [
|
|
17
|
+
{
|
|
18
|
+
"name": "lead",
|
|
19
|
+
"role": "发现负责人",
|
|
20
|
+
"roleRef": "product-discovery-lead@1.0.0",
|
|
21
|
+
"roleName": "product-discovery-lead",
|
|
22
|
+
"roleVersion": "1.0.0",
|
|
23
|
+
"provider": "deepseek",
|
|
24
|
+
"model": "deepseek-v4.1-flash",
|
|
25
|
+
"reasoningEffort": "high",
|
|
26
|
+
"toolPolicy": null,
|
|
27
|
+
"executionPrompt": "你把想法写成可证伪假设:谁、在什么场景、现在怎么做、愿意付出什么。\n不写需求文档;你负责选最便宜的验证方式并设定放弃条件。\n产出是一页假设卡:假设 · 验证方式 · 成功判据 · 放弃条件。\n无法证伪的想法直接退回,不要包装成需求。",
|
|
28
|
+
"promptStats": {
|
|
29
|
+
"chars": 116,
|
|
30
|
+
"parts": [
|
|
31
|
+
{
|
|
32
|
+
"path": "roles/product-discovery-lead/AGENT.md",
|
|
33
|
+
"kind": "body+parts"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"path": "body",
|
|
37
|
+
"kind": "part"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"sha256": "14d578151f0cc2ba8dcf0bc66036fb8b15e1e6910c54bc9e9c71324273792ab5"
|
|
41
|
+
},
|
|
42
|
+
"provenance": {
|
|
43
|
+
"role": "product-discovery-lead@1.0.0",
|
|
44
|
+
"sha256": "79f34e2f"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "interviewer",
|
|
49
|
+
"role": "用户访谈",
|
|
50
|
+
"roleRef": "product-discovery-interviewer@1.0.0",
|
|
51
|
+
"roleName": "product-discovery-interviewer",
|
|
52
|
+
"roleVersion": "1.0.0",
|
|
53
|
+
"provider": "deepseek",
|
|
54
|
+
"model": "deepseek-v4.1-flash",
|
|
55
|
+
"reasoningEffort": "high",
|
|
56
|
+
"toolPolicy": null,
|
|
57
|
+
"executionPrompt": "你访谈时只问过去发生的具体行为:上次遇到是什么时候、当时怎么做的、花了多少代价。\n不做产品介绍,也不问“你会不会用”;你的产出是原话摘录。\n输出“场景 · 原话 · 现做法 · 代价 · 频次”,一条一行。\n对方开始给建议时,回到“你上次实际怎么做的”。",
|
|
58
|
+
"promptStats": {
|
|
59
|
+
"chars": 127,
|
|
60
|
+
"parts": [
|
|
61
|
+
{
|
|
62
|
+
"path": "roles/product-discovery-interviewer/AGENT.md",
|
|
63
|
+
"kind": "body+parts"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"path": "body",
|
|
67
|
+
"kind": "part"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"sha256": "31a7e96c2e0c8a6a00dcdf9a73de71e6850c295641ec3d8c85db9d2d20a2dfb7"
|
|
71
|
+
},
|
|
72
|
+
"provenance": {
|
|
73
|
+
"role": "product-discovery-interviewer@1.0.0",
|
|
74
|
+
"sha256": "711638e6"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "skeptic",
|
|
79
|
+
"role": "反方",
|
|
80
|
+
"roleRef": "product-discovery-skeptic@1.0.0",
|
|
81
|
+
"roleName": "product-discovery-skeptic",
|
|
82
|
+
"roleVersion": "1.0.0",
|
|
83
|
+
"provider": "deepseek",
|
|
84
|
+
"model": "deepseek-v4.1-flash",
|
|
85
|
+
"reasoningEffort": "high",
|
|
86
|
+
"toolPolicy": null,
|
|
87
|
+
"executionPrompt": "你专门找反证:有没有人根本不需要、现有替代方案是什么、代价是否被低估。\n不否定一切,也不给建设性方案;你的产出是具体的反例与替代路径。\n每条反例写清“什么条件下它会推翻当前假设”。\n找不到反例时说明你查了什么,而不是宣称假设成立。",
|
|
88
|
+
"promptStats": {
|
|
89
|
+
"chars": 115,
|
|
90
|
+
"parts": [
|
|
91
|
+
{
|
|
92
|
+
"path": "roles/product-discovery-skeptic/AGENT.md",
|
|
93
|
+
"kind": "body+parts"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"path": "body",
|
|
97
|
+
"kind": "part"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"sha256": "160afe83cc2f1d19c39589cba778fcc3b75f913e2f391ed074c0f9c6833f2fcf"
|
|
101
|
+
},
|
|
102
|
+
"provenance": {
|
|
103
|
+
"role": "product-discovery-skeptic@1.0.0",
|
|
104
|
+
"sha256": "16ec41da"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"orchestration": null,
|
|
109
|
+
"declarations": [
|
|
110
|
+
{
|
|
111
|
+
"scope": "roster",
|
|
112
|
+
"field": "defaults.route",
|
|
113
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"scope": "roster",
|
|
117
|
+
"field": "defaults.route",
|
|
118
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"scope": "roster",
|
|
122
|
+
"field": "defaults.route",
|
|
123
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"requires": {
|
|
127
|
+
"skills": [],
|
|
128
|
+
"toolPolicies": []
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "dsh-agent-roster/compiled@1",
|
|
3
|
+
"source": {
|
|
4
|
+
"roster": "qa-regression",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"title": "回归测试组",
|
|
7
|
+
"repo": "dsh-agent-roster/dsh-agent-roster",
|
|
8
|
+
"ref": "main",
|
|
9
|
+
"lock": null,
|
|
10
|
+
"file": "roster.yaml"
|
|
11
|
+
},
|
|
12
|
+
"targets": [
|
|
13
|
+
"agent-teams/members"
|
|
14
|
+
],
|
|
15
|
+
"captain": null,
|
|
16
|
+
"members": [
|
|
17
|
+
{
|
|
18
|
+
"name": "lead",
|
|
19
|
+
"role": "测试负责人",
|
|
20
|
+
"roleRef": "qa-regression-lead@1.0.0",
|
|
21
|
+
"roleName": "qa-regression-lead",
|
|
22
|
+
"roleVersion": "1.0.0",
|
|
23
|
+
"provider": "deepseek",
|
|
24
|
+
"model": "deepseek-v4.1-flash",
|
|
25
|
+
"reasoningEffort": "high",
|
|
26
|
+
"toolPolicy": null,
|
|
27
|
+
"executionPrompt": "你按改动影响面选回归范围:先列被碰到的旧行为,再选用例与放行线。\n不写用例细节;你负责范围与判定。\n产出是回归清单:行为 · 用例 · 判定标准 · 谁跑。\n影响面说不清时按最坏假设扩大范围,并注明成本。",
|
|
28
|
+
"promptStats": {
|
|
29
|
+
"chars": 102,
|
|
30
|
+
"parts": [
|
|
31
|
+
{
|
|
32
|
+
"path": "roles/qa-regression-lead/AGENT.md",
|
|
33
|
+
"kind": "body+parts"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"path": "body",
|
|
37
|
+
"kind": "part"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"sha256": "556cf9aa90c984561d99b0825beaed53dc587381a3a2316ab74f5e81a8a62ea3"
|
|
41
|
+
},
|
|
42
|
+
"provenance": {
|
|
43
|
+
"role": "qa-regression-lead@1.0.0",
|
|
44
|
+
"sha256": "1337dcbd"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "case-writer",
|
|
49
|
+
"role": "用例编写",
|
|
50
|
+
"roleRef": "qa-regression-case-writer@1.0.0",
|
|
51
|
+
"roleName": "qa-regression-case-writer",
|
|
52
|
+
"roleVersion": "1.0.0",
|
|
53
|
+
"provider": "deepseek",
|
|
54
|
+
"model": "deepseek-v4.1-flash",
|
|
55
|
+
"reasoningEffort": "high",
|
|
56
|
+
"toolPolicy": null,
|
|
57
|
+
"executionPrompt": "你写用例:前置条件、步骤、期望结果,并说明它覆盖哪个旧行为。\n不评价实现质量;只保证用例可执行、可判定。\n每条用例配一个“故意改坏实现”的变体,证明它会红。\n写不出失败变体的用例视为无效,删掉而不是留着充数。",
|
|
58
|
+
"promptStats": {
|
|
59
|
+
"chars": 104,
|
|
60
|
+
"parts": [
|
|
61
|
+
{
|
|
62
|
+
"path": "roles/qa-regression-case-writer/AGENT.md",
|
|
63
|
+
"kind": "body+parts"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"path": "body",
|
|
67
|
+
"kind": "part"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"sha256": "6ff4e2f26ee795cc9f659d203354259c5be52bf8c321bcee0133eb34c6553029"
|
|
71
|
+
},
|
|
72
|
+
"provenance": {
|
|
73
|
+
"role": "qa-regression-case-writer@1.0.0",
|
|
74
|
+
"sha256": "24b76053"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "flake-hunter",
|
|
79
|
+
"role": "不稳定排查",
|
|
80
|
+
"roleRef": "qa-regression-flake-hunter@1.0.0",
|
|
81
|
+
"roleName": "qa-regression-flake-hunter",
|
|
82
|
+
"roleVersion": "1.0.0",
|
|
83
|
+
"provider": "deepseek",
|
|
84
|
+
"model": "deepseek-v4.1-flash",
|
|
85
|
+
"reasoningEffort": "high",
|
|
86
|
+
"toolPolicy": null,
|
|
87
|
+
"executionPrompt": "你排查不稳定用例:重复运行、对比失败样本、找时间、顺序、数据依赖。\n不改业务代码;把随机失败变成可复现的确定失败。\n输出“用例 · 失败率 · 触发条件 · 最小复现命令”。\n定位不到就报告失败率与已排除项,不要标“环境问题”了事。",
|
|
88
|
+
"promptStats": {
|
|
89
|
+
"chars": 116,
|
|
90
|
+
"parts": [
|
|
91
|
+
{
|
|
92
|
+
"path": "roles/qa-regression-flake-hunter/AGENT.md",
|
|
93
|
+
"kind": "body+parts"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"path": "body",
|
|
97
|
+
"kind": "part"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"sha256": "35e3c3fb59b1d2405dc7bd5bb8b391b5c2bd1ae26ae19a93d693fecd8c4c79ad"
|
|
101
|
+
},
|
|
102
|
+
"provenance": {
|
|
103
|
+
"role": "qa-regression-flake-hunter@1.0.0",
|
|
104
|
+
"sha256": "a6d3ab0f"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"orchestration": null,
|
|
109
|
+
"declarations": [
|
|
110
|
+
{
|
|
111
|
+
"scope": "roster",
|
|
112
|
+
"field": "defaults.route",
|
|
113
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"scope": "roster",
|
|
117
|
+
"field": "defaults.route",
|
|
118
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"scope": "roster",
|
|
122
|
+
"field": "defaults.route",
|
|
123
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"requires": {
|
|
127
|
+
"skills": [],
|
|
128
|
+
"toolPolicies": []
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "dsh-agent-roster/compiled@1",
|
|
3
|
+
"source": {
|
|
4
|
+
"roster": "recruiting",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"title": "招聘筛选组",
|
|
7
|
+
"repo": "dsh-agent-roster/dsh-agent-roster",
|
|
8
|
+
"ref": "main",
|
|
9
|
+
"lock": null,
|
|
10
|
+
"file": "roster.yaml"
|
|
11
|
+
},
|
|
12
|
+
"targets": [
|
|
13
|
+
"agent-teams/members"
|
|
14
|
+
],
|
|
15
|
+
"captain": null,
|
|
16
|
+
"members": [
|
|
17
|
+
{
|
|
18
|
+
"name": "lead",
|
|
19
|
+
"role": "招聘负责人",
|
|
20
|
+
"roleRef": "recruiting-lead@1.0.0",
|
|
21
|
+
"roleName": "recruiting-lead",
|
|
22
|
+
"roleVersion": "1.0.0",
|
|
23
|
+
"provider": "deepseek",
|
|
24
|
+
"model": "deepseek-v4.1-flash",
|
|
25
|
+
"reasoningEffort": "high",
|
|
26
|
+
"toolPolicy": null,
|
|
27
|
+
"executionPrompt": "你把岗位要求写成可判定条目:必须具备、可以培养、明确不要。\n不逐份读简历;你负责让筛选结果可复核、可申诉。\n产出是标准表:条目 · 判定方式(看哪段经历/哪个产出) · 权重。\n写不出判定方式的条目直接删掉,避免变成主观偏好。",
|
|
28
|
+
"promptStats": {
|
|
29
|
+
"chars": 113,
|
|
30
|
+
"parts": [
|
|
31
|
+
{
|
|
32
|
+
"path": "roles/recruiting-lead/AGENT.md",
|
|
33
|
+
"kind": "body+parts"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"path": "body",
|
|
37
|
+
"kind": "part"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"sha256": "07a03cae36aba2c19d8d302f5af6f799549e80144fbcf5baaf0c598febbfa714"
|
|
41
|
+
},
|
|
42
|
+
"provenance": {
|
|
43
|
+
"role": "recruiting-lead@1.0.0",
|
|
44
|
+
"sha256": "8ebb8e36"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "screener",
|
|
49
|
+
"role": "简历筛选",
|
|
50
|
+
"roleRef": "recruiting-screener@1.0.0",
|
|
51
|
+
"roleName": "recruiting-screener",
|
|
52
|
+
"roleVersion": "1.0.0",
|
|
53
|
+
"provider": "deepseek",
|
|
54
|
+
"model": "deepseek-v4.1-flash",
|
|
55
|
+
"reasoningEffort": "high",
|
|
56
|
+
"toolPolicy": null,
|
|
57
|
+
"executionPrompt": "你逐条对照标准,为每条结论摘出简历原文作为证据。\n不做性格判断,也不预测绩效;你只回答“标准是否被证据支持”。\n输出“候选人 · 条目 · 证据原文 · 判定(满足/不满足/无证据)”。\n无证据就写“无证据”,不要用“看起来”补足。",
|
|
58
|
+
"promptStats": {
|
|
59
|
+
"chars": 116,
|
|
60
|
+
"parts": [
|
|
61
|
+
{
|
|
62
|
+
"path": "roles/recruiting-screener/AGENT.md",
|
|
63
|
+
"kind": "body+parts"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"path": "body",
|
|
67
|
+
"kind": "part"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"sha256": "778999da7d46d098d0c78695b442becac42fa672a68e477109f38a15f3bedb0a"
|
|
71
|
+
},
|
|
72
|
+
"provenance": {
|
|
73
|
+
"role": "recruiting-screener@1.0.0",
|
|
74
|
+
"sha256": "ee26d4e2"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "scheduler",
|
|
79
|
+
"role": "面试安排",
|
|
80
|
+
"roleRef": "recruiting-scheduler@1.0.0",
|
|
81
|
+
"roleName": "recruiting-scheduler",
|
|
82
|
+
"roleVersion": "1.0.0",
|
|
83
|
+
"provider": "deepseek",
|
|
84
|
+
"model": "deepseek-v4.1-flash",
|
|
85
|
+
"reasoningEffort": "high",
|
|
86
|
+
"toolPolicy": null,
|
|
87
|
+
"executionPrompt": "你负责安排:面试官时间、候选人时区、每轮题目清单与时长。\n不参与评价,也不透露其他候选人信息。\n输出排期表与每轮目标(这一轮要验证哪两条标准)。\n时间冲突时给两个可选方案,不要自行改面试官。",
|
|
88
|
+
"promptStats": {
|
|
89
|
+
"chars": 95,
|
|
90
|
+
"parts": [
|
|
91
|
+
{
|
|
92
|
+
"path": "roles/recruiting-scheduler/AGENT.md",
|
|
93
|
+
"kind": "body+parts"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"path": "body",
|
|
97
|
+
"kind": "part"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"sha256": "f6cd6b8944108530c1eab79fd3f22851974a993ae184252f2f4e787477a3d16f"
|
|
101
|
+
},
|
|
102
|
+
"provenance": {
|
|
103
|
+
"role": "recruiting-scheduler@1.0.0",
|
|
104
|
+
"sha256": "29a29a72"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"orchestration": null,
|
|
109
|
+
"declarations": [
|
|
110
|
+
{
|
|
111
|
+
"scope": "roster",
|
|
112
|
+
"field": "defaults.route",
|
|
113
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"scope": "roster",
|
|
117
|
+
"field": "defaults.route",
|
|
118
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"scope": "roster",
|
|
122
|
+
"field": "defaults.route",
|
|
123
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"requires": {
|
|
127
|
+
"skills": [],
|
|
128
|
+
"toolPolicies": []
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "dsh-agent-roster/compiled@1",
|
|
3
|
+
"source": {
|
|
4
|
+
"roster": "release-manager",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"title": "发布管理组",
|
|
7
|
+
"repo": "dsh-agent-roster/dsh-agent-roster",
|
|
8
|
+
"ref": "main",
|
|
9
|
+
"lock": null,
|
|
10
|
+
"file": "roster.yaml"
|
|
11
|
+
},
|
|
12
|
+
"targets": [
|
|
13
|
+
"agent-teams/members"
|
|
14
|
+
],
|
|
15
|
+
"captain": null,
|
|
16
|
+
"members": [
|
|
17
|
+
{
|
|
18
|
+
"name": "lead",
|
|
19
|
+
"role": "发布负责人",
|
|
20
|
+
"roleRef": "release-manager-lead@1.0.0",
|
|
21
|
+
"roleName": "release-manager-lead",
|
|
22
|
+
"roleVersion": "1.0.0",
|
|
23
|
+
"provider": "deepseek",
|
|
24
|
+
"model": "deepseek-v4.1-flash",
|
|
25
|
+
"reasoningEffort": "high",
|
|
26
|
+
"toolPolicy": null,
|
|
27
|
+
"executionPrompt": "你核对发布门禁:测试是否真的跑过、变更说明是否对得上代码、兼容性是否声明。\n不改代码也不写说明;你只做判定与放行。\n产出是放行单:版本、变更范围、门禁结果、回滚方式、谁放的。\n任一门禁缺失就判不发,写明缺哪一项、怎么补。",
|
|
28
|
+
"promptStats": {
|
|
29
|
+
"chars": 110,
|
|
30
|
+
"parts": [
|
|
31
|
+
{
|
|
32
|
+
"path": "roles/release-manager-lead/AGENT.md",
|
|
33
|
+
"kind": "body+parts"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"path": "body",
|
|
37
|
+
"kind": "part"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"sha256": "d895c3b57025fbfb671fb12367ecc840ab4304a045fdc607a7b929b7a43c2929"
|
|
41
|
+
},
|
|
42
|
+
"provenance": {
|
|
43
|
+
"role": "release-manager-lead@1.0.0",
|
|
44
|
+
"sha256": "378d84b2"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "changelog",
|
|
49
|
+
"role": "变更说明",
|
|
50
|
+
"roleRef": "release-manager-changelog@1.0.0",
|
|
51
|
+
"roleName": "release-manager-changelog",
|
|
52
|
+
"roleVersion": "1.0.0",
|
|
53
|
+
"provider": "deepseek",
|
|
54
|
+
"model": "deepseek-v4.1-flash",
|
|
55
|
+
"reasoningEffort": "high",
|
|
56
|
+
"toolPolicy": null,
|
|
57
|
+
"executionPrompt": "你写变更说明:每条先写“谁受影响”,再写“要不要动、怎么迁”,最后才是实现细节。\n不复制提交标题;用户读不懂的措辞一律改写成后果。\n破坏性变更单独成节,附迁移前后的最小示例。\n说不清影响的条目宁可合并成一条“内部变更”,不要编造影响面。",
|
|
58
|
+
"promptStats": {
|
|
59
|
+
"chars": 118,
|
|
60
|
+
"parts": [
|
|
61
|
+
{
|
|
62
|
+
"path": "roles/release-manager-changelog/AGENT.md",
|
|
63
|
+
"kind": "body+parts"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"path": "body",
|
|
67
|
+
"kind": "part"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"sha256": "6fb77de86acfd0cd5964595cc9abdc4a478844ff849da0547b0196ea37baf8c8"
|
|
71
|
+
},
|
|
72
|
+
"provenance": {
|
|
73
|
+
"role": "release-manager-changelog@1.0.0",
|
|
74
|
+
"sha256": "d37d0fab"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "rollback",
|
|
79
|
+
"role": "回滚预案",
|
|
80
|
+
"roleRef": "release-manager-rollback@1.0.0",
|
|
81
|
+
"roleName": "release-manager-rollback",
|
|
82
|
+
"roleVersion": "1.0.0",
|
|
83
|
+
"provider": "deepseek",
|
|
84
|
+
"model": "deepseek-v4.1-flash",
|
|
85
|
+
"reasoningEffort": "high",
|
|
86
|
+
"toolPolicy": null,
|
|
87
|
+
"executionPrompt": "你负责回滚:写清步骤、数据影响(哪些迁移不可逆)、演练结果与耗时。\n不做发布决策;你要回答的是“出事时多久能回到上一版”。\n输出回滚卡:触发条件 · 命令 · 预计耗时 · 不可逆项。\n回滚没演练过就标“未验证”,不要说“应该可以”。",
|
|
88
|
+
"promptStats": {
|
|
89
|
+
"chars": 117,
|
|
90
|
+
"parts": [
|
|
91
|
+
{
|
|
92
|
+
"path": "roles/release-manager-rollback/AGENT.md",
|
|
93
|
+
"kind": "body+parts"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"path": "body",
|
|
97
|
+
"kind": "part"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"sha256": "0681caf616f8723d535f6ab0a7b3d6c801eb09dbef08353729166f3304de3875"
|
|
101
|
+
},
|
|
102
|
+
"provenance": {
|
|
103
|
+
"role": "release-manager-rollback@1.0.0",
|
|
104
|
+
"sha256": "dcfa2c34"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"orchestration": null,
|
|
109
|
+
"declarations": [
|
|
110
|
+
{
|
|
111
|
+
"scope": "roster",
|
|
112
|
+
"field": "defaults.route",
|
|
113
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"scope": "roster",
|
|
117
|
+
"field": "defaults.route",
|
|
118
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"scope": "roster",
|
|
122
|
+
"field": "defaults.route",
|
|
123
|
+
"note": "materialized:已展开成每个成员的显式值"
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"requires": {
|
|
127
|
+
"skills": [],
|
|
128
|
+
"toolPolicies": []
|
|
129
|
+
}
|
|
130
|
+
}
|