Runtime-Gated Abilities Audit

Issue: https://github.com/Extra-Chill/data-machine/issues/2303

Data Machine skips the full runtime on normal frontend page views via datamachine_should_load_full_runtime(). Ability constructors inside datamachine_run_datamachine_plugin() therefore do not run on those lite requests unless the ability is explicitly hoisted to file-load registration.

This audit records which gated abilities have proven frontend-lite consumers. Only proven reachable abilities should be hoisted; the rest stay gated until a concrete frontend-lite call site exists.

Disposition Table

AreaAbilitiesFrontend-lite consumer evidenceDisposition
Authdatamachine/list-auth-providers, datamachine/get-auth-status, datamachine/connect-auth, datamachine/disconnect-auth, datamachine/set-auth-token, datamachine/revoke-auth-token, datamachine/refresh-auth-tokenAdmin/API auth management only. No frontend-lite wp_get_ability() consumer found in the Data Machine repo or local Extra Chill extension checkouts during #2303.Keep gated.
AI diagnosticsdatamachine/inspect-ai-requestDiagnostic/admin surface. No frontend-lite consumer found.Keep gated.
FilesAgent, flow, and scaffold file abilitiesAgent/runtime file management. No frontend-lite consumer found.Keep gated.
Flowdatamachine/get-flows, datamachine/create-flow, datamachine/update-flow, datamachine/delete-flow, datamachine/duplicate-flow, datamachine/pause-flow, datamachine/resume-flow, queue/config/webhook flow abilitiesLocal Data Machine consumers are REST/CLI/tests. Issue #2303 noted Extra Chill Events references to create-flow, but those are REST-shaped ability classes rather than page-render helpers.Keep gated.
Flow stepsdatamachine/get-flow-steps, datamachine/update-flow-step, datamachine/configure-flow-steps, datamachine/validate-flow-steps-configFlow-builder/API surface. No frontend-lite consumer found.Keep gated.
Jobsdatamachine/get-jobs, datamachine/delete-jobs, datamachine/execute-workflow, datamachine/flow-health, datamachine/problem-flows, datamachine/recover-stuck-jobs, datamachine/jobs-summary, datamachine/run-metrics, datamachine/fail-job, datamachine/retry-jobLocal Data Machine consumers are CLI, REST, cron, admin, or tests. Issue #2303 noted Extra Chill Events references to execute-workflow, but those are REST-shaped ability classes rather than page-render helpers.Keep gated.
Logsdatamachine/write-to-log, datamachine/clear-logs, datamachine/read-logs, datamachine/get-log-metadata, datamachine/read-debug-logRuntime diagnostics/admin surface. No frontend-lite consumer found.Keep gated.
Post queriesdatamachine/query-posts, datamachine/list-postsAdmin/chat/runtime query surface. No frontend-lite consumer found.Keep gated.
Pipelinedatamachine/get-pipelines, datamachine/create-pipeline, datamachine/update-pipeline, datamachine/delete-pipeline, datamachine/duplicate-pipeline, import/export pipeline abilitiesLocal Data Machine consumers are REST/CLI/tests. Issue #2303 noted Extra Chill Events references to create-pipeline, but those are REST-shaped ability classes rather than page-render helpers.Keep gated.
Pipeline stepsdatamachine/get-pipeline-steps, datamachine/add-pipeline-step, datamachine/update-pipeline-step, datamachine/delete-pipeline-step, datamachine/reorder-pipeline-stepsFlow-builder/API surface. No frontend-lite consumer found.Keep gated.
Duplicate checksdatamachine/check-duplicate, duplicate title matchingLocal Extra Chill Events use is inside a Data Machine upsert step handler, which runs under the full runtime.Keep gated.
Processed itemsProcessed-item clear/check/history/stale/never-processed helpersPipeline/runtime state surface. No frontend-lite consumer found.Keep gated.
Tracked itemsdatamachine/upsert-tracked-item, datamachine/get-tracked-item, datamachine/list-tracked-items, datamachine/tracked-items-summaryPipeline/system-task coverage surface. No frontend-lite consumer found.Keep gated.
SettingsSettings and handler-default abilitiesAdmin/CLI/settings surface. No frontend-lite consumer found.Keep gated.
Handlers and step typesHandler discovery/test/defaults and step-type listing/validationAdmin/runtime discovery surface. No frontend-lite consumer found.Keep gated.
Local searchdatamachine/local-searchChat/runtime search surface. No frontend-lite consumer found.Keep gated.
Source inventorydatamachine/source-inventory, datamachine/source-aggregateSystem-task/source coverage surface. No frontend-lite consumer found.Keep gated.
SystemSession title, health, and system-task abilitiesAdmin/chat/system-task surface. No frontend-lite consumer found.Keep gated.
Mediadatamachine/generate-alt-text, datamachine/diagnose-alt-text, image generation, media upload/validation/video metadataAdmin/pipeline media surface. No frontend-lite consumer found.Keep gated.
Image templatesdatamachine/render-image-template, datamachine/list-image-templatesProven frontend-lite consumers: Extra Chill OG-card and event-roundup generation.Already hoisted by #2291.
SEOIndexNow and meta-description abilitiesPipeline/admin SEO surface. No frontend-lite consumer found.Keep gated.
Agent callsdatamachine/agent-call, datamachine/agent-remote-callAgent/runtime surface. No frontend-lite consumer found.Keep gated.
TaxonomyResolve, merge meta, get/create/update/delete term abilitiesAdmin/pipeline taxonomy surface. No frontend-lite consumer found.Keep gated.
Agent identity and tokensAgent CRUD/import/export/access/token abilitiesAdmin/agent management surface. No frontend-lite consumer found.Keep gated.
Agent memory and daily memoryAgent memory and daily memory read/write/list/search/delete abilitiesChat/agent runtime surface. No frontend-lite consumer found.Keep gated.
ChatChat session and message abilitiesREST/frontend-chat requests hit /wp-json/ and load the full runtime. No lite page-render consumer found.Keep gated.
Internal linkingDiagnostics, audit, backlinks, broken links, opportunitiesAdmin/runtime content analysis surface. No frontend-lite consumer found.Keep gated.
Content/block editingdatamachine/get-post-blocks, datamachine/edit-post-blocks, datamachine/replace-post-blocks, datamachine/insert-content, datamachine/upsert-postLocal Extra Chill Events use of upsert-post is inside a Data Machine upsert step handler, which runs under the full runtime.Keep gated.
Pending actionsPending-action inspection/sign/resolve abilitiesAgent approval/runtime surface. No frontend-lite consumer found.Keep gated.
FetchFile, email, RSS, WordPress API/media/post query fetch abilitiesPipeline/runtime fetch surface. No frontend-lite consumer found.Keep gated.
Email mailboxEmail reply/delete/move/flag/batch/unsubscribe/test abilitiesAdmin/CLI/mailbox surface. No frontend-lite consumer found.Keep gated.
Publishdatamachine/publish-wordpressPipeline/runtime publish surface. No frontend-lite consumer found.Keep gated.
Publish emaildatamachine/send-email, datamachine/send-email-queuedProven frontend-lite consumers: issue #2303 documents extrachill-multisite generic ec_send_email() and ec_send_email_queued() helpers as callable from normal frontend hooks/form handlers. Data Machine core also uses these from REST/CLI/worker contexts.Hoisted in #2303.
Updatedatamachine/update-wordpressPipeline/runtime update surface. No frontend-lite consumer found.Keep gated.
Handler testdatamachine/test-handlerAdmin/test surface. No frontend-lite consumer found.Keep gated.

Rule For Future Hoists

Hoist an ability only when there is a concrete consumer that can call wp_get_ability() during a lite frontend page view or another request shape that does not satisfy datamachine_should_load_full_runtime(). REST, Ajax, admin, cron, CLI, pipeline, and Action Scheduler consumers are already covered by the full runtime gate.