feat: add cid.contact ipni verification after filecoinpin.contact check#580
Conversation
silent-cipher
left a comment
There was a problem hiding this comment.
two open questions...
|
I'll look 2026-05-28 (NA Pacific) |
BigLep
left a comment
There was a problem hiding this comment.
@silent-cipher : I found it was easier for me to just create a PR on top to convey my thoughts: #581
Feel free to merge and adjust what you need.
I was tearing my hair out a bit with how we have a "value" label and we have metrics that produce different values.
This all feels more complicated than I would like, but #581 was a PR to clean up the communication a little bit.
I think that PR also opens your open question about ipniVerifyMs and how to handle.
If that PR looks good, I'm good for you to work on implementation.
…581) * docs(checks): resolve cid.contact verification design from PR review Document cidContactVerification metric, separate cid.contact sub-status, and ipniVerifyMs timer semantics for the two-stage indexer checks. Co-authored-by: Cursor <cursoragent@cursor.com> * docs(checks): link pullCheckStatus values to pull-check spec Co-authored-by: Cursor <cursoragent@cursor.com> * docs(checks): address PR review on cid.contact metrics docs Clarify ipniVerifyMs labels, cidContactVerification skipped emission, timer anchors on ipniVerificationStart, and source citations. Co-authored-by: Cursor <cursoragent@cursor.com> * docs: split #581 * moved to another pr * docs: remove pending cidContactVerification state --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: silent-cipher <puspendramahariya@gmail.com>
|
@silent-cipher : I'm confused on this PR vs. #583 given #581 was merged. |
Summary
filecoinpin.contactconfirms a CID is present, dealbot now also pollscid.contactfor the same<rootCID, SP>provider record. The check is sequential by design: cid.contact applies negativecaching, so querying before filecoinpin.contact confirms would cache a false negative.
New metrics
cidContactVerificationcounter — emitted once per deal. value label:success,failure.timedout,failure.other,skipped(whenfilecoinpin.contactdid not verify).ipniVerifyMshistogram gains indexer label —filecoinpin.contactorcid.contact. Existing queries without the label continue to aggregate correctly; filter{indexer="filecoinpin.contact"}to reproduce pre-PR behaviour.ipniVerifyMsvalue label vocabulary updated —verified→success,timeout→failure.timedout,error→failure.other, aligning with the sub-status vocabulary used by all other dealbot counters.Docs (docs/checks/)
ata-storage.md: documents the two-stage IPNI verification flow, adds assertion 5b for cid.contact, adds cid.contact Verification Status table, updates the deal lifecycle flowchart, and updates the FAQ.events-and-metrics.md: updatesipniVerifyMsdefinition with indexer label and new value vocabulary, addscidContactVerificationcounter entry, updates the sequence diagram with both IPNI participants.Closes #572