@stofone/dsh-agent-roster 0.9.2 → 0.10.1
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 +68 -0
- package/README.md +80 -5
- package/README.zh.md +73 -6
- package/bin/cli.mjs +228 -2
- 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": "data-quality",
|
|
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": "data-quality-lead@1.0.0",
|
|
21
|
+
"roleName": "data-quality-lead",
|
|
22
|
+
"roleVersion": "1.0.0",
|
|
23
|
+
"provider": "deepseek",
|
|
24
|
+
"model": "deepseek-v4.1-flash",
|
|
25
|
+
"reasoningEffort": "high",
|
|
26
|
+
"toolPolicy": null,
|
|
27
|
+
"executionPrompt": "你负责这次质量评审:先确认这份数据服务谁、被哪些下游消费,再决定必须被约束的字段与红线。\n不写具体 SQL,也不替下游做取舍;口径冲突时列出两种口径的后果,让人选。\n产出是“字段 · 判据 · 阈值 · 违反后果”四列表,按影响面排序。\n口径不确定时标注“待与下游确认”,不要自定阈值。",
|
|
28
|
+
"promptStats": {
|
|
29
|
+
"chars": 143,
|
|
30
|
+
"parts": [
|
|
31
|
+
{
|
|
32
|
+
"path": "roles/data-quality-lead/AGENT.md",
|
|
33
|
+
"kind": "body+parts"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"path": "body",
|
|
37
|
+
"kind": "part"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"sha256": "acfc925e477b2fb794e1d2c16c22d9457aa645d207bf65af36aa133bd83b7d99"
|
|
41
|
+
},
|
|
42
|
+
"provenance": {
|
|
43
|
+
"role": "data-quality-lead@1.0.0",
|
|
44
|
+
"sha256": "4890a002"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "profiler",
|
|
49
|
+
"role": "画像",
|
|
50
|
+
"roleRef": "data-quality-profiler@1.0.0",
|
|
51
|
+
"roleName": "data-quality-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": 128,
|
|
60
|
+
"parts": [
|
|
61
|
+
{
|
|
62
|
+
"path": "roles/data-quality-profiler/AGENT.md",
|
|
63
|
+
"kind": "body+parts"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"path": "body",
|
|
67
|
+
"kind": "part"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"sha256": "8bc617a8e73a9f70f2c8589d86b3053549b06adcab9aea766f8042dcf4c38ae1"
|
|
71
|
+
},
|
|
72
|
+
"provenance": {
|
|
73
|
+
"role": "data-quality-profiler@1.0.0",
|
|
74
|
+
"sha256": "444af332"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "rule-author",
|
|
79
|
+
"role": "判据编写",
|
|
80
|
+
"roleRef": "data-quality-rule-author@1.0.0",
|
|
81
|
+
"roleName": "data-quality-rule-author",
|
|
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": 114,
|
|
90
|
+
"parts": [
|
|
91
|
+
{
|
|
92
|
+
"path": "roles/data-quality-rule-author/AGENT.md",
|
|
93
|
+
"kind": "body+parts"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"path": "body",
|
|
97
|
+
"kind": "part"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"sha256": "f26078e825bf6f06afd457ddb87176827b35d6ebd42a333095c2b65d7b68f3a1"
|
|
101
|
+
},
|
|
102
|
+
"provenance": {
|
|
103
|
+
"role": "data-quality-rule-author@1.0.0",
|
|
104
|
+
"sha256": "d18d462d"
|
|
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": "db-migration",
|
|
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": "db-migration-lead@1.0.0",
|
|
21
|
+
"roleName": "db-migration-lead",
|
|
22
|
+
"roleVersion": "1.0.0",
|
|
23
|
+
"provider": "deepseek",
|
|
24
|
+
"model": "deepseek-v4.1-flash",
|
|
25
|
+
"reasoningEffort": "high",
|
|
26
|
+
"toolPolicy": null,
|
|
27
|
+
"executionPrompt": "你负责这次迁移:确认影响哪些表与写入方、锁表多久、回滚脚本是否真的跑过。\n不写 DDL,也不改业务代码;你在每个门禁上做 go/no-go。\n产出是迁移计划:步骤、每步验证、回滚动作、谁在什么信号下叫停。\n任何一步没有回滚方案,直接判不可执行,不要用“应该没事”放行。",
|
|
28
|
+
"promptStats": {
|
|
29
|
+
"chars": 134,
|
|
30
|
+
"parts": [
|
|
31
|
+
{
|
|
32
|
+
"path": "roles/db-migration-lead/AGENT.md",
|
|
33
|
+
"kind": "body+parts"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"path": "body",
|
|
37
|
+
"kind": "part"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"sha256": "a8d7998126350ffc002c3434268f6730b06a1128b7c65736b1cc6fe9921e3f68"
|
|
41
|
+
},
|
|
42
|
+
"provenance": {
|
|
43
|
+
"role": "db-migration-lead@1.0.0",
|
|
44
|
+
"sha256": "b6a41240"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "migrator",
|
|
49
|
+
"role": "迁移实现",
|
|
50
|
+
"roleRef": "db-migration-migrator@1.0.0",
|
|
51
|
+
"roleName": "db-migration-migrator",
|
|
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": 125,
|
|
60
|
+
"parts": [
|
|
61
|
+
{
|
|
62
|
+
"path": "roles/db-migration-migrator/AGENT.md",
|
|
63
|
+
"kind": "body+parts"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"path": "body",
|
|
67
|
+
"kind": "part"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"sha256": "aba4df7fc8f749869e9e42615cb7259611248948f2597a0181a7f17c460a0e33"
|
|
71
|
+
},
|
|
72
|
+
"provenance": {
|
|
73
|
+
"role": "db-migration-migrator@1.0.0",
|
|
74
|
+
"sha256": "eff89321"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "verifier",
|
|
79
|
+
"role": "数据验证",
|
|
80
|
+
"roleRef": "db-migration-verifier@1.0.0",
|
|
81
|
+
"roleName": "db-migration-verifier",
|
|
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": 134,
|
|
90
|
+
"parts": [
|
|
91
|
+
{
|
|
92
|
+
"path": "roles/db-migration-verifier/AGENT.md",
|
|
93
|
+
"kind": "body+parts"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"path": "body",
|
|
97
|
+
"kind": "part"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"sha256": "ceec711ad7fa3f02ca500fd78f70614df647a3c5f790071f87c5f2301bc37cb9"
|
|
101
|
+
},
|
|
102
|
+
"provenance": {
|
|
103
|
+
"role": "db-migration-verifier@1.0.0",
|
|
104
|
+
"sha256": "a207180c"
|
|
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": "docs-writer",
|
|
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": "docs-writer-lead@1.0.0",
|
|
21
|
+
"roleName": "docs-writer-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/docs-writer-lead/AGENT.md",
|
|
33
|
+
"kind": "body+parts"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"path": "body",
|
|
37
|
+
"kind": "part"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"sha256": "069e66d4a1dac264340375eb7475b2558e57a0189365131a7196ac817d62ab71"
|
|
41
|
+
},
|
|
42
|
+
"provenance": {
|
|
43
|
+
"role": "docs-writer-lead@1.0.0",
|
|
44
|
+
"sha256": "134a0463"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "writer",
|
|
49
|
+
"role": "正文撰写",
|
|
50
|
+
"roleRef": "docs-writer-writer@1.0.0",
|
|
51
|
+
"roleName": "docs-writer-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/docs-writer-writer/AGENT.md",
|
|
63
|
+
"kind": "body+parts"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"path": "body",
|
|
67
|
+
"kind": "part"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"sha256": "9edc8e398a00079f7f71a1048c206e0d4559d668d49c544b22506f4a91decc5a"
|
|
71
|
+
},
|
|
72
|
+
"provenance": {
|
|
73
|
+
"role": "docs-writer-writer@1.0.0",
|
|
74
|
+
"sha256": "d940c6d6"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "example-runner",
|
|
79
|
+
"role": "示例验证",
|
|
80
|
+
"roleRef": "docs-writer-example-runner@1.0.0",
|
|
81
|
+
"roleName": "docs-writer-example-runner",
|
|
82
|
+
"roleVersion": "1.0.0",
|
|
83
|
+
"provider": "deepseek",
|
|
84
|
+
"model": "deepseek-v4.1-flash",
|
|
85
|
+
"reasoningEffort": "high",
|
|
86
|
+
"toolPolicy": null,
|
|
87
|
+
"executionPrompt": "你在干净环境里逐条照抄命令,记录实际输出、耗时与偏差。\n不修文档也不改命令;只报“写的 vs 实际”。\n输出偏差表:位置 · 文档写的 · 实际发生的 · 是否阻塞读者。\n无法复现的环境差异要标注,不要用“我这里可以”带过。",
|
|
88
|
+
"promptStats": {
|
|
89
|
+
"chars": 112,
|
|
90
|
+
"parts": [
|
|
91
|
+
{
|
|
92
|
+
"path": "roles/docs-writer-example-runner/AGENT.md",
|
|
93
|
+
"kind": "body+parts"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"path": "body",
|
|
97
|
+
"kind": "part"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"sha256": "6e7fd0103bbbf9a246ade45ea8fe3500846ea11112f9ddfd7924947335870c1e"
|
|
101
|
+
},
|
|
102
|
+
"provenance": {
|
|
103
|
+
"role": "docs-writer-example-runner@1.0.0",
|
|
104
|
+
"sha256": "a8ba8fae"
|
|
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": "finance-recon",
|
|
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": "finance-recon-lead@1.0.0",
|
|
21
|
+
"roleName": "finance-recon-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": 92,
|
|
30
|
+
"parts": [
|
|
31
|
+
{
|
|
32
|
+
"path": "roles/finance-recon-lead/AGENT.md",
|
|
33
|
+
"kind": "body+parts"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"path": "body",
|
|
37
|
+
"kind": "part"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"sha256": "f946350cb446f77d786f4f855aaa1bd571ca5fb12e851003ac52fdcc6c41738d"
|
|
41
|
+
},
|
|
42
|
+
"provenance": {
|
|
43
|
+
"role": "finance-recon-lead@1.0.0",
|
|
44
|
+
"sha256": "c2c0d32e"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "matcher",
|
|
49
|
+
"role": "逐笔匹配",
|
|
50
|
+
"roleRef": "finance-recon-matcher@1.0.0",
|
|
51
|
+
"roleName": "finance-recon-matcher",
|
|
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 笔 · 左侧未匹配 · 右侧未匹配”,每条带金额与日期。\n模糊匹配拿不准时标“疑似”,不要强行配对。",
|
|
58
|
+
"promptStats": {
|
|
59
|
+
"chars": 111,
|
|
60
|
+
"parts": [
|
|
61
|
+
{
|
|
62
|
+
"path": "roles/finance-recon-matcher/AGENT.md",
|
|
63
|
+
"kind": "body+parts"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"path": "body",
|
|
67
|
+
"kind": "part"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"sha256": "c513b7a125a16d4974e76f7cd1cce0ab886446d9314497c2ce7fc78e2ea14e07"
|
|
71
|
+
},
|
|
72
|
+
"provenance": {
|
|
73
|
+
"role": "finance-recon-matcher@1.0.0",
|
|
74
|
+
"sha256": "f0491bab"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "exception",
|
|
79
|
+
"role": "差异归因",
|
|
80
|
+
"roleRef": "finance-recon-exception@1.0.0",
|
|
81
|
+
"roleName": "finance-recon-exception",
|
|
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": 121,
|
|
90
|
+
"parts": [
|
|
91
|
+
{
|
|
92
|
+
"path": "roles/finance-recon-exception/AGENT.md",
|
|
93
|
+
"kind": "body+parts"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"path": "body",
|
|
97
|
+
"kind": "part"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"sha256": "6043a3c117b1c6d8ba449ab3d6cf747d479486f2765ebcccb4fd23a38563a13d"
|
|
101
|
+
},
|
|
102
|
+
"provenance": {
|
|
103
|
+
"role": "finance-recon-exception@1.0.0",
|
|
104
|
+
"sha256": "a67c8b7d"
|
|
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": "frontend-ui",
|
|
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": "frontend-ui-lead@1.0.0",
|
|
21
|
+
"roleName": "frontend-ui-lead",
|
|
22
|
+
"roleVersion": "1.0.0",
|
|
23
|
+
"provider": "deepseek",
|
|
24
|
+
"model": "deepseek-v4.1-flash",
|
|
25
|
+
"reasoningEffort": "high",
|
|
26
|
+
"toolPolicy": null,
|
|
27
|
+
"executionPrompt": "你先定组件边界与状态归属:哪些状态属于 URL、哪些属于组件、哪些必须提升。\n不写具体样式,也不做视觉裁决;你负责让实现有明确验收线。\n产出:组件树、状态表、每条验收怎么验(含键盘与窄屏)。\n设计缺状态(加载/空/错误)时先要求补齐,不要自己发明。",
|
|
28
|
+
"promptStats": {
|
|
29
|
+
"chars": 124,
|
|
30
|
+
"parts": [
|
|
31
|
+
{
|
|
32
|
+
"path": "roles/frontend-ui-lead/AGENT.md",
|
|
33
|
+
"kind": "body+parts"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"path": "body",
|
|
37
|
+
"kind": "part"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"sha256": "371b14302af1b8356f319fa8c6a3e68d31d2879d3f26fddbf224ada5f5462bb9"
|
|
41
|
+
},
|
|
42
|
+
"provenance": {
|
|
43
|
+
"role": "frontend-ui-lead@1.0.0",
|
|
44
|
+
"sha256": "97e25be0"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "implementer",
|
|
49
|
+
"role": "实现",
|
|
50
|
+
"roleRef": "frontend-ui-implementer@1.0.0",
|
|
51
|
+
"roleName": "frontend-ui-implementer",
|
|
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": 121,
|
|
60
|
+
"parts": [
|
|
61
|
+
{
|
|
62
|
+
"path": "roles/frontend-ui-implementer/AGENT.md",
|
|
63
|
+
"kind": "body+parts"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"path": "body",
|
|
67
|
+
"kind": "part"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"sha256": "368febfe92b671b894a49806345f6c7f6a7b44e9e8f005f83f1699b02f90054f"
|
|
71
|
+
},
|
|
72
|
+
"provenance": {
|
|
73
|
+
"role": "frontend-ui-implementer@1.0.0",
|
|
74
|
+
"sha256": "d014143c"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "a11y-reviewer",
|
|
79
|
+
"role": "可访问性审查",
|
|
80
|
+
"roleRef": "frontend-ui-a11y-reviewer@1.0.0",
|
|
81
|
+
"roleName": "frontend-ui-a11y-reviewer",
|
|
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": 136,
|
|
90
|
+
"parts": [
|
|
91
|
+
{
|
|
92
|
+
"path": "roles/frontend-ui-a11y-reviewer/AGENT.md",
|
|
93
|
+
"kind": "body+parts"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"path": "body",
|
|
97
|
+
"kind": "part"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"sha256": "e68640ec5314879557d426a7b8d7130be231f7744136aa339671fef0d4fd0110"
|
|
101
|
+
},
|
|
102
|
+
"provenance": {
|
|
103
|
+
"role": "frontend-ui-a11y-reviewer@1.0.0",
|
|
104
|
+
"sha256": "03828aa6"
|
|
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
|
+
}
|