@tiagojct/subsub 0.13.1 → 0.14.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  Sub-Sub follows the version numbers of npm: a change in the second number (0.13) adds features or changes how you use it; a change in the third (0.13.1) only fixes.
4
4
 
5
+ ## 0.14.0 (2026-10-08)
6
+
7
+ For students:
8
+
9
+ - `/lit` works in the Reader profile. It gives a reading list: the same search, screening and screening log, then the works to read, the order to read them in, what each one studies and questions to read it with. It states no results or conclusions.
10
+ - The site has a page for students, in English and in European Portuguese: what Sub-Sub does and does not do, how to start for free, what it costs, and the words you will meet.
11
+ - The Models page starts with which model to choose and what it costs. The Install page explains the install command. The About page says what you keep if Sub-Sub stops.
12
+
5
13
  ## 0.13.1 (2026-10-07)
6
14
 
7
15
  - A change that would change nothing (for example, citekeys for items that already have one) is no longer offered for approval. Sub-Sub says why instead.
package/dist/profiles.js CHANGED
@@ -4,7 +4,8 @@
4
4
  * Scholar. A profile is the user's own choice (/profile changes it), not a lock.
5
5
  *
6
6
  * - reader: explains each step; reading notes are quotes with page numbers and
7
- * questions; no summaries or syntheses; no bulk library changes.
7
+ * questions; no summaries or syntheses; /lit gives a reading list;
8
+ * no bulk library changes.
8
9
  * - scholar: literature notes, syntheses, searches, alerts; all library changes.
9
10
  * - author: scholar plus manuscript work: citation check, bibliography, comments
10
11
  * on the argument. Does not write the manuscript's paragraphs.
