ruvnet/ruflo · error
not_found
Error message
not_found
What it means
JSON error body returned by the A2A agent-card server when the request path does not match the configured well-known agent-card path (default /.well-known/agent.json); the body names the expected agentCardPath and the response is a 404.
Source
Thrown at v3/@claude-flow/plugin-agent-federation/src/a2a/well-known.ts:72
* other path → 404
*/
export function startAgentCardServer(
options: AgentCardServerOptions,
): Promise<AgentCardServerHandle> {
const host = options.host ?? '127.0.0.1';
const path = options.path ?? A2A_WELL_KNOWN_PATH;
const maxAge = options.cacheMaxAgeSeconds ?? 300;
if (!isLoopbackHost(host) && options.allowNonLoopback !== true) {
return Promise.reject(new Error(
`A2A agent-card server: refusing non-loopback bind ${host} without allowNonLoopback: true (ADR-166)`,
));
}
const server: Server = createServer((req, res) => {
const reqPath = (req.url ?? '').split('?')[0];
if (reqPath !== path) {
res.writeHead(404, { 'content-type': 'application/json' });
res.end(JSON.stringify({ error: 'not_found', agentCardPath: path }));
return;
}
if (req.method !== 'GET' && req.method !== 'HEAD') {
res.writeHead(405, { allow: 'GET, HEAD', 'content-type': 'application/json' });
res.end(JSON.stringify({ error: 'method_not_allowed' }));
return;
}
const card = options.getCard();
if (!card) {
res.writeHead(503, { 'content-type': 'application/json', 'retry-after': '5' });
res.end(JSON.stringify({ error: 'agent_card_not_ready' }));
return;
}
const body = JSON.stringify(card, null, 2);
const etag = `"${createHash('sha256').update(body).digest('hex').slice(0, 32)}"`;
if (req.headers['if-none-match'] === etag) {
res.writeHead(304, { etag });View on GitHub (pinned to fa13ee4ad6)
Solutions
- Request a resource that exists; verify the path/identifier against the service's published endpoints.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at v3/@claude-flow/plugin-agent-federation/src/a2a/well-known.ts:72 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18).
Data as JSON: /api/errors/0bc01313726398ea.
Report an issue: GitHub.