How the research sets how certain each fact is, what must hold for a fact to be proven, and how the app shows it. Describes the research 1.25.2 and the Strom app 3.21.2; changes from a later version carry its number. The rules separate what the code enforces (the strom command refuses the entry otherwise) from what is only a rule of the method (an instruction to the agent that the code does not check).
R3.1 Degrees of certainty of a fact
Every fact (birth, baptism, marriage, occupation…) has one of four degrees of certainty. The degree says how certain the conclusion is from all the fact's sources, not how good one source is (R3.2.1).
| App | Terminal | Meaning by the method |
|---|---|---|
| Proven | proven | the agent read the original record itself and the record states the fact directly |
| Probable | probable | good evidence, but indirect, or a single reading of hard handwriting |
| Possible | possible | weak evidence |
| Lead | only a lead | a family story, a family tree, an index or an estimate: something to verify, not a fact |
- Limits: a fact can also be disproven (
--status disproven) or withdrawn (strom event retract E… --reason "…"). Nothing is deleted. A withdrawn fact is shown nowhere and cannot be cited or edited.strom person showshows the names in the user's language to a person only; the agent readsproven,probable,possible,leadthere. - Controls: app: the label at the fact (a person's events, marriage and divorce, a couple's shared events), read-only · terminal:
strom person show,strom person card,strom stats(the line “Facts: proven … · only leads …”); entrystrom event add … --status,strom cite E… S… --status,strom event edit E… --status … --reason "…". - Since: research 1.0.0; names in the user's language in the terminal 1.1.0 (for
strom person show1.12.0); the label in the app 3.9.0 - From research 1.26.0: the terminal names the degrees in the app's words: proven, probable, possible, lead, disproven. The summary
strom statsstill writes “only leads”. - From research 1.30.0:
strom event showandstrom event editprint the fact for a person in the research's language (for example “[lead]”); the agent still gets the output in English.
R3.1.1 The default degree and the citation that raises it
- A fact entered without
--status: with no citation Lead; with a citation of at least one source that is not weak (R3.3), Probable; otherwise Lead. From research 1.28.0 an index is weak too. strom citewithout--statusraises Lead to Probable when the new source is not weak. It changes no other degree.- A change of degree with
strom event edit --statusneeds--reason; a citation with a degree (strom cite … --status) does not. - Enforced by the code. Since: research 1.0.0
R3.2 What the code lets through as Probable and Proven
A degree must not claim more than the fact's citations give. The code checks this at every entry of a degree: event add, cite, event edit, and for facts that come from the app.
- Limits (enforced by the code), in this order:
- Probable and Proven need at least one citation.
- At least one citation must be from a source that is not weak. Weak are a family tree (
--kind family-tree), a memory (--kind family-memory), an authored work (--form authored) and from research 1.28.0 an index (--kind index). - Proven additionally needs, among the citations from sources that are not weak, at least one with primary information (
--information primary): a record written at the time of the event by someone who knew. The information at a citation takes precedence over the information at the source.
- Method only: the code does not check that the source is an original (
--form original), that the agent read it itself, that the record states the fact directly, or a blind second reading (R3.5). Proven therefore also passes for a copy with primary information (for an index too up to research 1.27.0). - Controls: terminal:
strom event add P… BIRT --date "…" --cite S… --information primary --status proven. A refusal gives the reason and what to do instead (leave it a Lead,--status possible, or--status probable). - Since: research 1.0.0
R3.2.1 A source: form and information
strom source add --form original(default) ·derivative(a copy, an index; the default for--kind indexand in a book that is only an index) ·authored(a compiled work).--information primary|secondary|unknown(defaultunknown) applies at a source; at a citation (event add,cite) only for that fact. A record that names the parents (a grandchild's baptism) is secondary information for them (method).- The quality of a citation goes into GEDCOM as QUAY: 3 an original with primary information · 2 an original otherwise, or a copy with primary information · 1 a copy otherwise, or an authored work · 0 a family tree and a memory.
- A change of a source's form, information, kind or transcription (
strom source edit) needs--reason; adding one does not. - App: the Reliability of a source comes into the research as Original = an original with primary information, Copy / index = an original with secondary information, Uncertain = a copy with unknown information.
- Since: research 1.0.0; Reliability from the app research 1.12.0
- From app 3.27.0: the app keeps the reliability at each citation too and writes it into the file for the research as that citation's
QUAY(A2.6.1). The research takes from it only the form and information of a new source (the source's default reliability, otherwise theQUAYof its first citation); theQUAYof a citation the research wrote itself does not change on the way through the app.
R3.3 A source, or a lead
A family tree, a memory, an index, a catalogue and an online tree say where to look. They are not evidence of a fact. A fact from them stays a Lead until a record proves it.
- Enforced by the code: a family tree, a memory, an authored work and an index (
--kind index) are weak sources: a fact only from them is never Probable or Proven (R3.2). A fact that cites only an index stays a Lead until the entry itself is read and cited; with a citation of the entry it is a fact of the entry. A family tree taken over: R11.3. - Limits: for edits from the app an index counts as a record: an edit of a fact backed by an index becomes a conflict (R5.2); nothing is overwritten silently.
- Method only: an index serves only for finding the page; the entry is read in the register. Even an entry missing from an index is only a lead: a similar form of the surname is a candidate.
- Material from the user (a document, a photo, a letter, what the user says): R11.2.
- Since: research 1.0.0
- From research 1.28.0: the code enforces an index as a weak source (formerly method only: with its citation a fact got Probable, and with
--information primaryeven Proven passed).
R3.4 A citation: clip and transcription
A citation says where exactly in a source the fact stands. A source is one entry; several entries on one page are several sources.
- Method only: every entry from a scan gets
--clip(the cut-out in which the agent read it) and--transcript(the words of the entry as they stand, line by line, an unread letter[?]), plus--locator(folio, page, entry number) and, at the fact,--quote. A field (--date,--house,--age, a name) takes only what is read with certainty; what is uncertain goes into the transcription with[?]and into the fact's note. - Method only, from research 1.28.0: an entry in a language or script other than the language of the research (Latin, Kurrent, Polish, Cyrillic…) gets, beside the literal transcription, a translation into the language of the research (
--translation). The transcription stays in the language of the entry. The app shows the translation folded under the transcription (A3.1.1). - Enforced by the code: at most 3 clips per source (the entry and its continuation across a page break). The code does not refuse a missing clip or transcription; it only reminds about it for a source on a scan: after
strom source add, afterstrom source editwith an image or a clip, and atstrom task donefor the sources the task entered. - Older sources:
strom clipsadds the clip,strom transcriptsthe transcription (readers; a second look checks them). - Controls: terminal:
strom source add "…" --clip B…:57@x,y,w,h --transcript @notes/entry.txt --translation @notes/translation.txt --locator "…"; added later withstrom source edit S… --translation "…". The app shows the clip of the entry beside the transcription. - Since: research 1.1.0 (clip,
strom clips,strom transcripts); transcription 1.0.0 - From research 1.26.0: the help of the
--clipoption says “another for each page break, at most 3” (in 1.25.2 “a second”). The rule does not change. - From research 1.31.0: the place of the entry in the book is written by the fields
--folio,--image,--call-number;--locatorholds the rest (R3.4.3).
R3.4.1 Only a person changes a person's transcription
A transcription a person wrote or confirmed is changed by nobody but a person. A different wording from the agent is only proposed to the person. Reading by an AI model is a proposal; certainty comes from a person's verification.
- Enforced by the code:
- a person's transcription is one written by hand in their terminal, or from the app with Transcription verified ticked or with the setting My source transcriptions → Evidence (R3.5.1). What imports, conversions and batches wrote under the person's account is not a person's transcription;
- no agent command changes such a transcription: an edit, a batch, a sync, a fix, an undo, an import or a conversion. Only their terminal and the bridge of the Strom app may write as the person;
- a different wording from the agent (
strom source edit S… --transcript …) is proposed instead: a note at the source and one task for the person per source. It waits in What waits, group Transcripts to decide. No queue offers it; the agent does not take it, close it, park it or start it; - only the person decides:
- Accept the proposal: the proposed wording becomes the transcription and the person's confirmation moves to it;
- Keep the current one: the transcription stays; the proposed wording is rejected and is not proposed again, nor its places;
- Undo (after either): the transcription and the confirmation as before, and the proposal waits again. Undo is refused when the transcription has changed meanwhile or another proposal waits.
- A transcription a person did not confirm: the agent changes it only in a task and only where the record on the scan itself shows it, with a reason. A new reading (R8.8.2) is only a guide: where the scan cannot settle it, the agent writes a note at the source and the transcription stays.
- Method only: the agent closes a task from a new reading by looking at the record on the scan itself, next to both readings.
- Controls: app: source viewer, the block The agent’s proposal for the transcript (Whole text side by side, Accept the proposal, Keep the current one, Undo); for a transcription a person confirmed, after a new reading Set aside for review (R8.8.3). Terminal: What waits → The proposed wording / The transcript as it is;
strom source proposal S… --take proposal|keep|undo. - Why: a person's transcription is their own reading of the record. The project's principle: nothing a person confirmed is overwritten; a new result that differs is a task or a proposal to decide.
- Since: research 1.29.0, app 3.25.0
R3.4.2 Overlapping clips are one
Two clips of the same image that overlap a lot are one entry clipped twice. The research joins them into one.
- Enforced by the code:
- two clips of the same image that overlap by at least 30 % of the smaller one are joined into a rectangle over both, in the place of the first. Repeatedly: three clips in a row are one;
- a clip that lies at least 90 % inside a bigger one (a detail of a name or a date, an entry next to the whole page) stays. Two nearly identical rectangles (each at least 90 % inside the other) are joined;
- clips that are apart, only touch or are on other images stay;
- only what the research wrote is joined (the agent, a session, an agent's batch,
strom clips); the agent is told what was joined. A clip from a person (the terminal, the app) never changes; - an older research is joined once, at the first start of the new version or the start of the bridge: only clips that the history says the agent or a session wrote, one recorded operation per source. A person's transcription and confirmation stay.
- Why: a reader cuts off the bottom lines with one clip and the right part with another, and the app then shows two nearly identical clips of the same entry.
- Controls: none: joining happens by itself when a clip is written (
strom source add|edit --clipby the agent,strom clips). - Since: research 1.29.0
R3.4.3 Where the entry stands: folio, image, call number
The research keeps where the entry stands in the book by fields, so that it finds the entry again even when the link to the image stops opening.
- Source fields:
--folio(the page or folio as the book numbers it, with the word too: "pag. 112", "fol. 12v"),--image(the image number on the archive's portal),--call-number(the call number of the book, for an entry outside the research's registered books) and beside them--locatorfor the rest (the entry number, column). - Method only: the agent fills the fields when entering. The folio always, the image only for an entry without a registered scan (there the clip gives the image number), the call number only outside a registered book. A link that no longer opens the entry the agent looks up by the archive, call number, folio and image from
strom source show(the image number can shift by a few, the folio not), only via strom, and corrects it withstrom source edit S… --url … [--image …] --reason "…". - Enforced by the code:
strom source showhas a linefindwith the archive, call number, folio and image together (the image also from registered scans). For an older source whose locator names a folio or an image it proposes "from its locator: --folio … --image … --locator …"; it writes nothing itself;- filling an empty field needs no reason, changing a filled one does (
--reason).--locator ""(with a reason) empties the locator when nothing but the folio and image from the fields is left in it;source showthen proposes that; - GEDCOM: one readable
PAGEcomposed of the fields ("pag. 112, no. 3, image 57", in the language of the research) for the Strom app and other programs, the call number asCALN. The fields themselves (_STROM_FOLIO,_STROM_IMAGE,_STROM_LOCATOR) go only to a Strom app that reads them. A source without these fields is exported exactly as before; PAGEnever states two image numbers or two folios. When the locator names another number than the field, the field holds inPAGE, the locator itself stays, andsource add|edit|showwarns and proposes the rest of the locator (--locator "<rest>").
- Limits: recognising the folio and image is strom's code, without an agent, the same as in the app (A3.9). Two folios or two images in one locator are not recognised. Existing sources stay as they are until a person splits them (R3.4.4). Edits of the fields from the app and their deletion: S2.2.2.
- Controls: terminal:
strom source add "…" --folio "pag. 112" --image 57 --locator "no. 3",strom source edit S… --folio … --image … --call-number … [--reason "…"],strom source show S…;strom source list <text>also searches in the folio and image. - Since: research 1.31.0
R3.4.4 Splitting older locators: a preview, the person writes it
Older sources have the locator as one text ("fol. 12, image 3"). The command strom source split splits them into fields at once: code, without an agent and free of charge.
- Enforced by the code:
- without an option it is only a preview: how many sources would be split, the first 10 "before → after" (
--allall of them), how many were not recognised, with up to three examples as they are written. Nothing is written. The agent may run the preview too; --applywrites the split in one step and printsundo: strom source split --undo <id>;--undo <id>returns all the sources as they were. Both only by a person in their own terminal; strom refuses them to the agent;- a filled folio or image stays. An image given by registered scans is not taken. A part the field states differently stays in the locator. A locator in which nothing is recognised stays as it is. A source that already has a folio or an image is not counted among the unrecognised: the rest of its locator is nothing to split;
- the last 5 splits can be undone, each by its id. A source changed after the split makes the undo refuse whole.
- without an option it is only a preview: how many sources would be split, the first 10 "before → after" (
- Method only: the agent offers the split to the person and never confirms it itself.
- From the Strom app: the research offers the same split to the app too, while it runs: a preview with the count, the split on the person's click in one step by that preview, undo whole (A3.9.1). Sources changed in the meantime the preview refuses and shows again. In the Strom archive there is no split.
- Controls: terminal:
strom source split,strom source split --all,strom source split --apply,strom source split --undo <id>(the preview prints the id for undoing). - Since: research 1.31.0
R3.5 A blind second reading
A conclusion that rests on one hard-to-read cell (a house number, an age, a given or maiden name) needs a second, independent reading. A fact goes above Probable only when two independent readings agree.
- Method only: the second reader does not know the expected value, the name, the place, or why it matters. One cell, one reader. First
strom readings B… --image N: two readings may already exist. The readings differ: the agent looks again; a real difference is a conflict with both readings (see R5), not a choice. - Enforced by the code:
strom read --blindtells the reader it reads blind (transcribe exactly, add nothing). It gives a double page as two sharper halves; the reader's report has “Blind: yes” in its header. The code does not check that a Proven fact has a blind reading (R3.2). - When the method wants it: before Proven for a fact on one hard cell; in a verification task from a person review (Probable facts that cite a source with an image: agreement → Proven, difference → conflict); for a user's transcription (R3.5.1).
- Controls: terminal:
strom read M… --blind --crop x,y,w,h --question "…"; a person review: menu Review one person: check and complete what is known of them,strom review. - Since: research 1.0.0; the verification task from a person review 1.1.0
R3.5.1 Transcriptions and readings from the app
A transcription a user writes in the app is never taken as Proven by the research, and the research does not overwrite it. How the research counts it is set by the tree setting in the app.
- My source transcriptions → Lead (default): a new fact from the transcription is a Lead. The research proposes a verification task.
- My source transcriptions → Evidence, or Transcription verified ticked at the source: the transcription counts as a first reading. The facts on it are Probable, not Proven. The choice applies to sources new or changed from the next send.
- A document read by the research's readers: one reader → Possible; two blind readers agreeing → Probable; a transcription edited in the app, differing readings, an uncertain reader, or a fact the reading does not state → Lead.
- Enforced by the code: these degrees. Nothing from the app ever becomes Proven.
- Method only: in a verification task the agent finds the record, registers the image and reads it blind itself. Agreement → a note at the source; difference → a conflict with both readings.
- Since: research 1.12.0, app 3.9.0; a document read by the research's readers 1.18.0
R3.6 A negative search
A search that finds nothing is a result. Every search is entered, even without a find, with what exactly it covered. The costliest mistake is searching the same book twice.
- Limits (enforced by the code):
--result found|negative|partial|inconclusive;foundneeds--found S…(the source is entered first);- the code refuses
negativewhile the searched range still holds a spot a reader reported as unclear and nobody has looked at it since at full size, on the right side of the double page. Readings count from the task's first session (otherwise the last 24 hours). What remains is--result inconclusivewith the spot in--note, or--result partialwith the clearly read pages in--pages; - a search in an index that finds nothing (
--method index) is listed as “negative in the index only”; strom task donefor a task of the kinds where the records are, proving a link, verification and enriching a person reminds when the task entered no search.
- Method only: a negative only after looking at the pages at full size. Missing pages of a book are not searched (
--pages 40-52,55-69). After--until-foundonly the images read, as--result partial. - Controls: terminal:
strom search add "…" --recordset B… --years … --surname … --pages … --method index|page-by-page|full-text|catalog|web|request|other --result negative --by main|reader|user --note "…". - Since: research 1.0.0; the refusal over an unclear spot and “in the index only” 1.14.0
R3.7 When the agent asks a person
The agent sets readings and degrees of certainty itself. It asks a person only where it cannot go on without them. The question goes to Awaiting action (see R6) as an impersonal sentence.
- Method only, the agent asks (
strom task wait T… --on "…"): a similar form of the surname in the right house or years (it asks for the page before ruling it out); a catalogue the agent cannot open (--kind web --url); images the archive does not allow to be downloaded automatically (--images B…:40-69); a page that blocks automation (--check <url>), only when no other way worked and the source remains necessary. - Enforced by the code, a person only: the answer to a waiting task (
strom task wake T… --answer) and to a page check (--check) is confirmed by a person in their terminal or in a window; “not a mistake” for a check's finding (strom quality dismiss). - Method only: a conflict the user decided holds; the agent reopens it only for a source the decision did not weigh (see R5). The agent does not overwrite a user's transcription (R3.5.1).
- Since: research 1.0.0; the answer by a person only 1.14.0 at the latest; “not a mistake” 1.22.0
R3.8 How the app shows evidence
The app uses the word “documented” in more than one sense. The degree of certainty is set by the research; the documentation level of a person is counted by the app itself, from citations only.
| Where in the app | What it shows | Based on |
|---|---|---|
| the label at a fact, e.g. Proven | the degree of certainty of the fact | the research (R3.1) |
| Tree overview → Data quality → Certainty of research facts | births, deaths and marriages by degree | the research |
| the person page, For researchers → Certainty of the facts | the degree of each of the person's facts | the research |
| Documented / Partly documented / Undocumented | the documentation level of a person | citations (R3.8.1) |
| For researchers, “Backed by sources: N of M facts” | the person's facts with a source | citations |
| Tree overview → Ancestors, column documented | ancestors with a documented birth | with a research only Proven, otherwise citations |
| Where evidence is missing → Births not proven in the research | ancestors' births that are not Proven | the research |
| book, Researcher data: documented · conflict · not documented | the evidence state of a fact | Proven, or any citation |
| My source transcriptions → Evidence | how the research takes the user's transcriptions | first reading, Probable (R3.5.1) |
- Limits: the app only shows degrees of certainty; they cannot be changed there. A conflict at a fact in the book overrides both "documented" and "not documented".
- Since: app 3.5.0 (person level), 3.9.0 (label, My source transcriptions), 3.13.0 (Certainty of research facts), 3.13.1 (column documented), 3.18.0 (For researchers), 3.19.0 (book)
R3.8.1 The documentation level of a person
- Undocumented: neither the person, nor their events, nor their unions cite any source.
- Documented: a cited birth (or baptism) and, when the person has a death (a date, a place, a death or burial event), also a cited death (or burial, cremation).
- Partly documented: everything in between, including a source attached only to the person (to the name, to a residence).
- The degree of certainty is not counted: a birth citing even a family tree taken over (Lead) gives Documented. The app says so at Certainty of research facts: “Not the same as source evidence.”
- When nobody in the tree cites a source, the card does not show the level. A placeholder person has no level.
- Controls: app: the mark on the card in a tree that does not know where its facts come from (S7.2); the Evidence mode in the tree (A3.7); Tree overview → Data quality → Where evidence is missing.
- Since: app 3.5.0; 3.26.0: the level is shown by one mark on the card (S7.2)
R3.9 A story keeps its sources
A story says which sources it rests on. A new version of a story loses nothing of the previous version without a reason.
- Limits:
- the sources of a story are the sources its facts cite, the sources of the background of the place and time, and the sources the text names only by an identifier;
- a new version must keep every fact, source and reference of the previous version, or leave it out with a reason. Otherwise the research refuses it and lists what would be missing. What a version left out and why stays with the story;
- a story told from a lead names in the text the title of the source and that nobody has read the record yet. When the text does not name the source, the research points it out;
- approving a story stays with a person (R5.5).
- Controls: terminal:
strom story show P…(every fact with its sources, then the background),strom story set P… --fact E… --source S… --drop "E… <why>". The Strom file: the story's sources as2 SOURunder_STORY. - Since: research 1.26.0
R3.9.1 What a story claims
A story is written from the facts, for the family. What has not been proven is not made up.
- Method only:
- every claim rests on a recorded fact; what is inferred is marked as an inference; what is not known is said;
- the background of the place and time (a war, an epidemic, a fire, what the village lived on) only from a source recorded in the research and only as background, never as the cause of what a person did, unless the record says so;
- a couple's story tells their shared life: the marriage, the household, the homes, the children, being widowed. The life of each of them before and after it belongs to their own story and is mentioned in one sentence;
- an old occupation and a term the reader does not understand are explained; the story is written in the language of the research;
- the format of the text: only paragraphs, subheadings, bullets, bold and italics. Anything else (links, tables, quotations, numbered lists) the app shows as plain text, according to the method.
- Why:
- nothing is made up: a story is for the family and rests on evidence. What would sound likely but is not proven would start to be taken as fact in the family;
- background: it is proven for the place, not for the person; as the cause of what a person did it would be a guess passed off as fact. The story names the source of the background (
--source) so that it can be checked; - a couple's story: the shared life is told once, with the couple, so that the same life is not told twice and the versions do not drift apart;
- format: the Strom app shows only paragraphs, subheadings, bullets, bold and italics; anything else the reader would see as plain text with marks.
- Approval and a new version of an approved story: R6.3.2.
- Controls: terminal:
strom story set P… --text @notes/… --fact E… --source S… --note "co je odvozené"(a couple's story on the family F…). - Since: research 1.0.0; the background of the place and time 1.10.0; the format of the text 1.8.0; a couple's story 1.23.0