Skip to content

feat: add verify_url field to Verification schema #33

Description

@gkanitz

What to build

Add a `verify_url` string field to the `Verification` struct in the report schema. This field holds the canonical URL a reader (recruiter, hiring manager) visits to verify the report — pre-filled with repo and subject so they don't have to type anything.

Populate it in `CIVerification()` and `GitLabVerification()` from the repo and subject. Add a package-level domain constant `https://grkanitz.github.io/CodeRepute/verify/\` (to be updated to `https://coderepute.dev/verify/\` when the domain is registered).

Also update `Attestation.VerifyCommand` to reference `report.html` instead of `report.json` — the attested artifact is changing in a follow-up slice.

The subject username is not available inside `CIVerification()` today (it only reads env vars). Pass it in as a parameter, or add it to the `Build()` call that sets the verification block — whichever is the cleaner fit given the existing call sites in `cmd/coderepute/main.go`.

Acceptance criteria

  • `Verification` struct has `VerifyURL string `json:"verify_url,omitempty"``
  • `CIVerification()` populates `VerifyURL` as `https://grkanitz.github.io/CodeRepute/verify/?repo={repo}&subject={subject}\`
  • `GitLabVerification()` populates `VerifyURL` similarly using `CI_PROJECT_PATH` and the subject
  • `Attestation.VerifyCommand` reads `gh attestation verify report.html --repo {repo}`
  • Existing `CIVerification` and `GitLabVerification` tests updated and passing
  • `go test ./...` passes

Blocked by

None — can start immediately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentTriage complete; ready for an agent to pick up

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions