Commit Graph

24 Commits

Author SHA1 Message Date
wienen c2909529d8 Set explicit remote deploy PATH
Prompts used since the previous commit:
- useradd staat op /usr/local/bin/useradd. Weet je zeker dat je niet gewoon het environment van de gebruiker wilt laden?

Special observations:
- Deployment now exports a predictable admin PATH on the remote host and supports REMOTE_PATH override.
- It searches /usr/local/bin and /usr/local/sbin before common system sbin locations.
- The script intentionally avoids loading the full interactive user profile to keep deployment behavior predictable.
- verplaats_log.json remains modified from the user's run and was intentionally not staged.
2026-07-04 20:10:38 +02:00
wienen c1bf40d7de Find NAS useradd outside PATH
Prompts used since the previous commit:
- De nas heeft wel een useradd commando. Als ik inlog, kan ik useradd uitvoeren

Special observations:
- Non-interactive SSH sessions may omit /usr/sbin from PATH, so deployment now searches common sbin paths for useradd and nologin.
- verplaats_log.json remains modified from the user's run and was intentionally not staged.
2026-07-04 20:09:15 +02:00
wienen 32cee7c65f Handle NAS deploy without useradd
Prompts used since the previous commit:
- sudo: useradd: command not found

Special observations:
- If useradd is unavailable, remote deployment now falls back to the existing SSH user and primary group.
- The systemd template now has a separate group placeholder.
- verplaats_log.json remains modified from the user's run and was intentionally not staged.
2026-07-04 20:07:35 +02:00
wienen cf83946795 Allow sudo password prompts during remote deploy
Prompts used since the previous commit:
- sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
- sudo: a password is required

Special observations:
- deploy_vps.sh now uploads a temporary remote install script and executes it with ssh -tt so sudo can prompt on a terminal.
- The remote script starts with sudo -v to validate credentials once before install steps.
- verplaats_log.json remains modified from the user's run and was intentionally not staged.
2026-07-04 20:05:36 +02:00
wienen 5932e8927e Allow remote NAS deployment target
Prompts used since the previous commit:
- Ik wil dit testen op mijn NAS, die lokaal hier in huis draait. Dus niet op vps.australius.nl. Kan dat ook?

Special observations:
- deploy_vps.sh now accepts REMOTE_HOST and REMOTE_USER, with VPS_HOST/VPS_USER kept as aliases.
- The current service install path still assumes a Linux/systemd target with sudo; Synology/QNAP-style NAS deployment may need scheduler or container adaptation.
- verplaats_log.json remains modified from the user's run and was intentionally not staged.
2026-07-04 20:02:43 +02:00
wienen 5c0e345fd8 Add VPS IMAP sorting automation
Prompts used since the previous commit:
- Hieronder staat je oorspronkelijke plan. Volgens mij moet stap 'Add VPS automation' nog worden uitgevoerd, inclusief de testen.

Special observations:
- Added a testable IMAP sorting daemon, shared IMAP operation helpers, systemd service template, and SSH deployment script.
- Local tests passed; no live VPS deployment or mailbox-affecting daemon test was run.
- verplaats_log.json remains modified from the user's run and was intentionally not staged.
2026-07-04 20:00:17 +02:00
wienen 011b180224 Classify Huckr and Canva as AI services
Prompts used since the previous commit:
- huckr en canva onder AI. De andere niet

Special observations:
- Moved Huckr and Canva under Diensten.AI.
- Left Microsoft and Zapier in their existing non-AI routes.
- verplaats_log.json remains modified from the user's run and was intentionally not staged.
2026-07-04 18:50:56 +02:00
wienen ec53771a6e Group clear AI providers under services
Prompts used since the previous commit:
- Ik wil ook voor de andere AI-aanbieders regels en mappen onder Diensten.AI; als het niet duidelijk is of ik een dienst als AI beschouw, stel me dan vragen.