@@ -16,15 +17,16 @@ export const PROFILE_SPECS = {
16
17
  reader: {
17
18
  name: "reader",
18
19
  label: "Reader",
19
- summary: "explains each step; reading notes are quotes and questions; no summaries; no bulk library changes",
20
+ summary: "explains each step; reading notes are quotes and questions; /lit gives a reading list; no summaries; no bulk library changes",
20
21
  without: [...BULK_LIBRARY, ...MANUSCRIPT],
21
- withoutPrompts: ["lit", "compare", "review", "digest"],
22
+ withoutPrompts: ["compare", "review", "digest"],
22
23
  batch: 10,
23
24
  rules: [
24
25
  "Profile: Reader. {{User}} is learning to work with the literature and wants to do the reading and the writing.",
25
26
  "- Before each step, say in one or two lines what you will do and why.",
26
27
  "- A literature note is a reading note: the full reference, then direct quotes with page numbers (or section names), and under each quote one question for {{user}} to answer. Do not write summaries, syntheses, conclusions or paragraphs that {{user}} could hand in as their own text. When a prompt or the shared rules ask for a literature note or a synthesis, make a reading note instead and say so.",
27
28
  "- For searches, list works with one line each on what they study, not on what they conclude.",
29
+ "- /lit gives a reading list, not a review: plan, search, screen and read as the prompt says, then write the note in the Reader form that the prompt gives (no answer, no agreement or disagreement, no conclusions).",
28
30
  "- If {{user}} asks for a summary, a synthesis or text for an assignment, say that the Reader profile does not write these, and offer quotes and questions. {{User}} can change the profile with /profile.",
29
31
  "- Tag review notes: at most 10 items. Explain each proposed tag in the Reason column.",
30
32
  ].join("\n"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tiagojct/subsub",
3
- "version": "0.13.1",
3
+ "version": "0.14.0",
4
4
  "description": "Sub-Sub: a research assistant that works from your own Zotero library, in the browser or the terminal, built on pi",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/prompts/lit.md CHANGED
@@ -84,4 +84,25 @@ reference_check: "<path of the Starbuck report, or none>"
84
84
 
85
85
  If a step fails (a service does not answer, a full text cannot be read), do not stop. Finish the note, mark the step "BLOCKED: <what failed>", and set verification: BLOCKED.
86
86
 
87
+ ## In the Reader profile: a reading list
88
+
89
+ When the profile is Reader, do sections 1, 2, 4 and 5 as written, but do not synthesise (skip section 3). Write the note with `type: reading-list` and this body in place of Answer, Agreement, Disagreement and Open questions:
90
+
91
+ ```markdown
92
+ ## How to read this list
93
+ (two or three lines: the order to read the works in, and why; for example the systematic review first, then the trials)
94
+
95
+ ## Reading list
96
+ | # | Source | Design | Population | What it studies | Read | In library |
97
+ |---|---|---|---|---|---|---|
98
+
99
+ ## Questions to read with
100
+ (for each work, one or two questions that the user answers while reading, such as "How was asthma control measured, and when?")
101
+
102
+ ## Methods
103
+ ## Sources
104
+ ```
105
+
106
+ "What it studies" says what the work asks and how, never what it found. Do not state results, effect sizes or conclusions anywhere in the note. Then give the user the path, the first work to read and why, and the works worth adding to the library.
107
+
87
108
  Before you answer, read the note back to confirm that it exists. Then give the user the path, the answer in three lines, and the works worth adding to the library (offer to import them).
package/src/profiles.ts CHANGED
@@ -4,7 +4,8 @@
4
4
  * Scholar. A profile is the user's own choice (/profile changes it), not a lock.
5
5
  *
6
6
  * - reader: explains each step; reading notes are quotes with page numbers and
7
- * questions; no summaries or syntheses; no bulk library changes.
7
+ * questions; no summaries or syntheses; /lit gives a reading list;
8
+ * no bulk library changes.
8
9
  * - scholar: literature notes, syntheses, searches, alerts; all library changes.
9
10
  * - author: scholar plus manuscript work: citation check, bibliography, comments
10
11
  * on the argument. Does not write the manuscript's paragraphs.
@@ -36,15 +37,16 @@ export const PROFILE_SPECS: Record<Profile, ProfileSpec> = {
36
37
  reader: {
37
38
  name: "reader",
38
39
  label: "Reader",
39
- summary: "explains each step; reading notes are quotes and questions; no summaries; no bulk library changes",
40
+ summary: "explains each step; reading notes are quotes and questions; /lit gives a reading list; no summaries; no bulk library changes",
40
41
  without: [...BULK_LIBRARY, ...MANUSCRIPT],
41
- withoutPrompts: ["lit", "compare", "review", "digest"],
42
+ withoutPrompts: ["compare", "review", "digest"],
42
43
  batch: 10,
43
44
  rules: [
44
45
  "Profile: Reader. {{User}} is learning to work with the literature and wants to do the reading and the writing.",
45
46
  "- Before each step, say in one or two lines what you will do and why.",
46
47
  "- A literature note is a reading note: the full reference, then direct quotes with page numbers (or section names), and under each quote one question for {{user}} to answer. Do not write summaries, syntheses, conclusions or paragraphs that {{user}} could hand in as their own text. When a prompt or the shared rules ask for a literature note or a synthesis, make a reading note instead and say so.",
47
48
  "- For searches, list works with one line each on what they study, not on what they conclude.",
49
+ "- /lit gives a reading list, not a review: plan, search, screen and read as the prompt says, then write the note in the Reader form that the prompt gives (no answer, no agreement or disagreement, no conclusions).",
48
50
  "- If {{user}} asks for a summary, a synthesis or text for an assignment, say that the Reader profile does not write these, and offer quotes and questions. {{User}} can change the profile with /profile.",
49
51
  "- Tag review notes: at most 10 items. Explain each proposed tag in the Reason column.",
50
52
  ].join("\n"),
package/web/i18n.js CHANGED
@@ -260,7 +260,7 @@ export const STRINGS = {
260
260
  */
261
261
  export const ACTIONS = {
262
262
  research: [
263
- { cmd: "lit", fill: true, profiles: ["scholar", "author", "editor"], en: "Literature review", pt: "Revisão da literatura" },
263
+ { cmd: "lit", fill: true, en: "Literature review", pt: "Revisão da literatura" },
264
264
  { cmd: "compare", fill: true, profiles: ["scholar", "author", "editor"], en: "Compare sources", pt: "Comparar fontes" },
265
265
  { cmd: "lit-note", fill: true, en: "Literature note", pt: "Nota de leitura" },
266
266
  { cmd: "synthesis", fill: true, en: "Synthesis", pt: "Síntese" },