scientify 1.12.1 → 1.12.2

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 (59) hide show
  1. package/README.md +3 -1
  2. package/README.zh.md +3 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -5
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/cli/research.d.ts +1 -1
  7. package/dist/src/cli/research.d.ts.map +1 -1
  8. package/dist/src/cli/research.js +123 -227
  9. package/dist/src/cli/research.js.map +1 -1
  10. package/dist/src/commands/metabolism-status.d.ts +2 -2
  11. package/dist/src/commands/metabolism-status.d.ts.map +1 -1
  12. package/dist/src/commands/metabolism-status.js +75 -72
  13. package/dist/src/commands/metabolism-status.js.map +1 -1
  14. package/dist/src/commands.d.ts.map +1 -1
  15. package/dist/src/commands.js +55 -0
  16. package/dist/src/commands.js.map +1 -1
  17. package/dist/src/hooks/research-mode.d.ts.map +1 -1
  18. package/dist/src/hooks/research-mode.js +54 -37
  19. package/dist/src/hooks/research-mode.js.map +1 -1
  20. package/dist/src/hooks/scientify-signature.d.ts.map +1 -1
  21. package/dist/src/hooks/scientify-signature.js +5 -2
  22. package/dist/src/hooks/scientify-signature.js.map +1 -1
  23. package/dist/src/knowledge-state/render.d.ts +1 -0
  24. package/dist/src/knowledge-state/render.d.ts.map +1 -1
  25. package/dist/src/knowledge-state/render.js +101 -33
  26. package/dist/src/knowledge-state/render.js.map +1 -1
  27. package/dist/src/knowledge-state/store.d.ts.map +1 -1
  28. package/dist/src/knowledge-state/store.js +206 -33
  29. package/dist/src/knowledge-state/store.js.map +1 -1
  30. package/dist/src/knowledge-state/types.d.ts +12 -0
  31. package/dist/src/knowledge-state/types.d.ts.map +1 -1
  32. package/dist/src/literature/subscription-state.d.ts.map +1 -1
  33. package/dist/src/literature/subscription-state.js +579 -7
  34. package/dist/src/literature/subscription-state.js.map +1 -1
  35. package/dist/src/research-subscriptions/constants.d.ts +1 -1
  36. package/dist/src/research-subscriptions/constants.js +1 -1
  37. package/dist/src/research-subscriptions/parse.d.ts.map +1 -1
  38. package/dist/src/research-subscriptions/parse.js +10 -0
  39. package/dist/src/research-subscriptions/parse.js.map +1 -1
  40. package/dist/src/research-subscriptions/prompt.d.ts +1 -1
  41. package/dist/src/research-subscriptions/prompt.d.ts.map +1 -1
  42. package/dist/src/research-subscriptions/prompt.js +142 -221
  43. package/dist/src/research-subscriptions/prompt.js.map +1 -1
  44. package/dist/src/research-subscriptions/types.d.ts +1 -0
  45. package/dist/src/research-subscriptions/types.d.ts.map +1 -1
  46. package/dist/src/templates/bootstrap.d.ts.map +1 -1
  47. package/dist/src/templates/bootstrap.js +19 -32
  48. package/dist/src/templates/bootstrap.js.map +1 -1
  49. package/dist/src/tools/scientify-cron.d.ts +4 -2
  50. package/dist/src/tools/scientify-cron.d.ts.map +1 -1
  51. package/dist/src/tools/scientify-cron.js +369 -17
  52. package/dist/src/tools/scientify-cron.js.map +1 -1
  53. package/dist/src/tools/scientify-literature-state.d.ts +8 -0
  54. package/dist/src/tools/scientify-literature-state.d.ts.map +1 -1
  55. package/dist/src/tools/scientify-literature-state.js +140 -71
  56. package/dist/src/tools/scientify-literature-state.js.map +1 -1
  57. package/openclaw.plugin.json +2 -4
  58. package/package.json +1 -1
  59. package/skills/research-subscription/SKILL.md +7 -0
@@ -1,6 +1,9 @@
1
1
  import { DEFAULT_SCORE_WEIGHTS, REMINDER_HINT_RE, RESEARCH_HINT_RE, SCIENTIFY_SIGNATURE_FOOTER, } from "./constants.js";
2
2
  import { formatScoreWeights, resolveCandidatePool } from "./parse.js";
