Problem
Data Machine Code cannot be installed cleanly from a tagged release into a standard WordPress site (or a Playground blueprint via `installPlugin: git:directory`) because the plugin's entry file requires composer's autoloader, and `vendor/` is correctly gitignored — composer dependencies should not live in version control.
Today the local repo happens to have `vendor/` because composer install was run during development, but anyone cloning fresh, downloading the GitHub source zip, or pulling via `git:directory` gets a fatal on activation.
This is the same issue I just filed against Extra-Chill/data-machine#2029 — the fix shape is identical.
What this asks for
DMC currently has no `.github/` workflows directory; releases must be happening via Homeboy CLI from a different location. Adding a homeboy-action release workflow would solve both "automated tagged releases" and "release-artifact publishing" at once.
Two-step adoption:
- Add the standard `homeboy-action` reusable release workflow (`.github/workflows/homeboy.yml`) so DMC gets the same automatic release flow DM has — conventional commits trigger tags, changelogs, and releases on push to main.
- Add a follow-up build job that runs after homeboy-action creates a release:
- `composer install --no-dev --optimize-autoloader --prefer-dist`
- Stage a clean distributable `data-machine-code/` directory excluding `tests/`, `docs/`, `.github/`, etc.
- Zip and upload as `data-machine-code.zip` via `gh release upload`.
Concrete blocked use case
Adding DMC to the public Playground blueprint at `chubes4/world-of-wordpress/blueprints/world.json` so the agent's runtime is what visitors see. `installPlugin: git:directory` pulls the source without running composer; activation fatals on the missing vendor.
Why this matters beyond Playground
- wp-coding-agents installs can pull DMC from a release zip instead of running composer locally.
- A8C Intelligence WP Cloud deploys can deploy from a release zip via Homeboy's plugin deploy path.
- Any future consumer that wants "DMC as a normal WordPress plugin" gets one.
Notes on what already exists
- `.gitignore` correctly excludes `vendor/`, `node_modules/`, `build/`, and `*.zip` — distributable artifacts shouldn't be checked in.
- A `.homeboy-build/` directory exists locally suggesting homeboy already has a build pipeline concept here.
- `composer.json` is minimal — DMC's runtime composer deps are small enough that the bundled vendor will stay reasonable size.
AI assistance
- AI assistance: Yes
- Tool(s): Claude Code (Sonnet 4.5)
- Used for: Diagnosed that DMC has no CI workflows and no release artifacts, traced the same activation-fatal gap as DM, and drafted this issue. Chris specified that the fix should be upstream artifacts rather than blueprint workarounds.
Problem
Data Machine Code cannot be installed cleanly from a tagged release into a standard WordPress site (or a Playground blueprint via `installPlugin: git:directory`) because the plugin's entry file requires composer's autoloader, and `vendor/` is correctly gitignored — composer dependencies should not live in version control.
Today the local repo happens to have `vendor/` because composer install was run during development, but anyone cloning fresh, downloading the GitHub source zip, or pulling via `git:directory` gets a fatal on activation.
This is the same issue I just filed against Extra-Chill/data-machine#2029 — the fix shape is identical.
What this asks for
DMC currently has no `.github/` workflows directory; releases must be happening via Homeboy CLI from a different location. Adding a homeboy-action release workflow would solve both "automated tagged releases" and "release-artifact publishing" at once.
Two-step adoption:
Concrete blocked use case
Adding DMC to the public Playground blueprint at `chubes4/world-of-wordpress/blueprints/world.json` so the agent's runtime is what visitors see. `installPlugin: git:directory` pulls the source without running composer; activation fatals on the missing vendor.
Why this matters beyond Playground
Notes on what already exists
AI assistance