Commit Graph

  • 24d4a3b146 Merge pull request 'feat(c2): integrate Mythic command and control (sprint 8)' (#11) from sprint/8-c2 into main 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
  • 9873c535c6 Merge pull request 'feat: sprint 4 — UI polish + dark mode + workflow tightening + process hygiene' (#7) from sprint/4-ui-polish into main knacky 2026-05-28 04:01:21 +00:00
  • 6d2bb091e2 docs: sprint 4 wrap-up — CHANGELOG + README + 7 lessons + plan final Knacky 2026-05-27 21:41:47 +02:00
  • 43ab7073f1 test(e2e): un-skip AC-21.6 — backend matrix fix landed Knacky 2026-05-27 21:38:17 +02:00
  • 7d81ce9785 test(e2e): fill coverage gaps — +N suffix + focus-trap cycle Knacky 2026-05-27 21:33:18 +02:00
  • a824df06b2 fix(backend): AC-21.6 — matrix tactic_id returns TA-format (TA0007 not slug) Knacky 2026-05-27 21:30:48 +02:00
  • 5aa839d105 test(e2e): sprint 4 acceptance tests — US-17 to US-23 Knacky 2026-05-27 21:27:12 +02:00
  • e99286ef8e fix(frontend): sprint 4 post-code-review — btn-ink uses slab token + unify New CTA label Knacky 2026-05-27 20:40:06 +02:00
  • 988de841e5 fix(backend): sprint 4 post-review — relative paths + dead branch removal Knacky 2026-05-27 20:39:37 +02:00
  • fc530af78b fix(frontend): post-code-review NITs — btn-ink uses @apply bg-slab, unify New engagement label Knacky 2026-05-27 20:39:01 +02:00
  • 9964d058f4 fix(frontend): sprint 4 design-review — slab token + UsersAdmin alignment + dark hairlines + badge contrast Knacky 2026-05-27 20:28:32 +02:00
  • 892692f3b8 fix(frontend): post-design-review — slab token split + badge contrast + modal backdrop + dark shadows Knacky 2026-05-27 20:19:16 +02:00
  • f5ea9d16af feat(frontend): sprint 4 — dark mode + matrix overhaul + tactic selection + done read-only + UI polish Knacky 2026-05-27 20:06:01 +02:00
  • d5ab1fd26f feat(backend): sprint 4 — tactic_ids + done guard + engagement auto-status Knacky 2026-05-27 19:52:02 +02:00
  • 0f6ae857b3 feat(infra): design-reviewer agent + PR helper (US-24 + US-25) Knacky 2026-05-27 19:41:34 +02:00
  • 89eccad1eb docs(sprint-4): plan + SPEC updates (Done terminal, engagement auto, UI/UX, workflows) Knacky 2026-05-27 19:41:16 +02:00
  • ba313a3880 docs(spec): carry over sprint 3 SPEC update missed in PR #6 Knacky 2026-05-27 19:14:25 +02:00
  • 27573f5228 Merge pull request 'feat: sprint 3 — multi-technique simulations + MITRE matrix modal' (#6) from sprint/3-mitre-matrix into main knacky 2026-05-27 17:11:22 +00:00
  • b001f57774 docs: sprint 3 wrap-up — README + CHANGELOG + lessons + plan final Knacky 2026-05-27 04:55:12 +02:00
  • df8a6b605b test(e2e): sprint 3 acceptance tests — US-13 to US-16 Knacky 2026-05-27 04:51:34 +02:00
  • 393b6ed416 fix(backend): sprint 3 post-review — migration nullable + dead code + tactic names + tests Knacky 2026-05-27 04:31:10 +02:00
  • 4596f09e71 fix(backend): sprint 3 post-review — nullable migration + dead code + tactic names Knacky 2026-05-27 04:25:20 +02:00
  • 39f4076a81 fix(frontend): sprint 3 post-review — real dedup test + Apply 0 guard + Link stopPropagation Knacky 2026-05-27 04:22:23 +02:00
  • 771483f3b0 feat(frontend): sprint 3 — multi-technique MITRE selection + matrix modal Knacky 2026-05-27 04:04:23 +02:00
  • 673b25e0b0 fix(backend): PATCH technique_ids returns 503 when MITRE bundle not loaded Knacky 2026-05-27 03:58:30 +02:00
  • b5ea2929de feat(backend): sprint 3 — multi-technique simulations + MITRE matrix Knacky 2026-05-27 03:56:02 +02:00
  • e1d9738f23 Merge pull request 'sprint/2-simulations' (#5) from sprint/2-simulations into main knacky 2026-05-26 17:06:31 +00:00
  • ddf48dd1d1 docs(changelog): post-QA fixes summary + e2e suite now fully green Knacky 2026-05-26 16:14:37 +02:00
  • da2ce68660 test(e2e): align assertions with i18n fix — French→English labels Knacky 2026-05-26 16:13:33 +02:00
  • 2a7d27bf02 fix(frontend): post-QA sprint 2 — i18n + alignment + textarea + action bar layout Knacky 2026-05-26 16:08:46 +02:00
  • 52611337c2 Merge pull request 'fix(make): auto-detect docker/podman so Makefile works on either engine' (#4) from sprint/2-simulations into main knacky 2026-05-26 10:34:01 +00:00
  • b3124ba4dd fix(make): auto-detect docker/podman so Makefile works on either engine Knacky 2026-05-26 12:20:29 +02:00
  • 868097d78a Merge pull request 'sprint/2-simulations' (#3) from sprint/2-simulations into main knacky 2026-05-26 10:14:35 +00:00
  • 9ace9ac0d8 docs: sprint 2 wrap-up — README + CHANGELOG + lessons + plan final Knacky 2026-05-26 11:41:23 +02:00
  • 54e90f78bb test(e2e): refresh us4 AC-4.9 — placeholder replaced by SimulationList (sprint 2) Knacky 2026-05-26 11:37:51 +02:00
  • da905cc0a0 test(e2e): sprint 2 acceptance tests — US-7 through US-12 Knacky 2026-05-26 11:35:29 +02:00
  • cf0e8a8a6b fix(frontend): sprint 2 review fixes — MitrePicker input retention + SPA navigation Knacky 2026-05-26 11:22:48 +02:00
  • c9032a9057 fix(frontend): post-review fixes sprint 2 Knacky 2026-05-26 11:22:05 +02:00