3
3
  const RESEARCH_WORKFLOW_VERB_RE = /\b(search|survey|analy[sz]e|filter|track|monitor|update|summari[sz]e|report|plan)\b|检索|调研|筛选|跟踪|追踪|更新|总结|汇报|规划/u;
4
+ const FULLTEXT_OPT_OUT_RE = /\b(metadata[-\s]?only|abstract[-\s]?only|no\s+full[-\s]?text|without\s+full[-\s]?text|quick\s+scan)\b|不需要全文|不用全文|只看摘要|仅摘要|只要元数据|不读全文/u;
5
+ const TOPIC_NOISE_TOKEN_RE = /\b(?:smoke|test|testing|debug|dry[-\s]?run|trial|sandbox|e2e|staging)[-_ ]?\d{0,12}\b/giu;
6
+ const DATE_NOISE_RE = /\b20\d{2}(?:[-_.]?\d{2})?(?:[-_.]?\d{2})?\b/g;
4
7
  function normalizeReminderText(raw) {
5
8
  let text = raw.trim();
6
9
  text = text.replace(/^(please\s+)?remind\s+(me|us|you)\s+(to\s+)?/i, "");
@@ -42,6 +45,37 @@ function deriveResearchTopicFromMessage(message) {
42
45
  const normalized = text.trim();
43
46
  return normalized.length > 0 ? normalized : message.trim();
44
47
  }
48
+ function normalizeRetrievalTopic(topic) {
49
+ const stripped = topic.replace(TOPIC_NOISE_TOKEN_RE, " ").replace(DATE_NOISE_RE, " ").replace(/\s+/g, " ").trim();
50
+ return stripped.length > 0 ? stripped : topic.trim();
51
+ }
52
+ function buildVariantKeywords(topic) {
53
+ const keywords = new Set();
54
+ const normalized = normalizeRetrievalTopic(topic);
55
+ const tokens = normalized
56
+ .toLowerCase()
57
+ .match(/[\p{L}\p{N}][\p{L}\p{N}_-]{1,47}/gu)
58
+ ?.map((item) => item.trim())
59
+ .filter((item) => item.length >= 3) ?? [];
60
+ if (normalized.length > 0)
61
+ keywords.add(normalized);
62
+ if (tokens.length >= 2) {
63
+ keywords.add(tokens.slice(0, 4).join(" "));
64
+ keywords.add(tokens.slice(0, 3).join("-"));
65
+ }
66
+ for (const token of tokens.slice(0, 8)) {
67
+ keywords.add(token);
68
+ }
69
+ return [...keywords].slice(0, 10);
70
+ }
71
+ function resolveRunProfile(options, effectiveTopic) {
72
+ if (options.metadataOnly === true)
73
+ return "fast";
74
+ const text = `${options.topic ?? ""} ${options.message ?? ""} ${effectiveTopic}`.trim();
75
+ if (text.length > 0 && FULLTEXT_OPT_OUT_RE.test(text))
76
+ return "fast";
77
+ return "strict";
78
+ }
45
79
  function buildPreferencePayload(options) {
46
80
  const maxPapers = options.maxPapers ?? 5;
47
81
  const normalizedSources = options.sources?.map((item) => item.trim().toLowerCase()).filter(Boolean);
@@ -73,9 +107,15 @@ export function buildScheduledTaskMessage(options, scheduleKind, scopeKey) {
73
107
  }
74
108
  const trimmedTopic = (options.topic ?? promotedTopic)?.trim();
75
109
  const effectiveTopic = trimmedTopic || "active project research updates";
110
+ const retrievalTopic = normalizeRetrievalTopic(effectiveTopic);
111
+ const variantKeywords = buildVariantKeywords(retrievalTopic);
76
112
  const preferences = buildPreferencePayload(options);
113
+ const runProfile = resolveRunProfile(options, effectiveTopic);
77
114
  const projectId = options.projectId?.trim();
78
- const candidatePool = resolveCandidatePool(options.candidatePool, preferences.max_papers);
115
+ const candidatePoolBase = resolveCandidatePool(options.candidatePool, preferences.max_papers);
116
+ const candidatePool = runProfile === "strict"
117
+ ? Math.max(candidatePoolBase, Math.min(40, Math.max(20, preferences.max_papers * 4)))
118
+ : candidatePoolBase;
79
119
  const scoreWeights = options.scoreWeights ?? DEFAULT_SCORE_WEIGHTS;
80
120
  const scoreWeightsText = formatScoreWeights(scoreWeights);
81
121
  const preparePayload = JSON.stringify({
@@ -85,264 +125,144 @@ export function buildScheduledTaskMessage(options, scheduleKind, scopeKey) {
85
125
  ...(projectId ? { project_id: projectId } : {}),
86
126
  preferences,
87
127
  });
88
- const recordPaperTemplate = [
89
- {
90
- id: "arxiv:2501.12345",
91
- title: "Paper title",
92
- url: "https://arxiv.org/abs/2501.12345",
93
- score: 92,
94
- reason: "High topical relevance and strong authority.",
95
- },
96
- {
97
- id: "doi:10.1000/xyz123",
98
- title: "Paper title 2",
99
- url: "https://doi.org/10.1000/xyz123",
100
- score: 88,
101
- reason: "Novel method with clear practical impact.",
102
- },
103
- ];
104
- const knowledgeStateTemplate = {
105
- core_papers: [
106
- {
107
- id: "arxiv:2501.12345",
108
- title: "Paper title",
109
- url: "https://arxiv.org/abs/2501.12345",
110
- source: "arxiv",
111
- score: 92,
112
- reason: "High topical relevance and strong authority.",
113
- summary: "One-line core takeaway.",
114
- evidence_ids: ["arxiv:2501.12345"],
115
- full_text_read: true,
116
- read_status: "fulltext",
117
- full_text_source: "arxiv_pdf",
118
- full_text_ref: "https://arxiv.org/pdf/2501.12345.pdf",
119
- domain: "machine learning",
120
- subdomains: ["parameter-efficient fine-tuning", "large language models"],
121
- cross_domain_links: ["systems optimization"],
122
- research_goal: "Improve adaptation quality while keeping trainable parameters very small.",
123
- approach: "Introduce low-rank adapters and train only adapter matrices.",
124
- methodology_design: "Compare with full fine-tuning across multiple model scales/tasks.",
125
- key_contributions: ["Low-rank adaptation module design", "Parameter/memory efficiency evidence"],
126
- practical_insights: ["Rank choice strongly affects stability and quality tradeoff"],
127
- must_understand_points: ["Why low-rank decomposition works in adaptation layers"],
128
- limitations: ["Task-specific rank sensitivity"],
129
- key_evidence_spans: ["Eq.(3) shows ...", "Section 4 reports ..."],
130
- evidence_anchors: [
131
- {
132
- section: "Method",
133
- locator: "Eq.(3)",
134
- claim: "Low-rank decomposition reduces trainable parameters drastically.",
135
- quote: "W = W0 + BA where rank(B,A) << d",
136
- },
137
- ],
138
- },
139
- ],
140
- exploration_papers: [
141
- {
142
- id: "doi:10.1000/xyz123",
143
- title: "Paper title 2",
144
- url: "https://doi.org/10.1000/xyz123",
145
- source: "openalex",
146
- score: 88,
147
- reason: "Novel method with clear practical impact.",
148
- full_text_read: false,
149
- read_status: "metadata",
150
- unread_reason: "Full text not accessible in this run.",
151
- },
152
- ],
153
- exploration_trace: [
154
- {
155
- query: "P2D battery model physics-informed agent",
156
- source: "arxiv",
157
- candidates: 20,
158
- filtered_to: 3,
159
- filtered_out_reasons: ["off-topic", "weak authority"],
160
- result_count: 3,
161
- },
162
- ],
163
- knowledge_changes: [
164
- {
165
- type: "NEW",
166
- statement: "New method/insight discovered in this run.",
167
- evidence_ids: ["arxiv:2501.12345"],
168
- topic: "example-topic",
169
- },
170
- ],
171
- knowledge_updates: [
172
- {
173
- topic: "example-topic",
174
- op: "append",
175
- content: "Update knowledge base with this run's key finding.",
176
- confidence: "medium",
177
- evidence_ids: ["arxiv:2501.12345"],
178
- },
179
- ],
180
- hypotheses: [
181
- {
182
- statement: "Potential hypothesis triggered by current changes.",
183
- trigger: "TREND",
184
- dependency_path: ["Prior unresolved question", "New supporting evidence"],
185
- novelty: 3.5,
186
- feasibility: 3.2,
187
- impact: 4.1,
188
- evidence_ids: ["arxiv:2501.12345"],
189
- validation_status: "unchecked",
190
- validation_notes: "Optional: run openreview_lookup or additional search before promotion.",
191
- validation_evidence: [],
192
- },
193
- ],
194
- run_log: {
195
- model: "model-name",
196
- duration_ms: 1200,
197
- required_core_papers: preferences.max_papers,
128
+ const strictRunLogTemplate = runProfile === "strict"
129
+ ? {
130
+ required_core_papers: Math.max(1, Math.min(preferences.max_papers, 3)),
198
131
  required_full_text_coverage_pct: 80,
199
- temp_full_text_dir: "/tmp/scientify-fulltext/run-123",
200
- temp_files_downloaded: 3,
201
- temp_cleanup_status: "done",
202
- full_text_attempted: 3,
203
- full_text_completed: 2,
204
- notes: "short run note",
205
- },
206
- };
132
+ }
133
+ : {};
207
134
  const recordTemplate = JSON.stringify({
208
135
  action: "record",
209
136
  scope: scopeKey,
210
137
  topic: effectiveTopic,
211
138
  ...(projectId ? { project_id: projectId } : {}),
212
- run_id: "run-20260309T103000Z",
139
+ run_profile: runProfile,
140
+ run_id: "run-<unique-id>",
213
141
  status: "ok",
214
- papers: recordPaperTemplate,
215
- knowledge_state: knowledgeStateTemplate,
142
+ papers: [{ id: "arxiv:2501.12345", title: "Paper title", url: "https://arxiv.org/abs/2501.12345" }],
143
+ knowledge_state: {
144
+ core_papers: [
145
+ {
146
+ id: "arxiv:2501.12345",
147
+ title: "Paper title",
148
+ url: "https://arxiv.org/abs/2501.12345",
149
+ full_text_read: true,
150
+ domain: "machine learning",
151
+ subdomains: ["parameter-efficient fine-tuning"],
152
+ research_goal: "one-sentence goal",
153
+ approach: "one-sentence approach",
154
+ methodology_design: "one-sentence method setup",
155
+ key_contributions: ["contribution 1", "contribution 2"],
156
+ practical_insights: ["insight 1"],
157
+ must_understand_points: ["must-understand 1"],
158
+ limitations: ["limitation 1"],
159
+ evidence_anchors: [
160
+ {
161
+ section: "Method",
162
+ locator: "Eq.(3)",
163
+ claim: "key claim",
164
+ quote: "short quote from paper",
165
+ },
166
+ ],
167
+ },
168
+ ],
169
+ knowledge_changes: [{ type: "NEW", statement: "one concrete change", evidence_ids: ["arxiv:2501.12345"] }],
170
+ run_log: { run_profile: runProfile, notes: "short run note", ...strictRunLogTemplate },
171
+ },
216
172
  });
217
- const recordFallbackTemplate = JSON.stringify({
173
+ const recordDegradedTemplate = JSON.stringify({
218
174
  action: "record",
219
175
  scope: scopeKey,
220
176
  topic: effectiveTopic,
221
177
  ...(projectId ? { project_id: projectId } : {}),
222
- run_id: "run-20260309T103000Z-fallback",
223
- status: "fallback_representative",
224
- papers: recordPaperTemplate,
178
+ run_profile: runProfile,
179
+ run_id: "run-<unique-id>-degraded",
180
+ status: "degraded_quality",
181
+ papers: [{ id: "arxiv:2501.12345", title: "Paper title", url: "https://arxiv.org/abs/2501.12345" }],
225
182
  knowledge_state: {
226
- ...knowledgeStateTemplate,
227
- run_log: {
228
- model: "model-name",
229
- duration_ms: 1300,
230
- degraded: true,
231
- required_core_papers: preferences.max_papers,
232
- required_full_text_coverage_pct: 80,
233
- temp_full_text_dir: "/tmp/scientify-fulltext/run-123",
234
- temp_files_downloaded: 1,
235
- temp_cleanup_status: "done",
236
- full_text_attempted: 1,
237
- full_text_completed: 0,
238
- notes: "Fallback pass was used because incremental pass had no unseen papers.",
239
- },
183
+ run_log: { run_profile: runProfile, degraded: true, notes: "quality not fully met in this run", ...strictRunLogTemplate },
240
184
  },
241
- note: "No unseen papers this cycle; delivered best representative papers instead.",
185
+ note: "selected papers persisted with degraded quality",
242
186
  });
243
187
  const recordEmptyTemplate = JSON.stringify({
244
188
  action: "record",
245
189
  scope: scopeKey,
246
190
  topic: effectiveTopic,
247
191
  ...(projectId ? { project_id: projectId } : {}),
192
+ run_profile: runProfile,
248
193
  run_id: "run-20260309T103000Z-empty",
249
194
  status: "empty",
250
195
  papers: [],
251
196
  knowledge_state: {
252
- core_papers: [],
253
- exploration_papers: [],
254
- exploration_trace: [],
255
- knowledge_changes: [],
256
- knowledge_updates: [],
257
- hypotheses: [],
258
- run_log: {
259
- model: "model-name",
260
- required_core_papers: preferences.max_papers,
261
- required_full_text_coverage_pct: 80,
262
- temp_cleanup_status: "not_needed",
263
- notes: "No suitable paper found in this cycle.",
264
- },
197
+ run_log: { run_profile: runProfile, notes: "No suitable paper found in this cycle.", ...strictRunLogTemplate },
265
198
  },
266
199
  note: "No suitable paper found in incremental pass and fallback representative pass.",
267
200
  });
201
+ const variantHintLine = variantKeywords.length > 0 ? `- Expansion keywords: ${variantKeywords.join(", ")}` : "- Expansion keywords: (none)";
268
202
  if (scheduleKind === "at") {
269
203
  return [
270
204
  `/research-pipeline Run a focused literature study on \"${effectiveTopic}\" and return up to ${preferences.max_papers} high-value representative papers.`,
271
205
  "",
272
- "Mandatory workflow:",
273
- "0) Truthfulness contract: do not claim background progress unless a real async handle exists. If you did not create a cron job/task id, this run must finish in this turn.",
274
- "0.1) This run already has an async handle (cron). Do not call `scientify_cron_job` again from inside this run, and do not create nested `run_now` jobs.",
275
- `1) Call tool \`scientify_literature_state\` with: ${preparePayload}`,
276
- "1.1) `no_deliver` only controls delivery. You still must call `scientify_literature_state.record` for persistence.",
277
- "1.2) Reuse the exact `scope` and `topic` returned by `prepare` in `record` and `status`. Do not replace scope with project id.",
278
- "2) Read `memory_hints` from prepare result. Treat preferred keywords/sources as positive ranking priors, and avoided ones as negative priors.",
279
- `3) Build a candidate pool of around ${candidatePool} papers when possible, matching returned preferences (sources/recency).`,
280
- `4) Score each candidate with weighted dimensions (${scoreWeightsText}). Each dimension is 0-100, then compute weighted average score.`,
281
- `5) Apply memory prior adjustment to the score (up-rank preferred keyword/source matches; down-rank avoided matches).`,
282
- `6) Select top ${preferences.max_papers} papers.`,
283
- "7) Create a temporary local directory for full text (for example `/tmp/scientify-fulltext/<run-id>`). Download full text for selected core papers when possible (arXiv PDF/source first, then DOI OA PDF if available).",
284
- "8) Read full text with `paper_browser` in sections (method, experiments, limitations). Extract structured fields per paper: `domain`, `subdomains`, `cross_domain_links`, `research_goal`, `approach`, `methodology_design`, `key_contributions`, `practical_insights`, `must_understand_points`, `limitations`, and `evidence_anchors`.",
285
- "9) For papers without full text, explicitly set `full_text_read=false` and provide `unread_reason`.",
286
- "9.1) Set a unique `run_id` for this cycle (cron run id preferred; otherwise generate a timestamp-based id). Reusing the same run_id can cause idempotent no-op writes.",
287
- `10) Call \`scientify_literature_state\` to persist selected papers and knowledge_state details using this JSON shape: ${recordTemplate}`,
288
- "11) `knowledge_state.core_papers` must include all selected papers with id/title/url/score/reason and structured reading fields (not placeholders).",
289
- "12) `knowledge_state.knowledge_changes` and `knowledge_state.knowledge_updates` must reflect this run's actual findings and include `evidence_ids` whenever available.",
290
- "13) Quality targets must be met: core full-text coverage >= 80%, evidence-binding rate >= 90% (key conclusions backed by section+locator+quote), citation error rate < 2%.",
291
- "14) Without sufficient full-text evidence, do not keep high-confidence conclusions; downgrade confidence explicitly.",
292
- "15) If `knowledge_changes` contains BRIDGE (or REVISE+CONFIRM contradiction signals), run at least one reflection query immediately and write it into `knowledge_state.exploration_trace` with query/reason/source/candidates/filtered_to.",
293
- "15.1) Do not emit BRIDGE without grounded evidence_ids linked to this run's papers; at least one bridge evidence should be full-text-backed.",
294
- "16) For hypotheses, use research-grade gate: at least 2 `evidence_ids`, dependency_path length >= 2, and include novelty+feasibility+impact scores. Evidence should be resolved and preferably full-text-backed.",
295
- "16.1) If user provided hard constraints (for example exact/min core paper count), set `run_log.required_core_papers` accordingly and do not return status `ok` unless the requirement is met.",
296
- "17) If a hypothesis is high-impact, optionally run `openreview_lookup` or additional literature search and fill `validation_status`/`validation_notes`/`validation_evidence`.",
297
- "18) After recording state, clean temporary full-text files. Put cleanup outcome in `run_log.temp_cleanup_status` (`done|partial|failed|not_needed`) and optional `temp_cleanup_note`.",
298
- "19) Keep `run_log.notes` factual (candidate count, filtering reason, reflection action, fallback/no-fallback).",
299
- "20) In user-facing output, always include a numbered paper list with title + direct source URL + one-line value. Never claim papers were selected without listing links.",
300
- "21) Do not display raw score/reason unless explicitly requested.",
301
- "22) If nothing suitable is found, still call record with empty papers using:",
206
+ "Workflow (simple, Markdown-first):",
207
+ "1) Complete 5 steps in this turn: retrieve -> filter -> read -> save metadata -> update knowledge/hypothesis.",
208
+ "2) First call prepare:",
209
+ `${preparePayload}`,
210
+ `3) Build candidate pool around ${candidatePool}; select up to ${preferences.max_papers} credible papers.`,
211
+ ` - Retrieval topic (normalized): ${retrievalTopic}`,
212
+ ` ${variantHintLine}`,
213
+ " - Filter policy: semantic relevance, not exact string match; include important variants and aliases.",
214
+ " - If core candidates < 3, relax filters and rerun with broader query terms before declaring empty.",
215
+ `4) Reading policy: ${runProfile === "strict" ? "full-text required by default (strict)." : "metadata-only allowed (explicit opt-out detected)."}`,
216
+ " - Never drop a relevant paper only because full text failed; keep it with full_text_read=false and unread_reason.",
217
+ "5) User-facing answer MUST be concise Markdown:",
218
+ " - Selected papers (numbered, title + URL + one-line value)",
219
+ " - Read status (fulltext vs metadata)",
220
+ " - For each selected paper: domain/subdomains + goal + approach + methodology + contributions + insights + limitations",
221
+ " - Knowledge updates (NEW/CONFIRM/REVISE/BRIDGE)",
222
+ " - Hypothesis decision (generated or not + reason)",
223
+ " - If trigger signals are present (e.g. NEW>=2, or NEW+REVISE>=2, or BRIDGE present), propose 1 grounded hypothesis with >=2 evidence_ids and dependency_path>=2",
224
+ "6) Persist once via `scientify_literature_state.record` using MINIMAL JSON only:",
225
+ `${recordTemplate}`,
226
+ "7) If papers exist but quality is partial, persist `degraded_quality` (do not skip record):",
227
+ `${recordDegradedTemplate}`,
228
+ "8) Use `empty` only when no paper is selected after both primary and broadened fallback retrieval:",
302
229
  `${recordEmptyTemplate}`,
303
- "Then respond: `No new literature found.`",
304
- "23) After `record`, call `scientify_literature_state.status` once and include `run_id`/`latest_run_id` in your response for verifiable traceability.",
230
+ "9) After record, call status and include `run_id`/`latest_run_id`.",
231
+ "Never write placeholders like 'not provided'/'N/A' in core_papers fields. If unavailable, omit the field or set unread_reason.",
232
+ "Do not output large JSON to users; JSON is for tool call only.",
305
233
  ].join("\n");
306
234
  }
307
235
  return [
308
236
  `/research-pipeline Run an incremental literature check focused on \"${effectiveTopic}\".`,
309
237
  "",
310
- "Mandatory workflow:",
311
- "0) Truthfulness contract: do not claim background progress unless a real async handle exists. If you did not create a cron job/task id, this run must finish in this turn.",
312
- "0.1) This run already has an async handle (cron). Do not call `scientify_cron_job` again from inside this run, and do not create nested `run_now` jobs.",
313
- `1) Call tool \`scientify_literature_state\` with: ${preparePayload}`,
314
- "1.1) `no_deliver` only controls delivery. You still must call `scientify_literature_state.record` for persistence.",
315
- "1.2) Reuse the exact `scope` and `topic` returned by `prepare` in `record` and `status`. Do not replace scope with project id.",
316
- "2) Read `memory_hints` from prepare result. Use them as quiet personalization priors in ranking (not user-facing).",
317
- "3) Treat `exclude_paper_ids` as hard dedupe constraints. Do not push papers whose IDs are already in that list.",
318
- `4) Incremental pass: build a candidate pool of around ${candidatePool} unseen papers when possible, following preferences (sources/recency).`,
319
- `5) Score each candidate with weighted dimensions (${scoreWeightsText}). Each dimension is 0-100, then compute weighted average score.`,
320
- "6) Apply memory prior adjustment to the score (up-rank preferred keyword/source matches; down-rank avoided matches).",
321
- `7) Select at most ${preferences.max_papers} top-ranked unseen papers.`,
322
- "8) Create a temporary local directory for full text (for example `/tmp/scientify-fulltext/<run-id>`). Download full text for selected core papers when possible (arXiv first, then DOI OA if available).",
323
- "9) Read full text with `paper_browser` and fill structured paper fields: `domain`, `subdomains`, `cross_domain_links`, `research_goal`, `approach`, `methodology_design`, `key_contributions`, `practical_insights`, `must_understand_points`, `limitations`, and `evidence_anchors`.",
324
- "10) If full text cannot be read, set `full_text_read=false` with explicit `unread_reason`.",
325
- "10.1) Set a unique `run_id` for this cycle (cron run id preferred; otherwise generate a timestamp-based id). Reusing the same run_id can cause idempotent no-op writes.",
326
- `11) If selected > 0, call \`scientify_literature_state\` with status \`ok\` using: ${recordTemplate}`,
327
- "12) `knowledge_state.core_papers` must contain all selected papers with id/title/url/score/reason and structured reading fields; `exploration_trace` should include query/source/candidates/filtered_to/filter reasons when available.",
328
- "13) `knowledge_state.knowledge_changes` and `knowledge_state.hypotheses` should include evidence_ids (and dependency_path for hypotheses) whenever available, preferably from full-text-read papers.",
329
- "14) Quality targets must be met: core full-text coverage >= 80%, evidence-binding rate >= 90% (key conclusions backed by section+locator+quote), citation error rate < 2%.",
330
- "15) Without sufficient full-text evidence, do not keep high-confidence conclusions; downgrade confidence explicitly.",
331
- "16) If `knowledge_changes` contains BRIDGE (or REVISE+CONFIRM contradiction signals), run at least one reflection query immediately and write it into `knowledge_state.exploration_trace` with query/reason/source/candidates/filtered_to.",
332
- "16.1) Do not emit BRIDGE without grounded evidence_ids linked to this run's papers; at least one bridge evidence should be full-text-backed.",
333
- "17) Research-grade hypothesis gate: each hypothesis should have >=2 evidence_ids, dependency_path length >=2, novelty+feasibility+impact scores, and evidence linked to this run's papers (full-text-backed when possible).",
334
- "17.1) If user provided hard constraints (for example exact/min core paper count), set `run_log.required_core_papers` accordingly and do not return status `ok` unless the requirement is met.",
335
- "18) For top hypotheses, optionally validate risk via `openreview_lookup` and fill `validation_status`/`validation_notes`/`validation_evidence`.",
336
- "19) If incremental selection is empty, run one fallback representative pass (ignore `exclude_paper_ids` once) and select best representative papers.",
337
- `20) If fallback returns papers, call \`scientify_literature_state\` with status \`fallback_representative\` using: ${recordFallbackTemplate}`,
338
- "21) After recording state, clean temporary full-text files and set `run_log.temp_cleanup_status` accordingly (`done|partial|failed|not_needed`).",
339
- "22) If papers are selected (incremental or fallback), output a numbered list with title + direct source URL + one-line value for each pushed paper.",
340
- "23) Output a compact progress report for this cycle: what changed, what matters, and a concrete plan for the next 1 hour.",
341
- "24) Keep user-facing output concise; do not expose raw score/reason unless explicitly requested.",
342
- "25) If both incremental and fallback passes are empty, call record with empty papers using:",
238
+ "Workflow (simple, Markdown-first):",
239
+ "1) Complete 5 steps in this turn: retrieve -> filter -> read -> save metadata -> update knowledge/hypothesis.",
240
+ "2) First call prepare:",
241
+ `${preparePayload}`,
242
+ `3) Build candidate pool around ${candidatePool}; select up to ${preferences.max_papers} credible unseen papers.`,
243
+ `4) Rank with weights (${scoreWeightsText}), while respecting memory hints and dedupe.`,
244
+ ` - Retrieval topic (normalized): ${retrievalTopic}`,
245
+ ` ${variantHintLine}`,
246
+ " - Filter policy: semantic relevance, not exact string match; include major method variants.",
247
+ " - If selected core papers < 3, broaden query and rerun once before returning empty.",
248
+ `5) Reading policy: ${runProfile === "strict" ? "full-text required by default (strict)." : "metadata-only allowed (explicit opt-out detected)."}`,
249
+ " - Never drop a relevant paper only because full text failed; keep it with full_text_read=false and unread_reason.",
250
+ "6) User-facing answer MUST be concise Markdown:",
251
+ " - Selected papers (numbered, title + URL + one-line value)",
252
+ " - Read status (fulltext vs metadata)",
253
+ " - For each selected paper: domain/subdomains + goal + approach + methodology + contributions + insights + limitations",
254
+ " - Knowledge updates (NEW/CONFIRM/REVISE/BRIDGE)",
255
+ " - Hypothesis decision (generated or not + reason)",
256
+ " - If trigger signals are present (e.g. NEW>=2, or NEW+REVISE>=2, or BRIDGE present), propose 1 grounded hypothesis with >=2 evidence_ids and dependency_path>=2",
257
+ "7) Persist once via `scientify_literature_state.record` using MINIMAL JSON only:",
258
+ `${recordTemplate}`,
259
+ "8) If papers exist but quality is partial, persist `degraded_quality` (do not skip record):",
260
+ `${recordDegradedTemplate}`,
261
+ "9) If both incremental and broadened fallback passes are empty, persist empty:",
343
262
  `${recordEmptyTemplate}`,
344
- "26) Then still return a useful progress status with next-hour actions (instead of only a generic reminder).",
345
- "27) After `record`, call `scientify_literature_state.status` and include `run_id`/`latest_run_id` in your response for verifiable traceability.",
263
+ "10) After record, call status and include `run_id`/`latest_run_id` for traceability.",
264
+ "Never write placeholders like 'not provided'/'N/A' in core_papers fields. If unavailable, omit the field or set unread_reason.",
265
+ "Do not output large JSON to users; JSON is for tool call only.",
346
266
  ].join("\n");
347
267
  }
348
268
  export function formatUsage() {
@@ -364,6 +284,7 @@ export function formatUsage() {
364
284
  "- `/research-subscribe daily 08:00 --topic \"LLM alignment\"`",
365
285
  "- `/research-subscribe daily 08:00 --topic \"LLM alignment\" --max-papers 5 --sources arxiv,openalex`",
366
286
  "- `/research-subscribe daily 08:00 --topic \"LLM alignment\" --candidate-pool 12 --score-weights relevance:45,novelty:20,authority:25,actionability:10`",
287
+ "- `/research-subscribe daily 08:00 --topic \"LLM alignment\" --metadata-only`",
367
288
  "- `/research-subscribe at 1m --message \"Time to drink coffee.\"`",
368
289
  "- `/research-subscribe daily 09:00 --no-deliver`",
369
290
  ].join("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/research-subscriptions/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/research-subscriptions/prompt.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,7 @@ export type SubscriptionOptions = {
54
54
  channelOverride?: string;
55
55
  toOverride?: string;
56
56
  projectId?: string;
57
+ metadataOnly?: boolean;
57
58
  noDeliver: boolean;
58
59
  topic?: string;
59
60
  message?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/research-subscriptions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE5D,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/research-subscriptions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE5D,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/templates/bootstrap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA6C7D;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAexD;AAED,wBAAgB,cAAc,IAAI,MAAM,CAqFvC"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/templates/bootstrap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAkC7D;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAexD;AAED,wBAAgB,cAAc,IAAI,MAAM,CAmFvC"}