superlab 0.1.26 → 0.1.28

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 (50) hide show
  1. package/README.md +3 -0
  2. package/README.zh-CN.md +3 -0
  3. package/bin/superlab.cjs +11 -0
  4. package/lib/auto_contracts.cjs +1 -1
  5. package/lib/auto_runner.cjs +1 -1
  6. package/lib/context.cjs +30 -198
  7. package/lib/i18n.cjs +229 -19
  8. package/lib/lab_write_contract.json +8 -0
  9. package/package-assets/claude/commands/lab-idea.md +1 -1
  10. package/package-assets/claude/commands/lab-write.md +1 -1
  11. package/package-assets/claude/commands/lab.md +4 -3
  12. package/package-assets/codex/prompts/lab-idea.md +1 -1
  13. package/package-assets/codex/prompts/lab-write.md +1 -1
  14. package/package-assets/codex/prompts/lab.md +4 -3
  15. package/package-assets/shared/lab/.managed/scripts/validate_idea_artifact.py +147 -0
  16. package/package-assets/shared/lab/.managed/scripts/validate_manuscript_delivery.py +50 -4
  17. package/package-assets/shared/lab/.managed/scripts/validate_paper_claims.py +86 -0
  18. package/package-assets/shared/lab/.managed/scripts/validate_paper_plan.py +263 -0
  19. package/package-assets/shared/lab/.managed/scripts/validate_section_draft.py +181 -0
  20. package/package-assets/shared/lab/.managed/templates/idea.md +43 -0
  21. package/package-assets/shared/lab/.managed/templates/paper-plan.md +78 -0
  22. package/package-assets/shared/lab/config/workflow.json +2 -1
  23. package/package-assets/shared/lab/context/auto-mode.md +1 -1
  24. package/package-assets/shared/lab/context/next-action.md +4 -4
  25. package/package-assets/shared/lab/context/session-brief.md +8 -1
  26. package/package-assets/shared/lab/context/summary.md +14 -3
  27. package/package-assets/shared/skills/lab/SKILL.md +17 -16
  28. package/package-assets/shared/skills/lab/references/paper-writing/examples/abstract/template-b.md +2 -2
  29. package/package-assets/shared/skills/lab/references/paper-writing/examples/conclusion/conservative-claim-boundary.md +13 -13
  30. package/package-assets/shared/skills/lab/references/paper-writing/examples/experiments/main-results-and-ablation-latex.md +18 -17
  31. package/package-assets/shared/skills/lab/references/paper-writing/examples/experiments-examples.md +1 -1
  32. package/package-assets/shared/skills/lab/references/paper-writing/examples/index.md +1 -1
  33. package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/pipeline-version-1-one-contribution-multi-advantages.md +3 -3
  34. package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/pipeline-version-2-two-contributions.md +1 -1
  35. package/package-assets/shared/skills/lab/references/paper-writing/examples/method/annotated-figure-to-text.md +66 -0
  36. package/package-assets/shared/skills/lab/references/paper-writing/examples/method/example-of-the-three-elements.md +11 -11
  37. package/package-assets/shared/skills/lab/references/paper-writing/examples/method/{module-design-instant-ngp.md → module-design-multiresolution-encoding.md} +1 -1
  38. package/package-assets/shared/skills/lab/references/paper-writing/examples/method/{module-triad-neural-body.md → module-triad-anchored-representation.md} +4 -4
  39. package/package-assets/shared/skills/lab/references/paper-writing/examples/method/overview-template.md +4 -4
  40. package/package-assets/shared/skills/lab/references/paper-writing/examples/method/pre-writing-questions.md +4 -3
  41. package/package-assets/shared/skills/lab/references/paper-writing/examples/method-examples.md +4 -4
  42. package/package-assets/shared/skills/lab/references/paper-writing/examples/related-work/closest-prior-gap-template.md +12 -12
  43. package/package-assets/shared/skills/lab/references/paper-writing/examples/related-work/topic-comparison-template.md +2 -2
  44. package/package-assets/shared/skills/lab/stages/auto.md +6 -2
  45. package/package-assets/shared/skills/lab/stages/data.md +0 -1
  46. package/package-assets/shared/skills/lab/stages/framing.md +0 -1
  47. package/package-assets/shared/skills/lab/stages/idea.md +30 -13
  48. package/package-assets/shared/skills/lab/stages/write.md +28 -4
  49. package/package.json +1 -1
  50. package/package-assets/shared/skills/lab/references/paper-writing/examples/method/neural-body-annotated-figure-text.md +0 -66
package/README.md CHANGED
@@ -246,6 +246,7 @@ This installer also writes `.lab/config/workflow.json`, which is the global cont
246
246
  - `figures_root`
247
247
  - `deliverables_root`
