Skip to content

Layer purity: 39 vendor-name references in comments and docblocks (no structural violations) #3508

Description

@chubes4

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 6Extra-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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions