strom-research 1.26.0-beta.2 → 1.26.0-beta.3

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.cs.md CHANGED
@@ -24,12 +24,14 @@ Změny každé verze ve zkratce. Úplné poznámky a instalační řádky jsou n
24
24
  - **Fronta míst se po vyřízení míst vyprázdní.** Místo ztotožněné, ověřené, předané k otázce nebo nedohledané odejde z
25
25
  fronty se všemi svými tvary, i s tím, který fakta mezitím píší jinak; místa, která sezení už udělalo, se znovu neberou
26
26
  a počet čekajících sedí. Co ve frontě nechala dřívější verze, se odebere samo (jen vyřízená místa, krok jde vrátit);
27
- kontrola vyžádaná u místa, které čeká na ztotožnění, zůstane jako kontrola. Každý krok nad místy jde vrátit vlastním
27
+ kontrola vyžádaná u místa, které čeká na ztotožnění, zůstane jako kontrola, a kontrola čekající u tvaru, který fakta
28
+ nově píší jako jiné místo, přejde s nimi k tomu místu. Každý krok nad místy jde vrátit vlastním
28
29
  číslem, i když čeká jiný (také odpovědi člověka). Chybné jméno v záznamu místa — překlep ze záznamu, který už žádný
29
30
  fakt nepíše, jméno jiného místa — jde odebrat i s důvodem (`strom place names L… --drop`); sezení nad místy vidí další
30
31
  jména záznamu s jazykem a roky; kontrola může uvést, o jaký zdroj se opřela; příslušnost jde zadat i k jednomu roku.
31
32
  - V rozporech úpravy z aplikace už číslo domu, které značku má, nedostane značku podruhé (polsky „nr domu nr domu 12“),
32
33
  a pomlčka v titulku je podle jazyka výzkumu.
34
+ - Plán toho, co agent udělá dál, už nespadne na čekajícím vyprávění o manželích: jmenuje oba manžele.
33
35
 
34
36
  ## 1.25.1
35
37
 
package/CHANGELOG.de.md CHANGED
@@ -30,7 +30,8 @@ Die Änderungen jeder Version in Kürze. Die vollständigen Hinweise und die Ins
30
30
  anders schreiben; Orte, die eine Sitzung schon erledigt hat, werden nicht erneut genommen, und die Zahl des Wartenden
31
31
  stimmt. Was eine frühere Version in der Warteschlange ließ, wird von selbst entfernt (nur erledigte Orte, der Schritt
32
32
  lässt sich rückgängig machen); eine Prüfung, die für einen Ort verlangt wird, der auf die Bestimmung wartet, bleibt
33
- als Prüfung. Jeder Schritt bei den Orten lässt sich mit seiner eigenen Nummer rückgängig machen, auch wenn ein anderer
33
+ als Prüfung, und eine Prüfung, die bei einer Form wartet, die die Fakten jetzt als anderen Ort schreiben, geht mit
34
+ ihnen zu diesem Ort. Jeder Schritt bei den Orten lässt sich mit seiner eigenen Nummer rückgängig machen, auch wenn ein anderer
34
35
  wartet (auch die Antworten der Person). Ein falscher Name im Datensatz eines Ortes — ein Versehen eines Eintrags, das
35
36
  kein Faktum mehr schreibt, der Name eines anderen Ortes — lässt sich mit Begründung entfernen (`strom place names L…
36
37
  --drop`); die Sitzung über die Orte sieht die weiteren Namen des Datensatzes mit Sprache und Jahren; eine Prüfung kann
@@ -38,6 +39,8 @@ Die Änderungen jeder Version in Kürze. Die vollständigen Hinweise und die Ins
38
39
  - In den Widersprüchen einer Änderung aus der App bekommt eine Hausnummer, die ihre Bezeichnung schon trägt, sie nicht
39
40
  ein zweites Mal (polnisch „nr domu nr domu 12“), und der Gedankenstrich im Titel richtet sich nach der Sprache der
40
41
  Forschung.
