Christian Krakau-Louis
c631c5abbc
Merge pull request #56 from christianlouis/copilot/fix-clear-text-logging
...
fix: remove clear-text logging of API key
2026-03-29 19:52:11 +02:00
copilot-swe-agent[bot]
9bd64c0429
fix: remove clear-text logging of full API key
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/add3a51d-8235-4d29-8020-589bffa8ebb5
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 17:45:02 +00:00
semantic-release
4210450d2e
chore(release): v1.2.1
2026-03-29 17:44:47 +00:00
copilot-swe-agent[bot]
33918ebc21
Initial plan
2026-03-29 17:44:05 +00:00
Christian Krakau-Louis
af8620fecc
Merge pull request #55 from christianlouis/copilot/fix-internal-server-error
...
Fix 500 on all page routes: update TemplateResponse calls to Starlette 1.0.0 API + black formatting
2026-03-29 19:43:55 +02:00
copilot-swe-agent[bot]
d91f424f3f
style: auto-format main.py with black to fix CI lint failure
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/c36f34ee-49c9-4875-9fb9-4bc70aeeb43f
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 17:32:46 +00:00
semantic-release
ae55ef46ea
chore(release): v1.2.0
2026-03-29 17:31:15 +00:00
Christian Krakau-Louis
a67900902b
Merge pull request #53 from christianlouis/copilot/refactor-imap-config-storage
...
Fix CodeQL security alerts and improve mail sources test coverage
2026-03-29 19:30:23 +02:00
copilot-swe-agent[bot]
2a2fc9bfd5
fix: update TemplateResponse calls to Starlette 1.0.0 API to fix 500 error
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/2ec7d964-c658-4489-9d06-9ea78596cddd
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 17:11:30 +00:00
copilot-swe-agent[bot]
84117abd13
fix: resolve CodeQL alerts, improve test coverage, fix StaticPool for HTTP tests
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/07b58025-2aeb-4e81-a168-7a6fccdc3569
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 17:08:39 +00:00
copilot-swe-agent[bot]
078e33d273
Initial plan
2026-03-29 17:04:01 +00:00
semantic-release
4350bdcc16
chore(release): v1.1.0
2026-03-29 17:00:23 +00:00
Christian Krakau-Louis
fca3eb3061
Merge pull request #54 from christianlouis/copilot/add-health-check-for-k8s
...
feat: add /health and /healthz root-level endpoints for Kubernetes probes
2026-03-29 18:59:30 +02:00
copilot-swe-agent[bot]
42d93e7f84
feat: add /health and /healthz root-level endpoints for Kubernetes probes
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/74214dce-9171-424f-bafb-ee7032870801
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 16:52:55 +00:00
copilot-swe-agent[bot]
834de600df
Initial plan
2026-03-29 16:50:42 +00:00
copilot-swe-agent[bot]
883d54a428
fix: address code review - Alpine.js $set, SQLAlchemy bool filter style
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/f141cd3b-8d0a-4c7e-b479-ee973c209c11
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 16:20:11 +00:00
copilot-swe-agent[bot]
6d9392e5e7
feat: refactor IMAP config to DB, add multi-account mail sources admin UI
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/f141cd3b-8d0a-4c7e-b479-ee973c209c11
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 16:18:15 +00:00
copilot-swe-agent[bot]
7a0444a619
Initial plan
2026-03-29 16:08:22 +00:00
Christian Krakau-Louis
276cea7732
Merge pull request #44 from christianlouis/copilot/fix-alembic-migration-errors
...
Fix: normalize postgresql+asyncpg:// DATABASE_URL to psycopg2 for Alembic and sync SQLAlchemy engine
2026-03-29 18:06:40 +02:00
copilot-swe-agent[bot]
70dc77011a
Fix ModuleNotFoundError for asyncpg by normalizing async DB URLs to psycopg2
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/d1890838-1770-4d5f-886f-f210df761fae
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 16:03:18 +00:00
copilot-swe-agent[bot]
c3ee0d8f5e
Initial plan
2026-03-29 15:56:22 +00:00
Christian Krakau-Louis
1b83b2cce1
Merge pull request #30 from christianlouis/copilot/build-dashboard-visualizations
...
Replace mock dashboard data with real database queries and report-derived timelines
2026-03-29 17:49:50 +02:00
copilot-swe-agent[bot]
6329d3aa35
Use timezone-aware UTC datetimes for timestamp conversions
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/ea784ce3-2c1c-45f8-ad6d-46e92cf15ed7
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 15:45:26 +00:00
copilot-swe-agent[bot]
e51fbe755e
Replace mock dashboard data with real database queries and report-derived timelines
...
- Replace mock statistics in stats_summarizer.py with real SQLAlchemy queries
against DMARCReport, ReportRecord, and Domain models
- Replace random compliance timeline in domains.py with real data from ReportStore
- Remove unused `import random` from domains.py
- Add comprehensive tests for StatsSummarizer (global/domain/caching)
- Add tests for compliance timeline (deterministic, multi-report aggregation)
- Mark Dashboard Visualizations as complete in TODO.md
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/ea784ce3-2c1c-45f8-ad6d-46e92cf15ed7
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 15:43:33 +00:00
copilot-swe-agent[bot]
f8887b50f4
Initial plan
2026-03-29 15:28:52 +00:00
semantic-release
e09f39954f
chore(release): v1.0.4
2026-03-29 15:27:30 +00:00
Christian Krakau-Louis
91cd221ef1
Merge pull request #29 from christianlouis/copilot/fix-black-formatting-issues
...
fix: remove unused pytest import from test_config.py
2026-03-29 17:26:34 +02:00
copilot-swe-agent[bot]
8e6ab244ad
fix: remove unused pytest import from test_config.py
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/63e79da9-2002-429a-b696-7147dc579668
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 15:15:46 +00:00
copilot-swe-agent[bot]
de4d1b2b34
style: apply black formatting to test_config.py
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/a0201223-b428-496d-90c7-cd268fee7774
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 13:52:28 +00:00
copilot-swe-agent[bot]
9588ce4e0d
Initial plan
2026-03-29 13:51:38 +00:00
semantic-release
e057a9c013
chore(release): v1.0.3
2026-03-29 13:01:35 +00:00
Christian Krakau-Louis
dd73af5d37
Merge pull request #28 from christianlouis/copilot/fix-env-variable-decoding
...
Fix JSONDecodeError when BACKEND_CORS_ORIGINS is set to empty string
2026-03-29 15:00:40 +02:00
copilot-swe-agent[bot]
9f99b6c6d7
fix: handle empty BACKEND_CORS_ORIGINS env var to prevent JSONDecodeError
...
In pydantic_settings v2, List[str] fields are JSON-parsed by the env
source before pydantic validators run. When BACKEND_CORS_ORIGINS=""
(empty string) in Kubernetes, json.loads("") raised JSONDecodeError,
crashing alembic migrations.
Fixes:
- Add env_ignore_empty=True to class Config so pydantic_settings skips
empty-string env vars and falls back to the field default
- Update assemble_cors_origins validator to explicitly handle empty and
whitespace-only strings (returns []), JSON array strings (parsed via
json.loads), and filters empty tokens from comma-separated values
- Add backend/app/tests/test_config.py covering all CORS origins
parsing scenarios including the empty-string regression case
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/53bb1064-2a32-4691-8397-9d4663bc18a8
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 12:08:59 +00:00
copilot-swe-agent[bot]
4713e0bec7
Initial plan
2026-03-29 12:02:16 +00:00
semantic-release
ea317bac32
chore(release): v1.0.2
2026-03-29 11:45:17 +00:00
Christian Krakau-Louis
e471404538
Merge pull request #27 from christianlouis/copilot/fix-script-location-error
...
fix: initialize Alembic migrations to resolve container startup failure
2026-03-29 13:44:27 +02:00
copilot-swe-agent[bot]
2192944acf
fix: add Alembic migration setup to resolve missing script_location error
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/bfb1bb7e-b0da-45b8-b034-b2331488905e
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 11:37:18 +00:00
Christian Krakau-Louis
3ae290823e
Merge pull request #24 from christianlouis/copilot/update-pylint-warnings-in-main
...
Fix pylint/isort/flake8/black contradictions; consolidate linter config; pylint 10.00/10
2026-03-29 13:36:11 +02:00
Christian Krakau-Louis
c549e5dfbb
Merge branch 'main' into copilot/update-pylint-warnings-in-main
2026-03-29 13:36:01 +02:00
Christian Krakau-Louis
a90c9b393e
Delete .github/workflows/test.yml
2026-03-29 13:35:32 +02:00
copilot-swe-agent[bot]
bad7a9ddc2
Initial plan
2026-03-29 11:32:06 +00:00
copilot-swe-agent[bot]
01d0331136
Resolve linter contradictions: consolidate config, fix isort first-party, pylint 10/10
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/1e4a1f06-55b9-4040-853e-6aaf9ee574c8
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 11:31:15 +00:00
copilot-swe-agent[bot]
f2a015971d
Plan: resolve linter contradictions
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/1e4a1f06-55b9-4040-853e-6aaf9ee574c8
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 11:29:14 +00:00
Christian Krakau-Louis
f7774dc3b2
Merge pull request #25 from christianlouis/copilot/autodeploy-dmarq-stack-update
...
chore(ci): auto-deploy newest release to preprod via GitOps on main push
2026-03-29 13:24:59 +02:00
copilot-swe-agent[bot]
50aa5bd5da
Fix pylint warnings: logging, globals, exceptions, imports, duplicates
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/576427d4-4f6a-46d2-b75f-6862ecbcf526
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 11:21:35 +00:00
copilot-swe-agent[bot]
c07649a6bc
chore(ci): add GitOps job to auto-update preprod k8s manifest on main push
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/9b92152b-16c9-499f-8708-e6b9b8e527aa
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 11:21:10 +00:00
copilot-swe-agent[bot]
286012fdd4
Initial plan
2026-03-29 11:17:49 +00:00
Christian Krakau-Louis
20affacd0f
Merge pull request #23 from christianlouis/copilot/improve-ci-cd-pipeline
...
ci: consolidate into single fail-early parallel pipeline
2026-03-29 13:14:32 +02:00
copilot-swe-agent[bot]
e22557c509
ci: consolidate into single fail-early CI pipeline
...
- Add .github/workflows/ci.yml with three sequential stages:
1. lint (black + isort + flake8 + pylint) — gates everything
2. test / security / codeql / dependency-review — run in parallel
3. docker build & publish — gated by test + security, main only
- Remove .github/workflows/pylint.yml (redundant duplicate)
- Remove .github/workflows/test.yml (replaced by ci.yml)
- Remove .github/workflows/security.yml (replaced by ci.yml)
- Replace `safety` (requires paid API key) with `pip-audit` (free)
- Keep .github/workflows/release.yml unchanged
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/931fa366-d98e-42b6-9f93-93c19af6d72b
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 11:09:27 +00:00
copilot-swe-agent[bot]
6eb99da749
Initial plan
2026-03-29 11:08:04 +00:00