Legg til fase 26: epost — send/motta via synops.no
7 oppgaver: username i auth_identities, msmtp utgående, MX-records, Postfix mottak, synops-mail CLI med "Kjære vaktmester"-filter, domene-alias (alle domener → samme bruker), utgående varsler. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
0d1c79cd85
commit
74ad7d7011
2 changed files with 16 additions and 0 deletions
|
|
@ -43,6 +43,7 @@ declare -A PHASE_DEPS=(
|
||||||
[23]="22"
|
[23]="22"
|
||||||
[24]="23"
|
[24]="23"
|
||||||
[25]="24"
|
[25]="24"
|
||||||
|
[26]="25"
|
||||||
)
|
)
|
||||||
|
|
||||||
# --- Finn blokkerte faser ---
|
# --- Finn blokkerte faser ---
|
||||||
|
|
|
||||||
15
tasks.md
15
tasks.md
|
|
@ -46,6 +46,7 @@ Fase 12 → Fase 22 (SpacetimeDB-migrering — fullført)
|
||||||
Fase 22 → Fase 23 (validering — alle faser)
|
Fase 22 → Fase 23 (validering — alle faser)
|
||||||
Fase 23 → Fase 24 (orkestrering)
|
Fase 23 → Fase 24 (orkestrering)
|
||||||
Fase 24 → Fase 25 (web clipper)
|
Fase 24 → Fase 25 (web clipper)
|
||||||
|
Fase 25 → Fase 26 (epost)
|
||||||
```
|
```
|
||||||
|
|
||||||
Hvis en oppgave er `[?]` eller `[!]`, hoppes den over — og alle
|
Hvis en oppgave er `[?]` eller `[!]`, hoppes den over — og alle
|
||||||
|
|
@ -333,3 +334,17 @@ Readability, og oppretter innholdsnode med AI-beriking. Brukes av @bot i chat
|
||||||
- [ ] 25.2 Node-opprettelse: `synops-clip --write` oppretter `content`-node med artikkelinnhold, `metadata.source_url`, og `tagged`-edge "clipped". AI-oppsummering via LiteLLM. `mentions`-edges til gjenkjente entiteter i kunnskapsgrafen.
|
- [ ] 25.2 Node-opprettelse: `synops-clip --write` oppretter `content`-node med artikkelinnhold, `metadata.source_url`, og `tagged`-edge "clipped". AI-oppsummering via LiteLLM. `mentions`-edges til gjenkjente entiteter i kunnskapsgrafen.
|
||||||
- [ ] 25.3 @bot-integrasjon: bruker limer inn URL i chat → boten gjenkjenner URL, kaller `synops-clip`, presenterer oppsummering i chatten, oppretter node i bakgrunnen. Ved paywall: "Denne artikkelen er bak betalingsmur. Jeg fikk med tittel og ingress — lim inn innholdet om du vil dele resten."
|
- [ ] 25.3 @bot-integrasjon: bruker limer inn URL i chat → boten gjenkjenner URL, kaller `synops-clip`, presenterer oppsummering i chatten, oppretter node i bakgrunnen. Ved paywall: "Denne artikkelen er bak betalingsmur. Jeg fikk med tittel og ingress — lim inn innholdet om du vil dele resten."
|
||||||
- [ ] 25.4 Orkestrering-støtte: `synops-clip` tilgjengelig som verktøy i orkestreringer. F.eks. "Clip alle URL-er som deles i #Redaksjonen og oppsummer dem".
|
- [ ] 25.4 Orkestrering-støtte: `synops-clip` tilgjengelig som verktøy i orkestreringer. F.eks. "Clip alle URL-er som deles i #Redaksjonen og oppsummer dem".
|
||||||
|
|
||||||
|
## Fase 26: Epost — send og motta via synops.no
|
||||||
|
|
||||||
|
Vaktmesteren kan sende epost (msmtp) og motta epost (Postfix → synops-mail).
|
||||||
|
Brukernavn@domene ruter til brukerens innboks. Alle domener (synops.no,
|
||||||
|
sidelinja.org, vegard.info) ruter til samme bruker basert på username.
|
||||||
|
|
||||||
|
- [ ] 26.1 Username i auth_identities: legg til `username`-kolonne, populer fra Authentik `preferred_username` ved login. Unik constraint. Oppdater auth-callback i SvelteKit til å lagre username.
|
||||||
|
- [ ] 26.2 msmtp oppsett: konfigurer utgående epost via SMTP-relay. Avsender: `vaktmester@synops.no`. Tilgjengelig som `synops-mail --send --to <epost> --subject <emne>` CLI-verktøy.
|
||||||
|
- [ ] 26.3 MX-records: sett opp MX for synops.no, sidelinja.org, vegard.info som peker til serveren.
|
||||||
|
- [ ] 26.4 Postfix minimal: installer Postfix som lokal MTA kun for mottak. Ingen relay, ingen kø for utgående. Pipe innkommende epost til `synops-mail --receive`.
|
||||||
|
- [ ] 26.5 `synops-mail --receive`: Rust CLI som leser raw epost fra stdin. Sjekk 1: avsender-epost matcher `auth_identities.email`? Sjekk 2: innhold starter med "Kjære vaktmester" (eller konfigurerbar frase)? Begge må matche. Opprett `content`-node i brukerens innboks med epostinnholdet. Alt annet → /dev/null, ingen bounce.
|
||||||
|
- [ ] 26.6 Domene-alias: `vegard@synops.no`, `vegard@sidelinja.org`, `vegard@vegard.info` ruter alle til samme bruker via username-oppslag i PG. Domenet er irrelevant.
|
||||||
|
- [ ] 26.7 Utgående varsler: vaktmesteren kan sende epost-varsler til brukere (ny oppgave tildelt, innsendt artikkel godkjent, etc.) via `synops-mail --send`. Konfigurerbart per bruker i metadata.preferences.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue