-
aad7635623
fix(06): CR-05 hash attempted email in audit log to avoid PII storage

curo1305andClaude Sonnet 4.6
2026-06-04 23:10:07 +02:00
-
3a6251ca23
fix(06): CR-04 add allowlist validation for default_storage_backend

curo1305andClaude Sonnet 4.6
2026-06-04 23:09:40 +02:00
-
23c27efd65
fix(06): CR-03 replace raw X-Forwarded-For reads with get_client_ip()

curo1305andClaude Sonnet 4.6
2026-06-04 23:09:20 +02:00
-
a8dbb02ff0
fix(06): CR-01 CR-02 WR-02 WR-05 WR-06 WR-08 docker-compose security hardening

curo1305andClaude Sonnet 4.6
2026-06-04 23:08:19 +02:00
-
ee4df4537d
docs(phase-7): update tracking after wave 4 — plan 07-04 complete

curo1305andClaude Sonnet 4.6
2026-06-04 23:14:08 +02:00
-
beb438f113
chore: merge executor worktree (worktree-agent-a707cbd4c3780710b)
curo1305
2026-06-04 23:12:48 +02:00
-
-
0c1ae5284f
docs(07-04): add plan summary — Celery retry harness + POST /classify re-queue complete

curo1305andClaude Sonnet 4.6
2026-06-04 23:12:11 +02:00
-
63cd707d52
feat(07-04): POST /classify re-queues Celery, removes synchronous classify (D-11)
curo1305
2026-06-04 23:10:49 +02:00
-
e9ee5d4ba5
feat(07-04): Celery retry harness + _ClassificationError sentinel (D-09/D-10)
curo1305
2026-06-04 23:08:16 +02:00
-
888856aa8b
docs(06): add code review report — 7 critical, 9 warning, 4 info findings

curo1305andClaude Sonnet 4.6
2026-06-04 23:01:53 +02:00
-
-
b8b0840729
docs(phase-7): update tracking after wave 3 — plan 07-03 complete

curo1305andClaude Sonnet 4.6
2026-06-04 19:19:03 +02:00
-
e0cd183a63
chore: merge executor worktree (wave3-recovery/07-03)
curo1305
2026-06-04 19:17:50 +02:00
-
-
5f72814f07
docs(07-03): complete plan summary — AnthropicProvider output_config + classifier ProviderConfig refactor
curo1305
2026-06-04 19:16:43 +02:00
-
95c386f764
feat(07-03): classifier wired to load_provider_config + ai_config stub removed — D-04/D-06
curo1305
2026-06-04 19:14:48 +02:00
-
420fecdacd
docs(phase-6): update tracking after wave 3 — plan 06-06 complete, Phase 6 done

curo1305andClaude Sonnet 4.6
2026-06-04 19:14:22 +02:00
-
54521e2b99
docs(06-06): create plan SUMMARY — RUNBOOK.md + D-10 CVE gate passed

curo1305andClaude Sonnet 4.6
2026-06-04 19:13:45 +02:00
-
382f9bec6b
fix(06-06): patch OpenSSL CVE-2026-31789 — add apt-get upgrade to runtime Dockerfile stage

curo1305andClaude Sonnet 4.6
2026-06-04 19:13:05 +02:00
-
efc177a155
feat(07-03): AnthropicProvider singleton + output_config + truncation — D-03/D-07/D-12/D-13
curo1305
2026-06-04 19:10:05 +02:00
-
-
ea8df02491
docs(phase-7): update tracking after wave 2 — plan 07-02 complete

curo1305andClaude Sonnet 4.6
2026-06-04 19:06:07 +02:00
-
670df192d6
docs(06-06): add RUNBOOK.md — env vars, startup, backup, health checks, escalation, failure modes

curo1305andClaude Sonnet 4.6
2026-06-04 19:05:05 +02:00
-
60b621f424
chore: merge executor worktree (worktree-agent-afe278fe2f809d30b)
curo1305
2026-06-04 19:04:52 +02:00
-
-
00c154d61b
docs(07-02): complete provider config + GenericOpenAIProvider + registry plan
curo1305
2026-06-04 19:04:18 +02:00
-
209b156af1
test(07-02): promote 6 Wave-2 xfail tests to passing — D-01/D-02/D-07/D-12/D-13
curo1305
2026-06-04 19:01:38 +02:00
-
13eef371bc
feat(07-02): registry-based get_provider(config: ProviderConfig) — D-06
curo1305
2026-06-04 19:01:26 +02:00
-
582136c120
test(06): complete UAT - 8 passed, 0 issues

