Spark
7852d860fe
fix(0.31.1): compositeur de création refait, description en <details> natif
...
CI / test (push) Successful in 2m13s
- Carte compositeur : en-tête + colonne d'arrivée, champ
pleine largeur, bouton primaire ; neutralise le
display:flex imposé par .board-toolbar aux formulaires.
- 'Ajouter une description' devient un <details> natif :
aucun JS requis, insensible au cache et aux erreurs de
scripts (le bouton 0.31.0 pouvait rester inerte).
- Assets du board versionnés (?v=APP_VERSION) contre les
mélanges de cache après redéploiement ; Ctrl+Entrée.
- Vérifié en Chromium réel sur le vrai board (captures
contrôlées) ; 261 tests verts.
2026-10-23 09:48:17 -04:00
Spark
d4cf8d1275
feat(0.31.0): description éditable, pièces jointes d'issues, clic carte fiable
...
CI / test (push) Successful in 2m10s
- Tiroir : édition du titre et de la description (PATCH
forge, journal 'edited', EVENT_TYPES étendu), création
avec description dépliable.
- Pièces jointes Gitea de bout en bout : client
list/upload/delete/download (le téléchargement suit
browser_download_url — l'endpoint asset ne sert que du
JSON, attrapé au smoke réel), routes proxifiées avec
CSRF et plafond 25 Mio, UI liste/envoi/suppression ;
GitHub : supports_attachments=False, message propre.
- Clic carte en délégation d'événement : les écouteurs par
carte mouraient au premier rafraîchissement live.
- 261 tests verts (7 nouveaux, palier 21) ; cycle réel
complet validé sur une issue jetable du vrai Gitea
(création, édition, envoi, téléchargement, suppression).
2026-10-23 09:27:38 -04:00
Spark
28322c12cf
feat(0.30.0): colonnes personnalisables par espace + mapping étiquette ↔ colonne
...
CI / test (push) Successful in 2m17s
- Table board_columns par espace (clé immuable, nom/couleur/
ordre libres, étiquette mappée + alias, drapeau Focus) ;
définitions semées paresseusement depuis les valeurs
historiques — sans personnalisation, comportement identique.
- Service app/board_columns.py : résolution, mapping
étiquette→colonne (alias compris, ex. kanban_a_faire de
Flowdeck), colonnes Focus/Wallboard.
- Board, API, adoption, miroirs d'étiquettes, déplacements,
capture, santé, focus, wall, dashboard branchés sur les
colonnes de l'espace ; validations dynamiques dans models
(move_issue, set_column_order) et rules.
- Administration → Colonnes : ajouter (avant Terminé),
renommer, réordonner, mapper, supprimer avec migration des
cartes vers une colonne choisie, réinitialiser ; bouton
🧱 Colonnes sur le board ; journal d'audit.
- Backlog et Terminé : colonnes système non supprimables.
- 254 tests verts (7 nouveaux, palier 20) ; smoke réel contre
le vrai Gitea : création, affichage au board, suppression.
2026-10-23 08:38:02 -04:00
Spark
3964323abd
Panneau Spark V3 : console en surimpression pleine page (0.29.0)
CI / test (push) Successful in 2m11s
2026-10-23 04:10:35 +00:00
Spark
4230ac1052
Panneau Spark : bouton « Console ↗ » vers la console du service (0.28.1)
CI / test (push) Successful in 2m6s
2026-10-22 21:18:49 +00:00
Spark
3809462cc7
0.28.0 — Émission d'événements vers le journal du service d'agents (Lot 2)
...
CI / test (push) Successful in 2m1s
- app/agent_journal.py : enveloppe ACC-0.2 signée HMAC-SHA256
(clé AGENT_EVENEMENTS_CLE, URL AGENT_EVENEMENTS_URL), envoi
en arrière-plan, timeout 2 s, inactif sans clé, échecs avalés
- main.py : _emettre_changement_colonne accolée aux log_event de
déplacement (interface, étiquettes forge, webhook, réconciliation,
PR fusionnée, branche) — kanbante.card.moved pour tout changement
de colonne, kanbante.card.review_requested à l'entrée en Révision
- config : AGENT_EVENEMENTS_URL/_CLE documentés et lus à l'appel
- 247 tests verts (5 nouveaux : signature revérifiable, inactivité
sans clé, moved, review_requested, panne du récepteur)
2026-10-22 18:40:00 +00:00
Spark
868496891d
0.27.0 — Panneau Spark v2 (Lot 1)
...
CI / test (push) Canceled after 0s
- draco-panneau vendangé v2 (identique dans les 4 apps) : Markdown
rendu par le service 0.10.0, largeur réglable, thème aligné,
discussions façon Muse (principale + parallèles)
- 242 tests verts
2026-10-22 11:54:31 -04:00
Spark
5ef6c21756
feat(0.26.0): écritures MCP minimales — create_issue + add_comment gardés par jeton kbt_
2026-10-22 03:31:19 +00:00
Spark
13182f5d53
0.25.0 — Jetons d'API personnels (kbt_) pour les surfaces machine
...
CI / test (push) Successful in 1m56s
Depuis 0.24.0, /mcp exige session ou Basic : le service d'agents s'y
faisait refuser en 401 (vu en production, panneau Spark du 2026-10-21).
- Table api_tokens (empreinte SHA-256 seule), CRUD dans Mon profil
- Bearer honoré par le middleware sur /mcp et /api/ uniquement —
jamais l'interface web ; révocation et désactivation immédiates
- 235 tests verts (3 nouveaux : cycle de vie, compte désactivé,
handshake MCP par jeton quand l'auth est active)
2026-10-21 21:38:16 -04:00
Spark
2381ae0b35
fix(0.24.2): base sombre pour tous les champs de saisie ( #29 )
CI / test (push) Successful in 1m54s
2026-10-21 21:31:57 -04:00
bruno
6e31122c46
fix: cryptography manquant dans dependencies (forge_crypto.py) — crash ModuleNotFoundError au démarrage v0.24.0
CI / test (push) Successful in 1m53s
2026-10-21 15:26:40 -04:00
Spark
735d7cdfd0
feat(forge): fondation multi-forges — connexions chiffrées, registre, client GitHub (P0/P1)
...
- Tables forge_connections/users/workspaces (+ membres, projets,
états, audit) ; migration des anciennes bases avec portées
(workspace_id, connection_id) par défaut (1, 1).
- Jetons chiffrés Fernet (KANBANTE_MASTER_KEY ou clé générée en
base), jamais réaffichés.
- ForgeRegistry : connexion héritée créée depuis l'environnement,
espace Principal, instantanés préfixés par connexion.
- GitHubClient complet (Bearer, pagination Link, étiquettes par
nom, PATCH archived, branches via git/refs).
- Paramètres surchargeables en base (résolveur config, P3).
2026-10-21 14:48:29 -04:00
Spark
f1a05279b6
fix: barre commune v0.1.4 (palier 900 px) + assets versionnés anti-cache ( #28 )
CI / test (push) Successful in 1m39s
2026-10-21 12:47:15 -04:00
Spark
ed2834c332
feat: menu des applications par la marque ✦ (barre commune v0.1.3) ( #28 )
CI / test (push) Successful in 1m37s
2026-10-21 12:27:10 -04:00
Spark
5bc21e1840
fix: barre commune pleine largeur, palier mobile v0.1.2, animation latérale fluide ( #28 )
CI / test (push) Successful in 1m37s
2026-10-21 11:34:18 -04:00
Spark
f087b41b4b
feat: Fusion — barre d'apps commune ( #28 ) et pont SSO draco_session ( #27 )
CI / test (push) Successful in 1m37s
2026-10-21 10:56:22 -04:00
bruno
90be279a2b
chore(release): Kanbante 0.22.1 — correctif colonne Terminé
CI / test (push) Successful in 2m21s
2026-10-20 16:56:37 -04:00
Spark
9e2096c9b6
chore(release): Kanbante 0.22.0 — login, sidebar, chantier B
CI / test (push) Successful in 2m1s
2026-10-14 08:02:49 -04:00
Spark
0bdde28b79
chore(release): Kanbante 0.21.0 — sélecteur de dépôt Capture
CI / test (push) Successful in 1m54s
2026-10-12 15:47:28 -04:00
Spark
f5d2d7d716
chore(release): Kanbante 0.20.1 — correctifs tri et regroupement
CI / test (push) Successful in 1m50s
2026-10-12 14:54:24 -04:00
Spark
7918b54943
chore(release): Kanbante 0.20.0 — en-tête Projets professionnel
CI / test (push) Successful in 2m13s
2026-10-12 14:40:05 -04:00
Spark
900590efed
chore(release): Kanbante 0.19.0 — performance et pilotage (A + C)
CI / test (push) Successful in 1m50s
2026-10-12 13:53:59 -04:00
Spark
593f076555
chore(release): Kanbante 0.18.0 — vague 2 suite : activité, actions rapides, tri, liste dense
CI / test (push) Successful in 1m47s
2026-10-11 23:18:01 -04:00
Spark
018bde0fa5
chore(release): Kanbante 0.17.0 — vague 2 : cartes projets enrichies et page Projet
CI / test (push) Successful in 1m46s
2026-10-11 22:52:22 -04:00
Spark
b4dc8f0d4f
chore(release): Kanbante 0.16.1 — icône palette et accordéons du menu
CI / test (push) Successful in 1m50s
2026-10-11 21:12:09 -04:00
Spark
d4b3b324f5
chore(release): Kanbante 0.16.0 — layout barre latérale et wallboard verrouillé
CI / test (push) Successful in 1m46s
2026-10-11 20:48:46 -04:00
Spark
6fdf39959c
chore(release): Kanbante 0.15.0 — header unifié desktop/mobile
CI / test (push) Successful in 1m54s
2026-10-11 20:15:23 -04:00
Spark
24a1ebb9a6
chore(release): Kanbante 0.14.0 — branche depuis la carte, santé du flux
CI / test (push) Successful in 1m49s
2026-10-11 14:49:38 -04:00
Spark
5b41c5ea74
chore(release): Kanbante 0.13.0 — code lié, PR fusionnée, standup, règles
CI / test (push) Successful in 1m43s
2026-10-11 14:21:11 -04:00
Spark
03fa1eb44e
chore(release): Kanbante 0.12.0 — focus du jour, prévisions, récit de sprint
CI / test (push) Successful in 1m43s
2026-10-11 13:55:03 -04:00
Spark
6b9ec1ff99
chore(release): Kanbante 0.11.0 — wallboard navigable
CI / test (push) Successful in 1m42s
2026-10-11 13:37:54 -04:00
Spark
2bc8ccaf4f
chore(release): Kanbante 0.10.0 — mode Triage
CI / test (push) Successful in 1m43s
2026-10-11 13:17:21 -04:00
Spark
25040f974c
chore(release): Kanbante 0.9.0 — board dynamique
CI / test (push) Successful in 1m42s
2026-10-11 12:59:54 -04:00
Spark
1743c8c101
chore(release): Kanbante 0.8.0 — palette Ctrl+K et digest ObsiGate
CI / test (push) Successful in 1m43s
2026-10-11 12:46:54 -04:00
Spark
39b751df56
chore(release): Kanbante 0.7.0 — capture éclair
CI / test (push) Successful in 1m41s
2026-10-11 12:40:32 -04:00
Spark
05b8c506e0
chore(release): Kanbante 0.6.0 — colonne QA, réconciliation par étiquettes, Wallboard
CI / test (push) Successful in 1m42s
2026-10-11 12:26:12 -04:00
Spark
b7ddc10971
chore(release): Kanbante 0.5.2 — correctif indice de colonne vide
CI / test (push) Successful in 1m41s
2026-10-11 12:08:28 -04:00
Spark
52c41ead91
chore(release): Kanbante 0.5.1 — correctif boards vides contre vrai Gitea
CI / test (push) Successful in 1m41s
2026-10-11 11:42:23 -04:00
Spark
7d2faf027d
chore(release): Kanbante 0.5.0
...
CI / test (push) Successful in 1m45s
Version, CHANGELOG (palier 3 points 7-9 + board) et README
(fonctionnalités, variables ntfy/briefing, nouvelles routes,
branchement d'un client MCP).
2026-10-11 11:00:53 -04:00
Spark
2d89db8213
chore(release): Kanbante 0.4.0
...
CI / test (push) Successful in 1m40s
Version, CHANGELOG (palier 2 + refonte) et README (fonctionnalités,
KANBANTE_WEBHOOK_SECRET / KANBANTE_SYNC_LABELS, routes webhook/stream/
milestone, procédure d'activation du webhook dans Gitea).
2026-10-11 10:23:50 -04:00
Spark
3cac4fe9c3
chore(release): Kanbante 0.3.0
...
CI / test (push) Successful in 1m39s
Version, CHANGELOG (palier 1) et README (fonctionnalités,
KANBANTE_WIP_LIMITS / KANBANTE_AGING_DAYS, nouvelles routes).
2026-10-11 10:05:51 -04:00
Spark
2060ca949d
fix(ci): la collecte des tests échouait sous le binaire pytest
...
CI / test (push) Successful in 1m38s
from tests.conftest import ... levait ModuleNotFoundError en CI :
le binaire pytest n'ajoute pas le répertoire courant à sys.path,
contrairement à python -m pytest (utilisé en local, qui masquait le
problème). Correctifs : tests/__init__.py (package), pythonpath=[.]
dans la config pytest, et étape CI en python -m pytest.
Vérifié : 36/36 dans les trois modes d'invocation.
2026-10-11 09:41:15 -04:00
Spark
c7212e88ad
chore(release): Kanbante 0.2.0 — Docker, docs, licence
...
CI / test (push) Failing after 1m37s
- Dockerfile: copie du code avant installation (le package installé
n'est plus vide — I6), utilisateur non-root, HEALTHCHECK
- compose: version: obsolète retiré, variables d'auth, healthcheck
- pyproject: version 0.2.0, jinja2 <4, config pytest
- LICENSE (MIT), CHANGELOG 0.2.0, README réécrit (configuration,
sécurité, API, tests), .dockerignore
2026-10-11 09:31:48 -04:00
bruno
3732b5cb45
feat: Kanbante v0.1.0 — Kanban Git-integrated PM tool
...
- Dashboard with all Gitea projects (active/archived)
- Kanban board per project (Backlog → À faire → En cours → Révision → Terminé)
- Drag & drop issues between columns (SortableJS)
- Project notes panel
- Gitea API integration (read issues, repos)
- SQLite local state for board positions
- Dark theme design system
- Docker-ready (Dockerfile + docker-compose.yml)
- FastAPI + Jinja2 + HTMX + Alpine.js stack
2026-07-07 23:24:15 -04:00