Skip to content

fix(gateway): resolve runtime provider for BOOT.md hook#14992

Closed
Sandboxcn wants to merge 1 commit into
NousResearch:mainfrom
Sandboxcn:fix/boot-md-runtime-provider
Closed

fix(gateway): resolve runtime provider for BOOT.md hook#14992
Sandboxcn wants to merge 1 commit into
NousResearch:mainfrom
Sandboxcn:fix/boot-md-runtime-provider

Conversation

@Sandboxcn

@Sandboxcn Sandboxcn commented Apr 24, 2026

Copy link
Copy Markdown

Summary

  • Resolve the configured runtime provider before constructing the BOOT.md agent
  • Pass model/provider/API mode/base URL/credential pool into AIAgent
  • Add unit tests covering runtime resolution and AIAgent constructor kwargs

Why

The built-in BOOT.md hook runs outside normal gateway message handling. Without explicit runtime resolution, the one-shot boot agent can miss the gateway's configured provider/model and fail before it can call tools such as send_message.

Test Plan

  • python -m pytest tests/gateway/test_boot_md.py -q
    • 2 passed
  • python -m pytest tests/gateway/test_boot_md.py tests/gateway/test_hooks.py -q
    • 23 passed

@alt-glitch alt-glitch added type/bug Something isn't working P2 Medium — degraded but workaround exists comp/gateway Gateway runner, session dispatch, delivery labels Apr 24, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Related to #5239 (original issue) and competing PRs #12514, #5240, #11069 — all fix BOOT.md runtime resolution.

@Sandboxcn

Copy link
Copy Markdown
Author

Thanks for linking these. Yes, this PR addresses the same root cause as #5239 and overlaps with #12514, #5240, and #11069.

I opened this after reproducing the failure with an openai-codex gateway setup where the BOOT.md agent was constructed without the resolved runtime provider/model and failed before reaching tools like send_message.

Happy for maintainers to pick whichever implementation they prefer. This PR adds focused regression coverage for:

  • resolving the configured runtime provider/model for BOOT.md
  • passing those runtime kwargs into AIAgent