curo1305andClaude Sonnet 4.6
2026-06-04 19:00:19 +02:00
-
02bcbb9143
feat(07-02): singleton OpenAIProvider + GenericOpenAIProvider + MAX_AI_CHARS removal
curo1305
2026-06-04 18:58:19 +02:00
-
beb5b5e49d
feat(07-02): ProviderConfig Pydantic model + PROVIDER_DEFAULTS + SUPPORTS_JSON_MODE
curo1305
2026-06-04 18:56:31 +02:00
-
-
651713fa7a
docs(phase-7): update tracking after wave 1 — plan 07-01 complete

curo1305andClaude Sonnet 4.6
2026-06-04 18:53:25 +02:00
-
88f9175f28
chore: merge executor worktree (worktree-agent-a034ce22177165198)
curo1305
2026-06-04 18:51:55 +02:00
-
-
7986661333
docs(07-01): complete plan summary — system_settings DB + HKDF + Wave 0 stubs
curo1305
2026-06-04 18:51:12 +02:00
-
0fd6930b41
feat(07-01): services/ai_config.py HKDF helpers, ProviderConfig loader, env seed
curo1305
2026-06-04 18:50:01 +02:00
-
4eb317749f
feat(07-01): Alembic migration 0005 + SystemSettings ORM model
curo1305
2026-06-04 18:46:11 +02:00
-
4febe2f704
test(07-01): Wave 0 xfail stubs for D-01..D-16 (13 new stubs)
curo1305
2026-06-04 18:44:53 +02:00
-
-
f9dfa3dd9b
docs(06-04): add partial plan summary — Tasks 1 & 2 complete, Task 3 human checkpoint pending

curo1305andClaude Sonnet 4.6
2026-06-04 18:32:10 +02:00
-
f98cab30e9
chore: merge executor worktree (06-05) — trusted-proxy rate limiting + per-account limiter

curo1305andClaude Sonnet 4.6
2026-06-04 18:31:46 +02:00
-
-
5c82a9840a
docs(06-05): add plan summary — D-11/D-12 trusted-proxy IP + per-account limiter

curo1305andClaude Sonnet 4.6
2026-06-04 18:28:30 +02:00
-
a826738e18
feat(06-05): trusted-proxy get_client_ip, per-account rate limiter, promote 8 xfail tests (D-11/D-12/D-13)

curo1305andClaude Sonnet 4.6
2026-06-04 18:27:49 +02:00
-
378822682c
feat(06-04): multi-stage Dockerfile with appuser + docker-compose runtime hardening (D-07/D-08/D-09)

curo1305andClaude Sonnet 4.6
2026-06-04 18:20:38 +02:00
-
6d1ecbd9e2
docs(phase-06): update tracking after wave 1 — 06-02 and 06-03 complete
curo1305
2026-06-03 18:54:06 +02:00
-
339cb9b991
chore: merge executor worktree (06-02) — structured logging + Loki stack
curo1305
2026-06-03 18:52:13 +02:00
-
-
7c624b0b6b
docs(06-02): complete structured logging + Loki stack plan summary
curo1305
2026-06-03 18:51:29 +02:00
-
203c225a3e
feat(06-02): add Loki + Promtail + Grafana stack to docker-compose
curo1305
2026-06-03 18:49:41 +02:00
-
e498d884bb
docs(06-03): complete load test plan summary — strategy A, direct upload, SLA listener
curo1305
2026-06-03 18:49:09 +02:00
-
5a93257ac0
feat(06-03): implement Locust load test — self-bootstrap strategy, 4 tasks, SLA listener (D-04/D-05/D-06)
curo1305
2026-06-03 18:48:47 +02:00
-
abe8f8ee90
feat(06-02): wire CorrelationIDMiddleware + config fields + promote 5 test stubs
curo1305
2026-06-03 18:47:49 +02:00
-
fb35f0e988
feat(06-03): add backend/requirements-dev.txt with locust pin (D-04)
curo1305
2026-06-03 18:47:43 +02:00
-
9fa74a91f5
feat(06-02): add structlog dependency + create services/logging.py
curo1305
2026-06-03 18:44:37 +02:00
-
-
c11984c66c
docs(phase-06): update tracking after wave 0 — 06-01 complete
curo1305
2026-06-03 18:41:46 +02:00
-
3e3f980466
docs(06-01): complete Wave 0 Nyquist scaffold plan summary
curo1305
2026-06-03 18:39:21 +02:00
-
594eb46efe
feat(06-01): add backend/load_tests/ package skeleton with Locust stub (D-04/D-05/D-06)
curo1305
2026-06-03 18:37:23 +02:00
-
56d9da7be1
test(06-01): add 8 xfail stubs for rate limiting (D-11/D-12 + A1)
curo1305
2026-06-03 18:36:35 +02:00
-
e1f8874b9d
test(06-01): add 5 xfail stubs for structured logging (D-01/D-02)
curo1305
2026-06-03 18:35:55 +02:00
-
bdd784341f
wip: phase 7 planning paused — ready to execute

