strom-research 1.4.0 → 1.4.1

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.
@@ -1,5 +1,12 @@
1
1
  # Method: reading scans
2
2
 
3
+ **Old handwriting is read by your strongest model** — you, or a subagent or
4
+ reader on that same model; never a faster, cheaper or "quick" pass. A misread
5
+ name sends the research to the wrong village. **A name or place the next
6
+ search depends on** (a surname, a birthplace, a parish) is read again on a
7
+ crop at full resolution before it is recorded; what stays unsure is recorded
8
+ as unsure and said so.
9
+
3
10
  An image you open stays in your context and is paid for again on every turn.
4
11
  Look at as few pixels as the question needs, and write down what you saw at once.
5
12
 
@@ -22,7 +29,7 @@ Look at as few pixels as the question needs, and write down what you saw at once
22
29
  It waits for its readers (often ten minutes or more): run it in the
23
30
  foreground and let it finish — your session ends with your turn, and
24
31
  whatever is left running in the background ends with it.
25
- (Your own subagents can read too, in batches of at most twelve — but what they
32
+ (Your own subagents can read too — on your own model, never a faster one — in batches of at most twelve — but what they
26
33
  report is lost with your session unless you write it down: record each
27
34
  report as it comes back, before you send the next readers.) Only the entries
28
35
  that will be cited need your own eyes, at full resolution.
@@ -26,7 +26,10 @@ the researcher; \`strom\` is your only way to read and change the research.
26
26
  1. Start with \`strom\` — it says where things stand and what to do next.
27
27
  \`strom guide\` explains the work; \`strom help <command>\` any command.
28
28
  2. Work in sessions: \`strom session start\` gives you the brief for the next
29
- task; finish with \`strom session close --summary "…" --next "…"\`.
29
+ task; finish with \`strom session close --summary "…" --next "…"\`. The
30
+ next step is strom's queue (\`strom\` names it, \`strom plan\` lists it):
31
+ what the user wants instead becomes a task first — never search outside a
32
+ session and its task.
30
33
  3. Never create, edit or delete anything in \`data/\`, \`strom.json\` or \`.git\`,
31
34
  never read the files in \`data/\` (strom shows them better and shorter), and
32
35
  never run git yourself. strom detects changes and then refuses to write.
@@ -26,8 +26,10 @@ registers, archives, evidence, a family tree the Strom app can import.
26
26
  Use it whenever the user wants to research their ancestors or family, or
27
27
  mentions strom, a family tree or the Strom app.
28
28
 
29
- 1. Run \`strom\` first. It says where the research stands and what to do next
30
- (\`strom --json\` for the same as data; \`strom guide\` explains the work).
29
+ 1. Run \`strom\` first, and before each step: it says where the research
30
+ stands and what to do next (\`strom --json\` for the same as data). Read
31
+ \`strom guide\` before the first step — the rules and the way to work —
32
+ and work only in strom's sessions on its tasks.
31
33
  Run each strom command on its own — no pipes, no \`;\` or \`&&\` chains: you
32
34
  may run strom without asking, but not what is chained to it.
33
35
  2. Not set up yet: ask the user where to keep the research (suggest
@@ -47,10 +49,13 @@ mentions strom, a family tree or the Strom app.
47
49
  6. When strom needs the user's consent it opens a window on their screen —
48
50
  tell them to answer it; you cannot. Exit code 4 means the user must run
49
51
  the given command themselves.
50
- 7. Scans come through strom. An archive the research needs has no
52
+ 7. Old handwriting is read by your strongest model — never a faster or
53
+ cheaper model, subagent or pass; a name or place the next search depends
54
+ on is read again on an enlarged crop before it is recorded.
55
+ 8. Scans come through strom. An archive the research needs has no
51
56
  downloader (connector) yet: build one yourself, unasked
52
57
  (\`strom connector new\`), and tell the user in a sentence.
53
- 8. The Strom app (https://stromapp.info) is strom's companion: a free family
58
+ 9. The Strom app (https://stromapp.info) is strom's companion: a free family
54
59
  tree app, no account, the data stay on the user's computer. The research's
55
60
  result (\`output/tree-strom.ged\`) opens in it. When the user wants to see
56
61
  the tree (or \`strom\` says to offer it — once), suggest it gently — best installed as an app from the browser,
@@ -23,10 +23,14 @@ const DELEGATION_RULES = `- Browsing a book, an index or a range of images ("is
23
23
  /** For agents that cannot pick a model for a subagent (Codex, Antigravity, OpenCode, Grok): read yourself, in small batches. */
24
24
  export const SELF_READING = `## Reading scans (Codex, Antigravity, OpenCode, Grok)
25
25
 
26
- Read the images yourself, in batches of at most ten: open a batch, write down
27
- what it gave (strom search add … for what was not found, facts for what was),
28
- then open the next. Images stay in your context and are paid for on every turn,
29
- so never keep more than one batch open.
26
+ Read the images yourself, with your strongest model — never hand old
27
+ handwriting to a faster or cheaper model, subagent or pass. Read them
28
+ in batches of at most ten: open a batch, write down what it gave (strom
29
+ search add … for what was not found, facts for what was), then open the
30
+ next. Images stay in your context and are paid for on every turn, so never
31
+ keep more than one batch open. A name or place the next search depends on:
32
+ read it again on a crop at full resolution (\`strom media view … --crop\`)
33
+ before you record it.
30
34
  `;
31
35
  export const PROFILES = {
32
36
  claude: {
@@ -32,6 +32,12 @@ HARD RULES
32
32
  the research needs has none yet: build one first (strom connector new,
33
33
  its DISCOVERY.md) and tell the user in a sentence. The user saves images
34
34
  by hand only where the archive does not allow automation.
35
+ 8. Old handwriting is read by your strongest model — you, or a subagent on
36
+ that same model; never a faster, cheaper or "quick" pass. A name or place
37
+ the next search depends on is read again on a crop at full resolution
38
+ (strom media view … --crop) before it is recorded; unsure stays unsure.
39
+ 9. A find is told to the user only once it is recorded (the source with its
40
+ transcript, the facts citing it), and told from strom: strom person card.
35
41
  ${language}
36
42
 
37
43
  GETTING STARTED (once)
@@ -42,14 +48,20 @@ GETTING STARTED (once)
42
48
  strom intake --text "<what the user told you, in their words>"
43
49
  strom intake <file or folder> documents, photos, a GEDCOM or Strom tree
44
50
 
45
- EVERY SESSION
46
- strom session start the brief: task, what is known, method
47
- … work; record every finding at once …
51
+ THE WORK, STEP BY STEP (every agent — also one strom did not start: a
52
+ conversation opened anywhere, a bot on its own server)
53
+ strom where things stand and the next step — run it before each step
54
+ strom session start the next task of the queue (or: strom session start T0003, the one
55
+ the user chose): its brief — the task, what is known, the method
56
+ … work on that task only; record every finding at once …
48
57
  strom task done T0001 --result "…" a complete negative search is a result
49
- strom session close --summary "…" --next "…" (not finished: --continue)
50
- in a conversation, the next task is best begun in a fresh context (Claude Code: /clear) —
51
- suggest it to the user; many tasks waiting: the agent working on its own (strom run, the
52
- user starts it from strom's menu), every task in a fresh session
58
+ strom session close --summary "…" --next "…" (not finished: --continue) — it proposes the next tasks
59
+ then tell the user what was found (strom person card …) and what comes next (strom plan), and ask
60
+ before the next session. The next step is strom's queue: what the user wants instead becomes a
61
+ task first (strom task add …, or strom research new …) — never search outside a session and its task.
62
+ In a conversation the next task is best begun in a fresh context (Claude Code: /clear) — suggest
63
+ it to the user; many tasks waiting: the agent working on its own (strom run, the user starts it
64
+ from strom's menu), every task in a fresh session
53
65
 
54
66
  RECORDING
55
67
  A record (register entry, certificate) — the source first, then its facts:
package/dist/core/tree.js CHANGED
@@ -23,7 +23,7 @@ import * as git from "./git.js";
23
23
  import { commitSeal, createKey, fingerprint, loadKey, sha256, signOp } from "./seal.js";
24
24
  import { stringifyCanonical } from "./json.js";
25
25
  export const TREE_FILE = "strom.json";
26
- export const VERSION = "1.4.0";
26
+ export const VERSION = "1.4.1";
27
27
  const GITIGNORE = `# Strom Research — local state and large files are not versioned
28
28
  .strom/
29
29
  /media/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "strom-research",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "Genealogical research toolkit for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {