Issue
The current version of Drupal Coder (8.3.9) has an incorrect composer definition in it (see https://www.drupal.org/project/coder/issues/3134853) and as a result, it isn't working properly when running. As a result, BLT will throw an error that:
ERROR: Referenced sniff "Drupal" does not exist
The full error output might look something like:
blt validate
> tests:composer:validate
Validating composer.json and composer.lock...
[ExecStack] composer validate --no-check-all --ansi
[ExecStack] Running composer validate --no-check-all --ansi in /Users/mike.madison/git/d4g/drupal4gov.us
./composer.json is valid, but with a few warnings
See https://getcomposer.org/doc/04-schema.md for details on the schema
No license specified, it is recommended to do so. For closed-source software you may use "proprietary" as license.
[ExecStack] Done in 0.866s
> tests:php:lint
Linting PHP files...
Iterating over fileset files.php.custom.modules...
> tests:phpcs:sniff:all
[ExecStack] '/Users/mike.madison/git/d4g/drupal4gov.us/vendor/bin/phpcs'
ERROR: Referenced sniff "Drupal" does not exist
Run "phpcs --help" for usage information
[ExecStack] Exit code 3
Resolution
The suggested resolution (as of 5/12/2020) is to manually pin your composer file to version 8.3.8 of drupal/coder to work around this issue. The resolution will continue to evolve as the drupal/coder project addresses this.
Cause (this is optional)
This is caused by an upstream change in drupal/coder and not caused by BLT or other Acquia products.
See:
https://www.drupal.org/project/coder/issues/3134853
https://www.drupal.org/project/drupal/issues/3099796