Problem
Data Machine core still directly loads and registers several vertical product/domain ability sets.
Code references on origin/main (008878b6):
data-machine.php:187-192 — requires media and SEO ability files.
data-machine.php:209 — requires email ability file.
data-machine.php:282-287 — instantiates media and SEO abilities.
data-machine.php:321-330 — instantiates email fetch/publish abilities.
Examples:
- SEO:
inc/Abilities/SEO/*, inc/Abilities/InternalLinkingAbilities.php.
- Media:
inc/Abilities/Media/*.
- Email:
inc/Abilities/Email/EmailAbilities.php, inc/Abilities/Fetch/FetchEmailAbility.php, inc/Abilities/Publish/SendEmailAbility.php, inc/Abilities/Publish/SendEmailQueuedAbility.php.
There is already precedent for moving feature abilities out: GitHubAbilities moved to data-machine-code extension in data-machine.php.
Why this matters
Core 1.0 should be the orchestration/runtime substrate: agents, jobs, flows, steps, files, handler registration, generic WordPress/content primitives, permissions, and APIs. SEO, media generation/rendering, and email client behavior are valuable features, but they read as extension-plugin domains rather than core substrate.
Acceptance criteria
- Decide the 1.0 core boundary for domain abilities.
- Move SEO/media/email ability registration to one or more extension plugins, or document why each belongs in core.
- Keep any generic primitives needed by extensions in core with narrow interfaces.
- Preserve migration/activation behavior for existing installs that use these abilities.
- Tests or smoke checks confirm core still boots without the extracted feature plugins.
AI assistance
- AI assistance: Yes
- Tool(s): OpenCode (GPT-5.5)
- Used for: 1.0 technical-debt audit and issue drafting; Chris requested tracking issues for the findings.
Problem
Data Machine core still directly loads and registers several vertical product/domain ability sets.
Code references on
origin/main(008878b6):data-machine.php:187-192— requires media and SEO ability files.data-machine.php:209— requires email ability file.data-machine.php:282-287— instantiates media and SEO abilities.data-machine.php:321-330— instantiates email fetch/publish abilities.Examples:
inc/Abilities/SEO/*,inc/Abilities/InternalLinkingAbilities.php.inc/Abilities/Media/*.inc/Abilities/Email/EmailAbilities.php,inc/Abilities/Fetch/FetchEmailAbility.php,inc/Abilities/Publish/SendEmailAbility.php,inc/Abilities/Publish/SendEmailQueuedAbility.php.There is already precedent for moving feature abilities out:
GitHubAbilities moved to data-machine-code extensionindata-machine.php.Why this matters
Core 1.0 should be the orchestration/runtime substrate: agents, jobs, flows, steps, files, handler registration, generic WordPress/content primitives, permissions, and APIs. SEO, media generation/rendering, and email client behavior are valuable features, but they read as extension-plugin domains rather than core substrate.
Acceptance criteria
AI assistance