Agent #6 — Senior Backend Engineer (verifier service)
Reports to: Agent #2.
Mandate: Owns /v1/zkp/* — verification key load, snarkjs.groth16.verify, verification audit row, session creation.
KPIs: see role 6 in ../03-team.md.
Week 1 (2026-05-25 → 2026-05-29)
A06-W1-Mon (2026-05-25) — Spike: enumerate every demo-bypass code path
- Done when: grep + reading produces a list of every
did:zeroauth:demo:*short-circuit in the codebase. - Output:
docs/team/backend/demo-bypass-inventory.md. - Verify: list has at least the bypass in
submitProof+ any dashboard placeholder DID. - Reviewer: Agent #2, Agent #26.
- Depends on: A02-W1-Mon.
A06-W1-Tue (2026-05-26) — Write failing test first for C-004 demo-bypass removal
- Done when:
tests/proof-pairing.test.ts::"rejects did:zeroauth:demo:* even with otherwise valid payload"written, fails red on current code. - Output: PR draft with failing test.
- Verify: test fails before fix; CI run linked.
- Reviewer: Agent #23.
- Depends on: A06-W1-Mon.
A06-W1-Wed (2026-05-27) — Implement C-004 — remove demo bypass from submitProof
- Done when: code removed; test from Tuesday now passes; sub-agent reviews requested.
- Output: PR opened, C-004 committed.
- Verify:
tests/proof-pairing.test.tsgreen; security-reviewer + cryptographer-reviewer sub-agents posted reviews. - Reviewer: Agents #2, #26, #27.
- Depends on: A06-W1-Tue.
A06-W1-Thu (2026-05-28) — Respond to sub-agent + Agent #2 comments on C-004; threat-model update PR
- Done when: comments addressed;
docs/threat_model.mdrow A-12 updated. - Output: PR comments + threat-model commit on same PR.
- Verify: A-12 references C-004 commit hash.
- Reviewer: Agent #35.
- Depends on: A06-W1-Wed.
A06-W1-Fri (2026-05-29) — Friday status post + zod adoption pre-work
- Done when: status posted; zod alternatives surveyed (joi, ajv, hand-rolled).
- Output: status post;
docs/team/backend/zod-alternatives-survey.md. - Verify: comparison table covers bundle size, perf, ergonomics.
- Reviewer: Agent #2.
- Depends on: A06-W1-Thu.
Week 2 (2026-06-01 → 2026-06-05)
A06-W2-Mon (2026-06-01) — Author ADR 0013 (zod adoption)
- Done when: → C-023 ADR drafted.
- Output:
adr/0013-zod-input-validation.md. - Verify: ADR captures alternatives, supply-chain check from npm audit clean, pinned version.
- Reviewer: Agent #2.
- Depends on: A06-W1-Fri.
A06-W2-Tue (2026-06-02) — Implement C-022 (zod validators on identity + zkp routes)
- Done when: → C-022 PR opened; validators reject malformed payloads + biometric-key blocklist.
- Output:
src/validators/identity.ts,src/validators/zkp.ts, tests. - Verify:
tests/validator-identity.test.ts,tests/validator-zkp.test.tsgreen. - Reviewer: Agent #2.
- Depends on: A06-W2-Mon.
A06-W2-Wed (2026-06-03) — Review C-018 (circuit version pin) with Agent #11
- Done when: PR reviewed; version-hash boot check confirmed.
- Output: PR comment on C-018.
- Verify: vkey hash mismatch throws on boot in test.
- Reviewer: Agent #11.
- Depends on: A06-W2-Tue.
A06-W2-Thu (2026-06-04) — Verifier-path test coverage analysis
- Done when: coverage report on
src/services/zkp.ts+src/routes/v1/zkp.ts≥ 95 %. - Output:
docs/team/backend/verifier-coverage-w2.md. - Verify: coverage tool output linked.
- Reviewer: Agent #23.
- Depends on: A06-W2-Wed.
A06-W2-Fri (2026-06-05) — Phase 0 backend sign-off contribution + status post
- Done when: verifier-related Phase 0 closures listed; status posted.
- Output: contribution to
docs/team/phase-exits/phase-0-backend-signoff.md. - Verify: C-004, C-022 referenced.
- Reviewer: Agent #2.
- Depends on: A06-W2-Thu.
Week 3 (2026-06-08 → 2026-06-12)
A06-W3-Mon (2026-06-08) — Spike: Play Integrity verdict parsing library survey
- Done when: 3 candidate libraries evaluated for parsing/validating verdicts.
- Output:
docs/team/backend/play-integrity-libs.md. - Verify: comparison covers verdict parsing, nonce binding, JWS validation.
- Reviewer: Agent #2, Agent #12.
- Depends on: A06-W2-Fri.
A06-W3-Tue (2026-06-09) — Sync with Agent #2 on attestation library pick
- Done when: 1-hour sync done; library choice confirmed; new-dep ADR drafted if needed (0017 candidate).
- Output: PR draft for ADR 0017 (if new dep).
- Verify: dep-add skill steps followed.
- Reviewer: Agent #2.
- Depends on: A06-W3-Mon.
A06-W3-Wed (2026-06-10) — Implement C-105 (redesigned /v1/identity/register with attestation) — first half
- Done when: route + service refactored to accept new payload; validators ready.
- Output: PR draft for C-105.
- Verify:
tests/identity-register.test.tsset of red tests written. - Reviewer: Agent #2.
- Depends on: A06-W3-Tue.
A06-W3-Thu (2026-06-11) — Implement C-105 — second half (Play Integrity + key attestation validation)
- Done when: attestation validation library wired; tests green.
- Output: PR ready for sub-agent review.
- Verify:
tests/identity-register.test.ts::"rejects request without valid Play Integrity verdict","rejects request without valid StrongBox attestation chain"green. - Reviewer: Agent #2, Agent #26, Agent #27.
- Depends on: A06-W3-Wed.
A06-W3-Fri (2026-06-12) — Author ADR 0016 (Play Integrity acceptance) + status post
- Done when: → C-106 ADR drafted; status posted.
- Output:
adr/0016-play-integrity-acceptance.md. - Verify: ADR covers MEETS_DEVICE_INTEGRITY + MEETS_BASIC_INTEGRITY + StrongBox required for
live; nonce binding rules. - Reviewer: Agent #27.
- Depends on: A06-W3-Thu.
Week 4 (2026-06-15 → 2026-06-19)
A06-W4-Mon (2026-06-15) — Respond to sub-agent feedback on C-105
- Done when: review comments addressed; ready for APPROVE.
- Output: PR updates on C-105.
- Verify: sub-agent APPROVE rows present.
- Reviewer: Agents #2, #26, #27.
- Depends on: A06-W3-Thu.
A06-W4-Tue (2026-06-16) — Merge C-105 + C-106
- Done when: both PRs merged to
dev; CI green. - Output: merge commits.
- Verify:
devCI green;docs/threat_model.mdupdated for device-attestation row. - Reviewer: Agent #1.
- Depends on: A06-W4-Mon.
A06-W4-Wed (2026-06-17) — Design doc for sprint-2 verifier hardening (precursor C-148)
- Done when: design doc for
/v1/zkp/verifyhardening drafted (replay protection, session-nonce dedup table, audit-row enrichment). - Output:
docs/team/backend/zkp-verify-hardening-design.md. - Verify: failure-mode matrix present.
- Reviewer: Agent #2.
- Depends on: A06-W4-Tue.
A06-W4-Thu (2026-06-18) — Sprint 1 backend sign-off + handover prep
- Done when: backend section of S1 exit gate green; sprint-2 verifier work scoped.
- Output: row in
docs/team/sprint-exits/s1-backend.md. - Verify: C-105 + C-106 merged.
- Reviewer: Agent #2.
- Depends on: A06-W4-Wed.
A06-W4-Fri (2026-06-19) — Sprint 2 self-plan + status post
- Done when: sprint-2 personal daily tickets drafted aligned with C-148.
- Output:
docs/team/backend/a06-sprint-2-plan.md. - Verify: 5 daily tickets for week 5.
- Reviewer: Agent #2.
- Depends on: A06-W4-Thu.