Skip to content

feat(T13884): pass CLEO_HOOK_PROVIDER to the goal tick - #2361

Merged
kryptobaseddev merged 1 commit into
mainfrom
feat/T13884-tick-provider-env
Oct 17, 2026
Merged

kryptobaseddev merged 1 commit into
mainfrom
feat/T13884-tick-provider-env

Conversation

@kryptobaseddev

Copy link
Copy Markdown
Owner

cleo hook stop --provider <claude-code|codex> now spawns the goal tick with CLEO_HOOK_PROVIDER=<provider> added to the inherited environment. That lets cleo-goal tick tell which harness's Stop it is answering.

  • runTickKillable(command, input, timeoutMs, provider?): when a provider is given, it sets the variable and leaves everything else in process.env as it was. processStopDispatchDeps passes the dispatcher's provider through.
  • The variable name is exported once, as GOAL_TICK_PROVIDER_ENV in @cleocode/contracts/goal-runtime.js, so cleo-goal can import it. It is a const in a types-only module, so gate 10 passes.
  • New test in stop-dispatch-entry.test.ts: a real tick child reports CLEO_HOOK_PROVIDER for both providers, and HOME is unchanged.

Verification

The owner directive is no local heavy runs, so CI verifies the tests and typecheck.

  • Biome format and lint are clean on the three changed files.
  • Gates 6 (--check), 10, 25, 38, 40 and 32 (--base origin/main) pass. CI enforces gate 39.
  • The changeset lint needs a local core build, so CI's Changeset Lint verifies it.

🤖 Generated with Claude Code

runTickKillable takes the dispatcher's --provider and spawns the tick with
CLEO_HOOK_PROVIDER set to it, the rest of the environment inherited. The
name is GOAL_TICK_PROVIDER_ENV in @cleocode/contracts/goal-runtime.js so
cleo-goal can import it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kryptobaseddev
kryptobaseddev merged commit 2ec783b into main Oct 17, 2026
43 checks passed
@kryptobaseddev
kryptobaseddev deleted the feat/T13884-tick-provider-env branch October 17, 2026 22:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant