document_sorter/result2.md
2026-09-16 13:10:15 +02:00

113 KiB

/data/02_DEV/13_document_sorter/scope_triage.py:7:- Exactly three outcomes: 04_ARBEIT, 03_PRIVAT, 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage.py:12:- If Daily and Architect disagree, route conservatively to 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage.py:52:- 01_INBOX = ownership/purpose is genuinely unclear, mixed, generic, or unsafe to decide. /data/02_DEV/13_document_sorter/scope_triage.py:73: use/ownership is unclear, choose 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage.py:75: personal patient information and no clear work use is present, choose 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage.py:77: project or professional purchase context; otherwise choose 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage.py:79:- If work/private ownership cannot be determined safely, choose 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage.py:85:- A blank/sample contact-import CSV -> 01_INBOX unless actual work records are present. /data/02_DEV/13_document_sorter/scope_triage.py:86:- A generic Roboto/font LICENSE -> 01_INBOX unless tied to a concrete work deliverable. /data/02_DEV/13_document_sorter/scope_triage.py:91:- <=0.70 when evidence is thin or mixed; prefer 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage.py:259: if scope not in {"04_ARBEIT", "03_PRIVAT", "01_INBOX"}: /data/02_DEV/13_document_sorter/scope_triage.py:322: if result.get("scope") not in {"04_ARBEIT", "03_PRIVAT", "01_INBOX"}: /data/02_DEV/13_document_sorter/scope_triage.py:390: "scope": "01_INBOX", /data/02_DEV/13_document_sorter/scope_triage.py:418: "scope": "01_INBOX", /data/02_DEV/13_document_sorter/scope_triage.py:536: print("Allowed outcomes: 04_ARBEIT, 03_PRIVAT, 01_INBOX") /data/02_DEV/13_document_sorter/scope_triage.py:617: print("01_INBOX:", counts["01_INBOX"]) /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:8:V2 adds a first-class top-level 01_INBOX workflow: source files can be routed /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:452: if len(rel.parts) <= 2 and "Altbestand" not in rel.parts and "01_INBOX" not in rel.parts: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:531: # In Inbox mode destinations span several sibling roots. Always expose each /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:552: # For a real 01_INBOX we must always allow "leave it where it is" when the /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:620:- In 01_INBOX mode, choose the stable owner/domain first; use 99_ARCHIV only for clearly historical/reference material, not merely because a file is old. /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:798: V2 Inbox behaviour where the Inbox is nested inside a broader target root. /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:1073:def launch_gui(root: Path, target_root: Path, records: list[Record], destinations: list[str], endpoint: str, model: str, batch_size: int, aliases: Optional[dict[str, list[str]]] = None, inbox_mode: bool = False): /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:1095: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:1096: ttk.Button(bar, text="Rescan Inbox", command=self.rescan).pack(side="left", padx=2) /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:1161: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:1202: "Unpack them first, then use Rescan Inbox.", /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:1352: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:1361: f"Remaining in Inbox: {len(self.records) if inbox_mode else 'n/a'}\nLog: {root / LOG_FILENAME}" /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:1401: ap.add_argument("--profile", default="", help="Policy profile to use even when the test folder has a different name, e.g. 04_ARBEIT or 01_INBOX") /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:1402: ap.add_argument("--target-root", default="", help="Base folder destinations are relative to. For 01_INBOX this defaults to the Inbox parent.") /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:1422: inbox_mode = profile == "01_INBOX" or root.name == "01_INBOX" /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:1425: elif inbox_mode: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:1436: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-date_v3.py:1466: launch_gui(root, target_root, records, destinations, args.endpoint, args.model, max(1, args.batch_size), aliases=aliases, inbox_mode=inbox_mode) /data/02_DEV/13_document_sorter/2026-09-14_nonwork-routing_post-apply-verify_v1.py:27:PRIVATE_BASE = Path("/data/03_PRIVAT/01_INBOX/Recovered_Work-PC_2026-09-14") /data/02_DEV/13_document_sorter/2026-09-14_nonwork-routing_post-apply-verify_v1.py:28:INBOX_BASE = Path("/data/01_INBOX/Recovered_Work-PC_2026-09-14") /data/02_DEV/13_document_sorter/2026-09-14_nonwork-routing_post-apply-verify_v1.py:177: for base in (PRIVATE_BASE, INBOX_BASE): /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:6:- Compare files routed to 03_PRIVAT / 01_INBOX against the existing /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:7: authoritative /data/03_PRIVAT and /data/01_INBOX trees. /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:99: p.add_argument("--inbox-root", type=Path, default=Path("/data/01_INBOX")) /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:110: if row["effective_scope"] in {"03_PRIVAT", "01_INBOX"} /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:117: print(f" 01_INBOX: {sum(r['effective_scope'] == '01_INBOX' for r in candidates)}") /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:122: inbox_idx, inbox_count, inbox_errors = index_tree(args.inbox_root) /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:125: print(f"/data/01_INBOX files hashed: {inbox_count}") /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:126: print(f"Target hash errors: {len(privat_errors) + len(inbox_errors)}") /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:157: same_idx = privat_idx if scope == "03_PRIVAT" else inbox_idx /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:158: cross_idx = inbox_idx if scope == "03_PRIVAT" else privat_idx /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:178: result["audit_status"] = "UNIQUE_VS_PRIVAT_AND_INBOX" /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:210: "UNIQUE_VS_PRIVAT_AND_INBOX", /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:215: print(f"Target hash errors: {len(privat_errors) + len(inbox_errors)}") /data/02_DEV/13_document_sorter/nonwork_hash_audit.py:219: if privat_errors or inbox_errors or candidate_errors: /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:7:- Exactly three outcomes: 04_ARBEIT, 03_PRIVAT, 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:11:- If Daily and Architect disagree, route conservatively to 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:51:- 01_INBOX = ownership/purpose is genuinely unclear, mixed, generic, or unsafe to decide. /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:72: use/ownership is unclear, choose 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:74: personal patient information and no clear work use is present, choose 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:76: project or professional purchase context; otherwise choose 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:78:- If work/private ownership cannot be determined safely, choose 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:84:- A blank/sample contact-import CSV -> 01_INBOX unless actual work records are present. /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:85:- A generic Roboto/font LICENSE -> 01_INBOX unless tied to a concrete work deliverable. /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:90:- <=0.70 when evidence is thin or mixed; prefer 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:258: if scope not in {"04_ARBEIT", "03_PRIVAT", "01_INBOX"}: /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:321: if result.get("scope") not in {"04_ARBEIT", "03_PRIVAT", "01_INBOX"}: /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:371: "scope": "01_INBOX", /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:399: "scope": "01_INBOX", /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:517: print("Allowed outcomes: 04_ARBEIT, 03_PRIVAT, 01_INBOX") /data/02_DEV/13_document_sorter/scope_triage_v2_working.py:598: print("01_INBOX:", counts["01_INBOX"]) /data/02_DEV/13_document_sorter/2026-09-10_sorter-policy_cafebach-source-alias_v2.json:2: "01_INBOX": [ /data/02_DEV/13_document_sorter/2026-09-10_sorter-policy_cafebach-source-alias_v2.json:3: "01_INBOX", /data/02_DEV/13_document_sorter/2026-09-10_sorter-policy_cafebach-source-alias_v2.json:128: "01_INBOX": { /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_work-private-inbox_v1.py:7:- Exactly three outcomes: 04_ARBEIT, 03_PRIVAT, 01_INBOX. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_work-private-inbox_v1.py:10:- If Daily and Architect disagree, route conservatively to 01_INBOX. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_work-private-inbox_v1.py:48:- 01_INBOX = genuinely unclear, mixed, or not safe to decide /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_work-private-inbox_v1.py:61:- If work/private ownership cannot be determined safely, choose 01_INBOX. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_work-private-inbox_v1.py:231: if scope not in {"04_ARBEIT", "03_PRIVAT", "01_INBOX"}: /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_work-private-inbox_v1.py:247: if result.get("scope") not in {"04_ARBEIT", "03_PRIVAT", "01_INBOX"}: /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_work-private-inbox_v1.py:288: "scope": "01_INBOX", /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_work-private-inbox_v1.py:315: "scope": "01_INBOX", /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_work-private-inbox_v1.py:431: print("Allowed outcomes: 04_ARBEIT, 03_PRIVAT, 01_INBOX") /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_work-private-inbox_v1.py:501: print("01_INBOX:", counts["01_INBOX"]) /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:7:- Exactly three outcomes: 04_ARBEIT, 03_PRIVAT, 01_INBOX. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:12:- If Daily and Architect disagree, route conservatively to 01_INBOX. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:52:- 01_INBOX = ownership/purpose is genuinely unclear, mixed, generic, or unsafe to decide. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:73: use/ownership is unclear, choose 01_INBOX. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:75: personal patient information and no clear work use is present, choose 01_INBOX. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:77: project or professional purchase context; otherwise choose 01_INBOX. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:79:- If work/private ownership cannot be determined safely, choose 01_INBOX. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:85:- A blank/sample contact-import CSV -> 01_INBOX unless actual work records are present. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:86:- A generic Roboto/font LICENSE -> 01_INBOX unless tied to a concrete work deliverable. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:91:- <=0.70 when evidence is thin or mixed; prefer 01_INBOX. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:259: if scope not in {"04_ARBEIT", "03_PRIVAT", "01_INBOX"}: /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:322: if result.get("scope") not in {"04_ARBEIT", "03_PRIVAT", "01_INBOX"}: /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:390: "scope": "01_INBOX", /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:418: "scope": "01_INBOX", /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:536: print("Allowed outcomes: 04_ARBEIT, 03_PRIVAT, 01_INBOX") /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_curated-archive-provenance_v3.py:617: print("01_INBOX:", counts["01_INBOX"]) /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:7:- Exactly three outcomes: 04_ARBEIT, 03_PRIVAT, 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:11:- If Daily and Architect disagree, route conservatively to 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:51:- 01_INBOX = ownership/purpose is genuinely unclear, mixed, generic, or unsafe to decide. /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:72: use/ownership is unclear, choose 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:74: personal patient information and no clear work use is present, choose 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:76: project or professional purchase context; otherwise choose 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:78:- If work/private ownership cannot be determined safely, choose 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:84:- A blank/sample contact-import CSV -> 01_INBOX unless actual work records are present. /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:85:- A generic Roboto/font LICENSE -> 01_INBOX unless tied to a concrete work deliverable. /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:90:- <=0.70 when evidence is thin or mixed; prefer 01_INBOX. /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:258: if scope not in {"04_ARBEIT", "03_PRIVAT", "01_INBOX"}: /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:321: if result.get("scope") not in {"04_ARBEIT", "03_PRIVAT", "01_INBOX"}: /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:371: "scope": "01_INBOX", /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:399: "scope": "01_INBOX", /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:517: print("Allowed outcomes: 04_ARBEIT, 03_PRIVAT, 01_INBOX") /data/02_DEV/13_document_sorter/scope_triage_v1_working.py:598: print("01_INBOX:", counts["01_INBOX"]) /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:2:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/06AnOverviewofCellBiology.pdf 06AnOverviewofCellBiology.pdf 01_INBOX 03_PRIVAT 0.50 models-disagree reviewed-content Generic academic/reference material with no Aidshilfe or Café-Bach work context. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:3:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/ALBERTS-BRAY-HOPKIN-JOHNSON-LEWIS-RAFF-ROBERTS-WALTER_-Essential_Cell_Biology_1_parte.pdf ALBERTS-BRAY-HOPKIN-JOHNSON-LEWIS-RAFF-ROBERTS-WALTER-Essential_Cell_Biology_1_parte.pdf 01_INBOX 03_PRIVAT 0.50 models-disagree reviewed-content Generic academic textbook/reference material with no work-specific context. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:4:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben/Anschreiben - Gastro Frohes Neues Jahr.docx Anschreiben - Gastro Frohes Neues Jahr.docx 01_INBOX 04_ARBEIT 0.50 models-disagree structural-context Sparse extract, but it belongs to the same Checkpoint/Gastro professional correspondence set as neighboring confirmed work letters. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:5:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben/Anschreiben.docx Anschreiben.docx 01_INBOX 04_ARBEIT 0.50 models-disagree user-confirmed User confirmed this is Aidshilfe/Checkpoint work correspondence. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:6:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Bolsover2004CellBiology.pdf Bolsover2004CellBiology.pdf 01_INBOX 03_PRIVAT 0.75 models-agree reviewed-content Generic academic textbook/reference material with no work-specific context. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:7:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Covid IMpfungen 2022.docx Covid IMpfungen 2022.docx 01_INBOX 03_PRIVAT 0.50 models-disagree content-context Personal vaccination record; not an organizational work record. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:8:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Preisvergleich Angebote.docx Preisvergleich Angebote.docx 01_INBOX 04_ARBEIT 0.50 models-disagree reviewed-content Contains a Queeres Netzwerk project-application link alongside projector price comparisons; fits work procurement/project context. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:9:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Quiz Terasse 21-07.pptx Quiz Terasse 21-07.pptx 01_INBOX 03_PRIVAT 0.50 models-disagree user-confirmed User confirmed this belongs to private/Chrystal activities. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:10:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/QuiztalMath Antwortbogen (1).pdf QuiztalMath Antwortbogen (1).pdf 01_INBOX 03_PRIVAT 0.50 models-disagree user-confirmed User confirmed this belongs to private/Chrystal activities. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:11:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/QuiztalMath Antwortbogen.pdf QuiztalMath Antwortbogen.pdf 01_INBOX 03_PRIVAT 0.65 models-agree user-confirmed User confirmed this belongs to private/Chrystal activities. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:12:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/SENIOR TICKET NL 20220301.pdf SENIOR TICKET NL 20220301.pdf 01_INBOX 03_PRIVAT 0.50 models-disagree content-context Personal travel ticket rather than work documentation. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:13:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Tagesplan.xlsx Tagesplan.xlsx 01_INBOX 03_PRIVAT 0.50 models-disagree reviewed-content Personal daily planning sheet containing private routine items such as waking, showering and going to work. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:14:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Vorschau_48591_Mathe_zum_Schmunzeln-111_listig-lustige_Rechengeschichten_fuer_die_Grundschule.pdf Vorschau_48591_Mathe_zum_Schmunzeln-111_listig-lustige_Rechengeschichten_fuer_die_Grundschule.pdf 01_INBOX 03_PRIVAT 0.50 models-disagree reviewed-content Generic educational material for children with no work-specific context. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:15:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Wichtige_Kundeninformation_zu_Konto_0125273623.PDF Wichtige_Kundeninformation_zu_Konto_0125273623.PDF 01_INBOX 03_PRIVAT 0.50 models-disagree content-context Personal bank-account/customer information rather than work documentation. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:16:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/survstat/Data.csv Data.csv 01_INBOX 04_ARBEIT 0.50 models-disagree paired-document-context Paired with SurvStat Info.pdf in the same folder; the companion file is confirmed work health-surveillance material. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:17:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/ticket_patrick-ja_queerfeld-festiv_1.pdf ticket_patrick-ja_queerfeld-festiv_1.pdf 01_INBOX 03_PRIVAT 0.50 models-disagree paired-document-context Personal festival ticket; matching companion ticket is already classified private. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:18:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/Kühlschrank 07-08-13,08.pdf Kühlschrank 07-08-13,08.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree structural-context Café-Bach operational file in the CB inbox; refrigerator-related document belongs to work context. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:19:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/SP5 treffen Samstag 15-08.pdf SP5 treffen Samstag 15-08.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree structural-context SP5 meeting document in Café-Bach work backup; SP5 is a work project. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:20:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/A5 Aufsteller.docx A5 Aufsteller.docx 01_INBOX 04_ARBEIT 0.50 models-disagree structural-context Display/signage document inside Café-Bach archive; work-material context is stronger than sparse extracted text. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:21:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Getränkeliste Aushang für Notfälle.docx Getränkeliste Aushang für Notfälle.docx 01_INBOX 04_ARBEIT 0.50 models-disagree structural-context Emergency beverage-list signage for Café-Bach operations. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:22:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession/Auszug_aus_Liegenschaftskataster.pdf Auszug_aus_Liegenschaftskataster.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree structural-context Property extract stored in the Café-Bach concession application package; work licensing record. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:23:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession/Bescheinigung in Steuersachen Schubert, Oliver Finanzamt Köln.pdf Bescheinigung in Steuersachen Schubert, Oliver Finanzamt Köln.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree structural-context Certificate is part of the Café-Bach concession application package; retained as work licensing documentation. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:25:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2414 Junge Stadt Köln.pdf CB2414 Junge Stadt Köln.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:26:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2419 Lebenshaus-Stiftung.pdf CB2419 Lebenshaus-Stiftung.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:27:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2432 Aidshilfe Köln.pdf CB2432 Aidshilfe Köln.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:28:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2438 Junge Stadt Köln.pdf CB2438 Junge Stadt Köln.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:29:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2443 Lebenshaus-Stiftung.pdf CB2443 Lebenshaus-Stiftung.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v2.tsv:30:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2444 Junge Stadt Köln.pdf CB2444 Junge Stadt Köln.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. approved /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.patch:20:+ V2 Inbox behaviour where the Inbox is nested inside a broader target root. /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.patch:184: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.patch:214: launch_gui(root, target_root, records, destinations, args.endpoint, args.model, max(1, args.batch_size), aliases=aliases, inbox_mode=inbox_mode) /data/02_DEV/13_document_sorter/sorter_policy.json:2: "01_INBOX": [ /data/02_DEV/13_document_sorter/sorter_policy.json:3: "01_INBOX", /data/02_DEV/13_document_sorter/sorter_policy.json:128: "01_INBOX": { /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:8:V2 adds a first-class top-level 01_INBOX workflow: source files can be routed /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:452: if len(rel.parts) <= 2 and "Altbestand" not in rel.parts and "01_INBOX" not in rel.parts: /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:531: # In Inbox mode destinations span several sibling roots. Always expose each /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:552: # For a real 01_INBOX we must always allow "leave it where it is" when the /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:620:- In 01_INBOX mode, choose the stable owner/domain first; use 99_ARCHIV only for clearly historical/reference material, not merely because a file is old. /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:915: V2 Inbox behaviour where the Inbox is nested inside a broader target root. /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:1190:def launch_gui(root: Path, target_root: Path, records: list[Record], destinations: list[str], endpoint: str, model: str, batch_size: int, fallback_model: str = "", aliases: Optional[dict[str, list[str]]] = None, inbox_mode: bool = False): /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:1212: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:1213: ttk.Button(bar, text="Rescan Inbox", command=self.rescan).pack(side="left", padx=2) /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:1278: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:1319: "Unpack them first, then use Rescan Inbox.", /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:1469: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:1478: f"Remaining in Inbox: {len(self.records) if inbox_mode else 'n/a'}\nLog: {root / LOG_FILENAME}" /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:1518: ap.add_argument("--profile", default="", help="Policy profile to use even when the test folder has a different name, e.g. 04_ARBEIT or 01_INBOX") /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:1519: ap.add_argument("--target-root", default="", help="Base folder destinations are relative to. For 01_INBOX this defaults to the Inbox parent.") /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:1541: inbox_mode = profile == "01_INBOX" or root.name == "01_INBOX" /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:1544: elif inbox_mode: /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:1555: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_single-request-fallback_v5.py:1589: launch_gui(root, target_root, records, destinations, args.endpoint, args.model, max(1, args.batch_size), fallback_model=fallback_model, aliases=aliases, inbox_mode=inbox_mode) /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:8:V2 adds a first-class top-level 01_INBOX workflow: source files can be routed /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:673: if len(rel.parts) <= 2 and "Altbestand" not in rel.parts and "01_INBOX" not in rel.parts: /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:752: # In Inbox mode destinations span several sibling roots. Always expose each /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:773: # For a real 01_INBOX we must always allow "leave it where it is" when the /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:841:- In 01_INBOX mode, choose the stable owner/domain first; use 99_ARCHIV only for clearly historical/reference material, not merely because a file is old. /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1126: V2 Inbox behaviour where the Inbox is nested inside a broader target root. /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1401:def launch_gui(root: Path, target_root: Path, records: list[Record], destinations: list[str], endpoint: str, model: str, batch_size: int, fallback_model: str = "", aliases: Optional[dict[str, list[str]]] = None, inbox_mode: bool = False): /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1423: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1424: ttk.Button(bar, text="Rescan Inbox", command=self.rescan).pack(side="left", padx=2) /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1489: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1530: "Unpack them first, then use Rescan Inbox.", /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1680: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1689: f"Remaining in Inbox: {len(self.records) if inbox_mode else 'n/a'}\nLog: {root / LOG_FILENAME}" /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1729: ap.add_argument("--profile", default="", help="Policy profile to use even when the test folder has a different name, e.g. 04_ARBEIT or 01_INBOX") /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1730: ap.add_argument("--target-root", default="", help="Base folder destinations are relative to. For 01_INBOX this defaults to the Inbox parent.") /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1752: inbox_mode = profile == "01_INBOX" or root.name == "01_INBOX" /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1755: elif inbox_mode: /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1766: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_naming-cleanup_v7.py:1800: launch_gui(root, target_root, records, destinations, args.endpoint, args.model, max(1, args.batch_size), fallback_model=fallback_model, aliases=aliases, inbox_mode=inbox_mode) /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:8:V2 adds a first-class top-level 01_INBOX workflow: source files can be routed /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:427: if len(rel.parts) <= 2 and "Altbestand" not in rel.parts and "01_INBOX" not in rel.parts: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:505: # In Inbox mode destinations span several sibling roots. Always expose each /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:526: # For a real 01_INBOX we must always allow "leave it where it is" when the /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:585:- In 01_INBOX mode, choose the stable owner/domain first; use 99_ARCHIV only for clearly historical/reference material, not merely because a file is old. /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:747: V2 Inbox behaviour where the Inbox is nested inside a broader target root. /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:1022:def launch_gui(root: Path, target_root: Path, records: list[Record], destinations: list[str], endpoint: str, model: str, batch_size: int, aliases: Optional[dict[str, list[str]]] = None, inbox_mode: bool = False): /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:1044: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:1045: ttk.Button(bar, text="Rescan Inbox", command=self.rescan).pack(side="left", padx=2) /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:1110: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:1151: "Unpack them first, then use Rescan Inbox.", /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:1301: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:1310: f"Remaining in Inbox: {len(self.records) if inbox_mode else 'n/a'}\nLog: {root / LOG_FILENAME}" /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:1350: ap.add_argument("--profile", default="", help="Policy profile to use even when the test folder has a different name, e.g. 04_ARBEIT or 01_INBOX") /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:1351: ap.add_argument("--target-root", default="", help="Base folder destinations are relative to. For 01_INBOX this defaults to the Inbox parent.") /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:1371: inbox_mode = profile == "01_INBOX" or root.name == "01_INBOX" /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:1374: elif inbox_mode: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:1385: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_global-dedupe.py:1415: launch_gui(root, target_root, records, destinations, args.endpoint, args.model, max(1, args.batch_size), aliases=aliases, inbox_mode=inbox_mode) /data/02_DEV/13_document_sorter/nonwork_controlled_apply.py:15:Syncthing for 03_PRIVAT and 01_INBOX must already be paused before running. /data/02_DEV/13_document_sorter/nonwork_controlled_apply.py:38:PRIVATE_BASE = Path("/data/03_PRIVAT/01_INBOX/Recovered_Work-PC_2026-09-14") /data/02_DEV/13_document_sorter/nonwork_controlled_apply.py:39:INBOX_BASE = Path("/data/01_INBOX/Recovered_Work-PC_2026-09-14") /data/02_DEV/13_document_sorter/nonwork_controlled_apply.py:40:ALLOWED_COPY_BASES = (PRIVATE_BASE, INBOX_BASE) /data/02_DEV/13_document_sorter/nonwork_controlled_apply.py:41:ALLOWED_SKIP_ROOTS = (Path("/data/03_PRIVAT"), Path("/data/01_INBOX")) /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:3:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/06AnOverviewofCellBiology.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/06AnOverviewofCellBiology.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert 06AnOverviewofCellBiology.pdf .pdf 2022-05-30 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:947 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.80 03_PRIVAT yes reviewed-content Generic academic/reference material with no Aidshilfe or Café-Bach work context. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:4:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/ALBERTS-BRAY-HOPKIN-JOHNSON-LEWIS-RAFF-ROBERTS-WALTER-Essential_Cell_Biology_1_parte.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/ALBERTS-BRAY-HOPKIN-JOHNSON-LEWIS-RAFF-ROBERTS-WALTER-Essential_Cell_Biology_1_parte.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert ALBERTS-BRAY-HOPKIN-JOHNSON-LEWIS-RAFF-ROBERTS-WALTER-Essential_Cell_Biology_1_parte.pdf .pdf 2022-05-30 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:436 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.78 03_PRIVAT yes reviewed-content Generic academic textbook/reference material with no work-specific context. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:7:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben/Anschreiben - Gastro Frohes Neues Jahr.docx" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben/Anschreiben - Gastro Frohes Neues Jahr.docx SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben Anschreiben - Gastro Frohes Neues Jahr.docx .docx 2022-01-07 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT docx:61 models-disagree ownership-fragile-filename 04_ARBEIT 0.95 03_PRIVAT 0.80 04_ARBEIT yes structural-context Sparse extract, but it belongs to the same Checkpoint/Gastro professional correspondence set as neighboring confirmed work letters. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:12:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben/Anschreiben.docx" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben/Anschreiben.docx SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben Anschreiben.docx .docx 2022-01-07 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT docx:61 models-disagree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.85 04_ARBEIT yes user-confirmed User confirmed this is Aidshilfe/Checkpoint work correspondence. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:16:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Bolsover2004CellBiology.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Bolsover2004CellBiology.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Bolsover2004CellBiology.pdf .pdf 2022-05-30 mtime 01_INBOX 0.75 Generic textbook, no evidence of work use or ownership. pdf:2400 models-agree primary-confidence-below-0.85 01_INBOX 0.75 01_INBOX 0.80 03_PRIVAT yes reviewed-content Generic academic textbook/reference material with no work-specific context. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:17:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Covid IMpfungen 2022.docx" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Covid IMpfungen 2022.docx SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Covid IMpfungen 2022.docx .docx 2022-01-18 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT docx:318 models-disagree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.92 03_PRIVAT yes content-context Personal vaccination record; not an organizational work record. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:19:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Preisvergleich Angebote.docx" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Preisvergleich Angebote.docx SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Preisvergleich Angebote.docx .docx 2022-01-03 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT docx:476 models-disagree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.92 04_ARBEIT yes reviewed-content Contains a Queeres Netzwerk project-application link alongside projector price comparisons; fits work procurement/project context. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:20:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Quiz Terasse 21-07.pptx" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Quiz Terasse 21-07.pptx SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Quiz Terasse 21-07.pptx .pptx 2022-08-10 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pptx:462 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.80 03_PRIVAT yes user-confirmed User confirmed this belongs to private/Chrystal activities. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:21:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/QuiztalMath Antwortbogen (1).pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/QuiztalMath Antwortbogen (1).pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert QuiztalMath Antwortbogen (1).pdf .pdf 2022-11-02 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:173 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.75 03_PRIVAT yes user-confirmed User confirmed this belongs to private/Chrystal activities. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:22:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/QuiztalMath Antwortbogen.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/QuiztalMath Antwortbogen.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert QuiztalMath Antwortbogen.pdf .pdf 2022-11-02 mtime 01_INBOX 0.65 Generic quiz answer sheet, no clear work context or ownership. pdf:141 models-agree primary-confidence-below-0.85 01_INBOX 0.75 01_INBOX 0.65 03_PRIVAT yes user-confirmed User confirmed this belongs to private/Chrystal activities. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:23:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Roboto/LICENSE.txt" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Roboto/LICENSE.txt SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Roboto LICENSE.txt .txt 2022-01-17 mtime 01_INBOX 0.75 Generic font license, no work context. text:2400 models-agree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 01_INBOX 0.95 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:24:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/S2OGKM_C25021111716590.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/S2OGKM_C25021111716590.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert S2OGKM_C25021111716590.pdf .pdf 2021-11-17 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT pdf:29 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.80 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:25:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/SENIOR TICKET NL 20220301.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/SENIOR TICKET NL 20220301.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert SENIOR TICKET NL 20220301.pdf .pdf 2022-03-01 filename 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:2400 models-disagree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.92 03_PRIVAT yes content-context Personal travel ticket rather than work documentation. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:26:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Sample CSV file for importing contacts (1).csv" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Sample CSV file for importing contacts (1).csv SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Sample CSV file for importing contacts (1).csv .csv 2022-01-07 mtime 01_INBOX 0.65 Generic sample CSV for contact import, no work context. text:1994 models-agree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 01_INBOX 0.65 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:27:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Tagesplan.xlsx" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Tagesplan.xlsx SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Tagesplan.xlsx .xlsx 2022-01-11 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT xlsx:951 models-disagree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.92 03_PRIVAT yes reviewed-content Personal daily planning sheet containing private routine items such as waking, showering and going to work. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:28:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Testsample.csv" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Testsample.csv SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Testsample.csv .csv 2022-01-07 mtime 01_INBOX 0.75 Sample contact list, no real personal or work data. text:1996 models-agree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 01_INBOX 0.85 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:29:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Vorschau_48591_Mathe_zum_Schmunzeln-111_listig-lustige_Rechengeschichten_fuer_die_Grundschule.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Vorschau_48591_Mathe_zum_Schmunzeln-111_listig-lustige_Rechengeschichten_fuer_die_Grundschule.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Vorschau_48591_Mathe_zum_Schmunzeln-111_listig-lustige_Rechengeschichten_fuer_die_Grundschule.pdf .pdf 2022-08-10 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT pdf:2400 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.80 03_PRIVAT yes reviewed-content Generic educational material for children with no work-specific context. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:30:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Wichtige_Kundeninformation_zu_Konto_0125273623.PDF" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Wichtige_Kundeninformation_zu_Konto_0125273623.PDF SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Wichtige_Kundeninformation_zu_Konto_0125273623.PDF .pdf 2022-08-15 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:2400 models-disagree ownership-fragile-filename,work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.95 03_PRIVAT yes content-context Personal bank-account/customer information rather than work documentation. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:31:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/survstat/Data.csv" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/survstat/Data.csv SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/survstat Data.csv .csv 2022-08-29 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT text:362 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.80 04_ARBEIT yes paired-document-context Paired with SurvStat Info.pdf in the same folder; the companion file is confirmed work health-surveillance material. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:33:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/ticket_patrick-ja_queerfeld-festiv_1.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/ticket_patrick-ja_queerfeld-festiv_1.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert ticket_patrick-ja_queerfeld-festiv_1.pdf .pdf 2022-08-29 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:381 models-disagree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.92 03_PRIVAT yes paired-document-context Personal festival ticket; matching companion ticket is already classified private. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:35:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/Getränkeliste Verzehrkarte.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/Getränkeliste Verzehrkarte.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB Getränkeliste Verzehrkarte.pdf .pdf 2026-09-03 mtime 04_ARBEIT 0.95 Document lists beverages for a team event with payment instructions, indicating work use. pdf:787 primary 04_ARBEIT 0.95 04_ARBEIT no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:36:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/Kühlschrank 07-08-13,08.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/Kühlschrank 07-08-13,08.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB Kühlschrank 07-08-13,08.pdf .pdf 2026-09-09 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:27 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.80 04_ARBEIT yes structural-context Café-Bach operational file in the CB inbox; refrigerator-related document belongs to work context. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:37:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/SP5 treffen Samstag 15-08.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/SP5 treffen Samstag 15-08.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB SP5 treffen Samstag 15-08.pdf .pdf 2026-09-09 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT pdf:27 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.80 04_ARBEIT yes structural-context SP5 meeting document in Café-Bach work backup; SP5 is a work project. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:38:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/A5 Aufsteller.docx" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/A5 Aufsteller.docx SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16 A5 Aufsteller.docx .docx 2024-11-08 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT docx:53 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.90 04_ARBEIT yes structural-context Display/signage document inside Café-Bach archive; work-material context is stronger than sparse extracted text. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:84:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Getränkeliste Aushang für Notfälle.docx" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Getränkeliste Aushang für Notfälle.docx SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16 Getränkeliste Aushang für Notfälle.docx .docx 2023-05-16 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT docx:216 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.90 04_ARBEIT yes structural-context Emergency beverage-list signage for Café-Bach operations. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:115:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession/Auszug_aus_Liegenschaftskataster.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession/Auszug_aus_Liegenschaftskataster.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession Auszug_aus_Liegenschaftskataster.pdf .pdf 2022-07-21 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:no-text-or-scan models-disagree primary-confidence-below-0.85,limited-content 01_INBOX 0.75 03_PRIVAT 0.75 04_ARBEIT yes structural-context Property extract stored in the Café-Bach concession application package; work licensing record. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:116:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession/Bescheinigung in Steuersachen Schubert, Oliver Finanzamt Köln.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession/Bescheinigung in Steuersachen Schubert, Oliver Finanzamt Köln.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession Bescheinigung in Steuersachen Schubert, Oliver Finanzamt Köln.pdf .pdf 2022-11-22 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:29 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.92 04_ARBEIT yes structural-context Certificate is part of the Café-Bach concession application package; retained as work licensing documentation. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:171:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2414 Junge Stadt Köln.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2414 Junge Stadt Köln.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024 CB2414 Junge Stadt Köln.pdf .pdf 2024-05-03 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:1062 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.80 04_ARBEIT yes series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:176:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2419 Lebenshaus-Stiftung.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2419 Lebenshaus-Stiftung.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024 CB2419 Lebenshaus-Stiftung.pdf .pdf 2024-06-05 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:1027 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.92 04_ARBEIT yes series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:190:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2432 Aidshilfe Köln.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2432 Aidshilfe Köln.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024 CB2432 Aidshilfe Köln.pdf .pdf 2024-10-01 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:1038 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.80 04_ARBEIT yes series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:196:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2438 Junge Stadt Köln.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2438 Junge Stadt Köln.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024 CB2438 Junge Stadt Köln.pdf .pdf 2024-10-31 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:1137 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.80 04_ARBEIT yes series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:201:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2443 Lebenshaus-Stiftung.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2443 Lebenshaus-Stiftung.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024 CB2443 Lebenshaus-Stiftung.pdf .pdf 2024-11-28 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:1086 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.90 04_ARBEIT yes series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v2.tsv:202:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2444 Junge Stadt Köln.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2444 Junge Stadt Köln.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024 CB2444 Junge Stadt Köln.pdf .pdf 2024-11-28 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:1139 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.80 04_ARBEIT yes series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:8:V2 adds a first-class top-level 01_INBOX workflow: source files can be routed /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:540: if len(rel.parts) <= 2 and "Altbestand" not in rel.parts and "01_INBOX" not in rel.parts: /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:619: # In Inbox mode destinations span several sibling roots. Always expose each /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:640: # For a real 01_INBOX we must always allow "leave it where it is" when the /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:708:- In 01_INBOX mode, choose the stable owner/domain first; use 99_ARCHIV only for clearly historical/reference material, not merely because a file is old. /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:993: V2 Inbox behaviour where the Inbox is nested inside a broader target root. /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:1268:def launch_gui(root: Path, target_root: Path, records: list[Record], destinations: list[str], endpoint: str, model: str, batch_size: int, fallback_model: str = "", aliases: Optional[dict[str, list[str]]] = None, inbox_mode: bool = False): /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:1290: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:1291: ttk.Button(bar, text="Rescan Inbox", command=self.rescan).pack(side="left", padx=2) /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:1356: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:1397: "Unpack them first, then use Rescan Inbox.", /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:1547: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:1556: f"Remaining in Inbox: {len(self.records) if inbox_mode else 'n/a'}\nLog: {root / LOG_FILENAME}" /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:1596: ap.add_argument("--profile", default="", help="Policy profile to use even when the test folder has a different name, e.g. 04_ARBEIT or 01_INBOX") /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:1597: ap.add_argument("--target-root", default="", help="Base folder destinations are relative to. For 01_INBOX this defaults to the Inbox parent.") /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:1619: inbox_mode = profile == "01_INBOX" or root.name == "01_INBOX" /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:1622: elif inbox_mode: /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:1633: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-13_quick-sorter_deterministic-naming_v6.py:1667: launch_gui(root, target_root, records, destinations, args.endpoint, args.model, max(1, args.batch_size), fallback_model=fallback_model, aliases=aliases, inbox_mode=inbox_mode) /data/02_DEV/13_document_sorter/README.md:3:Siehe README_V2.md für den neuen Top-Level-01_INBOX-Workflow. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:3:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/06AnOverviewofCellBiology.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/06AnOverviewofCellBiology.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert 06AnOverviewofCellBiology.pdf .pdf 2022-05-30 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:947 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.80 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:4:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/ALBERTS-BRAY-HOPKIN-JOHNSON-LEWIS-RAFF-ROBERTS-WALTER-Essential_Cell_Biology_1_parte.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/ALBERTS-BRAY-HOPKIN-JOHNSON-LEWIS-RAFF-ROBERTS-WALTER-Essential_Cell_Biology_1_parte.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert ALBERTS-BRAY-HOPKIN-JOHNSON-LEWIS-RAFF-ROBERTS-WALTER-Essential_Cell_Biology_1_parte.pdf .pdf 2022-05-30 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:436 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.78 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:7:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben/Anschreiben - Gastro Frohes Neues Jahr.docx" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben/Anschreiben - Gastro Frohes Neues Jahr.docx SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben Anschreiben - Gastro Frohes Neues Jahr.docx .docx 2022-01-07 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT docx:61 models-disagree ownership-fragile-filename 04_ARBEIT 0.95 03_PRIVAT 0.80 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:12:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben/Anschreiben.docx" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben/Anschreiben.docx SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Anschreiben Anschreiben.docx .docx 2022-01-07 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT docx:61 models-disagree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.85 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:16:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Bolsover2004CellBiology.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Bolsover2004CellBiology.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Bolsover2004CellBiology.pdf .pdf 2022-05-30 mtime 01_INBOX 0.75 Generic textbook, no evidence of work use or ownership. pdf:2400 models-agree primary-confidence-below-0.85 01_INBOX 0.75 01_INBOX 0.80 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:17:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Covid IMpfungen 2022.docx" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Covid IMpfungen 2022.docx SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Covid IMpfungen 2022.docx .docx 2022-01-18 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT docx:318 models-disagree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.92 03_PRIVAT yes content-context Personal vaccination record; not an organizational work record. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:19:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Preisvergleich Angebote.docx" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Preisvergleich Angebote.docx SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Preisvergleich Angebote.docx .docx 2022-01-03 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT docx:476 models-disagree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.92 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:20:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Quiz Terasse 21-07.pptx" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Quiz Terasse 21-07.pptx SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Quiz Terasse 21-07.pptx .pptx 2022-08-10 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pptx:462 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.80 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:21:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/QuiztalMath Antwortbogen (1).pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/QuiztalMath Antwortbogen (1).pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert QuiztalMath Antwortbogen (1).pdf .pdf 2022-11-02 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:173 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.75 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:22:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/QuiztalMath Antwortbogen.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/QuiztalMath Antwortbogen.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert QuiztalMath Antwortbogen.pdf .pdf 2022-11-02 mtime 01_INBOX 0.65 Generic quiz answer sheet, no clear work context or ownership. pdf:141 models-agree primary-confidence-below-0.85 01_INBOX 0.75 01_INBOX 0.65 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:23:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Roboto/LICENSE.txt" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Roboto/LICENSE.txt SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Roboto LICENSE.txt .txt 2022-01-17 mtime 01_INBOX 0.75 Generic font license, no work context. text:2400 models-agree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 01_INBOX 0.95 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:24:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/S2OGKM_C25021111716590.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/S2OGKM_C25021111716590.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert S2OGKM_C25021111716590.pdf .pdf 2021-11-17 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT pdf:29 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.80 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:25:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/SENIOR TICKET NL 20220301.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/SENIOR TICKET NL 20220301.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert SENIOR TICKET NL 20220301.pdf .pdf 2022-03-01 filename 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:2400 models-disagree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.92 03_PRIVAT yes content-context Personal travel ticket rather than work documentation. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:26:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Sample CSV file for importing contacts (1).csv" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Sample CSV file for importing contacts (1).csv SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Sample CSV file for importing contacts (1).csv .csv 2022-01-07 mtime 01_INBOX 0.65 Generic sample CSV for contact import, no work context. text:1994 models-agree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 01_INBOX 0.65 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:27:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Tagesplan.xlsx" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Tagesplan.xlsx SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Tagesplan.xlsx .xlsx 2022-01-11 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT xlsx:951 models-disagree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.92 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:28:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Testsample.csv" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Testsample.csv SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Testsample.csv .csv 2022-01-07 mtime 01_INBOX 0.75 Sample contact list, no real personal or work data. text:1996 models-agree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 01_INBOX 0.85 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:29:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Vorschau_48591_Mathe_zum_Schmunzeln-111_listig-lustige_Rechengeschichten_fuer_die_Grundschule.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Vorschau_48591_Mathe_zum_Schmunzeln-111_listig-lustige_Rechengeschichten_fuer_die_Grundschule.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Vorschau_48591_Mathe_zum_Schmunzeln-_111_listig-lustige_Rechengeschichten_fuer_die_Grundschule.pdf .pdf 2022-08-10 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT pdf:2400 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.80 01_INBOX no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:30:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Wichtige_Kundeninformation_zu_Konto_0125273623.PDF" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Wichtige_Kundeninformation_zu_Konto_0125273623.PDF SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert Wichtige_Kundeninformation_zu_Konto_0125273623.PDF .pdf 2022-08-15 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:2400 models-disagree ownership-fragile-filename,work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.95 03_PRIVAT yes content-context Personal bank-account/customer information rather than work documentation. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:31:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/survstat/Data.csv" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/survstat/Data.csv SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/survstat Data.csv .csv 2022-08-29 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT text:362 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.80 04_ARBEIT yes paired-document-context Paired with SurvStat Info.pdf in the same folder; the companion file is confirmed work health-surveillance material. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:33:"SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/ticket_patrick-ja_queerfeld-festiv_1.pdf" SOURCE Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/ticket_patrick-ja_queerfeld-festiv_1.pdf SOURCE/Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert ticket_patrick-ja_queerfeld-festiv_1.pdf .pdf 2022-08-29 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:381 models-disagree ownership-fragile-filename,primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.92 03_PRIVAT yes paired-document-context Personal festival ticket; matching companion ticket is already classified private. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:35:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/Getränkeliste Verzehrkarte.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/Getränkeliste Verzehrkarte.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB Getränkeliste Verzehrkarte.pdf .pdf 2026-09-03 mtime 04_ARBEIT 0.95 Document lists beverages for a team event with payment instructions, indicating work use. pdf:787 primary 04_ARBEIT 0.95 04_ARBEIT no /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:36:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/Kühlschrank 07-08-13,08.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/Kühlschrank 07-08-13,08.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB Kühlschrank 07-08-13,08.pdf .pdf 2026-09-09 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:27 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 03_PRIVAT 0.80 04_ARBEIT yes structural-context Café-Bach operational file in the CB inbox; refrigerator-related document belongs to work context. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:37:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/SP5 treffen Samstag 15-08.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/SP5 treffen Samstag 15-08.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB SP5 treffen Samstag 15-08.pdf .pdf 2026-09-09 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT pdf:27 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.80 04_ARBEIT yes structural-context SP5 meeting document in Café-Bach work backup; SP5 is a work project. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:38:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/A5 Aufsteller.docx" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/A5 Aufsteller.docx SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16 A5 Aufsteller.docx .docx 2024-11-08 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT docx:53 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.90 04_ARBEIT yes structural-context Display/signage document inside Café-Bach archive; work-material context is stronger than sparse extracted text. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:84:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Getränkeliste Aushang für Notfälle.docx" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Getränkeliste Aushang für Notfälle.docx SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16 Getränkeliste Aushang für Notfälle.docx .docx 2023-05-16 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=04_ARBEIT docx:216 models-disagree primary-confidence-below-0.85 01_INBOX 0.75 04_ARBEIT 0.90 04_ARBEIT yes structural-context Emergency beverage-list signage for Café-Bach operations. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:115:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession/Auszug_aus_Liegenschaftskataster.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession/Auszug_aus_Liegenschaftskataster.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession Auszug_aus_Liegenschaftskataster.pdf .pdf 2022-07-21 mtime 01_INBOX 0.50 model disagreement: daily=01_INBOX; architect=03_PRIVAT pdf:no-text-or-scan models-disagree primary-confidence-below-0.85,limited-content 01_INBOX 0.75 03_PRIVAT 0.75 04_ARBEIT yes structural-context Property extract stored in the Café-Bach concession application package; work licensing record. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:116:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession/Bescheinigung in Steuersachen Schubert, Oliver Finanzamt Köln.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession/Bescheinigung in Steuersachen Schubert, Oliver Finanzamt Köln.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession Bescheinigung in Steuersachen Schubert, Oliver Finanzamt Köln.pdf .pdf 2022-11-22 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:29 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.92 04_ARBEIT yes structural-context Certificate is part of the Café-Bach concession application package; retained as work licensing documentation. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:171:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2414 Junge Stadt Köln.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2414 Junge Stadt Köln.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024 CB2414 Junge Stadt Köln.pdf .pdf 2024-05-03 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:1062 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.80 04_ARBEIT yes series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:176:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2419 Lebenshaus-Stiftung.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2419 Lebenshaus-Stiftung.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024 CB2419 Lebenshaus-Stiftung.pdf .pdf 2024-06-05 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:1027 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.92 04_ARBEIT yes series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:190:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2432 Aidshilfe Köln.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2432 Aidshilfe Köln.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024 CB2432 Aidshilfe Köln.pdf .pdf 2024-10-01 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:1038 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.80 04_ARBEIT yes series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:196:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2438 Junge Stadt Köln.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2438 Junge Stadt Köln.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024 CB2438 Junge Stadt Köln.pdf .pdf 2024-10-31 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:1137 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.80 04_ARBEIT yes series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:201:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2443 Lebenshaus-Stiftung.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2443 Lebenshaus-Stiftung.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024 CB2443 Lebenshaus-Stiftung.pdf .pdf 2024-11-28 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:1086 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.90 04_ARBEIT yes series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_effective-routing_v1.tsv:202:"SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2444 Junge Stadt Köln.pdf" SOURCE cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2444 Junge Stadt Köln.pdf SOURCE/cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024 CB2444 Junge Stadt Köln.pdf .pdf 2024-11-28 mtime 01_INBOX 0.50 model disagreement: daily=04_ARBEIT; architect=03_PRIVAT pdf:1139 models-disagree work-vs-personal-record-class 04_ARBEIT 0.95 03_PRIVAT 0.80 04_ARBEIT yes series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:8:V2 adds a first-class top-level 01_INBOX workflow: source files can be routed /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:692: if len(rel.parts) <= 2 and "Altbestand" not in rel.parts and "01_INBOX" not in rel.parts: /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:771: # In Inbox mode destinations span several sibling roots. Always expose each /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:792: # For a real 01_INBOX we must always allow "leave it where it is" when the /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:860:- In 01_INBOX mode, choose the stable owner/domain first; use 99_ARCHIV only for clearly historical/reference material, not merely because a file is old. /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1145: V2 Inbox behaviour where the Inbox is nested inside a broader target root. /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1420:def launch_gui(root: Path, target_root: Path, records: list[Record], destinations: list[str], endpoint: str, model: str, batch_size: int, fallback_model: str = "", aliases: Optional[dict[str, list[str]]] = None, inbox_mode: bool = False): /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1442: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1443: ttk.Button(bar, text="Rescan Inbox", command=self.rescan).pack(side="left", padx=2) /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1508: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1549: "Unpack them first, then use Rescan Inbox.", /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1699: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1708: f"Remaining in Inbox: {len(self.records) if inbox_mode else 'n/a'}\nLog: {root / LOG_FILENAME}" /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1748: ap.add_argument("--profile", default="", help="Policy profile to use even when the test folder has a different name, e.g. 04_ARBEIT or 01_INBOX") /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1749: ap.add_argument("--target-root", default="", help="Base folder destinations are relative to. For 01_INBOX this defaults to the Inbox parent.") /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1771: inbox_mode = profile == "01_INBOX" or root.name == "01_INBOX" /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1774: elif inbox_mode: /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1785: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_root-bounded-dates_v8.py:1819: launch_gui(root, target_root, records, destinations, args.endpoint, args.model, max(1, args.batch_size), fallback_model=fallback_model, aliases=aliases, inbox_mode=inbox_mode) /data/02_DEV/13_document_sorter/nonwork_post_apply_verify.py:27:PRIVATE_BASE = Path("/data/03_PRIVAT/01_INBOX/Recovered_Work-PC_2026-09-14") /data/02_DEV/13_document_sorter/nonwork_post_apply_verify.py:28:INBOX_BASE = Path("/data/01_INBOX/Recovered_Work-PC_2026-09-14") /data/02_DEV/13_document_sorter/nonwork_post_apply_verify.py:177: for base in (PRIVATE_BASE, INBOX_BASE): /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:8:V2 adds a first-class top-level 01_INBOX workflow: source files can be routed /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:731: if len(rel.parts) <= 2 and "Altbestand" not in rel.parts and "01_INBOX" not in rel.parts: /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:810: # In Inbox mode destinations span several sibling roots. Always expose each /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:831: # For a real 01_INBOX we must always allow "leave it where it is" when the /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:899:- In 01_INBOX mode, choose the stable owner/domain first; use 99_ARCHIV only for clearly historical/reference material, not merely because a file is old. /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1184: V2 Inbox behaviour where the Inbox is nested inside a broader target root. /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1459:def launch_gui(root: Path, target_root: Path, records: list[Record], destinations: list[str], endpoint: str, model: str, batch_size: int, fallback_model: str = "", aliases: Optional[dict[str, list[str]]] = None, inbox_mode: bool = False): /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1481: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1482: ttk.Button(bar, text="Rescan Inbox", command=self.rescan).pack(side="left", padx=2) /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1547: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1588: "Unpack them first, then use Rescan Inbox.", /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1738: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1747: f"Remaining in Inbox: {len(self.records) if inbox_mode else 'n/a'}\nLog: {root / LOG_FILENAME}" /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1788: ap.add_argument("--profile", default="", help="Policy profile to use even when the test folder has a different name, e.g. 04_ARBEIT or 01_INBOX") /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1789: ap.add_argument("--target-root", default="", help="Base folder destinations are relative to. For 01_INBOX this defaults to the Inbox parent.") /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1811: inbox_mode = profile == "01_INBOX" or root.name == "01_INBOX" /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1814: elif inbox_mode: /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1825: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-14_quick-sorter_extractor-hardening_v9.py:1859: launch_gui(root, target_root, records, destinations, args.endpoint, args.model, max(1, args.batch_size), fallback_model=fallback_model, aliases=aliases, inbox_mode=inbox_mode) /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:8:V2 adds a first-class top-level 01_INBOX workflow: source files can be routed /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:428: if len(rel.parts) <= 2 and "Altbestand" not in rel.parts and "01_INBOX" not in rel.parts: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:507: # In Inbox mode destinations span several sibling roots. Always expose each /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:528: # For a real 01_INBOX we must always allow "leave it where it is" when the /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:596:- In 01_INBOX mode, choose the stable owner/domain first; use 99_ARCHIV only for clearly historical/reference material, not merely because a file is old. /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:774: V2 Inbox behaviour where the Inbox is nested inside a broader target root. /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:1049:def launch_gui(root: Path, target_root: Path, records: list[Record], destinations: list[str], endpoint: str, model: str, batch_size: int, aliases: Optional[dict[str, list[str]]] = None, inbox_mode: bool = False): /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:1071: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:1072: ttk.Button(bar, text="Rescan Inbox", command=self.rescan).pack(side="left", padx=2) /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:1137: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:1178: "Unpack them first, then use Rescan Inbox.", /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:1328: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:1337: f"Remaining in Inbox: {len(self.records) if inbox_mode else 'n/a'}\nLog: {root / LOG_FILENAME}" /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:1377: ap.add_argument("--profile", default="", help="Policy profile to use even when the test folder has a different name, e.g. 04_ARBEIT or 01_INBOX") /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:1378: ap.add_argument("--target-root", default="", help="Base folder destinations are relative to. For 01_INBOX this defaults to the Inbox parent.") /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:1398: inbox_mode = profile == "01_INBOX" or root.name == "01_INBOX" /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:1401: elif inbox_mode: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:1412: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_context-aware-mtime_v2.py:1442: launch_gui(root, target_root, records, destinations, args.endpoint, args.model, max(1, args.batch_size), aliases=aliases, inbox_mode=inbox_mode) /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:3:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/Kühlschrank 07-08-13,08.pdf Kühlschrank 07-08-13,08.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree structural-context Café-Bach operational file in the CB inbox; refrigerator-related document belongs to work context. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:4:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/01 Inbox - CB/SP5 treffen Samstag 15-08.pdf SP5 treffen Samstag 15-08.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree structural-context SP5 meeting document in Café-Bach work backup; SP5 is a work project. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:5:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/A5 Aufsteller.docx A5 Aufsteller.docx 01_INBOX 04_ARBEIT 0.50 models-disagree structural-context Display/signage document inside Café-Bach archive; work-material context is stronger than sparse extracted text. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:6:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Getränkeliste Aushang für Notfälle.docx Getränkeliste Aushang für Notfälle.docx 01_INBOX 04_ARBEIT 0.50 models-disagree structural-context Emergency beverage-list signage for Café-Bach operations. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:7:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession/Auszug_aus_Liegenschaftskataster.pdf Auszug_aus_Liegenschaftskataster.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree structural-context Property extract stored in the Café-Bach concession application package; work licensing record. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:8:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Konzession/Bescheinigung in Steuersachen Schubert, Oliver Finanzamt Köln.pdf Bescheinigung in Steuersachen Schubert, Oliver Finanzamt Köln.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree structural-context Certificate is part of the Café-Bach concession application package; retained as work licensing documentation. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:9:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2414 Junge Stadt Köln.pdf CB2414 Junge Stadt Köln.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:10:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2419 Lebenshaus-Stiftung.pdf CB2419 Lebenshaus-Stiftung.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:11:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2432 Aidshilfe Köln.pdf CB2432 Aidshilfe Köln.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:12:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2438 Junge Stadt Köln.pdf CB2438 Junge Stadt Köln.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:13:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2443 Lebenshaus-Stiftung.pdf CB2443 Lebenshaus-Stiftung.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:14:cafebach_Ordner_arbeitsrechner_duplikate_Vorhanden/Archiv bis 25-10-16/Rechnungen/Rechnungen 2024/CB2444 Junge Stadt Köln.pdf CB2444 Junge Stadt Köln.pdf 01_INBOX 04_ARBEIT 0.50 models-disagree series-consistency Café-Bach CB24xx invoice series; neighboring invoices are consistently work records. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:15:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/survstat/Data.csv Data.csv 01_INBOX 04_ARBEIT 0.50 models-disagree paired-document-context Paired with SurvStat Info.pdf in the same folder; the companion file is confirmed work health-surveillance material. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:16:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Covid IMpfungen 2022.docx Covid IMpfungen 2022.docx 01_INBOX 03_PRIVAT 0.50 models-disagree content-context Personal vaccination record; not an organizational work record. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:17:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/SENIOR TICKET NL 20220301.pdf SENIOR TICKET NL 20220301.pdf 01_INBOX 03_PRIVAT 0.50 models-disagree content-context Personal travel ticket rather than work documentation. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:18:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/Wichtige_Kundeninformation_zu_Konto_0125273623.PDF Wichtige_Kundeninformation_zu_Konto_0125273623.PDF 01_INBOX 03_PRIVAT 0.50 models-disagree content-context Personal bank-account/customer information rather than work documentation. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_manual-overrides_v1.tsv:19:Arbeits_Rechner_BackUP_Dokumente_Duplikate_vorhanden/Unsortiert/ticket_patrick-ja_queerfeld-festiv_1.pdf ticket_patrick-ja_queerfeld-festiv_1.pdf 01_INBOX 03_PRIVAT 0.50 models-disagree paired-document-context Personal festival ticket; matching companion ticket is already classified private. approved /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:6:- Compare files routed to 03_PRIVAT / 01_INBOX against the existing /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:7: authoritative /data/03_PRIVAT and /data/01_INBOX trees. /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:99: p.add_argument("--inbox-root", type=Path, default=Path("/data/01_INBOX")) /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:110: if row["effective_scope"] in {"03_PRIVAT", "01_INBOX"} /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:117: print(f" 01_INBOX: {sum(r['effective_scope'] == '01_INBOX' for r in candidates)}") /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:122: inbox_idx, inbox_count, inbox_errors = index_tree(args.inbox_root) /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:125: print(f"/data/01_INBOX files hashed: {inbox_count}") /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:126: print(f"Target hash errors: {len(privat_errors) + len(inbox_errors)}") /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:157: same_idx = privat_idx if scope == "03_PRIVAT" else inbox_idx /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:158: cross_idx = inbox_idx if scope == "03_PRIVAT" else privat_idx /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:178: result["audit_status"] = "UNIQUE_VS_PRIVAT_AND_INBOX" /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:210: "UNIQUE_VS_PRIVAT_AND_INBOX", /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:215: print(f"Target hash errors: {len(privat_errors) + len(inbox_errors)}") /data/02_DEV/13_document_sorter/2026-09-14_scope-triage_nonwork-hash-audit_v1.py:219: if privat_errors or inbox_errors or candidate_errors: /data/02_DEV/13_document_sorter/nonwork_execution_preflight.py:33: Path("/data/03_PRIVAT/01_INBOX/Recovered_Work-PC_2026-09-14"), /data/02_DEV/13_document_sorter/nonwork_execution_preflight.py:34: Path("/data/01_INBOX/Recovered_Work-PC_2026-09-14"), /data/02_DEV/13_document_sorter/nonwork_execution_preflight.py:39: Path("/data/01_INBOX"), /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:8:V2 adds a first-class top-level 01_INBOX workflow: source files can be routed /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:451: if len(rel.parts) <= 2 and "Altbestand" not in rel.parts and "01_INBOX" not in rel.parts: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:530: # In Inbox mode destinations span several sibling roots. Always expose each /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:551: # For a real 01_INBOX we must always allow "leave it where it is" when the /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:619:- In 01_INBOX mode, choose the stable owner/domain first; use 99_ARCHIV only for clearly historical/reference material, not merely because a file is old. /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:797: V2 Inbox behaviour where the Inbox is nested inside a broader target root. /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:1072:def launch_gui(root: Path, target_root: Path, records: list[Record], destinations: list[str], endpoint: str, model: str, batch_size: int, aliases: Optional[dict[str, list[str]]] = None, inbox_mode: bool = False): /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:1094: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:1095: ttk.Button(bar, text="Rescan Inbox", command=self.rescan).pack(side="left", padx=2) /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:1160: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:1201: "Unpack them first, then use Rescan Inbox.", /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:1351: if inbox_mode: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:1360: f"Remaining in Inbox: {len(self.records) if inbox_mode else 'n/a'}\nLog: {root / LOG_FILENAME}" /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:1400: ap.add_argument("--profile", default="", help="Policy profile to use even when the test folder has a different name, e.g. 04_ARBEIT or 01_INBOX") /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:1401: ap.add_argument("--target-root", default="", help="Base folder destinations are relative to. For 01_INBOX this defaults to the Inbox parent.") /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:1421: inbox_mode = profile == "01_INBOX" or root.name == "01_INBOX" /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:1424: elif inbox_mode: /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:1435: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/2026-09-10_quick-sorter_archive-cutoff-safe_v4.py:1465: launch_gui(root, target_root, records, destinations, args.endpoint, args.model, max(1, args.batch_size), aliases=aliases, inbox_mode=inbox_mode) /data/02_DEV/13_document_sorter/quick_sorter.py:8:V2 adds a first-class top-level 01_INBOX workflow: source files can be routed /data/02_DEV/13_document_sorter/quick_sorter.py:731: if len(rel.parts) <= 2 and "Altbestand" not in rel.parts and "01_INBOX" not in rel.parts: /data/02_DEV/13_document_sorter/quick_sorter.py:810: # In Inbox mode destinations span several sibling roots. Always expose each /data/02_DEV/13_document_sorter/quick_sorter.py:831: # For a real 01_INBOX we must always allow "leave it where it is" when the /data/02_DEV/13_document_sorter/quick_sorter.py:899:- In 01_INBOX mode, choose the stable owner/domain first; use 99_ARCHIV only for clearly historical/reference material, not merely because a file is old. /data/02_DEV/13_document_sorter/quick_sorter.py:1184: V2 Inbox behaviour where the Inbox is nested inside a broader target root. /data/02_DEV/13_document_sorter/quick_sorter.py:1459:def launch_gui(root: Path, target_root: Path, records: list[Record], destinations: list[str], endpoint: str, model: str, batch_size: int, fallback_model: str = "", aliases: Optional[dict[str, list[str]]] = None, inbox_mode: bool = False): /data/02_DEV/13_document_sorter/quick_sorter.py:1481: if inbox_mode: /data/02_DEV/13_document_sorter/quick_sorter.py:1482: ttk.Button(bar, text="Rescan Inbox", command=self.rescan).pack(side="left", padx=2) /data/02_DEV/13_document_sorter/quick_sorter.py:1547: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/quick_sorter.py:1588: "Unpack them first, then use Rescan Inbox.", /data/02_DEV/13_document_sorter/quick_sorter.py:1738: if inbox_mode: /data/02_DEV/13_document_sorter/quick_sorter.py:1747: f"Remaining in Inbox: {len(self.records) if inbox_mode else 'n/a'}\nLog: {root / LOG_FILENAME}" /data/02_DEV/13_document_sorter/quick_sorter.py:1788: ap.add_argument("--profile", default="", help="Policy profile to use even when the test folder has a different name, e.g. 04_ARBEIT or 01_INBOX") /data/02_DEV/13_document_sorter/quick_sorter.py:1789: ap.add_argument("--target-root", default="", help="Base folder destinations are relative to. For 01_INBOX this defaults to the Inbox parent.") /data/02_DEV/13_document_sorter/quick_sorter.py:1811: inbox_mode = profile == "01_INBOX" or root.name == "01_INBOX" /data/02_DEV/13_document_sorter/quick_sorter.py:1814: elif inbox_mode: /data/02_DEV/13_document_sorter/quick_sorter.py:1825: allow_stay_outside_policy=inbox_mode, /data/02_DEV/13_document_sorter/quick_sorter.py:1859: launch_gui(root, target_root, records, destinations, args.endpoint, args.model, max(1, args.batch_size), fallback_model=fallback_model, aliases=aliases, inbox_mode=inbox_mode) /data/02_DEV/13_document_sorter/README_V2.md:1:# Fast Sorter V2.0 — Inbox Mode /data/02_DEV/13_document_sorter/README_V2.md:3:V2.0 baut auf V1.5 auf und ergänzt einen echten Top-Level-Inbox-Workflow. /data/02_DEV/13_document_sorter/README_V2.md:9:├── 01_INBOX/ /data/02_DEV/13_document_sorter/README_V2.md:17:01_INBOX ist damit kein Unterordner von 03_PRIVAT, sondern die gemeinsame Eingangsstelle. /data/02_DEV/13_document_sorter/README_V2.md:21:Wenn der Ordner wirklich 01_INBOX heißt, erkennt V2 den Modus automatisch: /data/02_DEV/13_document_sorter/README_V2.md:24:python quick_sorter.py "/pfad/zum/HAUPTORDNER/01_INBOX" /data/02_DEV/13_document_sorter/README_V2.md:30:python quick_sorter.py "/pfad/zum/HAUPTORDNER/01_INBOX" --profile 01_INBOX /data/02_DEV/13_document_sorter/README_V2.md:36:python quick_sorter.py "/pfad/zu/INBOX_TEST"
/data/02_DEV/13_document_sorter/README_V2.md:37: --profile 01_INBOX
/data/02_DEV/13_document_sorter/README_V2.md:45:Eine Datei aus 01_INBOX kann z. B. nach /data/02_DEV/13_document_sorter/README_V2.md:53:verschoben werden. Ziele liegen nicht mehr innerhalb der Inbox. /data/02_DEV/13_document_sorter/README_V2.md:78:### Rescan Inbox /data/02_DEV/13_document_sorter/README_V2.md:82:1. Dateien in 01_INBOX entpacken. /data/02_DEV/13_document_sorter/README_V2.md:83:2. In der App Rescan Inbox klicken. /data/02_DEV/13_document_sorter/README_V2.md:88:### Apply räumt die Inbox wirklich auf /data/02_DEV/13_document_sorter/README_V2.md:90:Nach Apply confirmed werden bestätigte Dateien in ihre Zielbereiche verschoben. Danach scannt die App die Inbox neu. Erfolgreich verschobene Dateien verschwinden aus der Ansicht; übrig bleiben nur noch nicht bearbeitete, Review- oder Archivfälle. /data/02_DEV/13_document_sorter/README_V2.md:104:## Wichtig vor dem echten Inbox-Durchlauf /data/02_DEV/13_document_sorter/README_V2.md:106:Die Technik für die Inbox steht. Die Zielstruktur für 04_ARBEIT ist bereits gut getestet. Die aktuell eingetragene Struktur für 03_PRIVAT und 05_VAULT ist noch die bisherige Arbeitsfassung. Diese Ordner sollten vor einem großen echten Inbox-Apply gemeinsam überprüft und anschließend nur in sorter_policy.json angepasst werden — dafür muss der Python-Code nicht erneut umgebaut werden.