Skip to content

fix: resolve broken anchor and stale redirect (#615) - #637

Merged
Rachael-Graham merged 2 commits into
kagent-dev:mainfrom
AnantKumar17:fix/broken-links-615
Oct 20, 2026
Merged

Rachael-Graham merged 2 commits into
kagent-dev:mainfrom
AnantKumar17:fix/broken-links-615

Conversation

@AnantKumar17

@AnantKumar17 AnantKumar17 commented Oct 19, 2026 •

Copy link
Copy Markdown

Fixes part of #615 (partial).

Changes

  • Renamed the Credentials that kagent rejects heading to Credentials that do not compile in about-model-providers.md so it matches its explicit {#credentials-that-do-not-compile} anchor, and updated the two inbound link labels for consistency.
  • Fixed a stale Google Cloud redirect link (cloud.google.com → docs.cloud.google.com) in tune-agent-substrate.md.

Root cause

The heading's explicit {#id} works correctly in the HTML output, but the site also builds a parallel markdown (.md) export of every page (see hugo.yaml's outputs config and the link-checker workflow's own comments on this). That export renders the heading as plain text, and the link checker slugifies that text to validate anchors — so the mismatched heading text broke the anchor only in the .md export. Renaming the heading to match the id fixes it in both output formats. Verified locally with a Hugo build comparing the generated HTML id and the .md export's heading text/slug before and after the change.

Not included

The two API reference struct-fragment links also reported in #615 (api-ref/index.html / api-ref.md) are not addressed here — api-ref.md is one of the auto-generated reference pages called out in CONTRIBUTION.md (regenerated automatically on each kagent release), so it should not be hand-edited in this PR.

Heading text didn't match its explicit anchor id, breaking it only in
the markdown export. Also fixed a stale Google Cloud redirect link.

Signed-off-by: AnantKumar17 <74150586+AnantKumar17@users.noreply.github.com>
Substrate matches a destination on the exact DNS hostname, without path, port, or scheme. Two credentials that target the same hostname and header are rejected, including a conflict between an agent's model, a memory embedding model, and an MCP server. Give such origins distinct DNS names. A destination given as an IP address cannot carry an injected credential at all.

### Credentials that kagent rejects {#credentials-that-do-not-compile}
### Credentials that do not compile {#credentials-that-do-not-compile}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ahh i see what happened - I think this heading used to say Credentials that do not compile and had that explicit anchor, but was changed to Credentials that kagent rejects to be more accurate (nothing actually compiles here - credentials are rejected or accepted). But i likely forgot to change the explicit anchor to match.

so i think i'd rather we keep the heading but change the anchor

Suggested change
### Credentials that do not compile {#credentials-that-do-not-compile}
### Credentials that kagent rejects {#credentials-that-kagent-rejects}

Or you can even remove the explicit anchor completely. And then do a search to see if the old anchor is being referenced anywhere.

- The **`claude`** harness integrates only `Anthropic` and `Bedrock`.

A provider is available only when the harness integrates it and the egress gateway can inject its credential as a header. The `kagent` and `byo` harnesses integrate `AnthropicVertexAI`, `GeminiVertexAI`, and `SAPAICore`, but the gateway cannot inject a Google service account key or a set of OAuth2 client credentials, so kagent rejects a ModelConfig that names any of the three on every harness. For the alternatives, see [Credentials that kagent rejects](#credentials-that-do-not-compile).
A provider is available only when the harness integrates it and the egress gateway can inject its credential as a header. The `kagent` and `byo` harnesses integrate `AnthropicVertexAI`, `GeminiVertexAI`, and `SAPAICore`, but the gateway cannot inject a Google service account key or a set of OAuth2 client credentials, so kagent rejects a ModelConfig that names any of the three on every harness. For the alternatives, see [Credentials that do not compile](#credentials-that-do-not-compile).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A provider is available only when the harness integrates it and the egress gateway can inject its credential as a header. The `kagent` and `byo` harnesses integrate `AnthropicVertexAI`, `GeminiVertexAI`, and `SAPAICore`, but the gateway cannot inject a Google service account key or a set of OAuth2 client credentials, so kagent rejects a ModelConfig that names any of the three on every harness. For the alternatives, see [Credentials that do not compile](#credentials-that-do-not-compile).
A provider is available only when the harness integrates it and the egress gateway can inject its credential as a header. The `kagent` and `byo` harnesses integrate `AnthropicVertexAI`, `GeminiVertexAI`, and `SAPAICore`, but the gateway cannot inject a Google service account key or a set of OAuth2 client credentials, so kagent rejects a ModelConfig that names any of the three on every harness. For the alternatives, see [Credentials that kagent rejects](#credentials-that-kagent-rejects).

| Field | Description |
| ----- | ----------- |
| `provider` | The provider to use.<ul><li>Accepted values are `OpenAI`, `Anthropic`, `AzureOpenAI`, `Ollama`, `Gemini`, `GeminiVertexAI`, `AnthropicVertexAI`, `Bedrock`, `SAPAICore`, `Foundry`, and `Mistral`.</li><li>Defaults to `OpenAI`.</li><li>`AnthropicVertexAI`, `GeminiVertexAI`, and `SAPAICore` are rejected on every harness.</li></ul>For more information, see [Credentials that kagent rejects](#credentials-that-do-not-compile). |
| `provider` | The provider to use.<ul><li>Accepted values are `OpenAI`, `Anthropic`, `AzureOpenAI`, `Ollama`, `Gemini`, `GeminiVertexAI`, `AnthropicVertexAI`, `Bedrock`, `SAPAICore`, `Foundry`, and `Mistral`.</li><li>Defaults to `OpenAI`.</li><li>`AnthropicVertexAI`, `GeminiVertexAI`, and `SAPAICore` are rejected on every harness.</li></ul>For more information, see [Credentials that do not compile](#credentials-that-do-not-compile). |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(see explanation below)

Suggested change
| `provider` | The provider to use.<ul><li>Accepted values are `OpenAI`, `Anthropic`, `AzureOpenAI`, `Ollama`, `Gemini`, `GeminiVertexAI`, `AnthropicVertexAI`, `Bedrock`, `SAPAICore`, `Foundry`, and `Mistral`.</li><li>Defaults to `OpenAI`.</li><li>`AnthropicVertexAI`, `GeminiVertexAI`, and `SAPAICore` are rejected on every harness.</li></ul>For more information, see [Credentials that do not compile](#credentials-that-do-not-compile). |
| `provider` | The provider to use.<ul><li>Accepted values are `OpenAI`, `Anthropic`, `AzureOpenAI`, `Ollama`, `Gemini`, `GeminiVertexAI`, `AnthropicVertexAI`, `Bedrock`, `SAPAICore`, `Foundry`, and `Mistral`.</li><li>Defaults to `OpenAI`.</li><li>`AnthropicVertexAI`, `GeminiVertexAI`, and `SAPAICore` are rejected on every harness.</li></ul>For more information, see [Credentials that kagent rejects](#credentials-that-kagent-rejects). |

Review feedback: the heading was intentionally reworded to 'Credentials that
kagent rejects' and the explicit anchor id was simply never updated to
match, not the other way around. Repoint the anchor at the current
heading instead of renaming the heading, and update the four other
pages that link to it so none reference the stale anchor.

Signed-off-by: AnantKumar17 <74150586+AnantKumar17@users.noreply.github.com>

@Rachael-Graham Rachael-Graham left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for contributing!

@Rachael-Graham
Rachael-Graham merged commit 8109dec into kagent-dev:main Oct 20, 2026
3 of 4 checks passed
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.

2 participants