42
+ - Der Plan dessen, was der Agent als Nächstes tut, bricht bei einer wartenden Geschichte eines Paares nicht mehr ab:
43
+ er nennt beide Partner.
41
44
 
42
45
  ## 1.25.1
43
46
 
package/CHANGELOG.md CHANGED
@@ -27,12 +27,13 @@ The changes of each version in short. The full notes and the install lines are o
27
27
  the queue with every form of it, also one the facts write otherwise since; the places a session already did are no
28
28
  longer taken again, and the count of what waits is right. What an earlier version left in the queue is taken out by
29
29
  itself (only places dealt with, the step can be undone); a check asked of a place waiting to be identified is kept as
30
- the check. Each step on places is undone by its own number, also while another waits (the person's answers among
30
+ the check, and a check waiting for a form the facts now write as another place goes with them to that place. Each step on places is undone by its own number, also while another waits (the person's answers among
31
31
  them). A wrong name of a place's record — a slip of a record no fact writes any more, another place's name — can be
32
32
  taken off with the reason (`strom place names L… --drop`); the session on the places sees the record's other names
33
33
  with their language and years; a check can name the reference it stood on; a jurisdiction can be given for one year.
34
34
  - In the conflicts of an edit from the app a house that says it is one already no longer gets its marker twice ("nr domu nr
35
35
  domu 12" in Polish), and the title's dash is the one of the research's language.
36
+ - The plan of what the agent does next no longer fails on a couple's story waiting: it names the two partners.
36
37
 
37
38
  ## 1.25.1
38
39
 
package/CHANGELOG.pl.md CHANGED
@@ -27,13 +27,15 @@ Zmiany każdej wersji w skrócie. Pełne informacje o wydaniach i polecenia inst
27
27
  pytanie albo nieustalone opuszcza kolejkę ze wszystkimi swoimi formami, także z tą, którą fakty zapisują teraz
28
28
  inaczej; miejsca, które sesja już zrobiła, nie są brane ponownie, a liczba oczekujących się zgadza. To, co w kolejce
29
29
  zostawiła wcześniejsza wersja, usuwa się samo (tylko załatwione miejsca, krok można cofnąć); sprawdzenie zlecone dla
30
- miejsca czekającego na identyfikację zostaje jako sprawdzenie. Każdy krok przy miejscach można cofnąć jego własnym
30
+ miejsca czekającego na identyfikację zostaje jako sprawdzenie, a sprawdzenie czekające przy formie, którą fakty
31
+ zapisują teraz jako inne miejsce, przechodzi z nimi do tego miejsca. Każdy krok przy miejscach można cofnąć jego własnym
31
32
  numerem, także gdy czeka inny (również odpowiedzi osoby). Błędną nazwę w rekordzie miejsca — pomyłkę z zapisu, której
32
33
  żaden fakt już nie zapisuje, nazwę innego miejsca — można usunąć z uzasadnieniem (`strom place names L… --drop`);
33
34
  sesja nad miejscami widzi pozostałe nazwy rekordu z językiem i latami; sprawdzenie może podać źródło, na którym się
34
35
  oparło; przynależność można podać także dla jednego roku.
35
36
  - W sprzecznościach zmian z aplikacji numer domu, który ma już oznaczenie, nie dostaje go po raz drugi („nr domu nr
36
37
  domu 12”), a myślnik w tytule zależy od języka badania.
38
+ - Plan tego, co agent zrobi dalej, nie przerywa się już na oczekującej opowieści o parze: podaje oboje partnerów.
37
39
 
38
40
  ## 1.25.1
39
41
 
@@ -230,7 +230,17 @@ register({
230
230
  ...shown.map((t) => [` ${t.state === "doing" ? ui(lang, "ui.plan.now") : `${++n}.`}`, `${truncate(humanTask(tree, t.what, lang), 110)}${lacksImages(tree, t) ? ui(lang, "ui.plan.images") : ""}${offLines.has(t.id) ? ui(lang, "ui.plan.offline") : ""}`]),
231
231
  ...later.slice(0, 5).map(({ t, a }) => [` ${ui(lang, "ui.plan.later")}`, `${truncate(humanTask(tree, t.what, lang), 110)}${ui(lang, "ui.plan.asleep", { at: clockUp(a.until), host: a.host })}`]),
232
232
  ];
233
- const storyNames = [...new Set(stories.map((t) => tree.get(t.subject[0] ?? "")).filter((p) => !!p).map((p) => `${displayName(p)} [${p.id}]`))];
233
+ // whose story: a person's, or a couple's (strom story set F…: the partners' names)
234
+ const whose = (id) => {
235
+ const rec = tree.get(id);
236
+ if (rec?.type === "person")
237
+ return `${displayName(rec)} [${rec.id}]`;
238
+ if (rec?.type !== "family")
239
+ return undefined;
240
+ const names = rec.partners.map((x) => tree.get(x)).filter((p) => p?.type === "person").map((p) => displayName(p));
241
+ return `${names.join(" & ") || rec.id} [${rec.id}]`;
242
+ };
243
+ const storyNames = [...new Set(stories.map((t) => whose(t.subject[0] ?? "")).filter((x) => !!x))];
234
244
  const out = [ui(lang, "ui.plan.title", { name: tree.config.name })];
235
245
  if (!queue.length && !later.length)
236
246
  out.push(` ${ui(lang, "ui.plan.none")}`);
@@ -1053,6 +1053,27 @@ export function rewriteForm(tree, form, to, opts) {
1053
1053
  // the form's entry of the queue leads to the record now: out where the place was dealt with already
1054
1054
  const file = readPlacesFile(tree);
1055
1055
  const was = JSON.stringify(file.queue);
1056
+ // the form's entry no fact writes now and no one record bears (another place of that name: found on 1.26.0-beta.2)
1057
+ // goes with the facts to their place — the person's check never left of no place, and checked only there
1058
+ const key = foldText(form.normalize("NFC").trim());
1059
+ const e = file.queue[key];
1060
+ const recordOf = recordIndexOf([...tree.list("place").filter((x) => x.id !== place.id), place]);
1061
+ if (e && !left.length && !gone && recordOf(e.form)?.id !== place.id) {
1062
+ const to = foldText(name);
1063
+ const there = file.queue[to];
1064
+ const check = !!place.coords && (!!e.check || !!there?.check);
1065
+ const flag = there?.flag ?? e.flag;
1066
+ const back = !!there?.back || !!e.back;
1067
+ delete file.queue[key];
1068
+ file.queue[to] = {
1069
+ form: there?.form ?? name,
1070
+ at: there && there.at > e.at ? there.at : e.at,
1071
+ by: there?.by === "person" || e.by === "person" ? "person" : "research",
1072
+ ...(check ? { check: true } : {}),
1073
+ ...(flag ? { flag } : {}),
1074
+ ...(back ? { back: true } : {}),
1075
+ };
1076
+ }
1056
1077
  unqueue(tree, file, [place], [], (e, x) => settledBy(x, e));
1057
1078
  write(tree, [place, ...records], JSON.stringify(file.queue) !== was ? file : undefined, {
1058
1079
  op: "place.rewrite",
package/dist/core/tree.js CHANGED
@@ -31,7 +31,7 @@ export const TREE_FILE = "strom.json";
31
31
  export const SEAL_FOREIGN = "seal.foreign";
32
32
  // between releases the candidate being made (a bridge run from the sources says what it is: the Strom app goes by it);
33
33
  // at a release the release's own (package.json)
34
- export const VERSION = "1.26.0-beta.2";
34
+ export const VERSION = "1.26.0-beta.3";
35
35
  const GITIGNORE = `# Strom Research — local state and large files are not versioned
36
36
  .strom/
37
37
  /media/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "strom-research",
3
- "version": "1.26.0-beta.2",
3
+ "version": "1.26.0-beta.3",
4
4
  "description": "Genealogical research toolkit for AI coding agents",
5
5
  "type": "module",
6
6
  "stromLayout": 2,