You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Purges live dm_ prefix remnants in favor of datamachine_.
Adds WebhookTrigger::rate_limit_transient_key() so webhook rate-limit read/delete paths share one key builder.
Updates tests and test fixtures/helpers so the active code/test audit paths are clean.
Rename inventory and persistence assessment
dm_backpressure_ -> datamachine_backpressure_ in RunFlowAbility crc32 jitter seed. Persistence: none; this only shifts deterministic defer jitter.
dm_email_sent_folder_from -> datamachine_email_sent_folder_from in EmailAbilities. Persistence: none, but this is a public filter hook rename and is a breaking change for consumers of the old filter.
dm_webhook_rate_ -> datamachine_webhook_rate_ in webhook rate-limit transients. Persistence: short-lived transient state; old transient keys are intentionally not migrated and will expire. Read/delete paths now share WebhookTrigger::rate_limit_transient_key() to keep them in sync.
dm_batch_ -> datamachine_batch_ for TaskScheduler batch IDs. Persistence: batch IDs are stored in job engine data/log context as opaque identifiers. Repo audit found no prefix parsing/matching/read branches for dm_batch_, so new writes hard-cut to datamachine_batch_ without dual-prefix read compatibility. Existing in-flight old IDs remain opaque values on already-created batch parent jobs.
dm_stagger_ -> datamachine_stagger_ in RecurringScheduler crc32 stagger seed. Persistence: none; this only shifts deterministic stagger offsets.
$dm_version -> $datamachine_version in migration scaffolding. Persistence: none; local variable only.
Test-only helper/function/global/fixture remnants (dm_assert, dm_test_*, dm_rs_*, dm_hook, dm_cron, dm_once, dm_dup, dm_name, dm_wp_error_terms, etc.) were renamed to datamachine_ equivalents so the active test paths are clean too.
Breaking changes
Public filter hook dm_email_sent_folder_from is now datamachine_email_sent_folder_from. No backwards-compat shim is included by design.
Audit evidence
git grep -n "dm_" -- inc tests data-machine.php uninstall.php returned no matches.
git grep -n "'dm_\|"dm_" -- inc tests data-machine.php uninstall.php returned no matches.
git diff --check passed.
Test evidence
php -l passed for every changed PHP file.
composer test did not reach the test suite: Homeboy offloaded to homeboy-lab and failed preflight because runner extension parity for wordpress is stale and cannot auto-sync from controller-local source /Users/chubes/.config/homeboy/extension-sources/wordpress/wordpress.
Attempted the intended repair path, homeboy extension dev-run --source /Users/chubes/.config/homeboy/extension-sources/wordpress/wordpress --runner homeboy-lab wordpress homeboy test data-machine; it also failed before tests because the runner-side command could not resolve server homeboy-lab (server.not_found).
ℹ️ No tests ran — the runner failed before producing results. See raw_output.stderr_tail / raw_output.stdout_tail for the underlying error (bootstrap failure, missing deps, DB connection, etc.).
ℹ️ To run specific tests: homeboy test data-machine -- --filter=TestName
ℹ️ Auto-fix lint issues: homeboy refactor data-machine --from lint --write
ℹ️ Collect coverage: homeboy test data-machine --coverage
ℹ️ Analyze failures: homeboy test data-machine --analyze
ℹ️ Pass args to test runner: homeboy test -- [args]
ℹ️ Full options: homeboy docs commands/test
Deep dive: homeboy test data-machine --changed-since 28dd1a0
Artifacts and drill-down
CI results artifact: homeboy-ci-results-data-machine-test-quality-Linux-node24 contains immediate command JSON for this action invocation.
Observation artifact: homeboy-observations-data-machine-test-quality-Linux-node24 contains exported Homeboy run history for deeper queries.
Drill-down: download the observation artifact, then run homeboy runs import <dir>, homeboy runs list, and homeboy runs findings <run-id>.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
dm_prefix remnants in favor ofdatamachine_.WebhookTrigger::rate_limit_transient_key()so webhook rate-limit read/delete paths share one key builder.Rename inventory and persistence assessment
dm_backpressure_->datamachine_backpressure_inRunFlowAbilitycrc32 jitter seed. Persistence: none; this only shifts deterministic defer jitter.dm_email_sent_folder_from->datamachine_email_sent_folder_frominEmailAbilities. Persistence: none, but this is a public filter hook rename and is a breaking change for consumers of the old filter.dm_img_->datamachine_img_inGDRenderertempnam prefix. Persistence: none; temporary filename prefix only.dm_webhook_rate_->datamachine_webhook_rate_in webhook rate-limit transients. Persistence: short-lived transient state; old transient keys are intentionally not migrated and will expire. Read/delete paths now shareWebhookTrigger::rate_limit_transient_key()to keep them in sync.dm_batch_->datamachine_batch_forTaskSchedulerbatch IDs. Persistence: batch IDs are stored in job engine data/log context as opaque identifiers. Repo audit found no prefix parsing/matching/read branches fordm_batch_, so new writes hard-cut todatamachine_batch_without dual-prefix read compatibility. Existing in-flight old IDs remain opaque values on already-created batch parent jobs.dm_stagger_->datamachine_stagger_inRecurringSchedulercrc32 stagger seed. Persistence: none; this only shifts deterministic stagger offsets.$dm_version->$datamachine_versionin migration scaffolding. Persistence: none; local variable only.dm_assert,dm_test_*,dm_rs_*,dm_hook,dm_cron,dm_once,dm_dup,dm_name,dm_wp_error_terms, etc.) were renamed todatamachine_equivalents so the active test paths are clean too.Breaking changes
dm_email_sent_folder_fromis nowdatamachine_email_sent_folder_from. No backwards-compat shim is included by design.Audit evidence
git grep -n "dm_" -- inc tests data-machine.php uninstall.phpreturned no matches.git grep -n "'dm_\|"dm_" -- inc tests data-machine.php uninstall.phpreturned no matches.git diff --checkpassed.Test evidence
php -lpassed for every changed PHP file.composer testdid not reach the test suite: Homeboy offloaded tohomeboy-laband failed preflight because runner extension parity forwordpressis stale and cannot auto-sync from controller-local source/Users/chubes/.config/homeboy/extension-sources/wordpress/wordpress.homeboy extension dev-run --source /Users/chubes/.config/homeboy/extension-sources/wordpress/wordpress --runner homeboy-lab wordpress homeboy test data-machine; it also failed before tests because the runner-side command could not resolve serverhomeboy-lab(server.not_found).AI assistance