Special observations:
- Moved clear AI providers Claude/Anthropic, Cursor, Mistral, OpenAI, and Perplexity under Diensten.AI.
- Left ambiguous services such as Huckr, Canva, Microsoft, and Zapier unchanged pending user classification.
- verplaats_log.json remains modified from the user's run and was intentionally not staged.
2026-07-04 18:47:24 +02:00
wienen dfbba26ecd Route Jamie under AI services
Prompts used since the previous commit:
- Jamie moet niet bij werk, maar bij Diensten.AI

Special observations:
- Updated both DOMAIN_ROUTES and mailinglist_routes.json because mailing-list routing takes precedence over domain fallback routing.
- verplaats_log.json remains modified from the user's run and was intentionally not staged.
2026-07-04 18:45:39 +02:00
wienen 8b3861b18a Route former work senders under opdrachten
Prompts used since the previous commit:
- Ik wil niet dat je de term Oude Context gebruikt. De files moeten in plaats daarvan onder de map Werk.Opdrachten.

Special observations:
- Updated only routing/documentation paths for drenthe.nl, rdw.nl, and plasbossinade.nl.
- verplaats_log.json remains modified from the user's run and was intentionally not staged.
2026-07-04 18:42:39 +02:00
wienen 984382d030 Add INBOX candidate routing rules
Prompts used since the previous commit:
- Kijk nu in de INBOX en kijk of er nog meer kandidaten zijn om in de nieuwe structuur te plaatsen.
- Zuiderzee.net mag je zo laten. de oude werkcontexten mag je in aparte mappen zetten. Gmail mag je ook zo laten. KvK mag onder Administratie.KvK

Special observations:
- Added domain routes only; no mailbox-affecting script was run.
- verplaats_log.json remains modified from the user's run and was intentionally not staged.
2026-07-04 18:39:59 +02:00
wienen e6cd5f0268 Handle non-tuple IMAP fetch responses
The prompts used to arrive at this change since the previous commit

Ik krijg de volgende foutmelding: AttributeError: 'int' object has no attribute 'decode' while running verplaats_bestaand.py --account backup --uitvoeren.

Any special observations that may be relevant for version management for this version. Be brief.

The actual backup run modified local verplaats_log.json with processed INBOX UID entries; that run-state was intentionally not committed. Rerunning should preserve it so already logged moves are skipped.
2026-07-04 17:28:35 +02:00
wienen d82f9792f0 Add sorter progress counters
The prompts used to arrive at this change since the previous commit

Add a counter to the verplaats_bestaand file

Any special observations that may be relevant for version management for this version. Be brief.

Audit mode now reports folder position and scanned message progress every 250 messages without running live mailbox scripts from Codex.
2026-07-04 16:42:18 +02:00
wienen e062db2fb6 Add explicit sorter account flag
The prompts used to arrive at this change since the previous commit

For what account is this working?
Add the account name flag

Any special observations that may be relevant for version management for this version. Be brief.

config.py already supported --account globally; verplaats_bestaand.py now documents, validates, and displays the selected account explicitly.
2026-07-04 16:40:06 +02:00
wienen 8712052332 Handle IMAP aborts during sorter dry runs
The prompts used to arrive at this change since the previous commit

I have run the previous version of verplaats_bestaand. The results are in verplaats_bestaand.log and I got the following error message: imaplib.IMAP4.abort: command: UID => Server shutting down.

Any special observations that may be relevant for version management for this version. Be brief.

The user-run dry-run reached INBOX.Archief.2022.verzonden before the server closed the IMAP connection. Codex did not run live mailbox scripts; reconnect handling was verified with a fake local IMAP object.
2026-07-04 16:37:41 +02:00
wienen f44c363025 Harden mail move audit logging
The prompts used to arrive at this change since the previous commit

Read restart_prompt.md first, then continue from there.

Any special observations that may be relevant for version management for this version. Be brief.

