Commit Graph
9 Commits
Author SHA1 Message Date
AFFAANh 1df49aee37 feat(campaigns): add PostgreSQL campaign repository
Adds CampaignRepository with list/get/create/update/delete for
campaigns plus add_event/list_events for the audit trail, following
the existing postgres_repo.py connection pattern. Replaces the
brief's two bare `assert created/updated is not None` checks with
explicit RuntimeError raises so the guard survives python -O.
2026-08-01 13:27:08 +05:30
AFFAANh 985527a451 fix(meta): cover access-token env handling, JSON-encoded creative, and previews fail-fast contract
Address code review findings on the read-only Meta Graph client: add
monkeypatch-based tests for access_token_from_env/MetaNotConfiguredError,
assert generate_previews JSON-encodes the creative param, pin the
existing fail-fast-on-partial-error contract with a dedicated test, and
declare httpx as an explicit dependency since it was only resolving
transitively.
2026-08-01 13:21:57 +05:30
AFFAANh fd421d2f53 feat(meta): add read-only Graph client for accounts and previews 2026-08-01 13:10:36 +05:30
AFFAANhandClaude Opus 5 4a306c2e18 fix(campaigns): use explicit None check for auto-pause daily budget comparison
validate_guardrails used a truthy check on daily_budget, which silently
skipped the auto-pause-above-daily-budget check when daily_budget was 0 -
exactly the case where a positive auto-pause threshold can never trigger.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 13:06:38 +05:30
AFFAANhandClaude Opus 5 6bb8b1338a feat(campaigns): validate budgets against account minimum
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 12:59:55 +05:30
AFFAANhandClaude Opus 5 74eeb60191 fix(campaigns): use (str, Enum) for 3.10 compat, add state-machine test coverage
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 12:56:09 +05:30
AFFAANhandClaude Opus 5 d22e414869 feat(campaigns): add domain models and status state machine
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 12:30:10 +05:30
AFFAANh 38b6118fc3 feat(campaigns): add campaign management schema migration 2026-08-01 12:23:23 +05:30
AFFAANhandClaude Opus 5 19e1e84fb7 Initial commit: MaskanX backend
Independent FastAPI backend for the MaskanX agentic growth platform.

Includes the agent runtime, MCP client integrations (Meta Ads, LinkedIn,
HubSpot, Tavily, Exa, xAI, Citedy, image generation), PostgreSQL storage
for chats and cron jobs, provider and secret management, and the CLI.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 10:28:22 +05:30