curo1305andClaude Sonnet 4.6
2026-06-03 18:34:49 +02:00
-
3df62506c9
docs(07): create phase plan — 5 plans, verification passed

curo1305andClaude Sonnet 4.6
2026-06-03 18:25:00 +02:00
-
6c8e0d8bde
docs(07): research phase — Anthropic output_config, client singleton pattern, Celery retry, system_settings design

curo1305andClaude Sonnet 4.6
2026-06-02 20:41:03 +02:00
-
70c09f6cd4
docs(06): create phase 6 plan — performance & production hardening

curo1305andClaude Sonnet 4.6
2026-06-02 20:35:03 +02:00
-
b7503cdff4
docs(state): record phase 7 context session
curo1305
2026-06-02 20:24:12 +02:00
-
b8d128ee5e
docs(07): capture phase context
curo1305
2026-06-02 20:24:08 +02:00
-
ad237dbaf1
docs(06): research phase — structlog, Locust, container hardening, per-account rate limiting
curo1305
2026-06-02 16:34:02 +02:00
-
-
eaa3399ec0
docs: add shared module map to CLAUDE.md, SECURITY.md, planning artifacts

curo1305andClaude Sonnet 4.6
2026-06-02 16:10:59 +02:00
-
cce70b2ef6
refactor(frontend): extract shared modules, thin views, delete dead code

curo1305andClaude Sonnet 4.6
2026-06-02 16:10:47 +02:00
-
a548266461
refactor(backend): extract shared helper modules per architecture rules

curo1305andClaude Sonnet 4.6
2026-06-02 16:10:35 +02:00
-
89f8d5a654
docs(codebase): refresh codebase map after Phase 06.2 completion

curo1305andClaude Sonnet 4.6
2026-06-02 15:32:06 +02:00
-
bd17b4b22f
docs(06.2): mark phase 6.2 complete — all gates passed

curo1305andClaude Sonnet 4.6
2026-06-01 21:09:04 +02:00
-
2686fde2d7
feat(06.2): log attempted email on failed login and surface it in audit log

curo1305andClaude Sonnet 4.6
2026-06-01 21:02:37 +02:00
-
7027347597
fix(06.2): audit log — add email column, remove @ prefix from handles

curo1305andClaude Sonnet 4.6
2026-06-01 20:59:09 +02:00
-
d771f0805d
fix(06.2): shared badge and recipient handle missing in FileManagerView

curo1305andClaude Sonnet 4.6
2026-06-01 19:47:00 +02:00
-
089da94d8b
fix(security): apply two findings from sharing security review

curo1305andClaude Sonnet 4.6
2026-06-01 19:41:15 +02:00
-
a0f6c2f663
fix(06.2): resolve four sharing UX issues found in re-test UAT

curo1305andClaude Sonnet 4.6
2026-06-01 19:32:51 +02:00
-
52e54b859a
docs(phase-04): update validation strategy — 1 gap resolved, suite green

curo1305andClaude Sonnet 4.6
2026-06-01 18:14:59 +02:00
-
cc2825b3b7
fix(phase-04): use MagicMock(spec=MinIOBackend) in test_daily_export_download

curo1305andClaude Sonnet 4.6
2026-06-01 18:14:54 +02:00
-
bfcc09958c
docs(phase-04): add security threat verification — 41/41 threats closed
curo1305
2026-06-01 18:05:49 +02:00
-
a3f9e701d8
docs(phase-03): update validation strategy — 4 gaps resolved, STORE-06 promoted from manual-only

curo1305andClaude Sonnet 4.6
2026-06-01 15:43:07 +02:00
-
b245fcc527
fix(phase-03): use UUID.hex in raw SQL to fix SQLite UUID format mismatch

