-
76f8443ac2
docs: sprint 2 surface in docs/api.md + D-015/D-016/D-017 + changelog
feature/backend-user-mgmt
knacky
2026-05-23 15:53:45 +02:00
-
4bade795fd
test(backend): sprint 2 unit + integration coverage
knacky
2026-05-23 15:53:35 +02:00
-
9f75f119f0
feat(backend): engagement members + audit log viewer (sprint 2)
knacky
2026-05-23 15:53:22 +02:00
-
e2f030e0e1
feat(backend): /api/v1/users CRUD endpoints (sprint 2)
knacky
2026-05-23 15:53:09 +02:00
-
feda5d1485
feat(backend): add pagination + user/member/audit DTOs (D-016)
knacky
2026-05-23 15:52:56 +02:00
-
48a1c756bf
feat(backend): add USER_MANAGE permission + delta migration (D-015)
knacky
2026-05-23 15:52:47 +02:00
-
140a34b81e
fix(frontend): align types + UI to backend contract (docs/api.md @
dd5c508)
main
ux-frontend
2026-05-23 11:14:32 +02:00
-
ec7effcaac
test(frontend): Vitest coverage on sprint 1 wiring
ux-frontend
2026-05-23 04:26:56 +02:00
-
20fbcdf1f8
feat(frontend): wire LoginPage + EngagementsPage + create dialog to backend
ux-frontend
2026-05-23 04:26:48 +02:00
-
f6d4e43e4c
feat(frontend): wire session to real /auth/me + drop sessionStorage mock
ux-frontend
2026-05-23 04:26:28 +02:00
-
dd5c508b04
fix(backend): JSON error envelope for every HTTPException + strict_slashes=False
knacky
2026-05-23 04:33:23 +02:00
-
dd321c2cd0
docs: add api.md contract for sprint 1 + update changelog
knacky
2026-05-23 04:22:03 +02:00
-
e1b381af4d
test(backend): cover auth schemas + login/engagement E2E
knacky
2026-05-23 04:21:55 +02:00
-
38b35c933a
feat(backend): wire auth endpoints + dev CORS (sprint 1)
knacky
2026-05-23 04:21:44 +02:00
-
a8c5400f97
docs: add production deployment guide
knacky
2026-05-23 03:15:46 +02:00
-
c44f8b90ad
docs: archive Podman runner setup runbook + track F-D1..F-D5
knacky
2026-05-23 03:08:03 +02:00
-
649194b174
chore(frontend): add multi-stage Dockerfile + nginx SPA config
knacky
2026-05-22 19:59:09 +02:00
-
359225e464
chore(ci): drop transient smoke workflow now that runner is validated
knacky
2026-05-22 19:49:26 +02:00
-
df6294ed7b
docs: align doc references with compose.yml rename (code-reviewer M1)
knacky
2026-05-22 19:49:16 +02:00
-
1380672c03
ci(gitea): add CI workflow + transient smoke validation
knacky
2026-05-22 19:42:23 +02:00
-
9ece352659
chore(backend): rename docker-compose.yml -> compose.yml + podman notes
knacky
2026-05-22 19:41:38 +02:00
-
ffcac42272
Merge branch 'feature/backend-skeleton' into main
v0.1.0
knacky
2026-05-22 11:45:17 +02:00
-
-
0aee6f46eb
Merge branch 'docs/architecture-sprint0' into main
knacky
2026-05-22 11:45:17 +02:00
-
-
e77ca906d4
docs(backend): track sprint-0 follow-ups + flag integration migration gap
knacky
2026-05-22 05:25:04 +02:00
-
3a3e3ff0ec
feat(backend): wire created_by_id, audit log, F11 scope into CRUD (MA4/5/6)
knacky
2026-05-22 05:24:54 +02:00
-
36c1ed5ffb
fix(backend): freeze F11 matrix inline in the initial migration (MA3)
knacky
2026-05-22 05:24:37 +02:00
-
feadad850b
fix(backend): stream store_blob and enforce max_bytes mid-write (MA2)
knacky
2026-05-22 05:24:25 +02:00
-
6e803a482a
fix(backend): stop seeding the audit-writer role via postgres-init (MA1)
knacky
2026-05-22 05:24:13 +02:00
-
90f8141cfc
fix(backend): make google-re2 a hard dependency, drop re fallback (B1)
knacky
2026-05-22 05:23:47 +02:00
-
05f60cde6d
docs: add docs/architecture.md (sprint 0 mirror)
knacky
2026-05-22 05:11:25 +02:00
-
adab8a58e7
chore(backend): mypy strict clean + ruff format pass
knacky
2026-05-22 05:10:51 +02:00
-
12d131c826
feat(backend): add content-addressed gzip blob store (D-012)
knacky
2026-05-21 20:44:59 +02:00
-
162b6988f8
fix(backend): align regex_extract + outputs.blob() with D-011/D-012
knacky
2026-05-21 20:44:48 +02:00
-
d470db97d9
fix(backend): align with D-008/D-009 (drop ttp_version, seed F11 matrix)
knacky
2026-05-21 20:44:37 +02:00
-
b505a654f8
fix(frontend): address M1-M3 polish from code-reviewer
ux-frontend
2026-05-21 20:44:32 +02:00
-
887182cfd7
docs: update CHANGELOG + tasks for the backend skeleton sprint 0
knacky
2026-05-21 20:34:19 +02:00
-
5d9415bb9f
test(backend): add pytest baseline (B0.8)
knacky
2026-05-21 20:34:11 +02:00
-
9fa4d61304
feat(backend): add Flask app factory, audit writer, flat CRUD + CLI (B0.7)
knacky
2026-05-21 20:33:45 +02:00
-
7f4ad85a68
feat(backend): add local auth + group-based RBAC matching F11 (B0.6)
knacky
2026-05-21 20:33:31 +02:00
-
104d73143a
feat(backend): add Jinja2 sandbox + regex_extract filter (B0.5)
knacky
2026-05-21 20:33:19 +02:00
-
20112d61ff
feat(backend): add C2Connector ABC + payload mapping + factory (B0.4)
knacky
2026-05-21 20:33:06 +02:00
-
22d37fb240
feat(backend): add §8 data model + Alembic baseline (B0.2, B0.3)
knacky
2026-05-21 20:32:45 +02:00
-
a93c959444
chore(backend): bootstrap Python 3.12+ project skeleton (B0.1)
knacky
2026-05-21 20:32:29 +02:00
-
-
12bc33469c
feat(frontend): wireframes for 5 MVP screens + audit (F0.3)
ux-frontend
2026-05-21 20:31:24 +02:00
-
ef081c8c28
feat(frontend): role-aware app shell + routing skeleton (F0.4)
ux-frontend
2026-05-21 20:31:01 +02:00
-
1562478a54
feat(frontend): provisional design system tokens + Logo placeholder (F0.2)
ux-frontend
2026-05-21 20:30:41 +02:00
-
80ca4641a3
feat(frontend): bootstrap Vite + React 19 + TS strict toolchain (F0.1)
ux-frontend
2026-05-21 20:30:23 +02:00
-
-
2ead16114d
docs(spec): land D-011 (regex_extract) + D-012 (output_blob_ref storage)
knacky
2026-05-21 20:20:27 +02:00
-
524c6f1eb4
docs(spec): track open spec questions Q-001..Q-005 for sprint 0
knacky
2026-05-21 20:15:07 +02:00
-
4ecf4b0b0e
chore: tighten gitignore, align README stack, formalize D-010 (Ansible)
knacky
2026-05-21 20:16:40 +02:00
-
b144c041a7
docs: drop ttp_version from B0.2 + seed groups requirement per D-008/D-009
knacky
2026-05-21 20:14:44 +02:00
-
d03ba062bf
docs(spec): add D-008 (group RBAC vs F11) and D-009 (no ttp_version table)
knacky
2026-05-21 20:13:14 +02:00
-
047583eb9c
chore: bootstrap repo skeleton with sprint 0 plan
knacky
2026-05-21 20:10:47 +02:00
-
030a018970
chore: init repo
knacky
2026-05-21 20:07:38 +02:00