Repository navigation
docs(api): align catalog contract with the AgentEndpoint implementation - #99
Conversation
Replace CatalogEndpoint with AgentEndpoint.list/get as implemented in #88, document the metadata id and on-chain registryId, copy the AgentSummary and AgentCatalogUnavailable models, and list the fields the MVP does not serve yet as planned.
Deploying puls3 with
|
| Latest commit: |
c8b46f1
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://d1873da8.puls3-4lw.pages.dev |
| Branch Preview URL: | https://docs-98-align-catalog-contra.puls3-4lw.pages.dev |
moises-cisneros
left a comment
There was a problem hiding this comment.
Approving. I compared the doc against the server code and the models: agent_summary.spy.yaml and agent_catalog_unavailable.spy.yaml in docs/architecture/models/ are identical to the server ones (comments aside), and the endpoint methods, 60s TTL, nullability of wallet? / model? and the dedup by highest registryId match AgentEndpoint / agent_catalog_service. The branch merges cleanly with current main.
Non-blocking:
api.md:239and the comment inpuls3_api_exception.spy.yaml:10-11still listCatalogUnavailable,ChainDataUnavailableandAgentNotFoundas catalog codes.api.md:245explains it, but the spy comment has no such note.HireDetail.agentis resolved byregistryId == hire.agentId, and the catalog drops superseded duplicates. The doc does not say whatHireDetail.agentis for a hire on a superseded registry id.- The docs copy the server
.spy.yamlfiles "exactly", but nothing enforces it, so they can drift.
|
Merged into Your three non-blocking notes (the catalog codes in the |
Closes #98
Summary
Aligns the catalog part of the API contract (#77) with the
AgentEndpointimplementation in #88, so #88 and #90 can merge as they are for the Stellar Elite demo.AgentEndpoint.list()/get(id: String)replaceCatalogEndpoint.listAgents()/getAgent(agentId: int).idforget, on-chainregistryIdforcreateHireand the escrow), ordering, outage behaviour, and the typedAgentCatalogUnavailableexception.AgentSummaryandAgentCatalogUnavailablemodels copied byte for byte from feat(server): add agent catalog endpoint backed by registry metadata #88.rating,paidHireCount,active,owner, structured skills,explorerUrl,chainDataFresh, input limit) are listed as planned, each with its target issue.HireDetail.agentand the F2, F3, F5 and F7 traceability rows use the new names.Acceptance criteria
api.mdmatchpuls3_serveron the feat(server): add agent catalog endpoint backed by registry metadata #88 branch exactlyagentId=AgentSummary.registryId)Verification evidence
agent_summary.spy.yamlandagent_catalog_unavailable.spy.yamlcompared withdiffagainstpuls3_server/lib/src/agent/on feat(server): add agent catalog endpoint backed by registry metadata #88: identical.agent_endpoint.darton feat(server): add agent catalog endpoint backed by registry metadata #88 (public, norequireLogin, registered asagent).Notes for reviewers
Puls3ApiException). Moving it to the shared error catalog can be a follow-up.active→ feat: register agent flow (wallet and on-chain identity) #18.DeployResult.agentstill points to the plannedAgentmodel; it belongs to Agent Studio (feat: Agent Studio endpoints (drafts, test run, deploy) #35).