This website requires JavaScript.
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