Skip to content

host-smoke tests fatal on undefined EXTRACHILL_ROADIE_TIER_PUBLIC / missing deps (blocks release preflight) #46

@chubes4

Description

@chubes4

Summary

Two host-smoke tests fatal with exit 255 because they invoke code paths that depend on constants/functions not loaded in the standalone host-smoke context (no full plugin bootstrap). This blocks homeboy release extrachill-roadie at preflight.test even when the change under release is unrelated.

Failing tests

  • tests/agent-mode-registration-smoke.php

    PHP Fatal error: Uncaught Error: Undefined constant "EXTRACHILL_ROADIE_TIER_PUBLIC"
      in inc/agent-mode/register.php:92
      #0 ...agent-mode-registration-smoke.php(44): extrachill_roadie_mode_guidance()
    

    register.php:92 falls back to EXTRACHILL_ROADIE_TIER_PUBLIC when extrachill_roadie_user_tier() is unavailable, but the constant itself is not defined/loaded in the host-smoke harness.

  • tests/frontend-chat-branding-smoke.php

    Uncaught Error ... extrachill_roadie_frontend_chat_config()
      thrown in inc/frontend-chat.php on line 31
    

Passing tests (for contrast)

tests/calling-user-identity-smoke.php, tests/calling-user-permission-denial-smoke.php, and tests/contribute-code-recipe-builder.php / tests/contribute-code-inherit-resolver.php all pass directly — they bootstrap the constants/functions they need.

Likely fix

Either (a) have the failing smokes define() / stub the constants + helper functions they exercise (the pattern the passing smokes already use), or (b) guard register.php:92 / frontend-chat.php:31 against the missing constant with a defined-check fallback so the code is robust outside a full bootstrap.

Impact

Pre-existing (fails on main independent of any recent change). It does not affect runtime — only the host-smoke release preflight. Releases currently require --skip-checks to proceed when these are red, which is undesirable; fixing the harness setup restores a clean release gate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions