Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

trust-record-verify: add citationResolver (citations) and platformAppraiser (platformMeasurement) parity with Python verify_record

Open
#569 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@drk-ram is already working on this.

Since Oct 19, 2026.

  • #575 by @drk-ram — open

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
72/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
nodejs, typescript

Research direction

Start with trust-record-verify/src/verify.ts, then use the Python implementations and the new modules src/citation.ts and src/platform.ts as behavioral references. Update the public options and results in src/verify.ts and exports in src/index.ts, preserving validation and running both resolvers after signature verification. Run the 32 vectors through trust-record-verify/tests/vectors.test.mjs in Node 20, 22, and 24 CI; the work is complete when all vectors pass and the TypeScript verifier matches the Python evidence surfaces.

Written by the indexing model from the issue text.

Description

What is wrong

Contributor: Raghuvar Durga (@drk-ram)

On main (e1560f3), the Python verifier agentrust_trace.verify_record returns three structured evidence surfaces on VerificationResult:

  1. revocation (RevocationCheck)
  2. citations (dict[str, CitationCheck] via agentrust_trace.citation.check_citations)
  3. platform_measurement (PlatformMeasurementCheck via agentrust_trace.platform_measurement.check_platform_measurement)

However, the zero-dependency TypeScript verifier (trust-record-verify/src/verify.ts) only implements revocation and omits:

  • citationResolver option and citations result field (checkCitations, matching src/agentrust_trace/citation.py and the 16 vectors in examples/citation-resolution/)
  • platformAppraiser option and platformMeasurement result field (checkPlatformMeasurement, matching src/agentrust_trace/platform_measurement.py and the 16 vectors in examples/platform-measurement/)

Spec section or file

  • trust-record-verify/src/citation.ts (new)
  • trust-record-verify/src/platform.ts (new)
  • trust-record-verify/src/verify.ts
  • trust-record-verify/src/index.ts
  • trust-record-verify/tests/vectors.test.mjs

Expected behavior

  1. Add checkCitations (trust-record-verify/src/citation.ts) and checkPlatformMeasurement (trust-record-verify/src/platform.ts) using WebCrypto SHA-256 and own-property inspection (own, isPlainObject), supporting both synchronous and Promise resolvers/appraisers and running after signature verification in verifyRecord (so unauthenticated records never trigger caller resolvers/appraisers).
  2. Expose citationResolver and platformAppraiser on VerifyOptions (validated at Step 1 in settings() with invalid_argument if neither undefined, null, nor a function) and include citations and platformMeasurement on VerificationResult.
  3. Execute all 16 examples/citation-resolution/ vectors and all 16 examples/platform-measurement/ vectors in trust-record-verify/tests/vectors.test.mjs.

Impact

Brings @agentrust-io/trust-record-verify to full feature parity with Python's verify_record across citations and platformMeasurement and verifies all 32 citation-resolution and platform-measurement conformance vectors in Node 20, 22, and 24 CI.

Dominant language
Python
Stars
37
Forks
33
Avg merge
1d 4h
Merged PRs (30d)
122

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from agentrust-io/trace-spec

All issues in agentrust-io/trace-spec

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.