Cosmetic layer-purity violations
The grep test from the platform layering rule:
grep -rniE "kimaki|roadie|discord|telegram|slack|whatsapp|cc-connect|extrachill" --include="*.php" data-machine/ | grep -v vendor
returns 39 matches across ~20 files. Every one is in a comment or docblock — no string literals in code paths, no vendor special-casing, no hardcoded branches. Verified by re-running the grep with comment lines excluded: zero results.
So this is real by the rule, and low severity in practice. Filing it so it is tracked rather than rediscovered.
The test is grep. If [it] finds matches in a layer that claims to be generic, that is a layering violation — even when the matches are in field names, schema keys, docblocks, or "examples."
Representative example
inc/Engine/Bundle/AgentBundleDirectoryRegistry.php:30 — a docblock illustrating the datamachine_agent_bundle_directories filter:
* add_filter( 'datamachine_agent_bundle_directories', function ( $dirs ) {
* $dirs['roadie'] = __DIR__ . '/bundles/roadie';
* return $dirs;
* } );
The filter itself is correct — integration plugins declare their own directories, which is exactly the right shape. Only the example names a specific consumer. $dirs['my-agent'] carries the same meaning with none of the coupling.
Roadie is also slated for removal from the Extra Chill network, so these particular examples would be stale regardless.
Concentration
3 inc/Cli/Commands/Flows/QueueCommand.php
2 inc/Engine/AI/Tools/ToolPolicyResolver.php
2 inc/Engine/AI/CliCommandIntrospector.php
2 inc/Cli/Commands/ProcessedItemsCommand.php
2 inc/Api/WebhookTrigger.php
2 inc/Abilities/Engine/ExecuteStepAbility.php
2 data-machine.php
1 inc/setup/schema.php
…
Work
Replace named vendors in comments and docblocks with neutral equivalents — "an integration plugin", "a chat transport", my-agent, example-channel. Do not change behaviour; there is no behaviour to change.
Worth adding a CI check so this does not regrow, given the rule is defined as a grep in the first place.
Context
Scored across the three layers that claim to be generic:
| Layer |
Matches |
Structural |
agents-api |
0 |
0 |
data-machine-chat-bridge |
10 |
6 — Extra-Chill/data-machine-chat-bridge#17 |
data-machine |
39 |
0 — this issue |
agents-api at zero shows the standard is reachable. The chat bridge has the genuinely structural problem (a hardcoded, unfilterable vendor map); this one is prose.
Cosmetic layer-purity violations
The grep test from the platform layering rule:
returns 39 matches across ~20 files. Every one is in a comment or docblock — no string literals in code paths, no vendor special-casing, no hardcoded branches. Verified by re-running the grep with comment lines excluded: zero results.
So this is real by the rule, and low severity in practice. Filing it so it is tracked rather than rediscovered.
Representative example
inc/Engine/Bundle/AgentBundleDirectoryRegistry.php:30— a docblock illustrating thedatamachine_agent_bundle_directoriesfilter:The filter itself is correct — integration plugins declare their own directories, which is exactly the right shape. Only the example names a specific consumer.
$dirs['my-agent']carries the same meaning with none of the coupling.Roadie is also slated for removal from the Extra Chill network, so these particular examples would be stale regardless.
Concentration
Work
Replace named vendors in comments and docblocks with neutral equivalents — "an integration plugin", "a chat transport",
my-agent,example-channel. Do not change behaviour; there is no behaviour to change.Worth adding a CI check so this does not regrow, given the rule is defined as a grep in the first place.
Context
Scored across the three layers that claim to be generic:
agents-apidata-machine-chat-bridgeExtra-Chill/data-machine-chat-bridge#17data-machineagents-apiat zero shows the standard is reachable. The chat bridge has the genuinely structural problem (a hardcoded, unfilterable vendor map); this one is prose.