flowmesh is a generic workflow/inbox automation toolkit. It must stay provider-agnostic and automation-safe.
- Do not hardcode personal email addresses, mailbox names, label names, domains, or people-specific routing terms in source code.
- Put provider/account specifics in config, CLI args, fixtures, or examples only.
- Prefer structured JSON/JSONL stdout and human logs on stderr.
- Mutating actions must support
--dry-runfirst. - Provider adapters should stay thin; business logic belongs in core/workflow layers.
- Tests should use fixtures/sanitized samples, never real inbox dumps or secrets.
- Do not commit real credentials, tokens, live mailbox paths, or user-specific config.
Milestone 1 should deliver:
- project scaffold
- normalized schema + TypeScript types
- provider contract
- first adapters stubs (
gog,imap,himalaya) workflow triageskeleton with JSON output- CI + CodeRabbit config stubs
- no giant daemon
- no full mutation/apply engine before planning/dry-run exists
- no provider-specific heuristics embedded in adapter code
- no Apple Mail or MCP implementation until base contracts are solid