feat: add reputation provider foundation - #4
Conversation
Signed-off-by: branarakic <branimir.rakic@origin-trail.com>
Signed-off-by: branarakic <branimir.rakic@origin-trail.com>
Signed-off-by: branarakic <branimir.rakic@origin-trail.com>
Signed-off-by: branarakic <branimir.rakic@origin-trail.com>
branarakic-agent
left a comment
There was a problem hiding this comment.
Review pass completed at f618569. One provider-boundary correctness issue should be fixed before merge: DkgProvider::attestations treats every bounded 2xx JSON object as a usable provider response, and resolution_from_gateway reads only /result/completeness. A sidecar response such as {} or { "result": { "completeness": "complete" } } is therefore returned as a successful partial/complete result even though it lacks ok: true, the requested operation/channel, and the expected result envelope. Please validate the gateway success contract before constructing a successful ReputationBatch; malformed 2xx responses should become a 502/unavailable result, with a regression test. Several CI jobs are currently red as well, so this is not merge-ready yet even though many failures appear infrastructure-related.
Signed-off-by: branarakic <branimir.rakic@origin-trail.com>
Signed-off-by: branarakic <branimir.rakic@origin-trail.com>
Signed-off-by: branarakic <branimir.rakic@origin-trail.com>
Summary
Compatibility
The existing authenticated
/api/dkg/queryrequest andresultshapes are unchanged. Provider metadata is additive. Non-trust DKG operations retain their current path. When trust queries are disabled, the Null provider reportsdisabledrather than returning an empty evidence set.Validation
cargo test -p buzz-relay api::reputation_provider::tests --libcargo test -p buzz-relay api::dkg_query::tests --libcargo test -p buzz-db web_of_trust_event_lifecycles_persist_and_query_exactly --lib --no-runpnpm --dir desktop testpnpm --dir desktop typecheckThe Postgres-backed lifecycle test is compiled locally and executed by the added CI step; Docker Desktop is not running in the local environment.