Skip to content

[WIP] Update dependencies for HackerOne Core compatibility#5

Open
Willianvdv wants to merge 2 commits intotraylinx:mainfrom
Willianvdv:hackerone-core-compatibility
Open

[WIP] Update dependencies for HackerOne Core compatibility#5
Willianvdv wants to merge 2 commits intotraylinx:mainfrom
Willianvdv:hackerone-core-compatibility

Conversation

@Willianvdv
Copy link

  • Update puma constraint to allow version 7.x (< 8.0)
  • Update faraday constraint to allow 1.x and 2.x (>= 1.8, < 3.0)

Willian van der Velde added 2 commits February 18, 2026 08:48
- Update puma constraint to allow version 7.x (< 8.0)
- Update faraday constraint to allow 1.x and 2.x (>= 1.8, < 3.0)

These changes make a2a-ruby compatible with HackerOne Core's dependencies:
- puma 7.2.0
- faraday < 2 (via faraday_middleware-aws-sigv4 0.6.1)
Addresses 5 compatibility bugs discovered during integration testing with
FastA2A (PydanticAI's A2A server implementation). All fixes verified against
A2A Protocol v0.3.0 specification.

Bug Fixes:

1. Rails::Engine constant resolution crash (Blocker)
   - Use ::Rails::Engine to force top-level constant lookup
   - Prevents Ruby from resolving as A2A::Rails::Engine
   - File: lib/a2a/rails/engine.rb

2. Agent card endpoint path incorrect (Blocker)
   - Change from /agent-card to /.well-known/agent-card.json
   - Complies with A2A v0.3.0 spec §5.3 (RFC 8615)
   - File: lib/a2a/client/http_client.rb

3. send_message JSON-RPC params structure incorrect (Blocker)
   - Wrap message in { message: ... } for message/send and message/stream
   - Complies with A2A v0.3.0 spec §7.1.1 MessageSendParams
   - File: lib/a2a/client/http_client.rb

4. AgentCard missing optional fields (Minor)
   - Make preferredTransport, defaultInputModes, defaultOutputModes optional
   - Default values: "JSONRPC", ["text"], ["text"] respectively
   - Fix validation to allow empty arrays for skills/capabilities
   - Complies with A2A v0.3.0 spec §5.5
   - File: lib/a2a/types/agent_card.rb

5. TaskStatus missing timestamp field (Minor)
   - Add optional timestamp field for A2A spec §6.2
   - File: lib/a2a/types/task.rb

Tests Added:

- New test suite: spec/compliance/fasta2a_compatibility_spec.rb
- 14 comprehensive tests covering all bug fixes
- Tests for camelCase/snake_case conversion
- Full integration scenario tests
- All 456 tests passing

Spec References:
- A2A Protocol v0.3.0: https://a2a-protocol.org/v0.3.0/specification/
- RFC 8615 (Well-Known URIs): https://datatracker.ietf.org/doc/html/rfc8615
@Willianvdv Willianvdv changed the title Update dependencies for HackerOne Core compatibility [WIP] Update dependencies for HackerOne Core compatibility Feb 18, 2026
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