[Bug]: AgentCard REQUIRED fields are never validated
Los mantenedores suelen responder en 1 día
Evaluación
Este issue todavía no se ha evaluado.
Descripción
What happened?
AgentCard marks 8 fields field_behavior = REQUIRED (https://github.com/a2aproject/A2A/blob/main/specification/a2a.proto#L362-L399): name, description, supported_interfaces, version, capabilities, default_input_modes, default_output_modes, skills.
Nothing in the SDK checks them. proto3 has no required keyword and the annotation is inert metadata, so an empty card is constructible and travels the whole pipeline unchallenged:
AgentCard() # -> served as HTTP 200 with body {}
None of the methods that accept a card validate it:
- create_agent_card_routes(agent_card=...)
- DefaultRequestHandler(agent_card=..., extended_agent_card=...) and on_get_extended_agent_card — validates the request, never the returned card
- agent_card_to_dict(card)
Correct fix: call the existing validate_proto_required_fields where the card is passed. This would introduce breaking changes for clients that rely on non-spec compliant agent card.
Suggested first step: log a warning when validation fails rather than raising, which is non-breaking and surfaces the problem to the user, with enforcement by default deferred to a major version.
Relevant log output
Code of Conduct
- I agree to follow this project's Code of Conduct
- Lenguaje dominante
- Python
- Estrellas
- 2.2k
- Forks
- 499
- Merge medio
- 3 d 14 h
- PR fusionados (30 d)
- 36
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de a2aproject/a2a-python
-
[Bug]: REST task/request id sanitizationPosiblemente ocupada @Linux2010 la tomó hace 99 días. Abiertomaintainers-only
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
a2aproject/a2a-python#805 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Bug]: Push notification store failure rewrites a completed task as FAILED (DefaultRequestHandlerV2)Posiblemente ocupada @rohityan la tomó hace 1 día. Abierto
a2aproject/a2a-python#1313 · 2 asignados ·
Los mantenedores suelen responder en 1 día
-
v0.3 JSON-RPC and REST GetTask return no history when history_length is 0Posiblemente ocupada @rohityan la tomó hace 1 día. Abierto
a2aproject/a2a-python#1311 · 2 asignados ·
Los mantenedores suelen responder en 1 día
-
[Bug]: QueueShutDown spans still end as ERROR (and exceptions are recorded twice) because start_as_current_span sets status on exceptionPosiblemente ocupada @rohityan la tomó hace 2 días. Abierto
a2aproject/a2a-python#1308 · 2 asignados ·
Los mantenedores suelen responder en 1 día
-
[Bug]: DefaultRequestHandlerV2 keeps the ActiveTask (producer, consumer, 2 dispatchers) alive forever after a direct Message or input-required responsePosiblemente ocupada @rohityan la tomó hace 3 días. Abierto
a2aproject/a2a-python#1296 · 2 asignados ·
Los mantenedores suelen responder en 1 día
Todos los issues de a2aproject/a2a-python
Issues similares
-
Device Details tables: FS/SF columns contradict each other (nfet_01v8 Vt row, pfet_01v8 Idsat row)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
google/skywater-pdk#450 ·
-
Drained trajectory arrays are overwritten when the sequence buffer is reusedPosiblemente ocupada @sylvesterkaczmarek la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
google-deepmind/bsuite#56 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
LearningCircuit/local-deep-research#7206 ·
Los mantenedores suelen responder en 1 día
-
[TASK] Document technology stackAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
chingu-voyages/V62-tier3-team-33#285 ·
Los mantenedores suelen responder en 1 día
-
Proxy drops log notifications from backends that don't send FastMCP's msg/extra dictPosiblemente ocupada @asasemahmed la tomó hoy. Abiertobug server
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día