248
248
  - `paper_template_root`
249
+ - `paper_language_finalization_decision`
249
250
 
250
251
  Stages should follow that file rather than guess language locally.
251
252
 
@@ -325,6 +326,8 @@ Internal writing-control artifacts stay under:
325
326
  If `paper_template_root` is configured, `/lab:write` should inspect that template directory first and align drafting to it.
326
327
  If no template is configured, the first manuscript-writing round should ask once whether to continue with the managed default LaTeX scaffold or attach a template directory first.
327
328
  If the user approves the default scaffold, persist that choice in `.lab/config/workflow.json` and stop asking on ordinary rounds.
329
+ Ordinary manuscript drafting rounds should follow `workflow_language`.
330
+ If `workflow_language` and `paper_language` differ, the first final-draft or export round should ask once whether to keep the draft language or convert the final manuscript to `paper_language`, then persist that decision.
328
331
  At the final export or final-draft boundary, if the project is still on the default scaffold and no attached template exists, ask one final reminder question before finalizing.
329
332
  For final-draft or export rounds, `/lab:write` should materialize real LaTeX tables, figure placeholders with figure intent, a non-empty `references.bib`, and pass `.lab/.managed/scripts/validate_manuscript_delivery.py --paper-dir <deliverables_root>/paper` before stopping.
330
333
 
package/README.zh-CN.md CHANGED
@@ -244,6 +244,7 @@ superlab init --lang en
244
244
  - `figures_root`
245
245
  - `deliverables_root`
246
246
  - `paper_template_root`
247
+ - `paper_language_finalization_decision`
247
248
 
248
249
  后续 stage 应该按这个配置决定语言和论文格式,而不是各模板自己猜。
249
250
 
@@ -310,6 +311,8 @@ Codex 和 Claude 的命令入口不一样:
310
311
  如果配置了 `paper_template_root`,`/lab:write` 应先检查该模板目录并按其结构写作。
311
312
  如果没有配置模板,第一次进入论文 `.tex` 写作时应先追问一次:继续使用内置默认 LaTeX scaffold,还是先接入模板目录。
312
313
  如果用户确认先用默认 scaffold,就把这个决定持久化到 `.lab/config/workflow.json`,后续普通轮次不再重复追问。
314
+ 普通论文起草轮次应先跟随 `workflow_language`。
315
+ 如果 `workflow_language` 和 `paper_language` 不一致,则在第一次进入最终定稿或导出轮次时追问一次:保持当前草稿语言,还是把最终稿转换成 `paper_language`,并把这个决定持久化。
313
316
  但在最终导出或最终定稿节点,如果项目仍在使用默认 scaffold 且没有接入模板,应再提醒一次,给用户最后切换模板的机会。
314
317
  在最终定稿或导出轮次里,`/lab:write` 还应物化真正的 LaTeX 表格、带图意图的 figure placeholders、非空的 `references.bib`,并在停止前通过 `.lab/.managed/scripts/validate_manuscript_delivery.py --paper-dir <deliverables_root>/paper`。
315
318
 
package/bin/superlab.cjs CHANGED
@@ -677,6 +677,17 @@ function validateWorkflowConfig(config) {
677
677
  ) {
678
678
  issues.push("invalid paper_template_final_reminder_acknowledged");
679
679
  }
