Commit Graph

  • 578a7c3d1a fix(frontend): SOC C2 tab RBAC gate + safeTab sync + disabled tab contrast (review polish) sprint/13-sim-tabs Knacky 2026-06-22 10:59:54 +02:00
  • 0378792dc4 feat(frontend): SimulationFormPage 3-tab layout (Red Team / SOC / Tâche C2) Knacky 2026-06-22 10:48:18 +02:00
  • addfb5ad38 Merge pull request 'feat(frontend): full FR i18n via react-i18next + 2-tab engagement detail (sprint 12)' (#14) from sprint/12-i18n-fr into main main knacky 2026-06-22 08:25:50 +00:00
  • 88dfa74663 Merge pull request 'feat(frontend): Spectrum UX port — Tabs + AlertBanner + BackLink + compact tables (sprint 11)' (#13) from sprint/11-spectrum-ux into main knacky 2026-06-22 08:25:38 +00:00
  • 9b6b682acc docs(sprint-13): plan SimulationFormPage 3-tab layout (RT/SOC/C2) Knacky 2026-06-22 10:24:36 +02:00
  • 2ff097b648 fix(frontend): i18n reactive badges + aria-labels + ExportEngagementButton + noMatch (review polish) Knacky 2026-06-22 00:23:03 +02:00
  • ac0bc8d1b2 fix(frontend): i18n reactive badges + fr-FR dates on detail/admin + FR footer (design-review) Knacky 2026-06-22 00:18:05 +02:00
  • 6648d1cc2e fix(frontend): translate status badge labels via i18n helpers Knacky 2026-06-22 00:08:45 +02:00
  • 2931e4aaf9 feat(frontend): i18n shared state components + UsersAdminPage + CHANGELOG Knacky 2026-06-21 23:56:47 +02:00
  • ad0a3f5cac feat(frontend): i18n C2 components (config card, tasks panel, execute/import modals, picker) Knacky 2026-06-21 23:51:12 +02:00
  • bdda02b07a feat(frontend): i18n MITRE components (matrix modal, picker, field, tag) Knacky 2026-06-21 23:41:32 +02:00
  • 284494cee8 feat(frontend): i18n template pages (list, form, picker modal) Knacky 2026-06-21 23:36:20 +02:00
  • 5b93f880a3 feat(frontend): i18n simulation pages (SimulationFormPage, SimulationList) Knacky 2026-06-21 23:31:21 +02:00
  • ea870af324 feat(frontend): i18n engagement pages (list, detail, form) + fr-FR date formatting Knacky 2026-06-21 23:26:22 +02:00
  • fe597e9be3 feat(frontend): i18n common + nav + auth (Layout, LoginPage, ProtectedRoute) Knacky 2026-06-21 23:23:36 +02:00
  • 3723bd009b feat(frontend): scaffold i18n init, fr.json (~140 keys), status map, format helpers Knacky 2026-06-21 23:21:02 +02:00
  • 51fb2e4f95 chore(frontend): install react-i18next + i18next deps Knacky 2026-06-21 23:16:13 +02:00
  • 3cdfba636e feat(frontend): merge Schedule tab into Description on EngagementDetailPage Knacky 2026-06-21 23:16:00 +02:00
  • 10d4293f44 docs(sprint-12): plan i18n FR (react-i18next) + EngagementDetail tab merge Knacky 2026-06-21 23:12:57 +02:00
  • 2c7fcec7cd fix(frontend): add text- prefix to caption-bold and caption-md @apply (sprint 11 build fix) Knacky 2026-06-21 22:38:01 +02:00
  • 11ce3cfb86 fix(frontend): code-review polish — replaceState, arrow-key nav, TabId, comment Knacky 2026-06-21 22:20:51 +02:00
  • 790ced4204 fix(frontend): design-review polish — table-compact height, header type-scale, tabs a11y Knacky 2026-06-21 22:18:09 +02:00
  • 1324a0c8ce docs(design): add tabs / inline banners / compact-table-density to DESIGN.md Knacky 2026-06-21 22:11:38 +02:00
  • 5d34a5e171 test(frontend): add specs for Tabs, AlertBanner, BackLink, useHashTab Knacky 2026-06-21 22:11:31 +02:00
  • 1819089925 feat(frontend): compact table density (32px row) global Knacky 2026-06-21 22:11:24 +02:00
  • 9a8c5f52ab feat(frontend): add BackLink helper + dedup 3 hand-rolled instances Knacky 2026-06-21 22:11:17 +02:00
  • 59eaa342a9 feat(frontend): add AlertBanner component + 4 semantic variants Knacky 2026-06-21 22:11:10 +02:00
  • 004d075cad feat(frontend): refactor EngagementDetailPage to 3-tab layout Knacky 2026-06-21 22:11:04 +02:00
  • bca39dcca7 feat(frontend): add Tabs primitive + useHashTab hook Knacky 2026-06-21 22:10:59 +02:00
  • 89fb38b107 docs(sprint-11): plan spectrum UX port — 4 primitives + compact density global Knacky 2026-06-21 22:03:15 +02:00
  • 65857134ef Merge pull request 'fix(c2): redteam-friendly verify_tls default (sprint 10)' (#12) from sprint/10-c2-tls-default into main knacky 2026-06-21 19:44:32 +00:00
  • 208c6e6428 fix(c2): append trailing slash to mythic /graphql URL to avoid 301 redirect Knacky 2026-06-21 21:25:06 +02:00
  • 91533c214c docs(spec): align c2_config.verify_tls default with sprint 10 (false) Knacky 2026-06-21 21:06:10 +02:00
  • 0fab40b486 feat(backend): default verify_tls to false for lab/redteam Mythic Knacky 2026-06-21 21:03:05 +02:00
  • ee5fda6059 fix(frontend): make verify_tls helper text spell out the MITM tradeoff Knacky 2026-06-21 21:01:49 +02:00
  • 774ae05748 fix(frontend): default verify_tls checkbox to unchecked + add helper text Knacky 2026-06-21 20:57:41 +02:00
  • c31f985e7a docs(sprint-10): plan flip verify_tls default to false (redteam-friendly) Knacky 2026-06-21 20:55:32 +02:00
  • 24d4a3b146 Merge pull request 'feat(c2): integrate Mythic command and control (sprint 8)' (#11) from sprint/8-c2 into main knacky 2026-06-11 10:29:19 +00:00
  • 8b5b5d94d8 fix(frontend): floating dropdowns and matrix modal frame use bg-paper sprint/9-ui-contrast Knacky 2026-06-11 11:12:07 +02:00
  • 76bcb04c8f style(frontend): inputs + outline buttons inside cards use bg-paper Knacky 2026-06-11 11:11:59 +02:00
  • 88b97cef2e feat(frontend): 2-column layout for EngagementFormPage in edit mode Knacky 2026-06-11 11:01:09 +02:00
  • e4b1d6cb57 style(frontend): tint canvas light to #f3f5f8 for cards-on-canvas contrast Knacky 2026-06-11 11:01:00 +02:00
  • a9fe2fc528 docs(sprint-9): plan UI 2-col engagement + global contrast pass Knacky 2026-06-11 10:53:16 +02:00
  • 38e282a126 fix(backend): complete c2 task→simulation mapping per spec + sanitize adapter errors (sprint 8 code-review) Knacky 2026-06-10 20:28:49 +02:00
  • 7d3d39639e fix(backend): expose c2_task.source in GET /c2/tasks response Knacky 2026-06-10 20:24:22 +02:00
  • 184a2a16c9 fix(frontend): a11y on clickable rows + correct c2 source field + pill metric alignment (sprint 8 design-review) Knacky 2026-06-10 20:22:45 +02:00
  • 7ff153905b feat(frontend): c2 tasks panel + history import (sprint 8 phase 2) Knacky 2026-06-10 20:11:12 +02:00
  • 8f23f59601 feat(backend): c2 callback history + task import (sprint 8 M4) Knacky 2026-06-10 20:09:29 +02:00
  • b83316f715 fix(backend): repair 0006 migration tests for alembic 1.18.x proxy api Knacky 2026-06-10 20:02:46 +02:00
  • 873e52a2a1 feat(backend): c2 poll-on-read + output mapping (sprint 8 M3) Knacky 2026-06-10 19:56:06 +02:00
  • 5ff6ae8940 feat(frontend): c2 config card + execute modal (sprint 8 phase 1) Knacky 2026-06-10 19:50:11 +02:00
  • 53755a31d6 feat(backend): c2 callbacks + execute endpoints (sprint 8 M2) Knacky 2026-06-10 19:34:18 +02:00
  • 9a9c98beab feat(backend): c2 crypto + config CRUD + adapter scaffolding (sprint 8 M1) Knacky 2026-06-10 19:20:52 +02:00
  • 813e69ee01 docs(spec): add C2 integration section (sprint 8 commit #1) Knacky 2026-06-10 19:07:35 +02:00
  • 6ca614a3f3 Merge pull request 'feat(design): terminal-SOC aesthetic refresh (sprint 7)' (#10) from sprint/7-design into main knacky 2026-06-10 16:40:20 +00:00
  • 1997a8c621 feat(frontend): side-by-side red-team/SOC columns on simulation screen Knacky 2026-06-10 18:17:54 +02:00
  • 573281f454 fix(design): code-reviewer polish — dedupe tag-mitre recipe, drop dead boxShadow tokens, cover StatusBadge classes Knacky 2026-06-10 05:53:53 +02:00
  • 6995c4c860 fix(design): address design-reviewer findings F1-F6 — nav slab, spinner, badge coverage, mono discipline Knacky 2026-06-09 19:43:08 +02:00
  • 7ea2fe490c docs: add sprint 7 terminal-SOC design refresh to CHANGELOG Knacky 2026-06-09 19:01:29 +02:00
  • 0e69eb901c test(frontend): update vitest assertions for new design tokens Knacky 2026-06-09 18:46:03 +02:00
  • 5cc830554c refactor(pages): apply terminal-SOC aesthetic to all 8 pages Knacky 2026-06-09 18:44:47 +02:00
  • ec7800ae38 refactor(components): squared shapes + mono data cells across all components Knacky 2026-06-09 18:42:26 +02:00
  • c791e50108 feat(design): bundle JetBrains Mono for data cells Knacky 2026-06-09 18:39:13 +02:00
  • 64da94f10d feat(design): refresh tailwind tokens for brutalist terminal aesthetic Knacky 2026-06-09 18:38:43 +02:00
  • 6c05cc2e11 docs(design): rewrite DESIGN.md for terminal-SOC aesthetic Knacky 2026-06-09 18:37:44 +02:00
  • 5627d7dcfa docs(sprint 7): plan — terminal-SOC design refresh Knacky 2026-06-09 18:34:45 +02:00
  • c85ece46b9 chore(agents): frontend-builder must invoke Skill frontend-design before UI work Knacky 2026-06-09 18:34:36 +02:00
  • e27babed5b Merge pull request 'feat: sprint 6 — engagement export (md/csv/pdf)' (#9) from sprint/6-export into main knacky 2026-06-09 16:19:02 +00:00
  • e41679b331 fix(export): render PDF in A4 landscape for 7-column readability Knacky 2026-06-09 18:13:46 +02:00
  • 2d1c113f0c docs: log 2 MEDIUM security fixes in CHANGELOG (post-refactor) Knacky 2026-06-08 19:29:59 +02:00
  • 3a9d9d3203 fix(security): defuse CSV formula injection in multiline exécution cell + HTML-escape Markdown table cells Knacky 2026-06-08 19:29:10 +02:00
  • 4d9447082f docs: sprint 6 amendment — 7-column schema in CHANGELOG + PR body Knacky 2026-06-08 19:23:02 +02:00
  • aeb4bdb025 test(e2e): adapt export specs to 7-column schema (Scénario/Test/...) Knacky 2026-06-08 19:21:51 +02:00
  • 7335b9f2c6 refactor(export): switch render output to fixed 7-column schema (Scénario, Test, ...) Knacky 2026-06-08 19:15:49 +02:00
  • fdab324217 docs(spec): export — switch to fixed 7-column handoff schema Knacky 2026-06-08 19:10:42 +02:00
  • e4a672c443 docs: sprint 6 wrap-up — README + CHANGELOG + 6 lessons Knacky 2026-06-08 18:35:21 +02:00
  • b572a67066 test(e2e): sprint 6 acceptance — US-29 / US-30 / US-31 Knacky 2026-06-08 18:31:32 +02:00
  • 3725d4415e chore: code-review cleanups (NITs + filename defense-in-depth test) Knacky 2026-06-08 18:23:39 +02:00
  • 123d9812bc test: cover Content-Disposition fallback in ExportEngagementButton Knacky 2026-06-08 18:20:29 +02:00
  • 57dbd14347 fix(security): defuse CSV formula injection in engagement export (MEDIUM) Knacky 2026-06-08 18:13:16 +02:00
  • 25877c4092 test: ExportEngagementButton + EngagementDetailPage RBAC tests Knacky 2026-06-08 18:04:56 +02:00
  • 100441bdeb feat: ExportEngagementButton + exports API client Knacky 2026-06-08 18:04:49 +02:00
  • 5471c8fd89 test: add export endpoint + render unit tests (226 → 249 passing) Knacky 2026-06-08 17:57:40 +02:00
  • f1a7965ab9 chore: add WeasyPrint system deps to Dockerfile python stage Knacky 2026-06-08 17:57:31 +02:00
  • 87e4409530 feat: add engagement export service and endpoint (md/csv/pdf) Knacky 2026-06-08 17:57:22 +02:00
  • cf006a2ba8 docs(plan): sprint 6 — apply spec-reviewer Pass 1 fixes (1 BLOCKER + 6 WARN) Knacky 2026-06-07 18:38:41 +02:00
  • 01434c04a7 docs(plan): sprint 6 — engagement export (md/csv/pdf) plan Knacky 2026-06-07 18:29:59 +02:00
  • 7aaa5ccc6d docs(spec): add § Export d'engagement section (sprint 6) Knacky 2026-06-07 18:29:49 +02:00
  • 678ee8fbfb Merge pull request 'feat: sprint 5 — simulation templates + instantiation + nav + dropdown' (#8) from sprint/5-templates into main knacky 2026-06-07 16:08:38 +00:00
  • e18ec2bf79 docs(lessons): sprint 5 — fold in the recurrent SPEC-uncommitted lesson with concrete fix candidates Knacky 2026-05-28 07:25:09 +02:00
  • cbc176ab82 docs(spec): carry over sprint 5 SPEC update missed in sprint 5 commits Knacky 2026-05-28 07:24:43 +02:00
  • 54959c7d5b test(e2e): sprint 5 acceptance — US-26 / US-27 / US-28 + adaptations dropdown sprint 2-4 Knacky 2026-05-28 07:23:33 +02:00
  • 2e59743af5 docs: sprint 5 wrap-up — CHANGELOG + README + 6 lessons + plan final Knacky 2026-05-28 07:18:21 +02:00
  • 7c011db6d9 test(e2e): sprint 5 acceptance tests — US-26 → US-28 + dropdown adaptations Knacky 2026-05-28 07:15:04 +02:00
  • 55f993fa24 fix(backend): sprint 5 post-review — name fallback, isinstance guards, 400 tests Knacky 2026-05-28 07:04:25 +02:00
  • 33a0ca30bb fix(frontend): sprint 5 post-code-review — dropdown close-on-outside + empty-state dropdown Knacky 2026-05-28 07:02:34 +02:00
  • 20783118ee fix(frontend): sprint 5 design-review — dropdown dark + Plus icon + re-shoots Knacky 2026-05-28 06:50:19 +02:00
  • 2b700115e8 fix(frontend): sprint 5 — correct API path /simulation-templates → /templates Knacky 2026-05-28 06:43:33 +02:00
  • 90fc5bab6c feat(frontend): sprint 5 — templates CRUD pages + nav + picker modal + dropdown Knacky 2026-05-28 06:36:10 +02:00
  • 1f327e9aa8 feat(backend): sprint 5 — SimulationTemplate CRUD + instantiation Knacky 2026-05-28 06:25:19 +02:00