No mailbox-affecting scripts were run by Codex. A generated dry-run transcript appeared locally as verplaats_bestaand.log and is now ignored via *.log.
2026-07-04 16:33:58 +02:00
wienen 33005a7cde Add sorter progress counters
The prompts used to arrive at this change since the previous commit

User asked to add a counter to verplaats_bestaand.

Any special observations that may be relevant for version management for this version. Be brief.

Dry runs now show planned move counters, and execution summaries distinguish planned, moved, no-match, skipped, and failed messages. No mailbox-affecting scripts were run.
2026-07-04 16:28:25 +02:00
wienen 701be98d47 Add decisions-based mailing list routing
The prompts used to arrive at this change since the previous commit

User said that in the future they will run scripts themselves when instructed, then asked to take the next step after the decisions.json mailing-list routing report and plan.

Any special observations that may be relevant for version management for this version. Be brief.

Added mailinglist_routes.json as the normalized runtime policy and wired mail_routes.py to use it before legacy domain routes. No mailbox-affecting scripts were run; validation was local only.
2026-07-04 16:23:48 +02:00
wienen be480fef87 Report decisions-based mailing list routing
The prompts used to arrive at this change since the previous commit

User asked to read decisions.json as an indicator for mailing-list handling, route choice h to appropriate functional mailboxes, route choice a under Afmelden, combine lists from the same person or organization, first draw up a report, then create a plan to add the structure to the existing approach.

Any special observations that may be relevant for version management for this version. Be brief.

This is a planning/report commit only. No sorter behavior changed; verplaats_bestaand.py still uses mail_routes.py and does not yet read decisions.json or a generated mailing-list policy.
2026-07-04 13:22:37 +02:00
wienen ba95c1a410 Reset backup mirror status
The prompts used to arrive at this change since the previous commit

User asked to reset the status of the copy in the mirror script because the backup destination was empty apart from folder structure, and to inspect the mailbox to assess the real status.

Any special observations that may be relevant for version management for this version. Be brief.

The mirror was rerun from hans to backup after resetting stale progress. Direct IMAP verification found 11190 backup messages versus 11203 eligible source messages; the difference matches 13 Message-ID duplicate skips.
2026-07-04 13:10:27 +02:00
wienen eb53bc123a Extract shared mail routing and IMAP folder helpers
Prompt since previous commit: execute step 1

Centralized route targets, source-folder policy, and modified UTF-7 mailbox quoting. Verification: py_compile, route/folder consistency, and git diff --check passed.
2026-07-04 12:23:14 +02:00
wienen 537c87e472 Add restart prompt reconstruction file
Prompts used since the previous commit:

- User asked whether it is possible and feasible to create restart_prompt.md.
- User requested that restart_prompt.md contain a from-scratch reconstruction prompt for the current project state.
- User requested that restart_prompt.md be rewritten at every commit, not appended to.

Special observations:

- Added project AGENTS.md so future Codex runs know to rewrite restart_prompt.md before every commit.
- restart_prompt.md is a reconstruction prompt for project state and intent; it intentionally does not contain credentials or ignored mailbox data.
2026-07-04 12:12:12 +02:00
wienen 9c7ba6fa5d Treat only processed invoices as already sorted
Prompts used since the previous commit:

- User said they do not want final destination folders in Archief.
- User clarified: only treat INBOX.Facturen - verwerkt as already sorted; treat all other mailboxes as sources except Sent, Drafts, Trash and Spam.

Special observations:

- Updated source-folder selection accordingly.
- Removed Archief final destination creation and added Technisch destination folders.
- Verified Python compilation and route/folder consistency.
2026-07-04 12:07:27 +02:00
wienen 4780c18d70 Initial commit
Claude has done a lot of work, but there are still some errors which
cause the mails to be distributed to wrong mail boxes. I am now going to
let codex and claude compete. They will have their own branches and
merge to main as soon as we are somewhere where we can switch AI.
2026-07-04 11:18:05 +02:00