680
+ const validLanguageFinalizationDecisions = new Set([
681
+ "unconfirmed",
682
+ "keep-workflow-language",
683
+ "convert-to-paper-language",
684
+ ]);
685
+ if (
686
+ config.paper_language_finalization_decision !== undefined &&
687
+ !validLanguageFinalizationDecisions.has(config.paper_language_finalization_decision)
688
+ ) {
689
+ issues.push("invalid paper_language_finalization_decision");
690
+ }
680
691
  if (
681
692
  typeof config.paper_template_root === "string" &&
682
693
  config.paper_template_root.trim() !== "" &&
@@ -42,7 +42,7 @@ const PROMOTION_CANONICAL_FILES = [
42
42
  path.join(".lab", "context", "data-decisions.md"),
43
43
  path.join(".lab", "context", "decisions.md"),
44
44
  path.join(".lab", "context", "state.md"),
45
- path.join(".lab", "context", "session-brief.md"),
45
+ path.join(".lab", "context", "workflow-state.md"),
46
46
  ];
47
47
 
48
48
  function resolveFrozenCoreEntries(rawValue) {
@@ -433,7 +433,7 @@ async function startAutoMode({ targetDir, now = new Date() }) {
433
433
  ".lab/context/data-decisions.md",
434
434
  ".lab/context/decisions.md",
435
435
  ".lab/context/state.md",
436
- ".lab/context/session-brief.md",
436
+ ".lab/context/workflow-state.md",
437
437
  ]);
438
438
  await runCommandWithPolling({
439
439
  targetDir,
package/lib/context.cjs CHANGED
@@ -983,7 +983,7 @@ function renderResearchState(lang, data) {
983
983
 
984
984
  ## 当前研究主线
985
985
 
986
- - Current research focus: ${data.immediateAction || data.direction || "待补充"}
986
+ - Current research focus: ${data.direction || "待补充"}
987
987
  - Primary metric: ${data.evalPrimaryMetrics || data.threshold || "待补充"}
988
988
  - Dataset or benchmark scope: ${data.datasetPackage || data.benchmarkRole || "待补充"}
989
989
 
@@ -991,7 +991,7 @@ function renderResearchState(lang, data) {
991
991
 
992
992
  - Hard constraints: ${data.boundary || "待补充"}
993
993
  - Claim boundary: ${data.evalClaimBoundary || "待补充"}
994
- - Conditions that require reopening the direction: ${data.humanDecision || "待补充"}
994
+ - Conditions that require reopening the direction: ${data.question || "待补充"}
995
995
  `;
996
996
  }
997
997
 
@@ -1011,7 +1011,7 @@ function renderResearchState(lang, data) {
1011
1011
 
1012
1012
  ## Active Research Track
1013
1013
 
1014
- - Current research focus: ${data.immediateAction || data.direction || "TBD"}
1014
+ - Current research focus: ${data.direction || "TBD"}
1015
1015
  - Primary metric: ${data.evalPrimaryMetrics || data.threshold || "TBD"}
1016
1016
  - Dataset or benchmark scope: ${data.datasetPackage || data.benchmarkRole || "TBD"}
1017
1017
 
@@ -1019,7 +1019,7 @@ function renderResearchState(lang, data) {
1019
1019
 
1020
1020
  - Hard constraints: ${data.boundary || "TBD"}
1021
1021
  - Claim boundary: ${data.evalClaimBoundary || "TBD"}
1022
- - Conditions that require reopening the direction: ${data.humanDecision || "TBD"}
1022
+ - Conditions that require reopening the direction: ${data.question || "TBD"}
1023
1023
  `;
1024
1024
  }
1025
1025
 
@@ -1078,74 +1078,36 @@ function renderSummary(lang, data) {
1078
1078
  - Mission: ${data.problem || "待补充"}
1079
1079
  - Approved direction: ${data.direction || "待补充"}
1080
1080
  - Active stage: ${data.stage || "待补充"}
1081
+ - Current objective: ${data.workflowObjective || "待补充"}
1081
1082
  - Auto mode: ${data.autoStatus || "未启用"}
1082
1083
  - Auto objective: ${data.autoObjective || "待补充"}
1083
- - Auto rung: ${data.autoCurrentRung || "待补充"}
1084
- - Auto watch target: ${data.autoWatchTarget || "待补充"}
1085
1084
  - Auto decision: ${data.autoDecision || "待补充"}
1086
- - Auto terminal goal: ${joinNonEmpty([data.autoGoalType, data.autoGoalTarget], " | ") || "待补充"}
1087
- - Auto goal reached: ${data.autoGoalReached || "待补充"}
1088
- - Auto stop reason: ${data.autoStopReason || "待补充"}
1089
- - Auto final artifact: ${data.autoFinalArtifact || "待补充"}
1090
- - Auto final rung: ${data.autoFinalRung || "待补充"}
1091
1085
  - Collaborator report mode: ${data.reportMode || "待补充"}
1092
1086
  - Canonical context readiness: ${data.reportReadiness || "待补充"}
1093
- - Why this report mode is active: ${data.reportModeReason || "待补充"}
1094
1087
  - Method name: ${data.methodName || "待补充"}
1095
1088
  - Contribution bullets: ${data.contributionBullets || "待补充"}
1096
1089
  - Eval objective: ${data.evalObjective || "待补充"}
1097
1090
  - Primary metrics: ${data.evalPrimaryMetrics || "待补充"}
1098
1091
  - Secondary metrics: ${data.evalSecondaryMetrics || "待补充"}
1099
- - Required terminal evidence: ${data.evalRequiredTerminalEvidence || "待补充"}
1100
- - Table plan: ${data.evalTablePlan || "待补充"}
1101
- - Metric glossary: ${data.evalMetricGlossary || "待补充"}
1102
- - Background sources: ${data.evalBackgroundSources || "待补充"}
1103
- - Method and baseline source papers: ${data.evalMethodAndBaselineSourcePapers || "待补充"}
1104
- - Method and baseline implementation source: ${data.evalMethodAndBaselineImplementationSource || "待补充"}
1105
- - Metric source papers: ${data.evalMetricSourcePapers || "待补充"}
1106
- - Metric implementation source: ${data.evalMetricImplementationSource || "待补充"}
1107
- - Comparison source papers: ${data.evalComparisonSourcePapers || "待补充"}
1108
- - Comparison implementation source: ${data.evalComparisonImplementationSource || "待补充"}
1109
- - Deviation from original implementation: ${data.evalDeviationFromOriginalImplementation || "待补充"}
1110
- - Evaluation setting semantics: ${data.evalEvaluationSettingSemantics || "待补充"}
1111
- - Visibility and leakage risks: ${data.evalVisibilityAndLeakageRisks || "待补充"}
1112
- - Anchor and label policy: ${data.evalAnchorAndLabelPolicy || "待补充"}
1113
- - Scale and comparability policy: ${data.evalScaleAndComparabilityPolicy || "待补充"}
1114
- - Metric validity checks: ${data.evalMetricValidityChecks || "待补充"}
1115
- - Comparison validity checks: ${data.evalComparisonValidityChecks || "待补充"}
1116
- - Statistical validity checks: ${data.evalStatisticalValidityChecks || "待补充"}
1117
- - Claim boundary: ${data.evalClaimBoundary || "待补充"}
1118
- - Integrity self-check: ${data.evalIntegritySelfCheck || "待补充"}
1119
- - Anomaly signals: ${data.evalAnomalySignals || "待补充"}
1120
- - Implementation reality checks: ${data.evalImplementationRealityChecks || "待补充"}
1121
- - Alternative explanations considered: ${data.evalAlternativeExplanationsConsidered || "待补充"}
1122
- - Cross-check method: ${data.evalCrossCheckMethod || "待补充"}
1123
- - Best-supported interpretation: ${data.evalBestSupportedInterpretation || "待补充"}
1124
- - Escalation threshold: ${data.evalEscalationThreshold || "待补充"}
1125
- - Experiment ladder: ${data.evalExperimentLadder || "待补充"}
1126
- - Benchmark ladder: ${data.evalBenchmarkLadder || "待补充"}
1127
- - Promotion gate: ${data.evalPromotionGate || "待补充"}
1128
1092
  - Dataset package: ${data.datasetPackage || "待补充"}
1129
- - Dataset years: ${data.datasetYears || "待补充"}
1130
1093
  - Benchmark role: ${data.benchmarkRole || "待补充"}
1131
- - Benchmark rationale: ${data.benchmarkRationale || "待补充"}
1132
1094
  - Comparison suite: ${data.comparisonMethods || "待补充"}
1133
- - Comparison rationale: ${data.comparisonRationale || "待补充"}
1134
- - Comparison evidence: ${data.comparisonEvidence || "待补充"}
1135
- - Source basis: ${data.datasetSources || "待补充"}
1136
- - Representative papers: ${data.datasetPapers || "待补充"}
1137
1095
 
1138
1096
  ## 最强证据
1139
1097
 
1140
1098
  - Claim: ${data.claim || "待补充"}
1099
+ - Supporting artifact: ${data.latestArtifactPath || "待补充"}
1100
+ - Caveat: ${data.evalClaimBoundary || data.question || "待补充"}
1141
1101
 
1142
1102
  ## 最大风险
1143
1103
 
1144
1104
  - Risk: ${data.risk || "待补充"}
1105
+ - Why it matters: ${data.question || data.blocker || "待补充"}
1145
1106
 
1146
1107
  ## 当前缺口
1147
1108
 
1148
- - Open question: ${data.question || "待补充"}
1109
+ - Missing evidence: ${data.question || "待补充"}
1110
+ - Missing artifact: ${data.nextArtifact || "待补充"}
1149
1111
  `;
1150
1112
  }
1151
1113
 
@@ -1156,74 +1118,36 @@ function renderSummary(lang, data) {
1156
1118
  - Mission: ${data.problem || "TBD"}
1157
1119
  - Approved direction: ${data.direction || "TBD"}
1158
1120
  - Active stage: ${data.stage || "TBD"}
1121
+ - Current objective: ${data.workflowObjective || "TBD"}
1159
1122
  - Auto mode: ${data.autoStatus || "inactive"}
1160
1123
  - Auto objective: ${data.autoObjective || "TBD"}
1161
- - Auto rung: ${data.autoCurrentRung || "TBD"}
1162
- - Auto watch target: ${data.autoWatchTarget || "TBD"}
1163
1124
  - Auto decision: ${data.autoDecision || "TBD"}
1164
- - Auto terminal goal: ${joinNonEmpty([data.autoGoalType, data.autoGoalTarget], " | ") || "TBD"}
1165
- - Auto goal reached: ${data.autoGoalReached || "TBD"}
1166
- - Auto stop reason: ${data.autoStopReason || "TBD"}
1167
- - Auto final artifact: ${data.autoFinalArtifact || "TBD"}
1168
- - Auto final rung: ${data.autoFinalRung || "TBD"}
1169
1125
  - Collaborator report mode: ${data.reportMode || "TBD"}
1170
1126
  - Canonical context readiness: ${data.reportReadiness || "TBD"}
1171
- - Why this report mode is active: ${data.reportModeReason || "TBD"}
1172
1127
  - Method name: ${data.methodName || "TBD"}
1173
1128
  - Contribution bullets: ${data.contributionBullets || "TBD"}
1174
1129
  - Eval objective: ${data.evalObjective || "TBD"}
1175
1130
  - Primary metrics: ${data.evalPrimaryMetrics || "TBD"}
1176
1131
  - Secondary metrics: ${data.evalSecondaryMetrics || "TBD"}
1177
- - Required terminal evidence: ${data.evalRequiredTerminalEvidence || "TBD"}
1178
- - Table plan: ${data.evalTablePlan || "TBD"}
1179
- - Metric glossary: ${data.evalMetricGlossary || "TBD"}
1180
- - Background sources: ${data.evalBackgroundSources || "TBD"}
1181
- - Method and baseline source papers: ${data.evalMethodAndBaselineSourcePapers || "TBD"}
1182
- - Method and baseline implementation source: ${data.evalMethodAndBaselineImplementationSource || "TBD"}
1183
- - Metric source papers: ${data.evalMetricSourcePapers || "TBD"}
1184
- - Metric implementation source: ${data.evalMetricImplementationSource || "TBD"}
1185
- - Comparison source papers: ${data.evalComparisonSourcePapers || "TBD"}
1186
- - Comparison implementation source: ${data.evalComparisonImplementationSource || "TBD"}
1187
- - Deviation from original implementation: ${data.evalDeviationFromOriginalImplementation || "TBD"}
1188
- - Evaluation setting semantics: ${data.evalEvaluationSettingSemantics || "TBD"}
1189
- - Visibility and leakage risks: ${data.evalVisibilityAndLeakageRisks || "TBD"}
1190
- - Anchor and label policy: ${data.evalAnchorAndLabelPolicy || "TBD"}
1191
- - Scale and comparability policy: ${data.evalScaleAndComparabilityPolicy || "TBD"}
1192
- - Metric validity checks: ${data.evalMetricValidityChecks || "TBD"}
1193
- - Comparison validity checks: ${data.evalComparisonValidityChecks || "TBD"}
1194
- - Statistical validity checks: ${data.evalStatisticalValidityChecks || "TBD"}
1195
- - Claim boundary: ${data.evalClaimBoundary || "TBD"}
1196
- - Integrity self-check: ${data.evalIntegritySelfCheck || "TBD"}
1197
- - Anomaly signals: ${data.evalAnomalySignals || "TBD"}
1198
- - Implementation reality checks: ${data.evalImplementationRealityChecks || "TBD"}
1199
- - Alternative explanations considered: ${data.evalAlternativeExplanationsConsidered || "TBD"}
1200
- - Cross-check method: ${data.evalCrossCheckMethod || "TBD"}
1201
- - Best-supported interpretation: ${data.evalBestSupportedInterpretation || "TBD"}
1202
- - Escalation threshold: ${data.evalEscalationThreshold || "TBD"}
1203
- - Experiment ladder: ${data.evalExperimentLadder || "TBD"}
1204
- - Benchmark ladder: ${data.evalBenchmarkLadder || "TBD"}
1205
- - Promotion gate: ${data.evalPromotionGate || "TBD"}
1206
1132
  - Dataset package: ${data.datasetPackage || "TBD"}
1207
- - Dataset years: ${data.datasetYears || "TBD"}
1208
1133
  - Benchmark role: ${data.benchmarkRole || "TBD"}
1209
- - Benchmark rationale: ${data.benchmarkRationale || "TBD"}
1210
1134
  - Comparison suite: ${data.comparisonMethods || "TBD"}
1211
- - Comparison rationale: ${data.comparisonRationale || "TBD"}
1212
- - Comparison evidence: ${data.comparisonEvidence || "TBD"}
1213
- - Source basis: ${data.datasetSources || "TBD"}
1214
- - Representative papers: ${data.datasetPapers || "TBD"}
1215
1135
 
1216
1136
  ## Strongest Evidence
1217
1137
 
1218
1138
  - Claim: ${data.claim || "TBD"}
1139
+ - Supporting artifact: ${data.latestArtifactPath || "TBD"}
1140
+ - Caveat: ${data.evalClaimBoundary || data.question || "TBD"}
1219
1141
 
1220
1142
  ## Largest Risk
1221
1143
 
1222
1144
  - Risk: ${data.risk || "TBD"}
1145
+ - Why it matters: ${data.question || data.blocker || "TBD"}
1223
1146
 
1224
1147
  ## Current Gap
1225
1148
 
1226
- - Open question: ${data.question || "TBD"}
1149
+ - Missing evidence: ${data.question || "TBD"}
1150
+ - Missing artifact: ${data.nextArtifact || "TBD"}
1227
1151
  `;
1228
1152
  }
1229
1153
 
@@ -1236,18 +1160,18 @@ function renderNextAction(lang, data) {
1236
1160
  - Action: ${data.immediateAction || "待补充"}
1237
1161
  - Success signal: ${data.nextArtifact || data.threshold || "待补充"}
1238
1162
 
1239
- ## 如果成功
1163
+ ## 完成后
1240
1164
 
1241
1165
  - Next action: ${data.successFollowup || "继续推进当前阶段"}
1242
1166
 
1243
- ## 如果失败
1167
+ ## 如果卡住
1244
1168
 
1245
1169
  - Fallback action: ${data.blocker ? `先处理阻塞:${data.blocker}` : "回到 review 或 iterate"}
1246
1170
 
1247
- ## 是否需要人工决策
1171
+ ## 升级条件
1248
1172
 
1249
1173
  - Question: ${data.humanDecision || "无"}
1250
- - 为什么会阻塞:${data.blocker || ""}
1174
+ - Escalate when: ${data.blocker || "无明显阻塞"}
1251
1175
  `;
1252
1176
  }
1253
1177
 
@@ -1258,18 +1182,18 @@ function renderNextAction(lang, data) {
1258
1182
  - Action: ${data.immediateAction || "TBD"}
1259
1183
  - Success signal: ${data.nextArtifact || data.threshold || "TBD"}
1260
1184
 
1261
- ## If Success
1185
+ ## After Completion
1262
1186
 
1263
1187
  - Next action: ${data.successFollowup || "Continue the active stage"}
1264
1188
 
1265
- ## If Failure
1189
+ ## If Blocked
1266
1190
 
1267
1191
  - Fallback action: ${data.blocker ? `Resolve blocker: ${data.blocker}` : "Route back to review or iterate"}
1268
1192
 
1269
- ## Human Decision Needed
1193
+ ## Escalation
1270
1194
 
1271
1195
  - Question: ${data.humanDecision || "none"}
1272
- - Why it blocks progress: ${data.blocker || "none"}
1196
+ - Escalate when: ${data.blocker || "no major blocker is known"}
1273
1197
  `;
1274
1198
  }
1275
1199
 
@@ -1280,6 +1204,8 @@ function renderSessionBrief(lang, data) {
1280
1204
  ## 当前阶段
1281
1205
 
1282
1206
  - Stage: ${data.stage || "待补充"}
1207
+ - Current objective: ${data.workflowObjective || "待补充"}
1208
+ - Immediate next action: ${data.immediateAction || "待补充"}
1283
1209
 
1284
1210
  ## 主线任务
1285
1211
 
@@ -1288,63 +1214,15 @@ ${data.problem || "待补充"}
1288
1214
  ## 当前最优路径
1289
1215
 
1290
1216
  - Approved direction: ${data.direction || "待补充"}
1291
- - Why this is the active path: ${data.why || "当前已批准方向"}
1217
+ - Strongest supported claim: ${data.claim || "待补充"}
1292
1218
  - Auto mode: ${data.autoStatus || "未启用"}
1293
1219
  - Auto objective: ${data.autoObjective || "待补充"}
1294
- - Auto rung: ${data.autoCurrentRung || "待补充"}
1295
- - Auto watch target: ${data.autoWatchTarget || "待补充"}
1296
1220
  - Auto decision: ${data.autoDecision || "待补充"}
1297
- - Auto terminal goal: ${joinNonEmpty([data.autoGoalType, data.autoGoalTarget], " | ") || "待补充"}
1298
- - Auto goal reached: ${data.autoGoalReached || "待补充"}
1299
- - Auto stop reason: ${data.autoStopReason || "待补充"}
1300
- - Auto final artifact: ${data.autoFinalArtifact || "待补充"}
1301
- - Auto final rung: ${data.autoFinalRung || "待补充"}
1302
1221
  - Collaborator report mode: ${data.reportMode || "待补充"}
1303
1222
  - Canonical context readiness: ${data.reportReadiness || "待补充"}
1304
- - Why this report mode is active: ${data.reportModeReason || "待补充"}
1305
1223
  - Method name: ${data.methodName || "待补充"}
1306
- - Contribution bullets: ${data.contributionBullets || "待补充"}
1307
- - Eval objective: ${data.evalObjective || "待补充"}
1308
1224
  - Primary metrics: ${data.evalPrimaryMetrics || "待补充"}
1309
1225
  - Secondary metrics: ${data.evalSecondaryMetrics || "待补充"}
1310
- - Required terminal evidence: ${data.evalRequiredTerminalEvidence || "待补充"}
1311
- - Table plan: ${data.evalTablePlan || "待补充"}
1312
- - Metric glossary: ${data.evalMetricGlossary || "待补充"}
1313
- - Background sources: ${data.evalBackgroundSources || "待补充"}
1314
- - Method and baseline source papers: ${data.evalMethodAndBaselineSourcePapers || "待补充"}
1315
- - Method and baseline implementation source: ${data.evalMethodAndBaselineImplementationSource || "待补充"}
1316
- - Metric source papers: ${data.evalMetricSourcePapers || "待补充"}
1317
- - Metric implementation source: ${data.evalMetricImplementationSource || "待补充"}
1318
- - Comparison source papers: ${data.evalComparisonSourcePapers || "待补充"}
1319
- - Comparison implementation source: ${data.evalComparisonImplementationSource || "待补充"}
1320
- - Deviation from original implementation: ${data.evalDeviationFromOriginalImplementation || "待补充"}
1321
- - Evaluation setting semantics: ${data.evalEvaluationSettingSemantics || "待补充"}
1322
- - Visibility and leakage risks: ${data.evalVisibilityAndLeakageRisks || "待补充"}
1323
- - Anchor and label policy: ${data.evalAnchorAndLabelPolicy || "待补充"}
1324
- - Scale and comparability policy: ${data.evalScaleAndComparabilityPolicy || "待补充"}
1325
- - Metric validity checks: ${data.evalMetricValidityChecks || "待补充"}
1326
- - Comparison validity checks: ${data.evalComparisonValidityChecks || "待补充"}
1327
- - Statistical validity checks: ${data.evalStatisticalValidityChecks || "待补充"}
1328
- - Claim boundary: ${data.evalClaimBoundary || "待补充"}
1329
- - Integrity self-check: ${data.evalIntegritySelfCheck || "待补充"}
1330
- - Anomaly signals: ${data.evalAnomalySignals || "待补充"}
1331
- - Implementation reality checks: ${data.evalImplementationRealityChecks || "待补充"}
1332
- - Alternative explanations considered: ${data.evalAlternativeExplanationsConsidered || "待补充"}
1333
- - Cross-check method: ${data.evalCrossCheckMethod || "待补充"}
1334
- - Best-supported interpretation: ${data.evalBestSupportedInterpretation || "待补充"}
1335
- - Escalation threshold: ${data.evalEscalationThreshold || "待补充"}
1336
- - Experiment ladder: ${data.evalExperimentLadder || "待补充"}
1337
- - Benchmark ladder: ${data.evalBenchmarkLadder || "待补充"}
1338
- - Promotion gate: ${data.evalPromotionGate || "待补充"}
1339
- - Dataset package: ${data.datasetPackage || "待补充"}
1340
- - Dataset years: ${data.datasetYears || "待补充"}
1341
- - Benchmark role: ${data.benchmarkRole || "待补充"}
1342
- - Benchmark rationale: ${data.benchmarkRationale || "待补充"}
1343
- - Comparison suite: ${data.comparisonMethods || "待补充"}
1344
- - Comparison rationale: ${data.comparisonRationale || "待补充"}
1345
- - Comparison evidence: ${data.comparisonEvidence || "待补充"}
1346
- - Source basis: ${data.datasetSources || "待补充"}
1347
- - Representative papers: ${data.datasetPapers || "待补充"}
1348
1226
 
1349
1227
  ## 主要风险
1350
1228
 
@@ -1369,6 +1247,8 @@ ${data.problem || "待补充"}
1369
1247
  ## Active Stage
1370
1248
 
1371
1249
  - Stage: ${data.stage || "TBD"}
1250
+ - Current objective: ${data.workflowObjective || "TBD"}
1251
+ - Immediate next action: ${data.immediateAction || "TBD"}
1372
1252
 
1373
1253
  ## Mission
1374
1254
 
@@ -1377,63 +1257,15 @@ ${data.problem || "TBD"}
1377
1257
  ## Best Current Path
1378
1258
 
1379
1259
  - Approved direction: ${data.direction || "TBD"}
1380
- - Why this is the active path: ${data.why || "This is the approved direction"}
1260
+ - Strongest supported claim: ${data.claim || "TBD"}
1381
1261
  - Auto mode: ${data.autoStatus || "inactive"}
1382
1262
  - Auto objective: ${data.autoObjective || "TBD"}
1383
- - Auto rung: ${data.autoCurrentRung || "TBD"}
1384
- - Auto watch target: ${data.autoWatchTarget || "TBD"}
1385
1263
  - Auto decision: ${data.autoDecision || "TBD"}
1386
- - Auto terminal goal: ${joinNonEmpty([data.autoGoalType, data.autoGoalTarget], " | ") || "TBD"}
1387
- - Auto goal reached: ${data.autoGoalReached || "TBD"}
1388
- - Auto stop reason: ${data.autoStopReason || "TBD"}
1389
- - Auto final artifact: ${data.autoFinalArtifact || "TBD"}
1390
- - Auto final rung: ${data.autoFinalRung || "TBD"}
1391
1264
  - Collaborator report mode: ${data.reportMode || "TBD"}
1392
1265
  - Canonical context readiness: ${data.reportReadiness || "TBD"}
1393
- - Why this report mode is active: ${data.reportModeReason || "TBD"}
1394
1266
  - Method name: ${data.methodName || "TBD"}
1395
- - Contribution bullets: ${data.contributionBullets || "TBD"}
1396
- - Eval objective: ${data.evalObjective || "TBD"}
1397
1267
  - Primary metrics: ${data.evalPrimaryMetrics || "TBD"}
1398
1268
  - Secondary metrics: ${data.evalSecondaryMetrics || "TBD"}
1399
- - Required terminal evidence: ${data.evalRequiredTerminalEvidence || "TBD"}
1400
- - Table plan: ${data.evalTablePlan || "TBD"}
1401
- - Metric glossary: ${data.evalMetricGlossary || "TBD"}
1402
- - Background sources: ${data.evalBackgroundSources || "TBD"}
1403
- - Method and baseline source papers: ${data.evalMethodAndBaselineSourcePapers || "TBD"}
1404
- - Method and baseline implementation source: ${data.evalMethodAndBaselineImplementationSource || "TBD"}
1405
- - Metric source papers: ${data.evalMetricSourcePapers || "TBD"}
1406
- - Metric implementation source: ${data.evalMetricImplementationSource || "TBD"}
1407
- - Comparison source papers: ${data.evalComparisonSourcePapers || "TBD"}
1408
- - Comparison implementation source: ${data.evalComparisonImplementationSource || "TBD"}
1409
- - Deviation from original implementation: ${data.evalDeviationFromOriginalImplementation || "TBD"}
1410
- - Evaluation setting semantics: ${data.evalEvaluationSettingSemantics || "TBD"}
1411
- - Visibility and leakage risks: ${data.evalVisibilityAndLeakageRisks || "TBD"}
1412
- - Anchor and label policy: ${data.evalAnchorAndLabelPolicy || "TBD"}
1413
- - Scale and comparability policy: ${data.evalScaleAndComparabilityPolicy || "TBD"}
1414
- - Metric validity checks: ${data.evalMetricValidityChecks || "TBD"}
1415
- - Comparison validity checks: ${data.evalComparisonValidityChecks || "TBD"}
1416
- - Statistical validity checks: ${data.evalStatisticalValidityChecks || "TBD"}
1417
- - Claim boundary: ${data.evalClaimBoundary || "TBD"}
1418
- - Integrity self-check: ${data.evalIntegritySelfCheck || "TBD"}
1419
- - Anomaly signals: ${data.evalAnomalySignals || "TBD"}
1420
- - Implementation reality checks: ${data.evalImplementationRealityChecks || "TBD"}
1421
- - Alternative explanations considered: ${data.evalAlternativeExplanationsConsidered || "TBD"}
1422
- - Cross-check method: ${data.evalCrossCheckMethod || "TBD"}
1423
- - Best-supported interpretation: ${data.evalBestSupportedInterpretation || "TBD"}
1424
- - Escalation threshold: ${data.evalEscalationThreshold || "TBD"}
1425
- - Experiment ladder: ${data.evalExperimentLadder || "TBD"}
1426
- - Benchmark ladder: ${data.evalBenchmarkLadder || "TBD"}
1427
- - Promotion gate: ${data.evalPromotionGate || "TBD"}
1428
- - Dataset package: ${data.datasetPackage || "TBD"}
1429
- - Dataset years: ${data.datasetYears || "TBD"}
1430
- - Benchmark role: ${data.benchmarkRole || "TBD"}
1431
- - Benchmark rationale: ${data.benchmarkRationale || "TBD"}
1432
- - Comparison suite: ${data.comparisonMethods || "TBD"}
1433
- - Comparison rationale: ${data.comparisonRationale || "TBD"}
1434
- - Comparison evidence: ${data.comparisonEvidence || "TBD"}
1435
- - Source basis: ${data.datasetSources || "TBD"}
1436
- - Representative papers: ${data.datasetPapers || "TBD"}
1437
1269
 
1438
1270
  ## Main Risk
1439
1271