Problem
Data Machine Code registers canonical WordPress abilities for workspace, GitHub, GitSync, code-task, and WordPress runtime operations. It also registers hand-written Data Machine tool wrapper classes that duplicate many of those same contracts for model-facing chat/pipeline tools.
That creates drift risk across:
- ability input schemas vs tool
parameters
- ability descriptions vs tool descriptions
- required fields
- permission metadata
- result envelope expectations
- aliases such as
repo vs name
Current evidence
inc/Abilities/WorkspaceAbilities.php says abilities are the canonical entry points and CLI/chat tools delegate there.
inc/Tools/WorkspaceTools.php separately declares workspace_* tools and forwards to datamachine-code/workspace-* abilities.
inc/Tools/GitHubTools.php separately declares many GitHub tools and forwards to datamachine-code/* abilities.
inc/Tools/WorkspaceDiffTools.php, GitHubIssueTool.php, GitHubPullRequestTool.php, and WordPressRuntimeTools.php follow the same pattern.
Desired outcome
Once Data Machine provides ability-native model-tool projection, DMC should consume it and delete the duplicate wrapper surface wherever the model-facing contract can be derived from the ability.
DMC should keep bespoke wrappers only when they add real model-specific behavior that cannot belong in the ability or projection metadata.
Acceptance criteria
- Workspace, GitHub, workspace-diff, GitHub issue/PR, and WordPress runtime tools are exposed through Data Machine's ability-native projection primitive where possible.
- Duplicated schema/description declarations in
inc/Tools/* are removed or reduced to projection metadata.
- Canonical ability slugs remain the execution path.
- Model-facing aliases such as
repo/name are handled deliberately in one place, with tests.
- Existing chat/pipeline tool names remain stable unless a deliberate migration plan is documented.
- Regression coverage proves projected DMC abilities are offered to the model and execute through the same abilities as WP-CLI/REST callers.
Related
AI assistance
- AI assistance: Yes
- Tool(s): OpenCode (openai/gpt-5.5)
- Used for: Boundary audit across Agents API, Data Machine, and Data Machine Code; drafted this downstream cleanup tracker for Chris to review and prioritize.
Problem
Data Machine Code registers canonical WordPress abilities for workspace, GitHub, GitSync, code-task, and WordPress runtime operations. It also registers hand-written Data Machine tool wrapper classes that duplicate many of those same contracts for model-facing chat/pipeline tools.
That creates drift risk across:
parametersrepovsnameCurrent evidence
inc/Abilities/WorkspaceAbilities.phpsays abilities are the canonical entry points and CLI/chat tools delegate there.inc/Tools/WorkspaceTools.phpseparately declaresworkspace_*tools and forwards todatamachine-code/workspace-*abilities.inc/Tools/GitHubTools.phpseparately declares many GitHub tools and forwards todatamachine-code/*abilities.inc/Tools/WorkspaceDiffTools.php,GitHubIssueTool.php,GitHubPullRequestTool.php, andWordPressRuntimeTools.phpfollow the same pattern.Desired outcome
Once Data Machine provides ability-native model-tool projection, DMC should consume it and delete the duplicate wrapper surface wherever the model-facing contract can be derived from the ability.
DMC should keep bespoke wrappers only when they add real model-specific behavior that cannot belong in the ability or projection metadata.
Acceptance criteria
inc/Tools/*are removed or reduced to projection metadata.repo/nameare handled deliberately in one place, with tests.Related
AI assistance