teknium1 added a commit that referenced this pull request Apr 28, 2026
BOOT.md was merged in PR #3733 before the feature was ready — the
built-in hook spawned a bare AIAgent() with no model/runtime kwargs,
which immediately 401s on any provider with a custom endpoint. Three
separate community PRs (#5240, #12514, #14992) tried to paper over it.

Remove the BOOT.md hook entirely and its user-facing docs/tips. Keep
the gateway/builtin_hooks/ package and the HookRegistry._register_builtin_hooks()
hook-point intact as the extension surface for future always-on
gateway hooks.

Closes #5239.

Co-authored-by: teknium1 <teknium@users.noreply.github.com>
@teknium1

Copy link
Copy Markdown
Contributor

Superseded by #17093 — we rolled BOOT.md back entirely rather than layering runtime-resolution fixes on top. The feature shipped in #3733 before it was ready (bare AIAgent() with no model/runtime, as you correctly identified), so pulling it is the right move for now. Thanks for the fix — if we bring BOOT.md back later, we'll do it with the runtime-resolution pattern you PR'd here.

@teknium1 teknium1 closed this Apr 28, 2026
cluricaun28 referenced this pull request in cluricaun28/Logos Apr 28, 2026
BOOT.md was merged in PR #3733 before the feature was ready — the
built-in hook spawned a bare AIAgent() with no model/runtime kwargs,
which immediately 401s on any provider with a custom endpoint. Three
separate community PRs (#5240, #12514, #14992) tried to paper over it.

Remove the BOOT.md hook entirely and its user-facing docs/tips. Keep
the gateway/builtin_hooks/ package and the HookRegistry._register_builtin_hooks()
hook-point intact as the extension surface for future always-on
gateway hooks.

Closes #5239.

Co-authored-by: teknium1 <teknium@users.noreply.github.com>
ulasbilgen pushed a commit to ulasbilgen/hermes-adhd-agent that referenced this pull request May 1, 2026
BOOT.md was merged in PR NousResearch#3733 before the feature was ready — the
built-in hook spawned a bare AIAgent() with no model/runtime kwargs,
which immediately 401s on any provider with a custom endpoint. Three
separate community PRs (NousResearch#5240, NousResearch#12514, NousResearch#14992) tried to paper over it.

Remove the BOOT.md hook entirely and its user-facing docs/tips. Keep
the gateway/builtin_hooks/ package and the HookRegistry._register_builtin_hooks()
hook-point intact as the extension surface for future always-on
gateway hooks.

Closes NousResearch#5239.

Co-authored-by: teknium1 <teknium@users.noreply.github.com>
donald131 pushed a commit to donald131/hermes-agent that referenced this pull request May 2, 2026
BOOT.md was merged in PR NousResearch#3733 before the feature was ready — the
built-in hook spawned a bare AIAgent() with no model/runtime kwargs,
which immediately 401s on any provider with a custom endpoint. Three
separate community PRs (NousResearch#5240, NousResearch#12514, NousResearch#14992) tried to paper over it.

Remove the BOOT.md hook entirely and its user-facing docs/tips. Keep
the gateway/builtin_hooks/ package and the HookRegistry._register_builtin_hooks()
hook-point intact as the extension surface for future always-on
gateway hooks.

Closes NousResearch#5239.

Co-authored-by: teknium1 <teknium@users.noreply.github.com>
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
BOOT.md was merged in PR NousResearch#3733 before the feature was ready — the
built-in hook spawned a bare AIAgent() with no model/runtime kwargs,
which immediately 401s on any provider with a custom endpoint. Three
separate community PRs (NousResearch#5240, NousResearch#12514, NousResearch#14992) tried to paper over it.

Remove the BOOT.md hook entirely and its user-facing docs/tips. Keep
the gateway/builtin_hooks/ package and the HookRegistry._register_builtin_hooks()
hook-point intact as the extension surface for future always-on
gateway hooks.

Closes NousResearch#5239.

Co-authored-by: teknium1 <teknium@users.noreply.github.com>
dannyJ848 pushed a commit to dannyJ848/hermes-agent that referenced this pull request May 17, 2026
BOOT.md was merged in PR NousResearch#3733 before the feature was ready — the
built-in hook spawned a bare AIAgent() with no model/runtime kwargs,
which immediately 401s on any provider with a custom endpoint. Three
separate community PRs (NousResearch#5240, NousResearch#12514, NousResearch#14992) tried to paper over it.

Remove the BOOT.md hook entirely and its user-facing docs/tips. Keep
the gateway/builtin_hooks/ package and the HookRegistry._register_builtin_hooks()
hook-point intact as the extension surface for future always-on
gateway hooks.

Closes NousResearch#5239.

Co-authored-by: teknium1 <teknium@users.noreply.github.com>
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
BOOT.md was merged in PR NousResearch#3733 before the feature was ready — the
built-in hook spawned a bare AIAgent() with no model/runtime kwargs,
which immediately 401s on any provider with a custom endpoint. Three
separate community PRs (NousResearch#5240, NousResearch#12514, NousResearch#14992) tried to paper over it.

Remove the BOOT.md hook entirely and its user-facing docs/tips. Keep
the gateway/builtin_hooks/ package and the HookRegistry._register_builtin_hooks()
hook-point intact as the extension surface for future always-on
gateway hooks.

Closes NousResearch#5239.

Co-authored-by: teknium1 <teknium@users.noreply.github.com>
Egavasyug pushed a commit to Egavasyug/hermes-agent that referenced this pull request Jun 10, 2026
BOOT.md was merged in PR NousResearch#3733 before the feature was ready — the
built-in hook spawned a bare AIAgent() with no model/runtime kwargs,
which immediately 401s on any provider with a custom endpoint. Three
separate community PRs (NousResearch#5240, NousResearch#12514, NousResearch#14992) tried to paper over it.

Remove the BOOT.md hook entirely and its user-facing docs/tips. Keep
the gateway/builtin_hooks/ package and the HookRegistry._register_builtin_hooks()
hook-point intact as the extension surface for future always-on
gateway hooks.

Closes NousResearch#5239.

Co-authored-by: teknium1 <teknium@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/gateway Gateway runner, session dispatch, delivery P2 Medium — degraded but workaround exists type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants