superlab 0.1.29 → 0.1.31
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/bin/superlab.cjs +0 -0
- package/lib/lab_idea_contract.json +4 -4
- package/package-assets/claude/commands/lab-idea.md +1 -1
- package/package-assets/codex/prompts/lab-idea.md +1 -1
- package/package-assets/shared/lab/.managed/scripts/validate_idea_artifact.py +32 -0
- package/package-assets/shared/lab/.managed/templates/idea.md +30 -0
- package/package-assets/shared/skills/lab/stages/idea.md +25 -10
- package/package.json +1 -1
package/bin/superlab.cjs
CHANGED
|
File without changes
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"stage_prompt": {
|
|
3
|
-
"codex_en": "This command runs the `/lab:idea` stage. Use `.codex/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, minimum viable experiment, and approval gate. Start with brainstorm pass 1 over 2-4 candidate directions, run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified.",
|
|
4
|
-
"claude_en": "This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, minimum viable experiment, and approval gate. Start with brainstorm pass 1 over 2-4 candidate directions, run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified.",
|
|
5
|
-
"codex_zh": "本命令运行 `/lab:idea` 阶段。把 `.codex/skills/lab/stages/idea.md` 当成两轮脑暴、两轮文献检索、最接近前作对照、source-backed proposal memo
|
|
6
|
-
"claude_zh": "本命令运行 lab workflow 的 `idea` 阶段。把 `.claude/skills/lab/stages/idea.md` 当成两轮脑暴、两轮文献检索、最接近前作对照、source-backed proposal memo
|
|
3
|
+
"codex_en": "This command runs the `/lab:idea` stage. Use `.codex/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, tentative contributions, user guidance, minimum viable experiment, and approval gate. Start with brainstorm pass 1 over 2-4 candidate directions, run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, and what the user should decide next. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified.",
|
|
4
|
+
"claude_en": "This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, tentative contributions, user guidance, minimum viable experiment, and approval gate. Start with brainstorm pass 1 over 2-4 candidate directions, run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, and what the user should decide next. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified.",
|
|
5
|
+
"codex_zh": "本命令运行 `/lab:idea` 阶段。把 `.codex/skills/lab/stages/idea.md` 当成两轮脑暴、两轮文献检索、最接近前作对照、source-backed proposal memo、评测草图、暂定贡献、用户引导、最小可行实验和 approval gate 的单一来源。先做第一轮脑暴,产出 2-4 个候选方向;再做第一轮文献检索,为每个方向补最接近前作;然后用第二轮脑暴淘汰或收敛方向;最后做第二轮文献检索,补齐最终来源包,再输出协作者可读的推荐结论。最终 idea memo 必须讲清真实场景、解决了什么问题、现有方法为什么不够、准备怎么做、大致怎么评、暂定贡献是什么,以及用户下一步该决定什么。`.lab/writing/idea-source-log.md` 必须和两轮检索实际用到的查询、来源分桶和最终来源数保持一致。文献来源包默认目标约 20 篇;如果领域确实很窄,必须显式解释为什么合理地低于这个目标。",
|
|
6
|
+
"claude_zh": "本命令运行 lab workflow 的 `idea` 阶段。把 `.claude/skills/lab/stages/idea.md` 当成两轮脑暴、两轮文献检索、最接近前作对照、source-backed proposal memo、评测草图、暂定贡献、用户引导、最小可行实验和 approval gate 的单一来源。先做第一轮脑暴,产出 2-4 个候选方向;再做第一轮文献检索,为每个方向补最接近前作;然后用第二轮脑暴淘汰或收敛方向;最后做第二轮文献检索,补齐最终来源包,再输出协作者可读的推荐结论。最终 idea memo 必须讲清真实场景、解决了什么问题、现有方法为什么不够、准备怎么做、大致怎么评、暂定贡献是什么,以及用户下一步该决定什么。`.lab/writing/idea-source-log.md` 必须和两轮检索实际用到的查询、来源分桶和最终来源数保持一致。文献来源包默认目标约 20 篇;如果领域确实很窄,必须显式解释为什么合理地低于这个目标。"
|
|
7
7
|
}
|
|
8
8
|
}
|
|
@@ -7,4 +7,4 @@ argument-hint: idea or research problem
|
|
|
7
7
|
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
8
|
|
|
9
9
|
Execute the requested `/lab-idea` command against the user's argument now. Do not only recommend another lab stage. If a blocking prerequisite is missing, say exactly what is missing and ask at most one clarifying question.
|
|
10
|
-
This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, minimum viable experiment, and approval gate. Start with brainstorm pass 1 over 2-4 candidate directions, run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified.
|
|
10
|
+
This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, tentative contributions, user guidance, minimum viable experiment, and approval gate. Start with brainstorm pass 1 over 2-4 candidate directions, run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, and what the user should decide next. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified.
|
|
@@ -6,4 +6,4 @@ argument-hint: idea or research problem
|
|
|
6
6
|
Use the installed `lab` skill at `.codex/skills/lab/SKILL.md`.
|
|
7
7
|
|
|
8
8
|
Execute the requested `/lab:idea` stage against the user's argument now. Do not only recommend another lab stage. If a blocking prerequisite is missing, say exactly what is missing and ask at most one clarifying question.
|
|
9
|
-
This command runs the `/lab:idea` stage. Use `.codex/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, minimum viable experiment, and approval gate. Start with brainstorm pass 1 over 2-4 candidate directions, run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified.
|
|
9
|
+
This command runs the `/lab:idea` stage. Use `.codex/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, tentative contributions, user guidance, minimum viable experiment, and approval gate. Start with brainstorm pass 1 over 2-4 candidate directions, run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, and what the user should decide next. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified.
|
|
@@ -18,9 +18,13 @@ REQUIRED_SECTIONS = {
|
|
|
18
18
|
"Brainstorm Pass 2": [r"^##\s+Brainstorm Pass 2\s*$", r"^##\s+第二轮脑暴\s*$"],
|
|
19
19
|
"Literature Sweep 2": [r"^##\s+Literature Sweep 2\s*$", r"^##\s+第二轮文献(?:检索|收敛)?\s*$"],
|
|
20
20
|
"Rough Approach": [r"^##\s+Rough Approach\s*$", r"^##\s+我们准备怎么做\s*$"],
|
|
21
|
+
"Problem Solved": [r"^##\s+Problem Solved\s*$", r"^##\s+解决了什么问题\s*$"],
|
|
22
|
+
"Evaluation Sketch": [r"^##\s+Evaluation Sketch\s*$", r"^##\s+评测草图\s*$"],
|
|
23
|
+
"Tentative Contributions": [r"^##\s+Tentative Contributions\s*$", r"^##\s+暂定贡献\s*$"],
|
|
21
24
|
"Candidate Experiment": [r"^##\s+Candidate Experiment\s*$", r"^##\s+(?:最小实验|候选实验)\s*$"],
|
|
22
25
|
"Falsifiable Hypothesis": [r"^##\s+Falsifiable Hypothesis\s*$", r"^##\s+可证伪假设\s*$"],
|
|
23
26
|
"Final Recommendation": [r"^##\s+Final Recommendation\s*$", r"^##\s+最终推荐\s*$"],
|
|
27
|
+
"User Guidance": [r"^##\s+User Guidance\s*$", r"^##\s+用户引导\s*$"],
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
SOURCE_LOG_SECTIONS = {
|
|
@@ -226,6 +230,26 @@ def validate_content(text: str) -> list[str]:
|
|
|
226
230
|
if not contains_any(rough_approach, ("plain-language", "how this would work", "粗略做法", "怎么做", "why this design", "为什么")):
|
|
227
231
|
issues.append("idea artifact is missing a rough plain-language approach")
|
|
228
232
|
|
|
233
|
+
problem_solved = extract_section_body(text, REQUIRED_SECTIONS["Problem Solved"])
|
|
234
|
+
if not has_field_value(problem_solved, ("In plain language", "白话问题", "用大白话说")):
|
|
235
|
+
issues.append("idea artifact is missing a plain-language statement of what problem the idea actually solves")
|
|
236
|
+
if not has_field_value(problem_solved, ("What becomes possible if this works", "如果这条路成立", "如果这条路可行")):
|
|
237
|
+
issues.append("idea artifact is missing the payoff of solving the proposed problem")
|
|
238
|
+
|
|
239
|
+
evaluation_sketch = extract_section_body(text, REQUIRED_SECTIONS["Evaluation Sketch"])
|
|
240
|
+
if not has_field_value(evaluation_sketch, ("Evaluation subject", "评测对象")):
|
|
241
|
+
issues.append("idea artifact is missing an evaluation sketch with the evaluation subject")
|
|
242
|
+
if not has_field_value(evaluation_sketch, ("Proxy or simulator, if any", "代理或模拟器")):
|
|
243
|
+
issues.append("idea artifact is missing an evaluation sketch that states any proxy or simulator")
|
|
244
|
+
if not has_field_value(evaluation_sketch, ("Main outcome to observe", "主要观察结果")):
|
|
245
|
+
issues.append("idea artifact is missing the main outcome in the evaluation sketch")
|
|
246
|
+
if not has_field_value(evaluation_sketch, ("Main validity risk", "主要有效性风险")):
|
|
247
|
+
issues.append("idea artifact is missing the main validity risk in the evaluation sketch")
|
|
248
|
+
|
|
249
|
+
tentative_contributions = extract_section_body(text, REQUIRED_SECTIONS["Tentative Contributions"])
|
|
250
|
+
if sum(1 for label in ("Contribution 1", "Contribution 2", "Contribution 3", "贡献 1", "贡献 2", "贡献 3") if has_field_value(tentative_contributions, (label,))) < 2:
|
|
251
|
+
issues.append("idea artifact is missing tentative contributions stated at the idea level")
|
|
252
|
+
|
|
229
253
|
experiment = extract_section_body(text, REQUIRED_SECTIONS["Candidate Experiment"])
|
|
230
254
|
if not contains_any(experiment, ("minimum viable experiment", "minimum experiment", "dataset", "metric", "最小实验", "主指标", "次指标")):
|
|
231
255
|
issues.append("idea artifact is missing a minimum experiment")
|
|
@@ -234,6 +258,14 @@ def validate_content(text: str) -> list[str]:
|
|
|
234
258
|
if not contains_any(final_recommendation, ("recommended direction", "paper-worthy", "推荐方向", "值得做论文")):
|
|
235
259
|
issues.append("idea artifact is missing a final recommendation after the second sweep")
|
|
236
260
|
|
|
261
|
+
user_guidance = extract_section_body(text, REQUIRED_SECTIONS["User Guidance"])
|
|
262
|
+
if not has_field_value(user_guidance, ("Immediate decision needed from the user", "现在最需要你确认的选择", "Immediate decision")):
|
|
263
|
+
issues.append("idea artifact is missing user guidance about the next decision")
|
|
264
|
+
if not has_field_value(user_guidance, ("Information that would sharpen the idea", "哪些信息会显著提高下一轮判断质量", "Information that would sharpen")):
|
|
265
|
+
issues.append("idea artifact is missing user guidance about what information would sharpen the idea")
|
|
266
|
+
if not has_field_value(user_guidance, ("Recommended next stage", "推荐下一步")):
|
|
267
|
+
issues.append("idea artifact is missing user guidance about the next lab stage")
|
|
268
|
+
|
|
237
269
|
return issues
|
|
238
270
|
|
|
239
271
|
|
|
@@ -54,7 +54,13 @@ Suggested levels:
|
|
|
54
54
|
## Existing Methods
|
|
55
55
|
|
|
56
56
|
- Mainstream line 1:
|
|
57
|
+
- Citation:
|
|
58
|
+
- What it solves:
|
|
59
|
+
- Why it still falls short here:
|
|
57
60
|
- Mainstream line 2:
|
|
61
|
+
- Citation:
|
|
62
|
+
- What it solves:
|
|
63
|
+
- Why it still falls short here:
|
|
58
64
|
- Shared assumption:
|
|
59
65
|
- Why that assumption breaks here:
|
|
60
66
|
|
|
@@ -127,6 +133,24 @@ Suggested levels:
|
|
|
127
133
|
- Plain-language description of how this would work:
|
|
128
134
|
- Why this design might resolve the failure case:
|
|
129
135
|
|
|
136
|
+
## Problem Solved
|
|
137
|
+
|
|
138
|
+
- In plain language:
|
|
139
|
+
- What becomes possible if this works:
|
|
140
|
+
|
|
141
|
+
## Evaluation Sketch
|
|
142
|
+
|
|
143
|
+
- Evaluation subject:
|
|
144
|
+
- Proxy or simulator, if any:
|
|
145
|
+
- Main outcome to observe:
|
|
146
|
+
- Main validity risk:
|
|
147
|
+
|
|
148
|
+
## Tentative Contributions
|
|
149
|
+
|
|
150
|
+
- Contribution 1:
|
|
151
|
+
- Contribution 2:
|
|
152
|
+
- Contribution 3:
|
|
153
|
+
|
|
130
154
|
## Three Meaningful Points
|
|
131
155
|
|
|
132
156
|
1. Significance:
|
|
@@ -176,6 +200,12 @@ Suggested levels:
|
|
|
176
200
|
- Recommended direction after two sweeps:
|
|
177
201
|
- Why this is still paper-worthy:
|
|
178
202
|
|
|
203
|
+
## User Guidance
|
|
204
|
+
|
|
205
|
+
- Immediate decision needed from the user:
|
|
206
|
+
- Information that would sharpen the idea:
|
|
207
|
+
- Recommended next stage:
|
|
208
|
+
|
|
179
209
|
## Approval Gate
|
|
180
210
|
|
|
181
211
|
- User-approved direction:
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
- one-sentence problem statement
|
|
7
7
|
- why the problem matters in plain language
|
|
8
8
|
- failure case
|
|
9
|
+
- problem solved in plain language
|
|
9
10
|
- idea classification
|
|
10
11
|
- contribution category
|
|
11
12
|
- breakthrough level
|
|
@@ -13,6 +14,8 @@
|
|
|
13
14
|
- closest-prior-work comparison
|
|
14
15
|
- why the proposed idea is better than existing methods
|
|
15
16
|
- rough plain-language approach description
|
|
17
|
+
- evaluation sketch with the evaluation subject, any proxy or simulator, the main outcome to observe, and the main validity risk
|
|
18
|
+
- tentative contributions stated at idea level, not final paper-facing wording
|
|
16
19
|
- three meaningful points
|
|
17
20
|
- brainstorm pass 1 with 2-4 candidate directions
|
|
18
21
|
- literature sweep 1 with 3-5 closest-prior references per direction
|
|
@@ -26,6 +29,7 @@
|
|
|
26
29
|
- generated innovation hypothesis
|
|
27
30
|
- critique before convergence
|
|
28
31
|
- minimum viable experiment
|
|
32
|
+
- user guidance that tells the user what decision matters now, what missing information would sharpen the idea, and what stage should come next
|
|
29
33
|
- explicit approval gate before `/lab:spec`
|
|
30
34
|
- canonical mission context updated with the approved problem, importance, failure case, and direction
|
|
31
35
|
|
|
@@ -45,6 +49,9 @@
|
|
|
45
49
|
- If the field is genuinely too narrow to support that target, say so explicitly in both the idea artifact and the idea source log, and justify the smaller literature bundle instead of silently skipping the search.
|
|
46
50
|
- The idea artifact must follow the repository `workflow_language`, not whichever language is easiest locally.
|
|
47
51
|
- Before writing the full artifact, give the user a short summary with the one-sentence problem, why current methods fail, and the three meaningful points.
|
|
52
|
+
- If the current evaluation plan uses a proxy, simulator, or synthetic user in place of a real subject, say that explicitly in the idea artifact and explain why it is acceptable at the idea stage.
|
|
53
|
+
- Keep tentative contributions at the idea level. Do not drift into final paper-facing naming, title, or contribution wording; that belongs to `/lab:framing`.
|
|
54
|
+
- End the stage output with a user-guidance block that tells the user what to decide next, what information would most improve the idea, and which `/lab` stage should follow.
|
|
48
55
|
|
|
49
56
|
## Context Read Set
|
|
50
57
|
|
|
@@ -78,16 +85,20 @@
|
|
|
78
85
|
11. Brainstorm pass 2
|
|
79
86
|
12. Literature sweep 2
|
|
80
87
|
13. Rough approach in plain language
|
|
81
|
-
14.
|
|
82
|
-
15.
|
|
83
|
-
16.
|
|
84
|
-
17.
|
|
85
|
-
18.
|
|
86
|
-
19.
|
|
87
|
-
20.
|
|
88
|
-
21.
|
|
89
|
-
22.
|
|
90
|
-
23.
|
|
88
|
+
14. Problem solved in plain language
|
|
89
|
+
15. Why the proposed idea is better
|
|
90
|
+
16. Evaluation sketch
|
|
91
|
+
17. Tentative contributions
|
|
92
|
+
18. Three meaningful points
|
|
93
|
+
19. Candidate approaches and recommendation
|
|
94
|
+
20. Dataset, baseline, and metric candidates
|
|
95
|
+
21. Falsifiable hypothesis
|
|
96
|
+
22. Expert critique
|
|
97
|
+
23. Revised proposal or final recommendation
|
|
98
|
+
24. User guidance
|
|
99
|
+
25. Approval gate
|
|
100
|
+
26. Minimum viable experiment
|
|
101
|
+
27. Idea source log aligned with the two literature sweeps
|
|
91
102
|
|
|
92
103
|
## Writing Standard
|
|
93
104
|
|
|
@@ -103,6 +114,10 @@
|
|
|
103
114
|
- Do not call something paper-worthy or novel after only one brainstorm pass or one literature sweep.
|
|
104
115
|
- Do not treat the idea artifact itself as the only evidence record; keep `.lab/writing/idea-source-log.md` synchronized with the actual searches and source buckets used in both literature sweeps.
|
|
105
116
|
- Explain what current methods do, why they fall short, and roughly how the proposed idea would work in plain language.
|
|
117
|
+
- Explain what problem the idea actually solves before describing tentative contributions.
|
|
118
|
+
- Keep the evaluation sketch high-level: who or what is evaluated, what proxy or simulator is used if any, what outcome matters, and what the main validity risk is. Leave full protocol design to later stages.
|
|
119
|
+
- Keep contributions tentative and high-level. The goal here is to explain what the paper might contribute, not to freeze paper-facing wording.
|
|
106
120
|
- The three meaningful points should each fit in one direct sentence.
|
|
121
|
+
- The final output must guide the user. Tell them what decision matters now, what information would sharpen the idea, and which `/lab` stage should come next.
|
|
107
122
|
- Before approval, run `.lab/.managed/scripts/validate_idea_artifact.py --idea <idea-artifact> --source-log .lab/writing/idea-source-log.md --workflow-config .lab/config/workflow.json`.
|
|
108
123
|
- Do not leave `.lab/context/mission.md` as an empty template after convergence; write the approved problem, why it matters, the current benchmark scope, and the approved direction back into canonical context.
|