marketing-agent/ # MIT (public)
├── storage/
│ ├── base.py # StorageProtocol
│ └── json_storage.py
├── credentials/
│ ├── base.py # CredentialsProtocol
│ └── env_credentials.py
├── core/
│ └── run.py # run_agent(message) → response
├── agents/, tools/, prompts/ # unchanged logic
├── main.py # CLI → core.run
└── scheduler.py # local cron → abstractions
marketing-agent-cloud/ # proprietary (private repo, future)
├── api/, web/, billing/
├── storage/postgres_storage.py
├── credentials/vault.py
└── workers/scheduler_worker.py
Summary
Track the work to adopt an open-core model for Marketing Agent:
Principles
Proposed OSS boundary refactor
OSS prep issues (this repo)
StorageProtocol+ JSON implementationCredentialsProtocol+ env implementationcore/run.pyentry pointscheduler.pyto use abstractionsPaid layer roadmap (separate repo)
Success criteria
.env→python main.pywith zero platform dependencyagents/ortools/