@stofone/dsh-agent-roster 0.9.2 → 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.
Files changed (167) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +78 -4
  3. package/README.zh.md +44 -1
  4. package/bin/cli.mjs +228 -2
  5. package/docs/roster-v2.md +220 -0
  6. package/examples/dist/core-review-1.0.0.json +160 -0
  7. package/examples/dist/research-0.1.0.json +95 -0
  8. package/examples/roles/core-review-correctness/AGENT.md +20 -0
  9. package/examples/roles/core-review-lead/AGENT.md +23 -0
  10. package/examples/roles/core-review-lead-captain/AGENT.md +13 -0
  11. package/examples/roles/core-review-maintainer/AGENT.md +20 -0
  12. package/examples/roles/research-scout/AGENT.md +16 -0
  13. package/examples/roles/research-verifier/AGENT.md +16 -0
  14. package/examples/rosters/core-review/roster.yaml +39 -0
  15. package/examples/rosters/research/roster.yaml +20 -0
  16. package/examples-orchestration/dist/core-review-1.0.0.json +185 -0
  17. package/examples-orchestration/dist/core-review-1.0.0.tasks.json +76 -0
  18. package/examples-orchestration/roles/fixer/AGENT.md +18 -0
  19. package/examples-orchestration/roles/lead/AGENT.md +18 -0
  20. package/examples-orchestration/roles/reviewer/AGENT.md +23 -0
  21. package/examples-orchestration/roles/reviewer/parts/checklist.md +6 -0
  22. package/examples-orchestration/rosters/core-review/overrides/fixer.md +1 -0
  23. package/examples-orchestration/rosters/core-review/roster.yaml +43 -0
  24. package/index.js +8 -1
  25. package/lib/compile2.js +522 -0
  26. package/lib/format-v2.js +196 -0
  27. package/lib/frontmatter.js +113 -0
  28. package/lib/migrate.js +326 -0
  29. package/lib/plan.js +167 -0
  30. package/lib/registry.js +65 -11
  31. package/lib/role.js +498 -0
  32. package/lib/roster2.js +591 -0
  33. package/lib/run.js +188 -0
  34. package/lib/write.js +14 -8
  35. package/orgs/agent-roster-collective/dist/api-design-1.0.0.json +130 -0
  36. package/orgs/agent-roster-collective/dist/content-ops-1.0.0.json +130 -0
  37. package/orgs/agent-roster-collective/dist/contract-review-1.0.0.json +130 -0
  38. package/orgs/agent-roster-collective/dist/data-quality-1.0.0.json +130 -0
  39. package/orgs/agent-roster-collective/dist/db-migration-1.0.0.json +130 -0
  40. package/orgs/agent-roster-collective/dist/docs-writer-1.0.0.json +130 -0
  41. package/orgs/agent-roster-collective/dist/finance-recon-1.0.0.json +130 -0
  42. package/orgs/agent-roster-collective/dist/frontend-ui-1.0.0.json +130 -0
  43. package/orgs/agent-roster-collective/dist/i18n-l10n-1.0.0.json +130 -0
  44. package/orgs/agent-roster-collective/dist/incident-response-1.0.0.json +130 -0
  45. package/orgs/agent-roster-collective/dist/literature-review-1.0.0.json +130 -0
  46. package/orgs/agent-roster-collective/dist/market-research-1.0.0.json +130 -0
  47. package/orgs/agent-roster-collective/dist/ml-eval-1.0.0.json +130 -0
  48. package/orgs/agent-roster-collective/dist/performance-1.0.0.json +130 -0
  49. package/orgs/agent-roster-collective/dist/product-discovery-1.0.0.json +130 -0
  50. package/orgs/agent-roster-collective/dist/qa-regression-1.0.0.json +130 -0
  51. package/orgs/agent-roster-collective/dist/recruiting-1.0.0.json +130 -0
  52. package/orgs/agent-roster-collective/dist/release-manager-1.0.0.json +130 -0
  53. package/orgs/agent-roster-collective/dist/security-audit-1.0.0.json +132 -0
  54. package/orgs/agent-roster-collective/dist/sre-oncall-1.0.0.json +130 -0
  55. package/orgs/agent-roster-collective/dist/support-triage-1.0.0.json +130 -0
  56. package/orgs/agent-roster-collective/roles/api-design-failure-mode/AGENT.md +19 -0
  57. package/orgs/agent-roster-collective/roles/api-design-lead/AGENT.md +19 -0
  58. package/orgs/agent-roster-collective/roles/api-design-schema/AGENT.md +20 -0
  59. package/orgs/agent-roster-collective/roles/content-ops-distributor/AGENT.md +19 -0
  60. package/orgs/agent-roster-collective/roles/content-ops-editor/AGENT.md +19 -0
  61. package/orgs/agent-roster-collective/roles/content-ops-lead/AGENT.md +19 -0
  62. package/orgs/agent-roster-collective/roles/contract-review-clause-reader/AGENT.md +19 -0
  63. package/orgs/agent-roster-collective/roles/contract-review-lead/AGENT.md +19 -0
  64. package/orgs/agent-roster-collective/roles/contract-review-risk-note/AGENT.md +19 -0
  65. package/orgs/agent-roster-collective/roles/data-quality-lead/AGENT.md +19 -0
  66. package/orgs/agent-roster-collective/roles/data-quality-profiler/AGENT.md +19 -0
  67. package/orgs/agent-roster-collective/roles/data-quality-rule-author/AGENT.md +19 -0
  68. package/orgs/agent-roster-collective/roles/db-migration-lead/AGENT.md +19 -0
  69. package/orgs/agent-roster-collective/roles/db-migration-migrator/AGENT.md +19 -0
  70. package/orgs/agent-roster-collective/roles/db-migration-verifier/AGENT.md +19 -0
  71. package/orgs/agent-roster-collective/roles/docs-writer-example-runner/AGENT.md +19 -0
  72. package/orgs/agent-roster-collective/roles/docs-writer-lead/AGENT.md +19 -0
  73. package/orgs/agent-roster-collective/roles/docs-writer-writer/AGENT.md +19 -0
  74. package/orgs/agent-roster-collective/roles/finance-recon-exception/AGENT.md +19 -0
  75. package/orgs/agent-roster-collective/roles/finance-recon-lead/AGENT.md +19 -0
  76. package/orgs/agent-roster-collective/roles/finance-recon-matcher/AGENT.md +19 -0
  77. package/orgs/agent-roster-collective/roles/frontend-ui-a11y-reviewer/AGENT.md +19 -0
  78. package/orgs/agent-roster-collective/roles/frontend-ui-implementer/AGENT.md +19 -0
  79. package/orgs/agent-roster-collective/roles/frontend-ui-lead/AGENT.md +19 -0
  80. package/orgs/agent-roster-collective/roles/i18n-l10n-lead/AGENT.md +19 -0
  81. package/orgs/agent-roster-collective/roles/i18n-l10n-reviewer/AGENT.md +19 -0
  82. package/orgs/agent-roster-collective/roles/i18n-l10n-translator/AGENT.md +19 -0
  83. package/orgs/agent-roster-collective/roles/incident-response-commander/AGENT.md +19 -0
  84. package/orgs/agent-roster-collective/roles/incident-response-scribe/AGENT.md +19 -0
  85. package/orgs/agent-roster-collective/roles/incident-response-triage/AGENT.md +19 -0
  86. package/orgs/agent-roster-collective/roles/literature-review-critic/AGENT.md +19 -0
  87. package/orgs/agent-roster-collective/roles/literature-review-extractor/AGENT.md +19 -0
  88. package/orgs/agent-roster-collective/roles/literature-review-lead/AGENT.md +19 -0
  89. package/orgs/agent-roster-collective/roles/market-research-lead/AGENT.md +19 -0
  90. package/orgs/agent-roster-collective/roles/market-research-researcher/AGENT.md +19 -0
  91. package/orgs/agent-roster-collective/roles/market-research-synthesizer/AGENT.md +19 -0
  92. package/orgs/agent-roster-collective/roles/ml-eval-dataset/AGENT.md +19 -0
  93. package/orgs/agent-roster-collective/roles/ml-eval-lead/AGENT.md +19 -0
  94. package/orgs/agent-roster-collective/roles/ml-eval-metric/AGENT.md +19 -0
  95. package/orgs/agent-roster-collective/roles/performance-lead/AGENT.md +19 -0
  96. package/orgs/agent-roster-collective/roles/performance-load-tester/AGENT.md +19 -0
  97. package/orgs/agent-roster-collective/roles/performance-profiler/AGENT.md +19 -0
  98. package/orgs/agent-roster-collective/roles/product-discovery-interviewer/AGENT.md +19 -0
  99. package/orgs/agent-roster-collective/roles/product-discovery-lead/AGENT.md +19 -0
  100. package/orgs/agent-roster-collective/roles/product-discovery-skeptic/AGENT.md +19 -0
  101. package/orgs/agent-roster-collective/roles/qa-regression-case-writer/AGENT.md +19 -0
  102. package/orgs/agent-roster-collective/roles/qa-regression-flake-hunter/AGENT.md +19 -0
  103. package/orgs/agent-roster-collective/roles/qa-regression-lead/AGENT.md +19 -0
  104. package/orgs/agent-roster-collective/roles/recruiting-lead/AGENT.md +19 -0
  105. package/orgs/agent-roster-collective/roles/recruiting-scheduler/AGENT.md +19 -0
  106. package/orgs/agent-roster-collective/roles/recruiting-screener/AGENT.md +19 -0
  107. package/orgs/agent-roster-collective/roles/release-manager-changelog/AGENT.md +19 -0
  108. package/orgs/agent-roster-collective/roles/release-manager-lead/AGENT.md +19 -0
  109. package/orgs/agent-roster-collective/roles/release-manager-rollback/AGENT.md +19 -0
  110. package/orgs/agent-roster-collective/roles/security-audit-code-auditor/AGENT.md +19 -0
  111. package/orgs/agent-roster-collective/roles/security-audit-lead/AGENT.md +19 -0
  112. package/orgs/agent-roster-collective/roles/security-audit-threat-modeler/AGENT.md +19 -0
  113. package/orgs/agent-roster-collective/roles/sre-oncall-capacity/AGENT.md +19 -0
  114. package/orgs/agent-roster-collective/roles/sre-oncall-lead/AGENT.md +19 -0
  115. package/orgs/agent-roster-collective/roles/sre-oncall-runbook/AGENT.md +19 -0
  116. package/orgs/agent-roster-collective/roles/support-triage-classifier/AGENT.md +19 -0
  117. package/orgs/agent-roster-collective/roles/support-triage-lead/AGENT.md +19 -0
  118. package/orgs/agent-roster-collective/roles/support-triage-responder/AGENT.md +19 -0
  119. package/orgs/agent-roster-collective/rosters/api-design/roster.yaml +26 -0
  120. package/orgs/agent-roster-collective/rosters/content-ops/roster.yaml +25 -0
  121. package/orgs/agent-roster-collective/rosters/contract-review/roster.yaml +25 -0
  122. package/orgs/agent-roster-collective/rosters/data-quality/roster.yaml +26 -0
  123. package/orgs/agent-roster-collective/rosters/db-migration/roster.yaml +26 -0
  124. package/orgs/agent-roster-collective/rosters/docs-writer/roster.yaml +25 -0
  125. package/orgs/agent-roster-collective/rosters/finance-recon/roster.yaml +25 -0
  126. package/orgs/agent-roster-collective/rosters/frontend-ui/roster.yaml +26 -0
  127. package/orgs/agent-roster-collective/rosters/i18n-l10n/roster.yaml +26 -0
  128. package/orgs/agent-roster-collective/rosters/incident-response/roster.yaml +26 -0
  129. package/orgs/agent-roster-collective/rosters/literature-review/roster.yaml +25 -0
  130. package/orgs/agent-roster-collective/rosters/market-research/roster.yaml +25 -0
  131. package/orgs/agent-roster-collective/rosters/ml-eval/roster.yaml +25 -0
  132. package/orgs/agent-roster-collective/rosters/performance/roster.yaml +25 -0
  133. package/orgs/agent-roster-collective/rosters/product-discovery/roster.yaml +25 -0
  134. package/orgs/agent-roster-collective/rosters/qa-regression/roster.yaml +26 -0
  135. package/orgs/agent-roster-collective/rosters/recruiting/roster.yaml +25 -0
  136. package/orgs/agent-roster-collective/rosters/release-manager/roster.yaml +25 -0
  137. package/orgs/agent-roster-collective/rosters/security-audit/roster.yaml +30 -0
  138. package/orgs/agent-roster-collective/rosters/sre-oncall/roster.yaml +26 -0
  139. package/orgs/agent-roster-collective/rosters/support-triage/roster.yaml +25 -0
  140. package/package.json +3 -1
  141. package/schema/compiled.v1.schema.json +391 -0
  142. package/schema/role.v1.schema.json +240 -0
  143. package/schema/roster.v2.schema.json +437 -0
  144. package/examples/core-review/roster.yaml +0 -82
  145. package/examples/research/roster.yaml +0 -42
  146. package/orgs/agent-roster-collective/api-design/roster.yaml +0 -67
  147. package/orgs/agent-roster-collective/content-ops/roster.yaml +0 -55
  148. package/orgs/agent-roster-collective/contract-review/roster.yaml +0 -58
  149. package/orgs/agent-roster-collective/data-quality/roster.yaml +0 -64
  150. package/orgs/agent-roster-collective/db-migration/roster.yaml +0 -64
  151. package/orgs/agent-roster-collective/docs-writer/roster.yaml +0 -59
  152. package/orgs/agent-roster-collective/finance-recon/roster.yaml +0 -63
  153. package/orgs/agent-roster-collective/frontend-ui/roster.yaml +0 -60
  154. package/orgs/agent-roster-collective/i18n-l10n/roster.yaml +0 -60
  155. package/orgs/agent-roster-collective/incident-response/roster.yaml +0 -65
  156. package/orgs/agent-roster-collective/literature-review/roster.yaml +0 -61
  157. package/orgs/agent-roster-collective/market-research/roster.yaml +0 -60
  158. package/orgs/agent-roster-collective/ml-eval/roster.yaml +0 -63
  159. package/orgs/agent-roster-collective/performance/roster.yaml +0 -63
  160. package/orgs/agent-roster-collective/product-discovery/roster.yaml +0 -55
  161. package/orgs/agent-roster-collective/qa-regression/roster.yaml +0 -64
  162. package/orgs/agent-roster-collective/recruiting/roster.yaml +0 -58
  163. package/orgs/agent-roster-collective/release-manager/roster.yaml +0 -59
  164. package/orgs/agent-roster-collective/security-audit/roster.yaml +0 -65
  165. package/orgs/agent-roster-collective/sre-oncall/roster.yaml +0 -60
  166. package/orgs/agent-roster-collective/support-triage/roster.yaml +0 -58
  167. /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": "i18n-l10n",
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": "i18n-l10n-lead@1.0.0",
21
+ "roleName": "i18n-l10n-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": 127,
30
+ "parts": [
31
+ {
32
+ "path": "roles/i18n-l10n-lead/AGENT.md",
33
+ "kind": "body+parts"
34
+ },
35
+ {
36
+ "path": "body",
37
+ "kind": "part"
38
+ }
39
+ ],
40
+ "sha256": "9a721138a1abad3a5cb956c355991b40427994f3cd2aa8a18838babb626c1490"
41
+ },
42
+ "provenance": {
43
+ "role": "i18n-l10n-lead@1.0.0",
44
+ "sha256": "6869394f"
45
+ }
46
+ },
47
+ {
48
+ "name": "translator",
49
+ "role": "翻译",
50
+ "roleRef": "i18n-l10n-translator@1.0.0",
51
+ "roleName": "i18n-l10n-translator",
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": 106,
60
+ "parts": [
61
+ {
62
+ "path": "roles/i18n-l10n-translator/AGENT.md",
63
+ "kind": "body+parts"
64
+ },
65
+ {
66
+ "path": "body",
67
+ "kind": "part"
68
+ }
69
+ ],
70
+ "sha256": "063b09bc752f9cbd055d663705447656d3d3ac19466e9d4b4490b04e3854abc7"
71
+ },
72
+ "provenance": {
73
+ "role": "i18n-l10n-translator@1.0.0",
74
+ "sha256": "9003f47d"
75
+ }
76
+ },
77
+ {
78
+ "name": "reviewer",
79
+ "role": "双语审校",
80
+ "roleRef": "i18n-l10n-reviewer@1.0.0",
81
+ "roleName": "i18n-l10n-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": 131,
90
+ "parts": [
91
+ {
92
+ "path": "roles/i18n-l10n-reviewer/AGENT.md",
93
+ "kind": "body+parts"
94
+ },
95
+ {
96
+ "path": "body",
97
+ "kind": "part"
98
+ }
99
+ ],
100
+ "sha256": "0d1440128a2f794c1c4b4bf65881ee233f1de81c7a358406fdfcbf6ade510a3e"
101
+ },
102
+ "provenance": {
103
+ "role": "i18n-l10n-reviewer@1.0.0",
104
+ "sha256": "23a967b1"
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": "incident-response",
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": "commander",
19
+ "role": "事故指挥",
20
+ "roleRef": "incident-response-commander@1.0.0",
21
+ "roleName": "incident-response-commander",
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": 156,
30
+ "parts": [
31
+ {
32
+ "path": "roles/incident-response-commander/AGENT.md",
33
+ "kind": "body+parts"
34
+ },
35
+ {
36
+ "path": "body",
37
+ "kind": "part"
38
+ }
39
+ ],
40
+ "sha256": "743d19bda3525ef2f512e9129fed14716ee5c5f3c1f558ac94a4b6da12b6cf9c"
41
+ },
42
+ "provenance": {
43
+ "role": "incident-response-commander@1.0.0",
44
+ "sha256": "5b674c6a"
45
+ }
46
+ },
47
+ {
48
+ "name": "triage",
49
+ "role": "定位",
50
+ "roleRef": "incident-response-triage@1.0.0",
51
+ "roleName": "incident-response-triage",
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": 141,
60
+ "parts": [
61
+ {
62
+ "path": "roles/incident-response-triage/AGENT.md",
63
+ "kind": "body+parts"
64
+ },
65
+ {
66
+ "path": "body",
67
+ "kind": "part"
68
+ }
69
+ ],
70
+ "sha256": "3704cbfee12c9aa21b329f1e5ddec14a7081a639ed07e334976df81101164fce"
71
+ },
72
+ "provenance": {
73
+ "role": "incident-response-triage@1.0.0",
74
+ "sha256": "e824186a"
75
+ }
76
+ },
77
+ {
78
+ "name": "scribe",
79
+ "role": "记录",
80
+ "roleRef": "incident-response-scribe@1.0.0",
81
+ "roleName": "incident-response-scribe",
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": 135,
90
+ "parts": [
91
+ {
92
+ "path": "roles/incident-response-scribe/AGENT.md",
93
+ "kind": "body+parts"
94
+ },
95
+ {
96
+ "path": "body",
97
+ "kind": "part"
98
+ }
99
+ ],
100
+ "sha256": "21a74ce4de3e0e22f287b74378c6941338eeca9d0819d07b0bc806417295e1ad"
101
+ },
102
+ "provenance": {
103
+ "role": "incident-response-scribe@1.0.0",
104
+ "sha256": "a1964d09"
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": "literature-review",
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": "literature-review-lead@1.0.0",
21
+ "roleName": "literature-review-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": 103,
30
+ "parts": [
31
+ {
32
+ "path": "roles/literature-review-lead/AGENT.md",
33
+ "kind": "body+parts"
34
+ },
35
+ {
36
+ "path": "body",
37
+ "kind": "part"
38
+ }
39
+ ],
40
+ "sha256": "b8a188c1208cf566a227305ca7bd1804662e1933297287d08a88afbfd6f3f971"
41
+ },
42
+ "provenance": {
43
+ "role": "literature-review-lead@1.0.0",
44
+ "sha256": "cddfa38c"
45
+ }
46
+ },
47
+ {
48
+ "name": "extractor",
49
+ "role": "信息提取",
50
+ "roleRef": "literature-review-extractor@1.0.0",
51
+ "roleName": "literature-review-extractor",
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": 106,
60
+ "parts": [
61
+ {
62
+ "path": "roles/literature-review-extractor/AGENT.md",
63
+ "kind": "body+parts"
64
+ },
65
+ {
66
+ "path": "body",
67
+ "kind": "part"
68
+ }
69
+ ],
70
+ "sha256": "f5c79dcb4d9a56f77bcbb51d4ac96c791cd1ef906675148dae6695611b5d2ad5"
71
+ },
72
+ "provenance": {
73
+ "role": "literature-review-extractor@1.0.0",
74
+ "sha256": "67eda116"
75
+ }
76
+ },
77
+ {
78
+ "name": "critic",
79
+ "role": "质量评价",
80
+ "roleRef": "literature-review-critic@1.0.0",
81
+ "roleName": "literature-review-critic",
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/literature-review-critic/AGENT.md",
93
+ "kind": "body+parts"
94
+ },
95
+ {
96
+ "path": "body",
97
+ "kind": "part"
98
+ }
99
+ ],
100
+ "sha256": "d210be06d1dcf207e13d5faa521143a27d8dd1756f9589295ee9ee13e852fd34"
101
+ },
102
+ "provenance": {
103
+ "role": "literature-review-critic@1.0.0",
104
+ "sha256": "804d1896"
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": "market-research",
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": "market-research-lead@1.0.0",
21
+ "roleName": "market-research-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": 106,
30
+ "parts": [
31
+ {
32
+ "path": "roles/market-research-lead/AGENT.md",
33
+ "kind": "body+parts"
34
+ },
35
+ {
36
+ "path": "body",
37
+ "kind": "part"
38
+ }
39
+ ],
40
+ "sha256": "532c419fdf14a8b5ca8f1f929890d7204b851a4dbf6eab33dd9fb1b69ceaa4cc"
41
+ },
42
+ "provenance": {
43
+ "role": "market-research-lead@1.0.0",
44
+ "sha256": "252ea3c6"
45
+ }
46
+ },
47
+ {
48
+ "name": "researcher",
49
+ "role": "资料检索",
50
+ "roleRef": "market-research-researcher@1.0.0",
51
+ "roleName": "market-research-researcher",
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": 114,
60
+ "parts": [
61
+ {
62
+ "path": "roles/market-research-researcher/AGENT.md",
63
+ "kind": "body+parts"
64
+ },
65
+ {
66
+ "path": "body",
67
+ "kind": "part"
68
+ }
69
+ ],
70
+ "sha256": "dc8f1d6b1b37ddd3d95be8b675584c803a1caec1a4a01c87d0697f23a62510e1"
71
+ },
72
+ "provenance": {
73
+ "role": "market-research-researcher@1.0.0",
74
+ "sha256": "6fda1ab7"
75
+ }
76
+ },
77
+ {
78
+ "name": "synthesizer",
79
+ "role": "综合研判",
80
+ "roleRef": "market-research-synthesizer@1.0.0",
81
+ "roleName": "market-research-synthesizer",
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": 119,
90
+ "parts": [
91
+ {
92
+ "path": "roles/market-research-synthesizer/AGENT.md",
93
+ "kind": "body+parts"
94
+ },
95
+ {
96
+ "path": "body",
97
+ "kind": "part"
98
+ }
99
+ ],
100
+ "sha256": "c24b9ffb27bd76eead16d88ee6f358e9030cebf24110929fad6ed5e9a69f26bc"
101
+ },
102
+ "provenance": {
103
+ "role": "market-research-synthesizer@1.0.0",
104
+ "sha256": "edc0cf17"
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": "ml-eval",
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": "ml-eval-lead@1.0.0",
21
+ "roleName": "ml-eval-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/ml-eval-lead/AGENT.md",
33
+ "kind": "body+parts"
34
+ },
35
+ {
36
+ "path": "body",
37
+ "kind": "part"
38
+ }
39
+ ],
40
+ "sha256": "de4f1c19facba7b2ddd0896c0e8f0aa91f19b225ca68abc67aaaffceca4107e6"
41
+ },
42
+ "provenance": {
43
+ "role": "ml-eval-lead@1.0.0",
44
+ "sha256": "e233f243"
45
+ }
46
+ },
47
+ {
48
+ "name": "dataset",
49
+ "role": "数据集构建",
50
+ "roleRef": "ml-eval-dataset@1.0.0",
51
+ "roleName": "ml-eval-dataset",
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": 113,
60
+ "parts": [
61
+ {
62
+ "path": "roles/ml-eval-dataset/AGENT.md",
63
+ "kind": "body+parts"
64
+ },
65
+ {
66
+ "path": "body",
67
+ "kind": "part"
68
+ }
69
+ ],
70
+ "sha256": "465e729b605efe4be1c970a3a1f1167fcd84eff7cf510a6af6bb029c49e5df59"
71
+ },
72
+ "provenance": {
73
+ "role": "ml-eval-dataset@1.0.0",
74
+ "sha256": "359dc2f4"
75
+ }
76
+ },
77
+ {
78
+ "name": "metric",
79
+ "role": "指标与统计",
80
+ "roleRef": "ml-eval-metric@1.0.0",
81
+ "roleName": "ml-eval-metric",
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": 106,
90
+ "parts": [
91
+ {
92
+ "path": "roles/ml-eval-metric/AGENT.md",
93
+ "kind": "body+parts"
94
+ },
95
+ {
96
+ "path": "body",
97
+ "kind": "part"
98
+ }
99
+ ],
100
+ "sha256": "d9cbfd9b2f4e483f12a7d28e370aa3c58555afc75ab319f78f1b566ab6027dc6"
101
+ },
102
+ "provenance": {
103
+ "role": "ml-eval-metric@1.0.0",
104
+ "sha256": "3b88f19f"
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
+ }