8bda6c5f82
feat(bridge): add timeline-config endpoints and fields in view data — R4.1
...
- GET /api/v1/views/:viewId/timeline-config: reads config from Redis (TTL 30d)
- POST /api/v1/views/:viewId/timeline-config: saves config (requires write:tables scope)
- GET /api/v1/views/:viewId/data now includes a fields key for column mapping UI
- TimelineConfig type exported for test reuse
- 12 new Vitest tests covering 401/403/400 validation, full CRUD, Redis persistence
- SESSION-RESUME.md updated with R4.1 progress
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 11:27:22 +02:00
8ea4c3fd10
docs(session): pre-/compact resume — questions Q1 Claude smoke + Q2 audit Postgres/Baserow
CI / Lint bridge (Biome) (push) Has been cancelled
CI / Security scan (push) Has been cancelled
E2E Playwright / Playwright e2e (chromium) (push) Has been cancelled
CI / Type-check bridge (push) Has been cancelled
CI / Tests unit bridge (push) Has been cancelled
CI / Tests integration bridge (push) Has been cancelled
CI / Docker build + healthcheck (push) Has been cancelled
2026-05-08 10:44:51 +02:00
590f4cb062
docs(session): update SESSION-RESUME post Patch 017 — 0 TS errors, all tests green
...
- Documents Patch 017: vitest->jest migration, Zod v4 UUID fixes, JwtAuthGuard
overrides, jest.Mock typing, excalidraw/main.tsx mocks
- Client: 38/38 suites, 313/313 tests; server acadenice: 21/21 suites, 210/210 tests
- Both sides: 0 TypeScript errors
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 10:37:04 +02:00
d55581ef77
docs(session): update SESSION-RESUME post R3.8 — R3 ENTIEREMENT TERMINE
...
CI / Docker build + healthcheck (push) Blocked by required conditions
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
E2E Playwright / Playwright e2e (chromium) (push) Waiting to run
Adds R3.8 commit hash (be951a2), updates permission catalogue to 30 perms,
marks R3 as fully delivered, updates last-update header.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 02:48:03 +02:00
c8d14b1932
docs(session): update SESSION-RESUME post R3.7 (mentions notifications Patch 015)
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
E2E Playwright / Playwright e2e (chromium) (push) Waiting to run
2026-05-08 02:29:24 +02:00
4a006b6bf3
docs(session): update SESSION-RESUME post R3.6 — templates system, 26 perms, Patch 014
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
E2E Playwright / Playwright e2e (chromium) (push) Waiting to run
2026-05-08 02:13:31 +02:00
124be4f305
docs(session): update SESSION-RESUME post R3.5.2 — graph view UI LIVRE
...
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
E2E Playwright / Playwright e2e (chromium) (push) Waiting to run
R3.5.2 frontend graph view livre (aac0149). R3.5 entierement termine.
Prochaine etape : R3.6 templates de pages.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 01:39:54 +02:00
0bc151a6fa
docs(session): update SESSION-RESUME post R3.5.1 — graph backend LIVRE
...
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
E2E Playwright / Playwright e2e (chromium) (push) Waiting to run
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 01:27:55 +02:00
30e3dabdf1
docs: update SESSION-RESUME post R3.4 dual editor delivery
...
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
E2E Playwright / Playwright e2e (chromium) (push) Waiting to run
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 01:19:00 +02:00
fe1fc6d3d9
docs(session): update SESSION-RESUME post R3.3 — slash commands livres
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
E2E Playwright / Playwright e2e (chromium) (push) Waiting to run
2026-05-08 01:07:59 +02:00
c8c2b7bf5d
chore(session): update SESSION-RESUME post R3.2 backlinks bidirec LIVRE
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
E2E Playwright / Playwright e2e (chromium) (push) Waiting to run
2026-05-08 00:52:51 +02:00
bb10862dfe
docs(session): mark R3.1.e as delivered — e969545, 7 Playwright e2e scenarios, R3.1 TERMINE
...
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
E2E Playwright / Playwright e2e (chromium) (push) Waiting to run
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 00:38:26 +02:00
ce76438a77
docs(session): mark R3.1.d as delivered — f3fae2a, kanban+calendar+inline edit, 33 new tests (96 total)
CI / Type-check bridge (push) Blocked by required conditions
CI / Lint bridge (Biome) (push) Waiting to run
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
2026-05-08 00:25:31 +02:00
c985bad75c
docs(session): R3.6+R3.7+R3.8 ajoutes au backlog + mode Loop full autonome
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
2026-05-08 00:14:12 +02:00
9c910995f2
docs(session): mark R3.1.c as delivered — 71c2aba, 41 tests, database-view Tiptap extension
...
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 00:08:20 +02:00
a673d93e52
docs(session): mark R3.1.b as delivered — c998c0d, 380 tests, SSE realtime stream
CI / Tests unit bridge (push) Blocked by required conditions
CI / Docker build + healthcheck (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
2026-05-07 23:55:53 +02:00
2ac2eccf9a
docs(session): R3.1 decoupe en 5 sous-blocs incluant R3.1.e Playwright e2e
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
2026-05-07 23:26:23 +02:00
19246c6fe7
docs(session): ajoute R3.5 graph view style Obsidian/AFFiNE au RECAP
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
2026-05-07 23:06:43 +02:00
9fbdbd0cf3
docs(session): RECAP fin session 2026-05-07 — pivot Notion-like + R1 + R2.x livres
CI / Security scan (push) Waiting to run
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Docker build + healthcheck (push) Blocked by required conditions
2026-05-07 23:05:51 +02:00
a79c51e6f2
feat(auth): R2.3b bridge accepte JWT HMAC DocAdenice via DOCMOST_APP_SECRET
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Lint bridge (Biome) (push) Waiting to run
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
2026-05-07 23:02:01 +02:00
2ed73fa948
feat(bridge): R1 refactor proxy generique style Notion
...
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
Pivot strategique : DocAdenice = produit Notion-like generique. Le bridge
est livre vide a un user qui cree ses tables Baserow comme il veut. Code
sans aucune ontologie metier.
Suppressions :
- 9 entites domain metier (Personne, Formation, Bloc, Module, Attribution,
Client, Projet, Tache, Intervention) + types.ts (Role, statuts)
- baserow-repo.ts (mega-fichier 554 LOC avec 9 repos heritant BaseRepo)
- 6 routes metier (personnes, formations, projets, modules, interventions,
attributions) + tests associes
- Lookup PersonneRepo.findByEmail dans middleware auth
- Mapping DEFAULT_ROLE_SCOPES dans middleware/scopes.ts
- Cascade rollup metier dans webhooks/baserow-handler.ts
Ajouts :
- Domain generique : Table, Row, Field, View + schemas zod refondus
- 4 repos generiques : tables / rows / fields / views
- Route unique routes/tables.ts avec 9 endpoints REST CRUD generiques
- Claim JWT acadenice_permissions[] lu directement dans le middleware auth
(alimente par RBAC dynamique cote DocAdenice en R2)
- examples/acadenice-formation-hub/ : README + seed-baserow.md schema
9 tables + example-roles.md (Formateur, Developpeur, Direction, Support,
Admin avec permissions generiques)
Refactors :
- BaserowClient etendu : listTables, getTable, listFields, listViews,
getGridViewRows
- middleware/auth.ts : extractPermissions(payload), AuthenticatedUser
remplace roles[] par permissions[]
- middleware/scopes.ts : computeOidcScopes(groups, permissions, map)
- webhooks/baserow-handler.ts : invalidation generique
bridge:tables:<tableId>:* sans cascade cross-table
- lib/cache.ts : invalidateEntity -> invalidateTable(redis, tableId, rowId?)
- container.ts : drop tableIds, RepoSet={tables, rows, fields, views}
- 501 NOT_IMPLEMENTED si DB token sur endpoints /tables qui exigent JWT
Tests : 250/250 verts (depuis 319). Coverage : domain 98.9%, adapters 89%,
auth 97.08%, rate-limit 100%, cache 100%, webhooks 100%.
Quality gates verts : typecheck, lint biome, vitest, coverage thresholds.
Refs: R1 dans le pivot strategique DocAdenice Notion-like generique.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 22:12:32 +02:00
0cf6533885
feat(bridge): Bloc 5 rate limit + cache invalidation cote writes
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
2026-05-07 21:44:33 +02:00
571f5c3426
feat(auth): Bloc 4 — middleware OIDC-ready avec dual mode service-token + Authentik JWT
...
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
- Support JWT OIDC Authentik via jose + JWKS (cache 10min)
- Lookup Personne via PersonneRepo.findByEmail + cache Redis 60s
- Mapping groups Authentik + roles formation-hub vers scopes
- Mode OIDC active uniquement si AUTHENTIK_ISSUER + JWKS_URI + AUDIENCE set
- Service tokens brg_* inchanges, restent voie principale en local
2026-05-07 21:17:56 +02:00
022b1ee926
feat(webhooks): Bloc 7a Baserow complet + Bloc 7b Docmost stub avec HMAC verify et idempotence
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
2026-05-07 20:51:56 +02:00
c4f087b697
docs(session): Bloc 6 done + fix ZSET
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
2026-05-07 20:38:07 +02:00
37e516af36
docs(session): update SESSION-RESUME apres Bloc 1+2+3 + smoke test
...
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Lint bridge (Biome) (push) Waiting to run
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
- Ajoute CHANGELOG en tete du doc avec les 4 commits de la session soir
- Ajoute section "Smoke test live — etat actuel" avec table des resultats
- Ajoute section "Etat des blocs Phase 2 (a jour)" : 1-2-3 DONE, 4 inclus dans 3, 3.2/5/6/7 TODO avec recommandations
- Update credentials : bridge/.env documente + commande docker run bridge-redis
- Update commits Forgejo : split jour / soir
- Update checklist demarrage prochaine session : pull, bridge-redis, npm run dev, smoke quick, options bloc
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 20:12:42 +02:00
b37220d432
feat(agents): complete BYAN INT for 3 more agents + session resume MD
...
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
Agents crees (briefs detailles ~150-200 lignes chacun) :
- bridge-tester : QA Vitest + testcontainers + E2E Playwright + coverage 80%
- acadenice-devops : Docker/Traefik/Forgejo/backups/monitoring/CI-CD
- docmost-fork-dev : React+Tiptap node-views + bidirec backlinks + fork strategy
Plus :
- _byan-output/fast-app/formation-hub/SESSION-RESUME.md : document de reprise
pour la prochaine session apres restart Claude Code. Contient :
* Etat global projet (conception OK + Phase 1 en cours)
* Localisation tous artefacts (URLs, paths, IDs)
* 19 docs conception checklist
* Phase 1 iteration status (OK / partiel / TODO)
* Phase 2 bridge — decoupage en blocs
* 4 agents specialises + comment les invoquer
* 3 workflows BYAN proposes (a creer)
* Decisions structurelles a respecter
* Credentials utilises (.env)
* Tous les commits cette session
* Checklist demarrage prochaine session
Equipe BYAN formation-hub now complete :
[OK] bridge-dev (code metier)
[OK] bridge-tester (qualite)
[OK] acadenice-devops (infra/ops)
[OK] docmost-fork-dev (frontend custom)
2026-05-07 19:26:17 +02:00