Skip to content

feat(15-13b): la sauvegarde prise avant un import survit au redémarrage, et son échec est annoncé tel quel (closes #552, closes #576) - #584

Merged
guycorbaz merged 12 commits into
mainfrom
story/15-13b-sauvegarde-persistante
Oct 9, 2026
Merged

guycorbaz merged 12 commits into
mainfrom
story/15-13b-sauvegarde-persistante

Conversation

@guycorbaz

Copy link
Copy Markdown
Owner

La sauvegarde de sécurité prise avant un import d'installation était écrite dans /tmp du conteneur et disparaissait à sa recréation (#552) ; un échec survenu avant qu'elle soit écrite annonçait pourtant « un backup automatique a été créé » (#576).

  • Défaut de KESH_ADMIN_BACKUP_DIR : /data/backup, monté sur ./backup par les deux compose ; fichier en 0600, écrit sous .partial puis renommé, jamais par-dessus un fichier existant.
  • Nouvelle erreur ADMIN_PRE_IMPORT_BACKUP_FAILED (quatre locales) : aucune sauvegarde créée, rien supprimé ; le message nomme le dossier de sauvegarde et la base de données.
  • ./backup, ./inbox, ./documents ignorés de git et du contexte de build.
  • Manuel d'administration (rapatriement sudo cp/chown, refus, Passer à la 0.13.0 : cinq gestes / trois, recomptés avec la 15-13a), CHANGELOG [0.13.0], recettes hors Docker (docs/testing.md, CLAUDE.md, README, .env.example, DOCKER_START).

Rebasée sur bcded0c (15-13a). Gates sur l'état rebasé, à froid : backend 3046/3046 (4 ignorés), Vitest 1139/1139, E2E 245 passés / 9 échecs attendus (7 KF-029, 2 KF-045 du matin). Revue de code : P1 Sonnet ×3 0 au-dessus de LOW → P2 ciblée Haiku 0.

closes #552
closes #576
refs #558

🤖 Generated with Claude Code

guycorbaz and others added 12 commits October 9, 2026 12:03
…r main (fiches, prompts, registre par union)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… mesures compose config et manuel d'avant (refs #552, refs #576)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ssiers montés ignorés de git et du contexte de build (refs #552)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rtial sans écrasement, AdminPreImportBackupFailed et son message dans les quatre locales ; tests 3, 5, 6, 11, 12, 14 à 20 (refs #552, refs #576)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…fus, passage à la 0.13.0) et PDF, DOCKER_START, recettes hors Docker, CHANGELOG [0.13.0] (refs #552, refs #576)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… review (refs #552, refs #576)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…552)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…trois tests neufs, angles morts écrits (refs #552, refs #576)

Revue de code P1 (Sonnet ×3, lentilles B, E, A) : 0 au-dessus de LOW, 15 LOW.
Une seule ligne de production touchée : le texte du warn! (continuation `\`
perdue, suite d'espaces dans le message journalisé — B1 = E2 = A-1).

Tests neufs (mod tests de routes/admin.rs) : aucun_blanc_parasite_dans_le_code
(garde indépendante du texte, rouge avant la correction),
echecs_avant_sauvegarde_tous_convertis (E5),
write_pre_import_backup_dossiers_crees_et_existants (E3, A-4).
Doc-comments : write_backup_file (annulation, durabilité du renommage,
try_exists et liens symboliques), AdminFullImportFailed, check_schema_compat,
build_keshbackup (conversion à l'appel, A-3). Fiche : angles morts, total de
départ des tests (A-5), Dev Agent Record et Change Log.

Gate ciblé : fmt, clippy -D warnings, 90/90 (tests d'admin et
configuration_transmise) sur kesh_1513b remise à zéro. Gate complet et E2E
non rejoués.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…onné avec la 15-13a (refs #552, refs #576)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sus de LOW, rapport perdu), rebasée sur la 15-13a, gates rejoués à froid, statut done (refs #552, refs #576)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…057/3057, Vitest 1139/1139, E2E 245 / 7 KF-029 + 2 KF-045 (refs #552, refs #576)

Second rebase, main ayant reçu la 15-7b1 : registre des choix et
sprint-status par union (ligne renumérotée (42)), PDF d'administration
régénéré depuis le .tex fusionné. Premier E2E bloqué par le tmpfs MariaDB
plein (sans rapport avec la branche) ; relancé après redémarrage et
reconstruction des bases : 9 échecs, tous dans la liste de docs/testing.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@guycorbaz
guycorbaz force-pushed the story/15-13b-sauvegarde-persistante branch from b2cf4ee to e104604 Compare October 9, 2026 11:22
@guycorbaz
guycorbaz merged commit f2c5e41 into main Oct 9, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant