Commit Graph

  • 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