| name | huolla |
| description | Systeemin huolto JA tutkinta Raamattu Nyt -projektissa. Ajaa ohjaamon AI-ajettavat huoltotehtävät (admin.maintenance_tasks: initioi pending, ajaa ready, kirjaa historiaan) JA tekee ad-hoc-diagnostiikkaa systeemin terveydestä (Supabase advisors, RLS-kattavuus, orpodata, connection health, system-status). Delegoi syvätutkinnan erikoisskilleille (ci-doctor, security-auditor, performance-auditor, systematic-debugging). Käytä kun käyttäjä pyytää: "/huolla", "aja huollot", "ohjaamon huoltotehtävät", "huoltotehtävät", "maintenance tasks", "systeemin terveys", "system health", "tutki systeemi", "diagnostics", "aja advisorit", "RLS-audit", "orpodata", "connection health", "mikä huolto on seuraavaksi deadlinessä", "käy kaikki huoltotehtävät läpi", "myös ne joita ei ole merkitty AI:lle", "erääntyneet huoltotehtävät", "huoltokatsaus". |
Huolla — systeemin huolto & tutkinta
Kaksi tilaa. Valitse pyynnön mukaan (voit ajaa molemmat).
| Pyyntö | Tila |
|---|
| "aja huollot", "/huolla", "ohjaamon huoltotehtävät", deadline-pohjainen ajo | A — Huoltotehtävät |
| "systeemin terveys", "tutki", "aja advisorit", "RLS-audit", "orpodata", ad-hoc | B — Tutkinta |
| "käy KAIKKI huoltotehtävät läpi", "myös ne joita ei ole merkitty AI:lle", "katsaus", "mitä tehtäviä on", "erääntyneet" | C — Kokonaiskatsaus |
Projektifaktat
- Supabase project ID:
iryqgmjauybluwnqhxbg. Käytä execute_sql-toolia.
- Lähde:
admin.maintenance_tasks (+ admin.maintenance_task_history).
Sama data jota hallitaan /ohjaamo-paneelissa (AdminMaintenanceCalendarPage,
apps/raamattu-nyt/src/pages/admin-maintenance/).
- Rajoitus: huolto-RPC:t (
get_ai_runnable_tasks(),
complete_maintenance_task()) vaativat admin-roolin → MCP ei voi kutsua niitä.
Käytä suoria SELECT/UPDATE/INSERT-kyselyjä. Ks. references/learnings.md.
Tila A — Huoltotehtävät
Aja AI-ajettavat huoltotehtävät: initioi ai_init_pending, aja ai_ready,
merkitse tulokset historiaan. Lue references/maintenance-tasks.md
— se sisältää täydellisen vaihejärjestyksen, check_type-reititystaulukon, valmiit
SQL:t ja tulosten arviointikriteerit. Älä toista niitä tähän.
Yhteenveto:
- Hae
ai_init_pending + ai_ready -tehtävät joiden next_deadline <= CURRENT_DATE.
- Vaihe A (init): päättele
check_type/check_config nimestä → ai_ready tai ai_init_failed.
- Vaihe B (ajo): aja tarkistus check_type:n mukaan; pass/fail-kriteerit referenssistä.
- Merkitse pass-tulokset tehdyiksi (UPDATE + INSERT history); fail → raportoi, älä merkitse.
- Tulosta yhteenvetotaulukko.
Tila B — Tutkinta (ad-hoc)
Tee systeemin terveystarkistus ilman tehtävälistaa. Lue
references/diagnostics.md — diagnostiikkakatalogi
(advisors, RLS-kattavuus, orpodata, connection health, system-status) + valmiit
kutsut ja tulkinta.
Tila C — Kokonaiskatsaus (KAIKKI tehtävät)
Käy läpi kaikki aktiiviset huoltotehtävät — myös ne joita EI ole merkitty
AI:n ajettavaksi (ai_status = ai_disabled / ai_init_failed / NULL). Tila A
ajaa vain ai_ready/ai_init_pending; tämä tila näkee loputkin. Lue
references/maintenance-tasks.md §6 — koko
tehtävälistan kysely, luokittelu (ajettava / epäonnistunut / manuaali) ja
suositukset (erääntyneet, promotoitavat AI:lle). Read-only: älä mutatoi
ai_status:ia äläkä merkitse manuaalitehtäviä tehdyksi ilman käyttäjän pyyntöä.
Delegointi erikoisskilleille
Huolla on yleiskäyttöinen ajuri + triage. Kun löytyy syvempi ongelma, kutsu
oikea erikoisskill Skill-toolilla äläkä ratkaise itse:
| Löydös | Delegoi skilliin |
|---|
| CI punaisena, workflow-fail, build/test-virhe | ci-doctor |
| Tietoturva-advisor, RLS-aukko, GRANT-ongelma, scanner-löydös | security-auditor |
| Hidas kysely, N+1, indeksi, korkea connection-käyttöaste | performance-auditor |
| Toistuva bugi / odottamaton käytös joka vaatii juurisyyanalyysin | systematic-debugging |
Raportoi triage-tulos ja mitä delegoit; älä jätä fail-löydöstä roikkumaan.
Raportointi
- Aina lopuksi yhteenvetotaulukko: Tehtävä/Tarkistus | Tila | Tulos | Huomiot.
- Fail = ÄLÄ merkitse tehdyksi; nosta esiin ja delegoi tarvittaessa.
Learnings
Ks. references/learnings.md gotchat (admin-roolin RPC-rajoitus,
completed_by UUID, next_deadline-laskenta).