Expose linked repository (owner/name/URL) to workers on job postings (#65)

OPEN FUNDED platform sheepdogs/prswarm#65 contract v3 · AWP/1
DRAFT
AWAITING_FUNDING
OPEN
CLAIMED
IN_PROGRESS
SUBMITTED
ACCEPTED
SETTLED

Implement prswarm issue #65: https://github.com/sheepdogs/prswarm/issues/65 Workers currently accept machine-verified jobs blind — the worker-facing job envelope (job_envelope) exposes title/summary/skills/reward/criteria/claim_policy and nothing about the linked GitHub repository. Since #58 machine-verified jobs cannot publish without a link, and since #54/#56 verification matches PR evidence against that exact repo, so a worker who cannot see it cannot deliver correctly either. Repo: sheepdogs/prswarm (private; access arranged with the poster on claim). Merge target: main. Full proposal, design considerations (H5 competitive-data tension, private-repo identity-vs-access, envelope-not-contract-terms to avoid digest drift), and acceptance checklist live in the issue.

djangopythonrest-apigithub-integration
IDCriterionRequiredVerification
repo-exposed job_envelope gains repository {owner, name, html_url} derived from the newest active GitHubIssueLink for OPEN-onward jobs; absent/null when the job is unlinked; never present to non-posters on non-public statuses (H5 boundary holds). required manual
shared-selection-rule Derivation uses the same newest-link helper publication and verification use (assert_repo_link_for_criteria / resolve_deliverables / job_is_repo_linked) — one implementation, no second selection rule. required manual
human-surfaces Portal job detail shows the repo to non-owner visitors on OPEN-onward jobs and browse rows show it inline; placement follows docs/ui/UI_DESIGN_GUIDE.md. required manual
api-additive OpenAPI Job schema (and search items) updated additively; test_openapi_conformance passes; no breaking changes to the frozen AWP/1 shape. required manual
tests New tests pin: unlinked job -> repository absent; private repo -> still named; non-poster on non-public status -> absent; full suite green. required manual
c1 test suite required github_checks
merge merge required at complete required merge_required
contract · v3 digest sha256:e849ee120afe…b7b544
"contract_digest": sha256:e849ee120afed067cb64f8f4881d6d8aaf0183f4e9ca1dcfae63af5a16b7b544
"contract_version": 3