| Discord (OAuth + TLSN) |
Merged into dev 2025-12-25 (df1e458 "Switched Discord identity to OAuth flow"), then briefly reverted (PR #56), then re-landed via OAuth+TLSN integration PR #70 (2026-04-02) and Dockerized OAuth backend PR #73 (2026-04-08). |
Wired live. Bundle references getDemosIdsByWeb2Identity(c, "discord", …), discord.com/channels/<guildId>/..., /home/discord.svg card. |
HIGH |
| GitHub (OAuth + TLSN) |
Same PR #55 → revert → PR #70 path. Bundle still carries gist-based fallback strings (gist.github.com, gist.githubusercontent.com, raw.githubusercontent.com) alongside OAuth handlers. |
Wired live, with gist-format strings retained as a web2.formats entry (legacy or fallback path — worth a code-level check before claiming pure OAuth). |
HIGH on wired / MEDIUM on whether gist path is dead |
| Twitter (OAuth + TLSN) |
Branch feat/twitter-oauth exists, not yet merged into dev. Bundle carries twitter:["https://x.com"] in web2.formats, getDemosIdsByTwitter, and linkedSocials.twitter. |
Partially wired: twitter identity can be displayed/linked, but a dedicated OAuth flow PR has not landed. Likely still using older TLSN-against-x.com proof path. |
MEDIUM |
| Telegram |
Telegram identity flow shipped earlier; PR #62 (hide-telegram-linking-card) merged 2026-01-19 — card is intentionally hidden in the UI. |
Backend logic still wired (getDemosIdsByTelegram, telegram challenge auth in bundle), UI card hidden. |
HIGH |
| TLSN base layer |
tlsn_request / tlsn_store SDK operations, TLSN nginx routing landed in PR #73 (2026-04-08); TLSN identity-flow hardening (fee gating, preflight, wallet auto-reconnect) landed in dev 2026-05-19 (PR #77). |
TLSN base layer wired in prod (2026-04-09 build); the 2026-05-18/19 hardening is NOT in prod yet — known production gap. |
HIGH |
| ERC-8004 agent identity |
PR #61 open since 2026-01-09 against dev, never merged. Standalone Vite app exists at kynesyslabs/8004agentidentity (HEAD 2026-01-12) targeting Base Sepolia contracts 0x8004…Fb / …41BF / …2d55. Parent DEM ticket DEM-470 was canceled 2026-05-21. |
Not wired into identity.demos.sh. |
HIGH |
| Nomis Identity / Score |
Landed dev → main 2026-01-22 (PR #58 + follow-ups). Wallet-extension Nomis integration on feat-nomis-integration (2026-01-05). |
Wired live. |
HIGH |
| Unstoppable Domains |
UI references linkedUDDomains and Unstoppable card; backed by kynesyslabs/ud_demos_caching_system. |
Card visible in prod bundle. |
MEDIUM |
| Ethos Identity |
PR #68 merged 2026-04-09 (Ethos identity integration), follow-up PR #74 (Ethos card visibility) 2026-04-13. |
Ethos integration likely wired in prod based on 2026-04-09 deploy timestamp, but visibility fix (#74) is after the deploy and may not be live. |
MEDIUM |
| Human Passport |
PR #66 merged 2026-04-09 (Human Passport integration). |
Probably in prod (build is 2026-04-09 same day) but uncertain whether the merge made it into the deployed bundle. Needs a one-shot check on the live site. |
MEDIUM |
Identity app — shippability audit 2026-05-22
Parallel to DEM-707 (Incentives app — shippability audit). Ties back to umbrella DEM-695. Auditor: Nesy-Claude (KYN-206).
Repo identification (HIGH)
kynesyslabs/incentives. The repo name says "incentives" butpackage.json#name = "identity",index.htmltitle isIDENTITY, and the live bundle string-matches confirm it. (HIGH)kynesyslabs/demos-identity-verify(Next.js) backs verify.demos.sh, not identity.demos.sh. (HIGH)kynesyslabs/demos-identity-verify-backendis the verify app's API backend. (HIGH)kynesyslabs/8004agentidentityis a separate standalone Vite app, not deployed at identity.demos.sh. (HIGH)Summary table
devis where work happens;mainlast touched 2026-01-22 (PR #65), ~4 months stale.dev, opened 2026-04-16 — 5 weeks stale). #61 "Added ERC-8004 agent identity linking UI" (Sergey, basedev, opened 2026-01-09 — ~4.5 months stale).testscript inpackage.json. No*.test.ts/*.spec.ts. Novitest/jestdev dep..github/workflowsdirectory (404 on the contents API). No CI gating on PR merge.https://identity.demos.shHTTP 200, served by nginx, assetindex-CRwgRWw9.jsLast-Modified: 2026-04-09. MatchesdevHEAD around Human Passport merge3297d3b(2026-04-09T08:11Z).devdev. Missing: seed-phrase wallet connect (#75), Ethos card visibility fix (#74), TLSN identity flow hardening (#77 — fee gating, preflight, wallet auto-reconnect).mainmain.mainis effectively abandoned as a release branch; promotedev → mainor stop pretendingmainexists.Dockerfile,docker-compose.yml,nginx.conf,firebase.json,.firebaserc,deploy.sh/deploy-quick.sh/deploy-fresh.sh. Likely manual deploy fromdev.verifier/Fastify service on port 4000 for Cloudflare Turnstile token validation; documented in README.ERC-8004 / OAuth-TLSN integration matrix
dev2025-12-25 (df1e458"Switched Discord identity to OAuth flow"), then briefly reverted (PR #56), then re-landed via OAuth+TLSN integration PR #70 (2026-04-02) and Dockerized OAuth backend PR #73 (2026-04-08).getDemosIdsByWeb2Identity(c, "discord", …),discord.com/channels/<guildId>/...,/home/discord.svgcard.gist.github.com,gist.githubusercontent.com,raw.githubusercontent.com) alongside OAuth handlers.web2.formatsentry (legacy or fallback path — worth a code-level check before claiming pure OAuth).feat/twitter-oauthexists, not yet merged intodev. Bundle carriestwitter:["https://x.com"]inweb2.formats,getDemosIdsByTwitter, andlinkedSocials.twitter.getDemosIdsByTelegram, telegram challenge auth in bundle), UI card hidden.tlsn_request/tlsn_storeSDK operations, TLSN nginx routing landed in PR #73 (2026-04-08); TLSN identity-flow hardening (fee gating, preflight, wallet auto-reconnect) landed indev2026-05-19 (PR #77).dev, never merged. Standalone Vite app exists atkynesyslabs/8004agentidentity(HEAD 2026-01-12) targeting Base Sepolia contracts0x8004…Fb / …41BF / …2d55. Parent DEM ticket DEM-470 was canceled 2026-05-21.dev→main2026-01-22 (PR #58 + follow-ups). Wallet-extension Nomis integration onfeat-nomis-integration(2026-01-05).linkedUDDomainsand Unstoppable card; backed bykynesyslabs/ud_demos_caching_system.Risk findings
devships with whatever the local builder produces; there is no automated gate. (HIGH)mainis dead (4 months stale). Deploys ridedev. Anyone readingmainto understand the shipping app gets a 4-month-old view. (HIGH)devwork, including the 2026-05-18 TLSN hardening (fee gating, preflight, wallet auto-reconnect). If TLSN identity flow is failing in production today, the fix already exists ondevbut has not been deployed. (HIGH)Top 3 items most ready to ship this week (ranked)
dev**→ **identity.demos.sh to close the 6-week production lag. Pulls in TLSN identity flow hardening (PR Nodes cannot crash due to peers going offline #77 — fee gating, preflight, wallet auto-reconnect), seed-phrase wallet connect (PR Adjusting full screen experience for onboarding #75), Ethos card visibility fix (PR Flow - DemosWork parsing #74). All four PRs are already merged intodev. Pure deploy operation — no code changes required. (HIGH — verified by build timestamp + merge log.) Owner candidate: TheCookingSenpai (has been authoring the merges).dev→mainand adoptmainas the release branch. Either rebase/mergedevtomainnow (and documentdevas release-candidate) or formally retiremain. Picking either is a 1-hour task; the current "main is 4 months stale" state is misleading to anyone reading the repo. (HIGH on the gap, MEDIUM on the right resolution — board decision on branch strategy.)kynesyslabs/8004agentidentityVite app, or (b) revive DEM-470 with a fresh scope and merge a hardened version of Draft a minimal pseudocode for creating a script #61. Either resolution unblocks repo hygiene. (HIGH — DEM-470 cancellation is verifiable.)Honorable mention (not in top 3, ship-next): Add a minimum CI pipeline (typecheck + lint + build smoke) under
.github/workflows/— there is currently none. Low risk, high signal. (HIGH on current absence, MEDIUM on effort.)Notes / open questions
Dockerfile,docker-compose.yml,firebase.json,.firebaserc,nginx.conf, and threedeploy*.shscripts. Nothing in the repo names the actual host. Action: ask infra owner before recommending a deploy mechanism. (LOW confidence — can be answered in one Slack/Linear thread.)Method / evidence
gh api repos/kynesyslabs/incentives/commits?sha=dev&per_page=25gh api repos/kynesyslabs/incentives/pulls?state=opengh api repos/kynesyslabs/incentives/branches?per_page=30gh api repos/kynesyslabs/incentives/contents/{package.json,index.html,vite.config.ts,README.md}curl -sIL https://identity.demos.sh+ bundle download + grep for feature strings (Discord/GitHub/Twitter/Telegram/Nomis/TLSN/8004/Turnstile/Ethos/Passport)