curo1305andClaude Sonnet 4.6
2026-06-01 15:43:01 +02:00
-
908bd9d4e3
docs(phase-03): add security threat verification — 27/27 threats closed
curo1305
2026-06-01 15:30:52 +02:00
-
a89ed65be9
docs(phase-02): update validation strategy with plan 06 coverage

curo1305andClaude Sonnet 4.6
2026-06-01 15:17:29 +02:00
-
0505beb0a4
test(phase-02): add Nyquist validation tests for plan 06 gaps

curo1305andClaude Sonnet 4.6
2026-06-01 15:17:25 +02:00
-
da526cb727
docs(02): add security threat verification — 43/43 threats closed

curo1305andClaude Sonnet 4.6
2026-06-01 14:55:15 +02:00
-
cd3d1d528c
docs(06.2): add code review fix report
curo1305
2026-06-01 14:38:59 +02:00
-
8601a02189
docs(02): update verification report after plan 06 gap closure — 2 security blockers flagged
curo1305
2026-06-01 14:37:23 +02:00
-
a6c227cc7e
merge(06.2): integrate code review fixes from gsd-reviewfix/06.2-2490
curo1305
2026-06-01 14:37:21 +02:00
-
-
1433273328
docs(06.2): update review status after fixes — all 15 CR/WR findings resolved
curo1305
2026-06-01 14:33:41 +02:00
-
9e8f8d5bbc
fix(06.2): WR-06 use URLSearchParams in listShares for consistent encoding
curo1305
2026-06-01 14:31:50 +02:00
-
683670afa1
fix(06.2): WR-02 constrain format parameter to Literal[csv] to reject unsupported formats
curo1305
2026-06-01 14:31:32 +02:00
-
fdb18300d9
docs(02): add code review report for plan 06 gap closure
curo1305
2026-06-01 14:31:21 +02:00
-
1cba903c34
fix(06.2): WR-01 replace fixed-suffix password generation with fully-random positional injection
curo1305
2026-06-01 14:31:00 +02:00
-
2072c3ddcd
fix(06.2): WR-08 delete_document defers commit so audit log writes in same transaction
curo1305
2026-06-01 14:30:31 +02:00
-
50b6e7fd06
fix(06.2): WR-07 document X-Forwarded-For trust boundary in all IP extraction code
curo1305
2026-06-01 14:29:35 +02:00
-
2542c81602
fix(06.2): WR-03 WR-04 fix pagination off-by-one and surface daily exports load errors
curo1305
2026-06-01 14:27:47 +02:00
-
1f2cec9ac3
fix(06.2): CR-07 add audit log entry for PATCH /shares/{share_id} permission change
curo1305
2026-06-01 14:27:08 +02:00
-
1a34209bb0
fix(06.2): CR-06 RFC 5987-encode Content-Disposition filename to prevent header injection
curo1305
2026-06-01 14:26:46 +02:00
-
653cb3a98b
fix(06.2): CR-05 remove UUID dash-stripping in quota SQL — PostgreSQL expects dashed UUID format
curo1305
2026-06-01 14:26:24 +02:00
-
3fa7e8b866
fix(06.2): CR-04 WR-05 audit export functions use 401-refresh-retry and safe URL.revokeObjectURL
curo1305
2026-06-01 14:26:05 +02:00
-
792d4639d1
fix(06.2): CR-03 serialize metadata_ with json.dumps in CSV export instead of Python repr
curo1305
2026-06-01 14:25:29 +02:00
-
50859bb430
fix(06.2): CR-02 add MinIOBackend guard in download_daily_export before accessing _client
curo1305
2026-06-01 14:25:06 +02:00
-
a3ad36cc82
fix(06.2): CR-01 event-type filter uses prefix LIKE match instead of exact equality
curo1305
2026-06-01 14:24:50 +02:00
-
5093aa5630
docs(phase-02): update tracking after plan 06 gap closure — 6/6 plans complete
curo1305
2026-06-01 14:24:46 +02:00
-
-
7e549b6312
docs(02-06): complete UAT gap closure plan summary
curo1305
2026-05-31 20:41:36 +02:00
-
c08ea42b1b
feat(02-06): Account tab in SettingsView + QR code in TotpEnrollment (GAPs 3, 5)
curo1305
2026-05-31 20:40:28 +02:00
-
97314ce486
docs(06.2): add code review report
curo1305
2026-05-31 20:38:59 +02:00