From e47f3c2a635fbd64ec3abdfb2a79fb88a234cd4e Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Wed, 7 Oct 2026 13:24:59 +0100 Subject: [PATCH] fix(ci): make semantic-audit-check fail closed instead of printing a pass The action echoed a list of checks and then "Semantic Audit Passed" unconditionally. It called nothing; the cicd-squabbler `audit` subcommand it names does not exist. No workflow calls it yet, but the first caller would have gained a gate that cannot fail. It now exits 1 with an explicit not-implemented error until a real audit exists. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_015bTuGfwCcvjrmNFejydTML --- .../actions/semantic-audit-check/action.yml | 37 +++++++------------ 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/.github/actions/semantic-audit-check/action.yml b/.github/actions/semantic-audit-check/action.yml index 489c608..15965f2 100755 --- a/.github/actions/semantic-audit-check/action.yml +++ b/.github/actions/semantic-audit-check/action.yml @@ -1,23 +1,14 @@ -name: 'Semantic Audit Gate' -description: 'AI-powered semantic check of descriptiles, contractiles, bot_directives, anchors, and CLAUDE.md' -runs: - using: 'composite' - steps: - - name: Run Semantic Audit via cicd-squabbler - shell: bash - run: | - echo "Initiating AI-Powered Semantic Audit..." - # In the future, this calls cicd-squabbler or hypatia-scan to evaluate content semantics - - echo "Checking descriptiles for contradictions and Oxford English Dictionary spelling/grammar..." - echo "(Exceptions allowed for exact legal strings e.g. LICENSE)." - - echo "Checking contractiles for completeness..." - echo "Checking bot_directives for compliance..." - echo "Parsing anchor files to ensure closing gap..." - echo "Validating CLAUDE.md..." - - # Placeholder for actual invocation - # cicd-squabbler audit --semantic --repo . --grammar-check=OED - - echo "Semantic Audit Passed." +{ + name: "Semantic Audit Gate (not implemented: fails closed)", + description: "Placeholder for a semantic audit of descriptiles, contractiles, bot_directives, anchors and CLAUDE.md. No audit is implemented, so this action fails rather than reporting a pass it has not earned.", + runs: { + using: "composite", + steps: [ + { + name: "Refuse: semantic audit is not implemented", + shell: "bash", + run: "echo \"::error title=semantic-audit-check::not implemented. No semantic audit exists yet (cicd-squabbler has no audit subcommand and no pinned artifact), so this gate fails closed instead of printing a pass.\"\nexit 1\n", + }, + ], + }, +}