[{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/38","id":4333283940,"node_id":"PR_kwDOSrWQNM8AAAABAkiqZA","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/38","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/38.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/38.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/38","number":38,"state":"closed","locked":false,"title":"feat(plataforma): el panel habla de clientes, y borrar una plantilla la borra","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Cambios de terminología y presentación en el panel interno, más el borrado real de plantillas.\n\n## Vocabulario\n\n\"Operación\" pasa a \"Cliente\" en menú, listado, ficha, alta, bloqueo, monitorización, validación y auditoría. \"Por validar\" pasa a \"Validaciones pendientes\". Las rutas (`/operaciones`) no cambian: son URLs, no texto visible, y cambiarlas rompería enlaces guardados.\n\n## El editor es compartido\n\nEl editor de campañas lo usan **el panel de Kynda y el panel de admin de los clientes**. En el catálogo mostraba \"Lanzar campaña\" y \"Cerrar campaña\", que ahí no significan nada — pero cambiar los textos a secas se los habría cambiado también a los clientes.\n\nSe parametriza con una variante `template`: título, descripción, publicar, deshabilitar, borrar y el destino de \"Cancelar\". Verificado en local que el portal del cliente sigue diciendo \"Crear campaña\", \"Título campaña\" y \"Lanzar campaña\", sin rastro de \"plantilla\".\n\nDos cosas que aparecieron al mirarlo:\n\n- **\"Cancelar\" apuntaba siempre a `/admin/campaigns`**, que en el host del panel es un 404: editando una plantilla te sacaba a una ruta inexistente.\n- La leyenda del pie hablaba de inscripciones y evidencias, que en una plantilla del catálogo no existen.\n\n## Borrar una plantilla la borra\n\nCon confirmación en dos pasos, porque no se deshace, y auditando **antes** del borrado con el nombre: después ya no hay fila que consultar.\n\nEra imposible hasta ahora, y el culpable no se veía venir: `audit_log.campaign_id` es una FK `on delete set null`, así que borrar una campaña disparaba un `UPDATE` sobre `audit_log`, que es **inmutable por trigger**. El `DELETE` moría con `audit_log is immutable` sin que nada señalara al registro de auditoría. Es el mismo motivo por el que no se pudo borrar la marca de prueba en su día.\n\nSe resuelve quitando esa FK: un log inmutable con referencias vivas es una contradicción, porque la FK le obliga a modificarse justo cuando muere lo que audita. La columna queda como identificador histórico, igual que `entity_id`, que nunca tuvo FK. Comprobado que ninguna consulta hace embed de `campaign` desde `audit_log`.\n\n`audit_log.brand_id` y `actor_user_id` tienen el mismo defecto y **siguen bloqueando** el borrado de un cliente o un usuario. No se tocan: no está en el alcance, y el borrado de usuarios toca derecho al olvido.\n\nLos clones no se ven afectados: `cloneCatalogCampaign` hace un insert, así que la campaña de cada cliente es una copia independiente.\n\n## Indicador de cliente en Validación\n\nLa cola encadena evidencias de clientes distintos y decidir sobre la equivocada no tiene vuelta atrás. El cliente pasa a ser un distintivo con color estable derivado del nombre —la misma empresa se ve siempre igual—, y en la ficha de la evidencia va grande y antes del título.\n\n## Verificación\n\n- e2e **29/29** (uno nuevo: el borrado en dos pasos, comprobando contra la base que el primer clic no borra), integración 92/92, typecheck limpio.\n- Flujo de borrado probado por la interfaz en local: la fila desaparece de la base, queda el rastro en auditoría con el nombre, y el catálogo vuelve a sus 7 plantillas.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-08-21T15:52:20Z","updated_at":"2026-08-21T16:06:10Z","closed_at":"2026-08-21T16:06:10Z","merged_at":"2026-08-21T16:06:10Z","merge_commit_sha":"ae7ad42ccd86add23eb541d49393325068a508f1","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/38/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/38/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/38/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/0f65adfc269c24520e66ff6c47c14fff85745226","head":{"label":"itproviders-netizen:feat/panel-vocabulario-cliente","ref":"feat/panel-vocabulario-cliente","sha":"0f65adfc269c24520e66ff6c47c14fff85745226","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"f9867ecc8751f5d7930a87007792fad2f2a708ee","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/38"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/38"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/38"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/38/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/38/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/38/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/0f65adfc269c24520e66ff6c47c14fff85745226"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/37","id":4317491833,"node_id":"PR_kwDOSrWQNM8AAAABAVeyeQ","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/37","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/37.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/37.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/37","number":37,"state":"closed","locked":false,"title":"fix(ci): el paso e2e nunca llegaba a ejecutarse","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"El job `e2e` moria por timeout instalando los navegadores de Playwright, y el paso `Run Playwright e2e` quedaba en **skipped**. Como el job se marca `cancelled` y no `failure`, nadie lo notaba: la suite e2e llevaba tiempo sin correr en CI y la unica red de seguridad estaba en las maquinas locales.\n\nMedido sobre el ultimo run (32296237814):\n\n| paso | duracion |\n|---|---|\n| Boot local Supabase stack | 119s |\n| Apply migrations + seed | 32s |\n| Integration tests | 24s |\n| resto | ~25s |\n| **Install Playwright browsers** | **1312s (22 min)** |\n\nO sea, 22 de los 25 minutos de presupuesto se iban en instalar navegadores.\n\n## Cambios\n\n- **Cache de `~/.cache/ms-playwright`** por version de Playwright. Cuando acierta, solo se piden las librerias del sistema, que es lo unico que no se puede cachear (`--with-deps` hace `apt-get`).\n- **`timeout-minutes` 25 -> 45.** La suite tarda unos 12 minutos, asi que con 25 no habia margen ni con los navegadores ya instalados.\n\n## Verificacion\n\nEste PR se verifica solo: si el job `e2e` termina con `Run Playwright e2e` ejecutado (no `skipped`), el arreglo funciona. La primera corrida seguira pagando la instalacion completa —la cache aun no existe—, pero ya con 45 minutos de margen; la segunda deberia bajar de forma notable.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-08-19T20:55:27Z","updated_at":"2026-08-19T21:52:05Z","closed_at":"2026-08-19T21:52:05Z","merged_at":"2026-08-19T21:52:05Z","merge_commit_sha":"f9867ecc8751f5d7930a87007792fad2f2a708ee","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/37/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/37/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/37/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/760ed04ebeb9aebae79925c267e8748d6f213c3d","head":{"label":"itproviders-netizen:fix/ci-e2e-timeout","ref":"fix/ci-e2e-timeout","sha":"760ed04ebeb9aebae79925c267e8748d6f213c3d","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"a99de11f78cd6d3a337fdc3a6224b6c77e854023","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/37"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/37"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/37"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/37/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/37/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/37/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/760ed04ebeb9aebae79925c267e8748d6f213c3d"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/36","id":4313861713,"node_id":"PR_kwDOSrWQNM8AAAABASBOUQ","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/36","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/36.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/36.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/36","number":36,"state":"closed","locked":false,"title":"fix(seguridad): el rol de admin de marca deja de cruzar marcas, y correccion de datos","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Cierre de la revision completa del panel. Cuatro commits: los seis primeros fallos ya conocidos, el bloqueo de operacion en las acciones de escritura, la escalada de privilegios entre marcas y la tanda de correccion de datos.\n\n## El fallo de fondo\n\n`kynda.is_brand_admin()` no responde \"es admin de esta marca\" sino \"es admin en alguna parte\": lee `role_codes` del JWT, que no lleva marca. El idioma `is_brand_admin() and is_member_of(brand_id)` se repite en **22 politicas de 17 tablas** y significaba en realidad *\"es admin en algun sitio Y esta apuntado aqui\"*. Estar apuntado en otra marca lo concede solo el flujo QR (`ensureMembership`).\n\nVerificado con peticiones reales contra Validacion, con un JWT de BRAND_ADMIN: cambiaba su `role_id` a OPS (200), y con una membresia USER en otra marca leia todas sus membresias, se auto-ascendia a BRAND_ADMIN alli y renombraba la marca. Produccion tiene las mismas politicas.\n\nDos agujeros vecinos, encontrados al revisar el catalogo de politicas fila a fila:\n\n- **Postgres no evalua `WITH CHECK` en DELETE**, y en cinco politicas `for all` el unico acotamiento por marca vivia justo ahi. En local el ataque **borro de verdad** la campana de la otra marca.\n- Un BRAND_ADMIN podia reescribir `brand.status` y `blocked_at`, es decir, **desbloquear su propia operacion** despues de que Ops la bloqueara desde el panel.\n\n## Lo que cambia\n\n**Base de datos** (`20260623000000`): `is_brand_admin_of(brand_id)` leyendo `brand_membership` en vez del JWT; los `for all` partidos en insert/update/delete; trigger que reserva `slug/status/kind/signup_mode/blocked_*` al staff; `brand_id` inmutable en siete tablas; `invited_brand_id` validado contra invitacion / allowlist / portal publico; revocados insert/update/delete a `anon` y `authenticated`; eliminada `campaign_catalog_read`, que exponia `internal_notes` a cualquier usuario de cualquier cliente.\n\nRevocar los grants es gratis: la app **nunca** escribe en tablas con el JWT del usuario, todo pasa por `service_role` tras comprobar la sesion en servidor.\n\n**Aplicacion**: el portal exige pertenencia (Supabase Auth es global al proyecto, asi que cualquier cuenta iniciaba sesion en el portal de otro cliente y navegaba su catalogo); `getActionByIdInBrand`; `requireBrandOwner` en lo que reparte permisos; `submitEvidence` exige inscripcion; `host.ts` recalcula el host en vez de fiarse de cabeceras que el middleware no fija en las rutas con punto; `requireOps()` antes de cargar la evidencia; `syncUserAppMetadata` al cambiar rol o estado.\n\n**Datos**: la truncacion silenciosa de PostgREST (`max_rows`) seguia viva en los KPI de marca y en las colas de validacion, que omitian evidencias sin avisar; `getBrandKpis` ignoraba el filtro de periodo en horas y beneficiarios; `createAction` ordenaba `blueprint_action` por `sort_order`, columna que no existe, y el 42703 se tragaba dejando sin blueprint toda jornada creada a mano en una campana clonada.\n\n## Por que ningun test lo vio\n\nLa fixture de integracion nunca escribia `app_metadata`, asi que en **toda** la suite `is_brand_admin()` e `is_staff()` eran falsos: los usuarios creados con `roleCode:'BRAND_ADMIN'` no eran admin a ojos de RLS y las suites de aislamiento entre marcas pasaban por la razon equivocada. Arreglada. Con la fixture correcta, la spec nueva `privilege-escalation.spec.ts` falla 6 de 7 sin la migracion.\n\n## Verificacion\n\n- Integracion 92/92, e2e 20/20, typecheck limpio.\n- Migracion aplicada en Validacion y los cuatro ataques relanzados: todos `403 permission denied` donde antes daban `200`. Base restaurada al estado previo.\n\nProduccion sin tocar; los fallos siguen vivos alli y se despliegan aparte cuando se de el visto bueno.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-08-19T12:48:02Z","updated_at":"2026-08-19T20:28:15Z","closed_at":"2026-08-19T20:28:14Z","merged_at":"2026-08-19T20:28:14Z","merge_commit_sha":"a99de11f78cd6d3a337fdc3a6224b6c77e854023","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/36/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/36/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/36/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/df432ccc10c5abcfa4781d205752018c8bebf18a","head":{"label":"itproviders-netizen:claude/review-fixes","ref":"claude/review-fixes","sha":"df432ccc10c5abcfa4781d205752018c8bebf18a","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"21d6292543c1771cb3b99eb29996f8ace261ac30","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/36"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/36"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/36"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/36/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/36/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/36/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/df432ccc10c5abcfa4781d205752018c8bebf18a"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/35","id":4308382478,"node_id":"PR_kwDOSrWQNM8AAAABAMyzDg","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/35","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/35.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/35.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/35","number":35,"state":"closed","locked":false,"title":"refactor(plataforma): /ops se muda al panel interno","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Fase 8, la última. Cierra el punto 5 de la auditoría.\n\n## Qué se muda y por qué\n\n`/ops` era la **cola cross-marca de Kynda**, no el panel de un cliente: los clientes validan lo suyo en `/admin/validation`. Se muda a `(platform)/validacion` y `(platform)/auditoria`, con el kit corporativo del panel.\n\nLo que cierra: `/ops` admitía `BRAND_ADMIN` —el apaño de que el equipo Kynda operase como admin de cada cliente— y por eso un admin de empresa veía la cola de validación, **con nombres y correos**, de las demás. El panel exige rol GLOBAL, así que la puerta se cierra sola y ya no hace falta acotar por marca dentro.\n\n## Lo que NO se toca (importante)\n\n**No se revocan membresías.** Las 3 personas de Kynda conservan su `BRAND_ADMIN` sobre easyfairs y siguen entrando a `/admin/*` como hasta ahora — o sea, siguen pudiendo crear y configurar campañas para los clientes.\n\nLa fuga no venía de que tuvieran ese rol, sino de que `/ops` lo admitía. Revocarlo habría sido más invasivo y sin beneficio.\n\n**Los admins de cliente no pierden nada**: ni acceso ni funcionalidad. Verificado que en producción hay un BRAND_ADMIN real que no es de Kynda (`daniela.bernal@easyfairs.com`), y sigue igual: KPIs, participantes, evidencias y aprobación desde su propio portal.\n\n`(ops)/layout.tsx` queda un release como redirección cross-host para no romper enlaces guardados; después se borra el grupo.\n\n## Tests\n\n- `ops-flow.spec.ts` (entraba como BRAND_ADMIN a `/ops`) se sustituye por `platform-panel.platform.spec.ts`, en el host del panel.\n- **Proyecto `platform`** en `playwright.config.ts`: el aislamiento por host *es* la funcionalidad, así que necesita su propia baseURL. Chromium resuelve `*.localhost` sin tocar `hosts`; `page.request` **no**, porque usa el DNS de Node — de ahí que las comprobaciones vayan con `page.goto`.\n- `seed-e2e-admin.sh` crea la cuenta OPS; su rol lo pone el trigger desde `admin_email_seed`.\n- `auth-gates` deja de listar `/ops/*`, que ya no se sirve en el host de tenant.\n\n| Comprobación | Resultado |\n|---|---|\n| Playwright e2e | **19/19** (17 previos + 2 del panel) |\n| Integración | **84/84** |\n| `pnpm typecheck` + `pnpm build` | Pasan |\n\n## Una observación\n\nEn **dev**, el redirect posterior al login llega con el 404 ya renderizado (el mismo efecto de `notFound()` en streaming que corregí en el middleware). En build de producción aterriza bien: verificado en Validación, donde el login como OPS lleva a `/operaciones` y lista las operaciones. El test navega explícitamente para no depender de eso, y queda anotado en el código.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-08-18T21:00:20Z","updated_at":"2026-08-18T21:15:15Z","closed_at":"2026-08-18T21:15:15Z","merged_at":"2026-08-18T21:15:15Z","merge_commit_sha":"21d6292543c1771cb3b99eb29996f8ace261ac30","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/35/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/35/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/35/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/4d9f2c78cd5a76ad3f72350658042717c92c7af0","head":{"label":"itproviders-netizen:claude/platform-ops-move","ref":"claude/platform-ops-move","sha":"4d9f2c78cd5a76ad3f72350658042717c92c7af0","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"bbf55d9611bd6a79a12c63322d618d9b53d522fe","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/35"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/35"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/35"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/35/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/35/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/35/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/4d9f2c78cd5a76ad3f72350658042717c92c7af0"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/34","id":4308000345,"node_id":"PR_kwDOSrWQNM8AAAABAMbeWQ","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/34","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/34.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/34.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/34","number":34,"state":"closed","locked":false,"title":"feat(plataforma): área de Catálogo para editar las plantillas","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Fase 7. Crear o corregir una plantilla del catálogo era trabajo de migración SQL, igual que lo era dar de alta un cliente.\n\nY hacía falta: de las 7 plantillas en producción **solo \"Banco de Alimentos\" tiene KPIs y blueprint**. Clonar las otras 6 deja al admin casi como empezando de cero — su formulario de evidencia sale con solo el comentario. El listado ahora marca esas plantillas con un aviso.\n\n## Reutiliza el editor existente\n\nEl editor de campaña ya trae KPIs, evidencias, ODS y ESRS. El **único cambio sobre código existente** es que acepta la server action como prop opcional (por defecto `upsertCampaign`) en vez de importarla fija.\n\n## Tres decisiones deliberadas, porque lo contrario rompe algo\n\n1. **`upsertCatalogCampaign` es una acción propia.** `upsertCampaign` está atada a `requireBrandAdmin()` + `.eq('brand_id', auth.brand_id)`; parametrizarla con una marca recibida del formulario reabriría el agujero que cerró la auditoría. La marca de la librería se resuelve **en servidor**, nunca llega del cliente.\n\n2. **No genera jornadas.** `upsertCampaign` llama a `reconcileInternalActions`/`ensureChainAction`, que crearían filas \"Jornada N\" dentro de la librería. Las plantillas tienen 0 acciones y así debe seguir.\n\n3. **Nace y se edita en `PRIVATE`.** La política `campaign_catalog_read` deja leer cualquier fila `CATALOG` a **todo usuario autenticado de todos los clientes**, así que una plantilla a medias aparecería al instante en el catálogo de todos. Publicar es una acción aparte y explícita.\n\n## Lo que no se rompe\n\n`cloneCatalogCampaign` hace un `insert`, o sea que **un clon es una copia independiente**. Retirar o editar una plantilla no toca las campañas que los clientes ya clonaron.\n\n## Verificación\n\n| Comprobación | Resultado |\n|---|---|\n| Integración | **84/84** |\n| `pnpm typecheck` + `pnpm build` | Pasan (3 rutas nuevas) |\n\nPendiente de probar en Validación tras el merge.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-08-18T20:05:07Z","updated_at":"2026-08-18T20:16:52Z","closed_at":"2026-08-18T20:16:51Z","merged_at":"2026-08-18T20:16:51Z","merge_commit_sha":"bbf55d9611bd6a79a12c63322d618d9b53d522fe","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/34/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/34/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/34/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/13a4a640188edaa8387062d542247eb151c1d82c","head":{"label":"itproviders-netizen:claude/platform-catalog","ref":"claude/platform-catalog","sha":"13a4a640188edaa8387062d542247eb151c1d82c","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"9c881294f5a9cbe70a9426292ea05c8d0edefff4","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/34"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/34"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/34"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/34/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/34/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/34/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/13a4a640188edaa8387062d542247eb151c1d82c"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/33","id":4307868123,"node_id":"PR_kwDOSrWQNM8AAAABAMTZ2w","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/33","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/33.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/33.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/33","number":33,"state":"closed","locked":false,"title":"fix(plataforma): subdominio al entorno correcto + Monitorización","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Probé el alta de una operación en Validación de punta a punta y salió un fallo real. Además entra el área de Monitorización (Fase 6).\n\n## El fallo: el subdominio apuntaba a producción\n\n`registerTenantDomain` registraba el host **sin especificar entorno**, así que Vercel lo asignaba al de producción. Una operación creada en **Validación** acabaría sirviendo el despliegue de **producción** — otra base de datos, otro cliente.\n\nComprobado en vivo: `prueba-alta.val.bekynda.com` servía el commit `e79dcff` de la rama `production`.\n\nAhora se envía `customEnvironmentId` (`VERCEL_DOMAIN_ENVIRONMENT_ID`). En producción se deja sin definir y Vercel usa su target de producción.\n\nEs un detalle nada obvio: Validación no es el target `preview`, sino un **entorno personalizado** (`cert`) atado a la rama `main`.\n\n## Monitorización\n\n- **Sin `?op`**: tabla comparativa, una fila por operación — campañas activas, usuarios, los 4 KPIs universales y pendientes de validar.\n- **Con `?op`**: ficha con los `StatCard` y la evolución mensual del año en curso.\n\nCero lógica de KPIs nueva: `getBrandKpis` y `getBrandImpactTimeSeries` ya agregan todas las campañas de una marca, y `StatCard`/`LineChart` ya existen. `revalidate = 300` porque la tabla es O(N operaciones) × `getBrandKpis`.\n\n## Verificado en Validación, de punta a punta\n\n| Paso | Resultado |\n|---|---|\n| Login OPS en `plataforma.val.bekynda.com` | Entra y aterriza en `/operaciones` |\n| Listado | Muestra EasyFairs e Iberdrola; **excluye** las marcas de sistema |\n| Alta de operación | Crea marca `CLIENT` + plan |\n| Subdominio | **Registrado solo vía API**, con certificado, responde 200 |\n| Invitación del admin | Creada con rol **`BRAND_ADMIN`** y enlace copiable |\n| Bloqueo | Pide escribir el slug; queda `SUSPENDED` con motivo y fecha |\n| Portal bloqueado | Muestra \"Portal no disponible — el portal de Prueba Kynda está temporalmente cerrado\" |\n\n## Un hallazgo sobre el borrado\n\nAl limpiar descubrí que **una operación con historial no se puede borrar**, ni siquiera por SQL: `audit_log` es inmutable por trigger y el borrado intenta poner su `brand_id` a NULL. La base de datos impone el \"bloquear, nunca borrar\" que ya seguía el producto.\n\nLa operación de prueba queda `SUSPENDED` con motivo explícito, y su subdominio eliminado de Vercel. `iberdrola` tiene 0 registros de auditoría en ambos entornos, así que su limpieza sigue siendo viable.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-08-18T19:45:25Z","updated_at":"2026-08-18T19:56:36Z","closed_at":"2026-08-18T19:56:36Z","merged_at":"2026-08-18T19:56:36Z","merge_commit_sha":"9c881294f5a9cbe70a9426292ea05c8d0edefff4","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/33/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/33/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/33/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/c3046a11cf735a6e3d2819a0d016dfd2a4e4b9f0","head":{"label":"itproviders-netizen:claude/platform-monitoring","ref":"claude/platform-monitoring","sha":"c3046a11cf735a6e3d2819a0d016dfd2a4e4b9f0","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"e75c102f9f987ba20f266d51097e1bcaab6802c4","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/33"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/33"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/33"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/33/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/33/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/33/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/c3046a11cf735a6e3d2819a0d016dfd2a4e4b9f0"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/32","id":4307273738,"node_id":"PR_kwDOSrWQNM8AAAABALvICg","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/32","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/32.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/32.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/32","number":32,"state":"closed","locked":false,"title":"feat(plataforma): panel interno con alta y bloqueo de operaciones","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Fase 3 + 4 + 5 del panel de plataforma. Cierra el punto 5 de la auditoría: *\"no es una mejora deseable, es un cimiento que falta\"*.\n\nDar de alta un cliente exigía a un desarrollador dos migraciones SQL, un script para el usuario de auth, y registros DNS + dominios en Vercel a mano. Ahora es un formulario.\n\n## Panel\n\nVive en `plataforma.<dominio>` con **dos guardas siempre juntas**: host de plataforma y rol GLOBAL (`OPS`/`SUPERADMIN`). A diferencia del antiguo `/ops`, **no** admite `BRAND_ADMIN` — ese apaño era la causa de la fuga entre marcas. `requireKyndaOps()` se comprueba **dentro de cada action**, no solo en el layout: un server action es un endpoint invocable por su cuenta.\n\n## Operaciones (crear, editar, bloquear; nunca borrar)\n\n- `createOperation` valida el slug contra `RESERVED_SLUGS`, crea `brand` (`kind=CLIENT`) + `brand_plan` e invita al primer admin.\n- `setOperationStatus` suspende/reactiva. Pide **escribir el slug** para confirmar, porque afecta a todos los usuarios del cliente. Los datos se conservan.\n- Los admins se bloquean (`status REVOKED`), nunca se borran.\n- Toda escritura lleva `.eq('kind','CLIENT')` como segunda guarda: el panel no puede tocar las marcas de sistema (el catálogo, la marca del staff).\n\n## El subdominio, sin trabajo manual\n\nAquí hubo un hallazgo: **Vercel no emite certificados comodín salvo que el dominio use sus nameservers** (`dns_pretest_cns_not_using_vercel_ns_error`), y los nuestros están en GoDaddy. El CNAME `*.val` resuelve, pero el TLS falla.\n\nLa salida, ya probada: el panel **registra cada host vía API** al crear la operación. Como el comodín ya hace que resuelva, Vercel valida por HTTP y certifica en segundos, sin tocar nameservers. El DNS sigue siendo trabajo cero por cliente.\n\nNo bloquea la creación: si falla, queda auditado y se reintenta desde la ficha con `registerOperationDomain`.\n\nEfecto secundario útil: un subdominio no registrado no tiene certificado, así que es **inalcanzable a nivel de red**.\n\n## `signupAction` respeta el rol de la invitación\n\nEra la pieza que faltaba, y la más delicada: antes forzaba `USER`, así que un admin invitado desde el panel entraba como usuario normal.\n\n- El token se reclama con **compare-and-swap** (`.is('accepted_at', null)` dentro del `UPDATE`). Sin eso, dos personas podían canjear la misma invitación de admin: la unicidad `(brand_id,user_id)` no lo impide al ser usuarios distintos.\n- Allowlist dura `INVITABLE_ROLES`: `OPS`/`SUPERADMIN` **no se conceden jamás** por registro, ni con la fila manipulada. El staff se declara por migración.\n\n## Bloqueo de portal: 5 cuellos de botella, no 40 sitios\n\nLos tres layouts de tenant, `requireBrandAdmin` (cubre de golpe todas las actions de admin) y el registro. `SUSPENDED` muestra \"portal cerrado\" en vez de 404, porque es reversible y conviene decirlo.\n\n## Middleware: 404 real\n\nEl gate no puede vivir solo en los layouts: `notFound()` se ejecuta cuando las cabeceras ya se enviaron, así que el status quedaba en **200** y el markup de la página viajaba en el payload antes de que el 404 lo reemplazase en pantalla. Verificado en Validación antes de arreglarlo.\n\n## Verificación\n\nAislamiento cruzado entre hosts, con cabecera `Host` real:\n\n| Ruta | Host plataforma | Host cliente |\n|---|---|---|\n| `/login` | 200 | 200 |\n| `/operaciones` | 307 → login | **404** |\n| `/` , `/admin/campaigns`, `/explore` | **404** | 200 |\n\n| Comprobación | Resultado |\n|---|---|\n| Trigger asigna `kynda/OPS` al crear la cuenta | ✓ |\n| Integración | **80/80** |\n| `pnpm typecheck` + `pnpm build` | Pasan |\n\nPendiente de probar en Validación con un alta real end-to-end.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-08-18T18:22:41Z","updated_at":"2026-08-18T19:19:54Z","closed_at":"2026-08-18T19:19:54Z","merged_at":"2026-08-18T19:19:54Z","merge_commit_sha":"e75c102f9f987ba20f266d51097e1bcaab6802c4","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/32/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/32/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/32/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/b2d4e5e530f87b18a700bae50eb72fe9a98b68ed","head":{"label":"itproviders-netizen:claude/platform-panel","ref":"claude/platform-panel","sha":"b2d4e5e530f87b18a700bae50eb72fe9a98b68ed","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"0d15c18a1c41d61c72b78b81e89a2a6ff211a2ef","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/32"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/32"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/32"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/32/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/32/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/32/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/b2d4e5e530f87b18a700bae50eb72fe9a98b68ed"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/31","id":4305004011,"node_id":"PR_kwDOSrWQNM8AAAABAJkl6w","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/31","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/31.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/31.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/31","number":31,"state":"closed","locked":false,"title":"fix(tenant): resolver el host de verdad y cerrar el acceso por defecto (Fase 1)","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Fase 1 del panel de plataforma. **Se despliega sola**: activa el multi-tenant por subdominio por primera vez, y es requisito del DNS comodín.\n\n## El bug\n\nEl middleware fijaba `x-kynda-tenant` en la **respuesta** (`response.headers.set`), no en la request reenviada. `headers()` en un server component lee la petición entrante, así que la cabecera viajaba al navegador y el render no la veía nunca.\n\nComprobable hoy en producción:\n\n```bash\ncurl -I https://easyfairs.bekynda.com/login\n```\n\nDevuelve `X-Kynda-Tenant: easyfairs` **como cabecera de respuesta**.\n\nConsecuencia: `getTenantSlug()` caía **siempre** en `KYNDA_DEFAULT_TENANT`. Es invisible porque ese valor coincide con el único cliente vivo, pero significa que el multi-tenant por subdominio nunca ha funcionado — y que con `*.bekynda.com` cualquier subdominio inventado serviría el portal de EasyFairs.\n\n## Qué entra\n\n- **middleware**: `NextResponse.next({request:{headers}})` con `x-kynda-tenant` y `x-kynda-host-kind`, sobrescritas en cada petición (el cliente no puede inyectarlas).\n- **`resolveHost()`**: clasifica el host en `PLATFORM`/`TENANT`/`ROOT`/`PREVIEW`/`UNKNOWN` y reserva los slugs que no pueden ser un cliente. `resolveTenantFromHost` se conserva delegando en él.\n- **`lib/host.ts`**: único lector de esas cabeceras. Fail-closed: sin tenant no hay portal. El respaldo por env queda solo para hosts **sin** subdominio (localhost, previews) y detrás de `KYNDA_ALLOW_DEFAULT_TENANT`, que no se define en Validación ni Producción.\n- **`brand.kind` (`CLIENT`/`SYSTEM`)**: con el comodín, *cualquier* fila de `brand` pasa a ser alcanzable como portal. `kynda-library` aloja el catálogo cross-tenant y no es un cliente. Una lista estática de slugs en el código no basta: los slugs son datos.\n- **`requireBrandForTenant()`** en los layouts `(app)`, `(auth)` y `(brand-admin)`.\n- **`signupAction`**: aborta si no hay marca (antes seguía y el `signUp` creaba un usuario de auth huérfano) y rechaza portales no activos.\n\n`brand.kind` y las guardas de los layouts estaban planificadas para fases posteriores; se adelantan aquí a propósito, porque el comodín llega antes y si no quedaría una ventana en la que un slug inventado **no** da 404.\n\n## Verificación\n\nSimulando producción en local (respaldo desactivado):\n\n| Host | Antes | Ahora |\n|---|---|---|\n| `easyfairs.…` | 200 | 200 |\n| `noexiste.…` | 200 | **404** |\n| `kynda-library.…` | 200 | **404** |\n| sin subdominio | 200 | **404** |\n\nCon el respaldo activo (local y CI), `localhost:3000` vuelve a 200.\n\n| Comprobación | Resultado |\n|---|---|\n| Integración | **80/80** (18 nuevos de `resolveHost`) |\n| Playwright e2e | **17/17**, sin tocar ningún test |\n| `pnpm typecheck` + `pnpm build` | Pasan |\n\n## Riesgo de despliegue\n\nVerificado contra la base de datos de producción: de las 3 filas de `brand`, solo `easyfairs` es un cliente real (35 miembros, 30 evidencias) y su slug coincide con su host. `iberdrola` es un resto de seed sin datos y `kynda-library` es el catálogo. Arreglar el middleware no deja a nadie fuera.\n\n**Nota**: con `KYNDA_ALLOW_DEFAULT_TENANT` ausente, las URLs `*.vercel.app` (previews de PR) devolverán 404, porque no tienen subdominio de tenant. Si el equipo las usa, se resuelve con una variable acotada a esas ramas.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-08-18T13:23:09Z","updated_at":"2026-08-18T13:40:11Z","closed_at":"2026-08-18T13:40:11Z","merged_at":"2026-08-18T13:40:11Z","merge_commit_sha":"0d15c18a1c41d61c72b78b81e89a2a6ff211a2ef","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/31/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/31/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/31/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/e3a1f2c2e85024f64a63d0b5295c8da269c55df0","head":{"label":"itproviders-netizen:claude/platform-host-resolution","ref":"claude/platform-host-resolution","sha":"e3a1f2c2e85024f64a63d0b5295c8da269c55df0","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"c8f2e928a9fe5c1d4b36e0ef6a9332b67f68d365","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/31"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/31"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/31"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/31/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/31/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/31/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/e3a1f2c2e85024f64a63d0b5295c8da269c55df0"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/30","id":4304137968,"node_id":"PR_kwDOSrWQNM8AAAABAIvu8A","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/30","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/30.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/30.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/30","number":30,"state":"closed","locked":false,"title":"release: remediacion de seguridad P0/P1 de la auditoria + e2e reparados","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Despliegue a **Producción** de los dos PR ya validados en Validación: [#28](https://github.com/itproviders-netizen/kynda-poc/pull/28) (seguridad) y [#29](https://github.com/itproviders-netizen/kynda-poc/pull/29) (e2e + etiquetado).\n\n## Por qué corre prisa\n\nProducción está **hoy vulnerable**, verificado contra su base de datos:\n\n| Comprobación en prod | Estado actual |\n|---|---|\n| Permisos de escritura de `anon` en `public` | **93** |\n| `INSERT` en `audit_log` para anon/authenticated | **concedido** |\n| Datos reales expuestos | 36 usuarios · 30 evidencias · 8 campañas |\n\nEs decir: cualquiera con la anon key (pública en el navegador) puede hoy auto-aprobarse evidencias por PostgREST y falsificar el registro de auditoría, sin pasar por la aplicación.\n\n## Qué entra\n\n- **Autorización**: `anon` pierde la escritura en `public`; `audit_log` deja de ser insertable por el cliente; las políticas de auto-update de `action_execution` y `evidence` dejan de permitir que el dueño de la fila se ponga en estado de validación. Guardas de rol en las decisiones de `/ops`, y de pertenencia/ámbito en `submitEvidence`/`joinAction`. `kpis.csv` deja de servir campañas de otra marca. Cola, auditoría y detalle de evidencia de `/ops` filtrados por marca.\n- **KPIs**: el filtro de campaña pasa al servidor y se pagina; antes se pedían las evidencias de todas las marcas y, pasadas 1000 filas, los KPIs devolvían cifras cortas en silencio.\n- **Integridad**: no se resucitan membresías REVOKED (bajas RGPD), se respeta el aforo, y la evidencia no queda huérfana si falla la subida de fotos.\n- **Accesibilidad**: los campos del editor de campaña quedan asociados a su etiqueta (`htmlFor`).\n\n## Riesgo del despliegue\n\n- **Migración**: una sola pendiente (`20260620000000`), enteramente `revoke` + `drop policy if exists`/`create policy`. Idempotente. El historial de migraciones de prod **no diverge** del repo (36 aplicadas, todas presentes; 0 desconocidas).\n- **Compatibilidad**: la aplicación escribe con `service_role`, que no se ve afectado por los `revoke` a `anon`. Verificado en Validación: flujos de usuario y admin funcionan tras el hardening.\n- **Delta**: exactamente los 5 commits de #28/#29, 16 ficheros. Ningún contenido de producción se pierde.\n\n## Verificación previa\n\n| Comprobación | Resultado |\n|---|---|\n| CI (`typecheck-lint`, `e2e`, `supabase-lint`) | Verde los tres |\n| Playwright e2e | 17/17 |\n| Integración | 62/62 |\n| Ataque real contra Validación con cuenta de usuario | 5/5 bloqueados |\n| Flujo de campaña en Validación (navegador real) | Crea, lanza, genera jornada |\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-08-18T11:28:52Z","updated_at":"2026-08-18T11:29:30Z","closed_at":"2026-08-18T11:29:30Z","merged_at":"2026-08-18T11:29:30Z","merge_commit_sha":"e79dcff70e4296261e51bd46226c0e7588b89c86","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/30/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/30/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/30/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/c8f2e928a9fe5c1d4b36e0ef6a9332b67f68d365","head":{"label":"itproviders-netizen:main","ref":"main","sha":"c8f2e928a9fe5c1d4b36e0ef6a9332b67f68d365","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:production","ref":"production","sha":"70461e397992b5c6ea2a81447bd363eeb15fa131","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/30"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/30"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/30"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/30/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/30/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/30/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/c8f2e928a9fe5c1d4b36e0ef6a9332b67f68d365"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/29","id":4279756069,"node_id":"PR_kwDOSrWQNM7_F-Ul","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/29","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/29.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/29.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/29","number":29,"state":"closed","locked":false,"title":"fix(e2e): reparar los 3 specs rotos y etiquetar los campos del editor","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Los 3 tests e2e llevaban fallando **desde antes** de la remediación de seguridad — los mismos 3 fallan en `main` (`51a1bee`). La causa no era el código de producción: el editor de campaña se reescribió en su día y los helpers de Playwright seguían apuntando al formulario viejo (`input[name=\"name\"]` ya no existía, porque los inputs pasaron a ser controlados sin `name`).\n\n## Editor\n\n- `Field`/`Label` aceptan `htmlFor`, y los campos del editor de campaña llevan `id` + `name`. Sin asociación label↔control no los encuentra ni un lector de pantalla ni los tests — es también el punto de accesibilidad que señalaba el informe de auditoría.\n- Los `name` son inocuos: `buildFormData` construye el FormData a mano y nunca lee del DOM.\n\n## Tests, alineados con el comportamiento real\n\nCada cambio corrige una aserción que había quedado desfasada respecto al producto, no al revés:\n\n- La campaña ya no lleva una acción inline: el servidor genera las jornadas desde `sessions_count` (`reconcileInternalActions`). El helper crea, **lanza** (un DRAFT no admite inscripción ni evidencias) y renombra la jornada generada.\n- El formulario de evidencia lo definen los KPIs `USER_EVIDENCE` de **cada** campaña, así que el helper rellena lo que haya en vez de campos fijos. Una campaña creada desde cero solo trae el comentario.\n- La página de validación lista pendientes **+ histórico**: tras rechazar, el email sigue apareciendo legítimamente. Ahora se comprueba que la cola de pendientes queda vacía.\n- El KPI se llama \"Acciones verificadas\" (`UNIVERSAL_KPIS`), no \"Acciones realizadas\".\n- Las campañas de cadena **no** se listan en `/explore` por diseño (su acción compartida solo se activa con el código lateral de la pulsera, ver `listActionsForBrand`). El spec afirmaba lo contrario.\n\n## Verificación\n\n| Comprobación | Resultado |\n|---|---|\n| `pnpm test:e2e` | **17/17** |\n| `pnpm test:integration` | **62/62** |\n| `pnpm typecheck` + `pnpm build` | Pasan |\n\nEjecutado contra el stack local de Supabase (`write-local-env.sh` + `seed-e2e-admin.sh`), como hace CI — sin tocar Validación.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-08-14T12:33:25Z","updated_at":"2026-08-14T12:45:46Z","closed_at":"2026-08-14T12:45:46Z","merged_at":"2026-08-14T12:45:46Z","merge_commit_sha":"c8f2e928a9fe5c1d4b36e0ef6a9332b67f68d365","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/29/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/29/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/29/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/17d8faecd66fd0763fa12e6a7bec72f5215c1161","head":{"label":"itproviders-netizen:claude/kynda-audit-report-analysis-b4f010","ref":"claude/kynda-audit-report-analysis-b4f010","sha":"17d8faecd66fd0763fa12e6a7bec72f5215c1161","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"8f7d81a897cf3a4da03164ff55a22c14d1b2d8a7","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/29"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/29"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/29"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/29/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/29/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/29/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/17d8faecd66fd0763fa12e6a7bec72f5215c1161"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/28","id":4279091248,"node_id":"PR_kwDOSrWQNM7_DcAw","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/28","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/28.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/28.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/28","number":28,"state":"closed","locked":false,"title":"fix(security): cierra agujeros de autorizacion y fugas entre marcas (auditoria P0/P1)","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Remediación P0/P1 de la auditoría externa. Verifiqué cada punto del informe contra el código antes de tocar nada: todos eran ciertos, con referencias de fichero/línea correctas.\n\nLa raíz que amplificaba casi todo era `grant all privileges on all tables ... to anon, authenticated` (migración `20260603130000`), que dejaba RLS como único muro — y donde una política era permisiva, el endpoint PostgREST quedaba abierto con la anon key, que es pública en el navegador.\n\n## Autorización (P0)\n\n- **RLS/grants** (`20260620000000_security_hardening.sql`): `anon` pierde escritura en `public`; `audit_log` deja de ser insertable por anon/authenticated (era `with check (true)` — falsificable incluso sin autenticarse); las políticas de auto-update de `action_execution` y `evidence` dejan de permitir que el propietario se ponga a sí mismo en estado de validación. El guard de la máquina de estados validaba QUÉ transición es legal, pero no QUIÉN la hace.\n- **/ops**: las tres decisiones de validación usaban `service_role` sin comprobar rol y aceptaban `reviewer_id` null. El gate estaba en el layout, que protege la página, no el server action (invocable por su cuenta).\n- **submitEvidence / joinAction**: exigen membership ACTIVE y ámbito de campaña.\n- **kpis.csv**: 403 en campaña de otra marca (`impacto.csv` ya lo comprobaba).\n- **Cola, auditoría y detalle de evidencia de /ops**: filtrados por marca. Un BRAND_ADMIN veía nombres, correos y fotos de los voluntarios de las demás empresas.\n\n## KPIs (P0)\n\nEl filtro de campaña pasa al servidor (inner joins) y se pagina con `.range()`. Antes se pedían las evidencias aprobadas de TODAS las marcas y se filtraba en JS, así que pasadas `max_rows` (1000) filas los KPIs devolvían cifras por debajo de la realidad —o cero— sin error, sin log y sin ninguna señal.\n\n## Integridad de flujo (P1)\n\n- `ensureMembership` deja de resucitar membresías REVOKED (bajas RGPD); la comprobación va antes de la RPC para no quemar un eslabón de pulsera.\n- `joinAction` respeta `max_seats` (las plazas se enseñaban pero no se cumplían).\n- `submitEvidence` limpia la evidencia si falla la subida de fotos: si no, quedaba colgada y no llegaba nunca al validador.\n\n## Verificación\n\n| Comprobación | Resultado |\n|---|---|\n| `pnpm typecheck` + `pnpm build` | Pasan |\n| Suite de integración | 60/60 |\n| `self-approval.spec.ts` contra el código **sin** arreglar | 4/5 fallan |\n| Migración contra Validación | Ejecuta limpia en transacción con rollback |\n\nEl penúltimo punto es el que da valor a los demás: restauré temporalmente las políticas permisivas en local y los tests fallaron; con el fix pasan. El único que pasa en ambos estados es \"el autor sí puede reenviar su evidencia\", que es la ruta legítima y debe seguir funcionando.\n\n## Fuera de alcance\n\nPanel de superadmin, onboarding de tenant por UI y asignación de roles ESG/Marketing/OPS (punto 5 del informe), excluidos por decisión de producto. Mientras no existan cuentas OPS reales, `/ops` sigue admitiendo BRAND_ADMIN — pero ahora acotado a sus marcas.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-08-14T10:43:45Z","updated_at":"2026-08-14T11:09:22Z","closed_at":"2026-08-14T11:09:22Z","merged_at":"2026-08-14T11:09:22Z","merge_commit_sha":"8f7d81a897cf3a4da03164ff55a22c14d1b2d8a7","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/28/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/28/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/28/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/07dec79d6d719fca6ffead56a1528b703f5232e4","head":{"label":"itproviders-netizen:claude/kynda-audit-report-analysis-b4f010","ref":"claude/kynda-audit-report-analysis-b4f010","sha":"07dec79d6d719fca6ffead56a1528b703f5232e4","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"51a1beef60195c0de6385525b4b256d185d12b69","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/28"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/28"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/28"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/28/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/28/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/28/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/07dec79d6d719fca6ffead56a1528b703f5232e4"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/27","id":4181165759,"node_id":"PR_kwDOSrWQNM75N4a_","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/27","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/27.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/27.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/27","number":27,"state":"closed","locked":false,"title":"release: cleanup + chain bracelet improvements + val work -> Producción","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Promote all of main (Validación) to production.\n\nIncludes: chain (bracelet) campaign improvements (import side codes, forced\nside-code flow, signup enrollment, merged \"Código lateral\" tab, evidence\ncolumns) plus the accumulated val work (admin-portal-ui, formatting, state\nmachine, evidence \"Validadas\" table, etc.).\n\nNo new DB migrations (supabase/migrations identical to production) — app\nredeploy only. Cert deploy already green.","created_at":"2026-07-31T21:56:42Z","updated_at":"2026-07-31T21:57:04Z","closed_at":"2026-07-31T21:57:04Z","merged_at":"2026-07-31T21:57:04Z","merge_commit_sha":"70461e397992b5c6ea2a81447bd363eeb15fa131","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/27/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/27/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/27/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/51a1beef60195c0de6385525b4b256d185d12b69","head":{"label":"itproviders-netizen:main","ref":"main","sha":"51a1beef60195c0de6385525b4b256d185d12b69","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:production","ref":"production","sha":"7cd17709f5f69fdd67cb7b02d20a0df67c1ca374","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/27"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/27"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/27"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/27/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/27/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/27/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/51a1beef60195c0de6385525b4b256d185d12b69"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/26","id":4181138687,"node_id":"PR_kwDOSrWQNM75Nxz_","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/26","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/26.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/26.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/26","number":26,"state":"closed","locked":false,"title":"cleanup + minor bugs + doc","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Chain (bracelet) campaigns: import existing side codes, force the side-code flow\n(chain actions excluded from Explore, joinAction rejects them, CTA -> /c/<qr>),\nside code at signup with auto-enroll, merge \"Cadenas\" into \"Código lateral\"\n(KPIs + progression + days-since + per-link detail), and ID pulsera / # eslabón\ncolumns in Evidencias (pending + validated tables).\n\nIntegrated with recent val work (admin-portal-ui PR #25, formatting + state\nmachine); conflicts resolved (see merge commit). Docs refreshed.\n\nVerified locally: typecheck (web/lib/types), web build, chain integration\n(17/17), chain-improvements e2e (4/4).","created_at":"2026-07-31T21:51:06Z","updated_at":"2026-07-31T21:51:52Z","closed_at":"2026-07-31T21:51:52Z","merged_at":"2026-07-31T21:51:52Z","merge_commit_sha":"51a1beef60195c0de6385525b4b256d185d12b69","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/26/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/26/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/26/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/2bb36aa8062fb8e644d45d21457ca973ebdd8f42","head":{"label":"itproviders-netizen:claude/chain-campaigns-bracelets-bfab0d","ref":"claude/chain-campaigns-bracelets-bfab0d","sha":"2bb36aa8062fb8e644d45d21457ca973ebdd8f42","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"e4a1788aeddb3207d2f81743a702ae7d8f0f4002","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/26"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/26"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/26"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/26/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/26/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/26/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/2bb36aa8062fb8e644d45d21457ca973ebdd8f42"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/25","id":4083801341,"node_id":"PR_kwDOSrWQNM7zadz9","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/25","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/25.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/25.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/25","number":25,"state":"closed","locked":false,"title":"feat(admin): formato de miles, leyendas de columnas, usuarios inscritos y máquina de estados","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Siete peticiones de producto sobre el portal admin, más un fix en la web de usuario.\n\n## Cambios\n\n**1. Formato de miles en Impacto.** Nuevo `apps/web/lib/format.ts`, consumido desde la matriz de KPIs, `StatCard`, `ProgressMeter`, la tabla de reports y el funnel.\n\n> Detalle no obvio: `Intl.NumberFormat('es-ES')` usa por defecto `useGrouping: \"min2\"`, que **no agrupa números de 4 dígitos**. La primera versión devolvía `4902` — justo el caso reportado. Corregido forzando el agrupado y verificado con casos (`4902` → `4.902`, `4902.5` → `4.902,5`, `4902 kg` → `4.902 kg`).\n\n**2. Descriptivo de columnas** (`InfoHint`) en Impacto → Por campaña. Al redactar las leyendas afloraron dos incoherencias de datos, corregidas en vez de documentadas:\n- `pending_validations` filtraba sólo por marca, no por campaña: **todas las filas mostraban el mismo número**.\n- `enrolled_count` contaba filas de `action_enrollment` en vez de personas, divergiendo del KPI `participants` del Resumen para la misma campaña.\n\n**3. Máquina de estados de campaña y jornada** (`packages/types/src/status.ts`): transiciones válidas y tabla de qué habilita cada estado al usuario final. Botones contextuales en el editor de campaña (extraídos a un componente único; estaban duplicados en barra y pie) y en la ficha de jornada, que deja de tener un `<Select>` de estado libre. Reabrir una jornada limpia `closed_at`.\n\nHuecos de servidor cerrados — los guards vivían sólo en las páginas, pero un server action es un endpoint invocable por su cuenta:\n- `joinAction` y `submitEvidence` **no comprobaban ningún estado** (ni siquiera seleccionaban la columna): se podía inscribir y subir evidencias en una campaña cerrada.\n- `/c/[code]` renderizaba el contenido de campañas en borrador.\n- `upsertCampaign` sobreescribía el estado a ciegas: \"Guardar\" sobre una campaña activa la devolvía a borrador.\n- Las queries de catálogo listaban plantillas no activas.\n\nSemántica aplicada: `PAUSED` sigue siendo descubrible (para no dejar a ciegas a quien ya está inscrito) pero no admite inscripciones ni evidencias; validar sigue permitido en `PAUSED`/`CLOSED` para vaciar la cola.\n\n**4. \"Participantes\" → \"usuarios\"** en el copy visible de `/admin` (14 strings). Sin tocar rutas URL, variables, columnas de BD, labels de `packages/*` ni la app de usuario.\n\n**5 y 6. Tarjeta de usuarios inscritos** en Campaña → Resumen y Campaña → Impacto. Un solo componente y una sola query deduplicada (`getCampaignUserCounts`) alimentan ambas, para que no puedan divergir. Con 0 inscritos cae al fallback de usuarios con evidencia.\n\n**7. T&C desalineadas.** La casilla pasa a `input` + `label` reales: un `<a>` dentro de un `<button role=\"checkbox\">` era HTML inválido y hacía que **abrir los T&C marcase la casilla**. Además se alinea la caja con la primera línea y el punto final ya no queda huérfano al envolver.\n\n## Verificación\n\n- `tsc --noEmit` y `next build` limpios.\n- Formateador verificado con casos, incluido el bug de `useGrouping`.\n- Máquina de estados verificada con un script de invariantes: `DRAFT` no salta a `CLOSED`, `CLOSED` es terminal, sólo `ACTIVE` permite inscribir y subir evidencia, descubribles = `ACTIVE` + `PAUSED`, validables = `ACTIVE` + `PAUSED` + `CLOSED`.\n- T&C verificado en navegador a 375px: desalineación de ~2,4px a 0,33px, sin desbordamiento horizontal, y confirmado que tocar el enlace ya no marca la casilla mientras que tocar el texto sí la alterna.\n\nNo se ejecutaron transiciones de estado contra Validación (entorno compartido); esa parte se verificó sobre la lógica, no sobre datos del equipo. El recorrido completo por UI conviene hacerlo sobre el stack local sembrado.\n\n## Nota para el equipo\n\nLa columna **Pendientes** va a mostrar números distintos a los actuales en pantallas que el cliente ya está viendo. Es una corrección, pero se nota.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-07-18T21:35:05Z","updated_at":"2026-07-18T21:44:15Z","closed_at":"2026-07-18T21:44:15Z","merged_at":"2026-07-18T21:44:15Z","merge_commit_sha":"e4a1788aeddb3207d2f81743a702ae7d8f0f4002","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/25/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/25/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/25/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/406e758edd675d7de9e9999c4b4c4b417a275480","head":{"label":"itproviders-netizen:claude/admin-portal-ui-updates-702b87","ref":"claude/admin-portal-ui-updates-702b87","sha":"406e758edd675d7de9e9999c4b4c4b417a275480","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"d604ee3b150b2efc6adf269c04d0aa9d0801d42f","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/25"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/25"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/25"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/25/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/25/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/25/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/406e758edd675d7de9e9999c4b4c4b417a275480"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/24","id":3937765567,"node_id":"PR_kwDOSrWQNM7qtYi_","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/24","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/24.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/24.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/24","number":24,"state":"closed","locked":false,"title":"release: email mail.bekynda.com + gráfica beneficiarios -> Producción","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Promoción main→production. App-only, sin migraciones.\n\n- fix(email): remitente no-reply@mail.bekynda.com en todos los entornos (dominio verificado en Resend). Vercel RESEND_FROM_EMAIL ya actualizado.\n- fix(impacto): la gráfica de Beneficiarios usa personas_beneficiarias (ya no sale a 0).\n- test: fixture de evidencia válida (SUBMITTED).\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-25T19:20:59Z","updated_at":"2026-06-25T19:21:04Z","closed_at":"2026-06-25T19:21:02Z","merged_at":"2026-06-25T19:21:02Z","merge_commit_sha":"7cd17709f5f69fdd67cb7b02d20a0df67c1ca374","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/24/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/24/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/24/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/d604ee3b150b2efc6adf269c04d0aa9d0801d42f","head":{"label":"itproviders-netizen:main","ref":"main","sha":"d604ee3b150b2efc6adf269c04d0aa9d0801d42f","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:production","ref":"production","sha":"a4ce1588b61c5fc4b062d5880512221dbe1e83f7","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/24"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/24"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/24"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/24/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/24/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/24/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/d604ee3b150b2efc6adf269c04d0aa9d0801d42f"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/23","id":3937572153,"node_id":"PR_kwDOSrWQNM7qspU5","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/23","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/23.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/23.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/23","number":23,"state":"closed","locked":false,"title":"fix: email mail.bekynda.com (todos los entornos), gráfica beneficiarios, fixture test","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Tres arreglos:\n\n### 1. Email — remitente `mail.bekynda.com` en todos los entornos\n- El dominio `mail.bekynda.com` ya está verificado en Resend (probado con envío real OK).\n- Antes: prod caía al fallback `bekynda.com` (sin verificar → error) y cert usaba el sandbox `onboarding@resend.dev`.\n- Ahora: prod usa `RESEND_FROM_EMAIL`, cert+fallback usan `no-reply@mail.bekynda.com`. Vercel env `RESEND_FROM_EMAIL` (production+preview) actualizado a `mail.bekynda.com`; `.env.local` y plantillas también.\n\n### 2. Gráfica de Beneficiarios mostraba 0\n- `getBrandImpactTimeSeries` solo leía la clave legado `beneficiaries`; la tarjeta (correcta) usa `personas_beneficiarias`. Ahora la serie también la lee → la gráfica deja de salir a 0.\n\n### 3. Fixture de test de integración\n- `validated-evidences.spec.ts` usaba `EVIDENCE_SUBMITTED` (estado de ejecución) como `evidence.status`; el válido es `SUBMITTED`.\n\ntypecheck + build verificados.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-25T18:44:46Z","updated_at":"2026-06-25T19:20:32Z","closed_at":"2026-06-25T19:20:32Z","merged_at":"2026-06-25T19:20:31Z","merge_commit_sha":"d604ee3b150b2efc6adf269c04d0aa9d0801d42f","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/23/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/23/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/23/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/6aad3afc5a8e673aa2917ebb1e5e53d4df295631","head":{"label":"itproviders-netizen:claude/youthful-murdock-9f859a","ref":"claude/youthful-murdock-9f859a","sha":"6aad3afc5a8e673aa2917ebb1e5e53d4df295631","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"c7d8c8dbb4bb5edc4f4b9e186ba41bdb38852ebd","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/23"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/23"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/23"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/23/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/23/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/23/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/6aad3afc5a8e673aa2917ebb1e5e53d4df295631"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/22","id":3937552452,"node_id":"PR_kwDOSrWQNM7qskhE","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/22","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/22.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/22.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/22","number":22,"state":"closed","locked":false,"title":"release: evidencias validadas + fix doble conteo horas -> Producción","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Promoción de `main` (Validación) a `production` (Producción).\n\nIncluye:\n- feat(evidencias): tabla de validadas con detalle + fix doble conteo de horas (PR #21).\n- fix(home): próxima jornada = la siguiente no empezada (PR #19, ya en Validación).\n- feat(email): envío real en cert/Validación (ya en Validación).\n\nSin migraciones de BD (deploy solo de app). typecheck + build verificados.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-25T18:41:03Z","updated_at":"2026-06-25T18:41:09Z","closed_at":"2026-06-25T18:41:06Z","merged_at":"2026-06-25T18:41:06Z","merge_commit_sha":"a4ce1588b61c5fc4b062d5880512221dbe1e83f7","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/22/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/22/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/22/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/c7d8c8dbb4bb5edc4f4b9e186ba41bdb38852ebd","head":{"label":"itproviders-netizen:main","ref":"main","sha":"c7d8c8dbb4bb5edc4f4b9e186ba41bdb38852ebd","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:production","ref":"production","sha":"63fe017fa426aa1bdbf9992884044f3e5f283ebc","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/22"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/22"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/22"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/22/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/22/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/22/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/c7d8c8dbb4bb5edc4f4b9e186ba41bdb38852ebd"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/21","id":3937534109,"node_id":"PR_kwDOSrWQNM7qsgCd","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/21","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/21.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/21.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/21","number":21,"state":"closed","locked":false,"title":"feat(evidencias): tabla de validadas + detalle, y fix doble conteo de horas","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"## Qué incluye\n\n### Evidencias (campaña)\n- Nueva tabla **Validadas** (aprobadas/rechazadas) debajo de Pendientes de validar.\n- Cada registro es clicable → detalle: fotos, datos del formulario, **quién y cuándo** validó, y **motivo de rechazo** si no fue aprobada.\n- Se elimina la galería de fotos (ya no necesaria).\n\n### Fix de KPIs (doble conteo de horas)\n- Dedupe de evidencias aprobadas por ejecución: cuando una ejecución tiene >1 intento APROBADO, las horas/acciones ya no se cuentan dos veces. Afecta matriz de Impacto, Resumen, informes de marca y CSV.\n- Participantes: una fila por usuario (deja de repetir a quien está en varias jornadas).\n- Verificado en prod: la campaña '4 horas voluntariado' pasa de 120h a las **108h** correctas (36h/jornada).\n\n### Otros (arrastrados a petición)\n- chore(auth): URLs de reset-password + `scripts/setup-supabase-auth.mjs`.\n- docs: documentos funcionales del Hito 1.\n\n## Verificación\n- typecheck (lib + web) y build limpios sobre base `main` actual.\n- Tests de integración añadidos: dedupe de KPIs y `listValidatedEvidences`.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-25T18:38:00Z","updated_at":"2026-06-25T18:39:30Z","closed_at":"2026-06-25T18:39:30Z","merged_at":"2026-06-25T18:39:30Z","merge_commit_sha":"c7d8c8dbb4bb5edc4f4b9e186ba41bdb38852ebd","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/21/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/21/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/21/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/491f1b95432bc6d1945399cab32f7cd682288d39","head":{"label":"itproviders-netizen:claude/youthful-murdock-9f859a","ref":"claude/youthful-murdock-9f859a","sha":"491f1b95432bc6d1945399cab32f7cd682288d39","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"e43baaec8e75f05aa3e5ed7e3e1fbcf4e06dc82b","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/21"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/21"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/21"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/21/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/21/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/21/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/491f1b95432bc6d1945399cab32f7cd682288d39"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/20","id":3919808715,"node_id":"PR_kwDOSrWQNM7po4jL","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/20","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/20.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/20.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/20","number":20,"state":"closed","locked":false,"title":"fix(home): proxima jornada = la siguiente no empezada (solo fix, a Produccion)","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Hotfix aislado a Produccion (piloto easyfairs): SOLO el cambio de `page.tsx` de la proxima jornada. No incluye otros commits de main.\n\n## Problema\nEn el home, \"Proxima jornada disponible\" mostraba la jornada mas antigua (`actions[0]`). Con jornadas ayer/hoy/manana se veia la de AYER.\n\n## Fix\n- `next` = primera jornada con `starts_at > ahora` (la siguiente que aun no ha empezado).\n- Etiqueta \"Campanas activas · proxima {fecha}\": misma regla.\n- Estado vacio existente cubre el caso sin futuras.\n\nMismo cambio que el PR #19 a main (cherry-pick). Verificado typecheck OK.","created_at":"2026-06-23T12:19:53Z","updated_at":"2026-06-23T12:20:35Z","closed_at":"2026-06-23T12:20:09Z","merged_at":"2026-06-23T12:20:09Z","merge_commit_sha":"63fe017fa426aa1bdbf9992884044f3e5f283ebc","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/20/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/20/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/20/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/f1412b7bd3befd589a09775e642446586ab6a29a","head":{"label":"itproviders-netizen:fix/home-proxima-jornada-prod","ref":"fix/home-proxima-jornada-prod","sha":"f1412b7bd3befd589a09775e642446586ab6a29a","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:production","ref":"production","sha":"459e4bbc1f2098fb217030e0267f5d05d152c4a9","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/20"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/20"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/20"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/20/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/20/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/20/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/f1412b7bd3befd589a09775e642446586ab6a29a"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/19","id":3919801339,"node_id":"PR_kwDOSrWQNM7po2v7","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/19","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/19.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/19.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/19","number":19,"state":"closed","locked":false,"title":"fix(home): proxima jornada = la siguiente no empezada","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"## Problema\nEn el home, \"Proxima jornada disponible\" mostraba la jornada mas antigua (`actions[0]`), que podia ser una ya pasada o en curso. Caso real en el piloto easyfairs (jornadas ayer/hoy/manana): se veia la de ayer.\n\n## Causa\n`page.tsx` tomaba `actions[0]` de una lista ordenada por `starts_at` ascendente sin filtrar por fecha.\n\n## Fix\n- Hero \"Proxima jornada disponible\": `next` = primera jornada con `starts_at > ahora`.\n- Etiqueta \"Campanas activas · proxima {fecha}\": misma regla (primera sesion futura).\n- Estado vacio existente cubre el caso de no haber jornadas futuras.\n\nComparacion por instante UTC, independiente de la zona del servidor. No toca `listActionsForBrand`, Explore, evidencias ni `closed_at`.\n\nVerificado: `pnpm typecheck` OK.","created_at":"2026-06-23T12:18:51Z","updated_at":"2026-06-23T12:19:17Z","closed_at":"2026-06-23T12:19:17Z","merged_at":"2026-06-23T12:19:16Z","merge_commit_sha":"e43baaec8e75f05aa3e5ed7e3e1fbcf4e06dc82b","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/19/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/19/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/19/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/01ab2a2d3d2def43133bcb2dda556c6422da97fd","head":{"label":"itproviders-netizen:fix/home-proxima-jornada","ref":"fix/home-proxima-jornada","sha":"01ab2a2d3d2def43133bcb2dda556c6422da97fd","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"0326ee8bb67ca05bdf0331d4a0888f4546e0c4aa","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/19"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/19"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/19"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/19/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/19/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/19/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/01ab2a2d3d2def43133bcb2dda556c6422da97fd"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/18","id":3895129875,"node_id":"PR_kwDOSrWQNM7oKvcT","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/18","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/18.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/18.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/18","number":18,"state":"closed","locked":false,"title":"Promote a Producción: fix zona horaria display jornadas","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Promoción main->production. Validado en Validación. Solo display.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-18T23:50:07Z","updated_at":"2026-06-18T23:50:18Z","closed_at":"2026-06-18T23:50:17Z","merged_at":"2026-06-18T23:50:17Z","merge_commit_sha":"459e4bbc1f2098fb217030e0267f5d05d152c4a9","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/18/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/18/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/18/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/3fa51341d3afa299993d743e943696e3c99005ef","head":{"label":"itproviders-netizen:main","ref":"main","sha":"3fa51341d3afa299993d743e943696e3c99005ef","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:production","ref":"production","sha":"a76c1a63280b5bd91c5983bd0111626967c092ad","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/18"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/18"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/18"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/18/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/18/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/18/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/3fa51341d3afa299993d743e943696e3c99005ef"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/17","id":3895126318,"node_id":"PR_kwDOSrWQNM7oKuku","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/17","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/17.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/17.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/17","number":17,"state":"closed","locked":false,"title":"Fix zona horaria en display de jornadas (lado usuario)","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Muestra las horas de jornadas en la zona del navegador en vez de UTC. Solo display. Build+typecheck OK.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-18T23:49:04Z","updated_at":"2026-06-18T23:49:14Z","closed_at":"2026-06-18T23:49:14Z","merged_at":"2026-06-18T23:49:13Z","merge_commit_sha":"3fa51341d3afa299993d743e943696e3c99005ef","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/17/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/17/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/17/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/acc8fc99125893245f5289ca6845e9341cc0aca8","head":{"label":"itproviders-netizen:claude/sharp-elion-268095","ref":"claude/sharp-elion-268095","sha":"acc8fc99125893245f5289ca6845e9341cc0aca8","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"fd43224696fd10764e88a91c9526022086f521f5","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/17"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/17"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/17"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/17/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/17/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/17/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/acc8fc99125893245f5289ca6845e9341cc0aca8"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/16","id":3895064650,"node_id":"PR_kwDOSrWQNM7oKfhK","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/16","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/16.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/16.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/16","number":16,"state":"closed","locked":false,"title":"Promote a Producción: lote UI/UX + fix husos + export impacto + plantilla invitaciones","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Promoción main -> production. Ya validado en Validación (migración aplicada, columnas invitation_subject/body presentes, build+typecheck OK).\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-18T23:29:31Z","updated_at":"2026-06-18T23:30:26Z","closed_at":"2026-06-18T23:30:26Z","merged_at":"2026-06-18T23:30:25Z","merge_commit_sha":"a76c1a63280b5bd91c5983bd0111626967c092ad","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/16/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/16/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/16/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/fd43224696fd10764e88a91c9526022086f521f5","head":{"label":"itproviders-netizen:main","ref":"main","sha":"fd43224696fd10764e88a91c9526022086f521f5","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:production","ref":"production","sha":"0133caa6ec009cbe3bdbc6da3c99d35a6542b2d2","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/16"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/16"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/16"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/16/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/16/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/16/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/fd43224696fd10764e88a91c9526022086f521f5"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/15","id":3895060911,"node_id":"PR_kwDOSrWQNM7oKemv","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/15","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/15.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/15.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/15","number":15,"state":"closed","locked":false,"title":"Lote ajustes UI/UX + fix husos horarios + export impacto + plantilla invitaciones","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Lote de cambios solicitados (16 items). Build de producción y typecheck en verde.\n\nIncluye migración aditiva `20260619000000_campaign_invitation_template.sql` (columnas nullable `invitation_subject` / `invitation_body`). El SELECT de campañas ya las referencia, por lo que la migración debe aplicarse junto con el deploy (el workflow `Deploy (DB migrations)` lo hace al mergear a main).\n\nResumen en `docs/investigacion-cadenas-escenarios.md` y en la descripción del commit.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-18T23:28:09Z","updated_at":"2026-06-18T23:28:25Z","closed_at":"2026-06-18T23:28:25Z","merged_at":"2026-06-18T23:28:25Z","merge_commit_sha":"fd43224696fd10764e88a91c9526022086f521f5","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/15/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/15/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/15/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/4736c285d84e55561dbbb1bf2ed8434d661f536b","head":{"label":"itproviders-netizen:claude/sharp-elion-268095","ref":"claude/sharp-elion-268095","sha":"4736c285d84e55561dbbb1bf2ed8434d661f536b","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"de6cae641ed4866920e6efbee569ff6bbe76bd00","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/15"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/15"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/15"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/15/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/15/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/15/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/4736c285d84e55561dbbb1bf2ed8434d661f536b"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/14","id":3884370871,"node_id":"PR_kwDOSrWQNM7nhsu3","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/14","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/14.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/14.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/14","number":14,"state":"closed","locked":false,"title":"release: KPI Participantes + admins EasyFairs → Producción","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Promoción de `main` a `production`.\n\nIncluye (PR #13):\n- KPI AUTO \"Participantes\" (inscritos a la jornada) en ficha de jornada e Impacto.\n- USER_EVIDENCE sin datos -> 0 (no N/A).\n- Impacto: fuera asteriscos + nota al pie.\n- Ficha de jornada: \"Esperado\" -> \"Objetivo\".\n- §8: títulos \"KPIs jornada\" / \"KPIs voluntarios\".\n- Migración 20260617120000: admins cliente EasyFairs (Oscar Barranco, Daniela Bernal) en admin_email_seed. Los usuarios de Auth ya existen en prod; la migración es idempotente.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-17T14:40:51Z","updated_at":"2026-06-17T14:41:02Z","closed_at":"2026-06-17T14:41:02Z","merged_at":"2026-06-17T14:41:02Z","merge_commit_sha":"46cc7b9bd4d2e5b16f91aae8917bf97100768cb0","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/14/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/14/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/14/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/47e3dda64428ec3234b80e8b40228587eb3d13df","head":{"label":"itproviders-netizen:main","ref":"main","sha":"47e3dda64428ec3234b80e8b40228587eb3d13df","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:production","ref":"production","sha":"31567cad3e64418801e6f622dd767b5f07533a7d","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/14"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/14"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/14"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/14/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/14/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/14/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/47e3dda64428ec3234b80e8b40228587eb3d13df"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/13","id":3884306352,"node_id":"PR_kwDOSrWQNM7nhc-w","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/13","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/13.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/13.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/13","number":13,"state":"closed","locked":false,"title":"feat(admin): KPI Participantes, etiquetas §8/impacto y admins EasyFairs","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"## Cambios\n\n- **§8 editor**: títulos de grupos KPI -> \"KPIs jornada\" y \"KPIs voluntarios\".\n- **Nuevo KPI AUTO \"Participantes\"**: cuenta los inscritos a la jornada (action_enrollment, no cancelados), aunque no haya evidencia aprobada. Se calcula automáticamente y aparece en la ficha de jornada y en Impacto, junto a \"Participantes activos verificados\".\n- **USER_EVIDENCE sin datos -> 0** (antes N/A), coherente con los KPIs AUTO.\n- **Impacto**: eliminados los asteriscos de filas admin y la nota al pie.\n- **Ficha de jornada**: columna \"Esperado\" -> \"Objetivo\".\n- **Migración** `20260617120000_seed_easyfairs_client_admins.sql`: alta de los admins cliente de EasyFairs (Oscar Barranco, Daniela Bernal) como BRAND_ADMIN en el tenant easyfairs vía `kynda.admin_email_seed`.\n\n## Notas de despliegue\n\n- Los usuarios de Auth de prod ya se crearon vía Auth admin API (passwords secretos, no en repo); la migración solo declara el allowlist (idempotente, `on conflict do update`).\n- Al mergear a `main` se despliega Validación y migra el DB de cert; el merge posterior a `production` despliega Producción y migra el DB de prod.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-17T14:31:24Z","updated_at":"2026-06-17T14:31:38Z","closed_at":"2026-06-17T14:31:38Z","merged_at":"2026-06-17T14:31:38Z","merge_commit_sha":"47e3dda64428ec3234b80e8b40228587eb3d13df","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/13/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/13/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/13/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/a65773ba5e40868be7cc10680fa058806ec998a0","head":{"label":"itproviders-netizen:claude/trusting-einstein-22be60","ref":"claude/trusting-einstein-22be60","sha":"a65773ba5e40868be7cc10680fa058806ec998a0","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"d27b472d6789e9cddacb5167c13099d08b127fe8","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/13"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/13"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/13"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/13/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/13/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/13/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/a65773ba5e40868be7cc10680fa058806ec998a0"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/12","id":3879204294,"node_id":"PR_kwDOSrWQNM7nN_XG","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/12","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/12.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/12.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/12","number":12,"state":"closed","locked":false,"title":"release: pulido KPIs/reporting en admin (detalle/impacto/jornadas) → Producción","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Promueve a Producción los ajustes de UI de admin ya validados en main:\n\n- Resumen: sección \"Reporting\".\n- KPIs de la jornada: \"N/A\" para valores vacíos.\n- Impacto / KPIs por jornada: matriz transpuesta + asterisco ámbar.\n- Detalle §8: dos subsecciones, KPIs no editables (Participantes / Participantes activos verificados), sin textos de ayuda ni etiqueta \"Manual\".\n\nSolo cambios de UI (4 archivos). **No introduce migraciones nuevas** respecto a producción.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-16T22:18:53Z","updated_at":"2026-06-16T22:19:02Z","closed_at":"2026-06-16T22:19:01Z","merged_at":"2026-06-16T22:19:01Z","merge_commit_sha":"31567cad3e64418801e6f622dd767b5f07533a7d","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/12/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/12/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/12/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/d27b472d6789e9cddacb5167c13099d08b127fe8","head":{"label":"itproviders-netizen:main","ref":"main","sha":"d27b472d6789e9cddacb5167c13099d08b127fe8","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:production","ref":"production","sha":"19d64bf6bdbc65f62aefb497112ae207363b8018","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/12"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/12"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/12"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/12/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/12/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/12/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/d27b472d6789e9cddacb5167c13099d08b127fe8"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/11","id":3879197005,"node_id":"PR_kwDOSrWQNM7nN9lN","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/11","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/11.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/11.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/11","number":11,"state":"closed","locked":false,"title":"feat(admin): KPIs Kynda + pulido de detalle/impacto/jornadas","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Sube a Validación (main) el stack de KPIs Kynda configurables por campaña (#8), el rework del home de usuario, la Política de Privacidad v1.0, y encima los ajustes de UI pedidos:\n\n- **Resumen**: la sección pasa a llamarse \"Reporting\" (antes \"Reporting y alineación\").\n- **Jornadas → editar → KPIs de la jornada**: los valores vacíos muestran \"N/A\" en vez de \"—\".\n- **Impacto → KPIs por jornada**: matriz transpuesta (KPIs en filas a la izquierda, jornadas en columnas arriba) y marca de asterisco ámbar en vez del lápiz.\n- **Detalle → §8 KPIs Kynda**: dos subsecciones; \"Por jornada\" incluye los KPIs no editables (Participantes y Participantes activos verificados) seguidos de los editables; se quitan los textos de ayuda y la etiqueta \"Manual\".\n\nIncluye 2 migraciones (`campaign_kpi_defs`, `seed_food_kpi_defs`) que el workflow aplicará a la BD de Validación al hacer merge a main.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-16T22:17:13Z","updated_at":"2026-06-16T22:17:23Z","closed_at":"2026-06-16T22:17:23Z","merged_at":"2026-06-16T22:17:23Z","merge_commit_sha":"d27b472d6789e9cddacb5167c13099d08b127fe8","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/11/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/11/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/11/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/9cc5feb5fe8dd856a0fcfc9e5dac023ec1ebf9df","head":{"label":"itproviders-netizen:claude/strange-ride-7a4415","ref":"claude/strange-ride-7a4415","sha":"9cc5feb5fe8dd856a0fcfc9e5dac023ec1ebf9df","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"19d64bf6bdbc65f62aefb497112ae207363b8018","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/11"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/11"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/11"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/11/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/11/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/11/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/9cc5feb5fe8dd856a0fcfc9e5dac023ec1ebf9df"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/10","id":3877233902,"node_id":"PR_kwDOSrWQNM7nGeTu","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/10","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/10.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/10.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/10","number":10,"state":"closed","locked":false,"title":"feat(legal): Política de Privacidad revisada (v1.0)","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Carga la Política de Privacidad y Protección de Datos definitiva (revisada por Kynda) en /legal/privacy; el banner de borrador queda solo en Términos. Solo 3 archivos (páginas legales). typecheck OK; render verificado.","created_at":"2026-06-16T16:29:39Z","updated_at":"2026-06-16T16:29:45Z","closed_at":"2026-06-16T16:29:45Z","merged_at":"2026-06-16T16:29:45Z","merge_commit_sha":"19d64bf6bdbc65f62aefb497112ae207363b8018","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/10/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/10/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/10/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/b740f255f1326187688b648f2f2f878430bb3cd0","head":{"label":"itproviders-netizen:claude/loving-lichterman-95a9e0","ref":"claude/loving-lichterman-95a9e0","sha":"b740f255f1326187688b648f2f2f878430bb3cd0","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"8d7dfcdcd8e7280c2db590d9cca23bee25676d8b","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/10"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/10"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/10"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/10/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/10/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/10/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/b740f255f1326187688b648f2f2f878430bb3cd0"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/9","id":3877130513,"node_id":"PR_kwDOSrWQNM7nGFER","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/9","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/9.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/9.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/9","number":9,"state":"closed","locked":false,"title":"feat(user): dirección+mapa, real vs esperado, progreso y post sugerido","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Páginas de usuario: ficha de acción con dirección+mapa (Cómo llegar), impacto conseguido (real) en jornadas cerradas vs esperado, y Progreso de la campaña (real vs objetivo); pantalla de aprobada con post sugerido desde social_config. ACTION_SELECT añade location_lat/lng + social_config. typecheck + build OK; verificado renderizando como usuario (Carmen).","created_at":"2026-06-16T16:12:37Z","updated_at":"2026-06-16T16:12:42Z","closed_at":"2026-06-16T16:12:41Z","merged_at":"2026-06-16T16:12:41Z","merge_commit_sha":"8d7dfcdcd8e7280c2db590d9cca23bee25676d8b","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/9/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/9/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/9/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/67007712bdc77df6ce6f967321eee71721a5c5e7","head":{"label":"itproviders-netizen:claude/loving-lichterman-95a9e0","ref":"claude/loving-lichterman-95a9e0","sha":"67007712bdc77df6ce6f967321eee71721a5c5e7","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"29fbd7db25ae79ae3409d55e0ed213cf77e015e1","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/9"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/9"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/9"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/9/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/9/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/9/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/67007712bdc77df6ce6f967321eee71721a5c5e7"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/8","id":3871685199,"node_id":"PR_kwDOSrWQNM7mxTpP","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/8","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/8.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/8.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/8","number":8,"state":"closed","locked":false,"title":"feat(kpi): KPIs Kynda configurables por campaña + UX detalle/impacto","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Modelo unificado de KPIs por campaña (AUTO/ADMIN/USER) que gobierna editor, evidencia de usuario, tabla esperado/real de la jornada, pestaña Impacto (matriz por jornada) y front de usuario. Núcleo extraído a @kynda/lib/kpi/aggregate + test de integración (53/53 verde). UX: pestaña Detalle, pestaña Jornadas, Invitaciones, fechas en filas, Resumen = §9 del editor. Migraciones aditivas (campaign.kpi_defs) ya aplicadas a Validación. typecheck + build OK.","created_at":"2026-06-15T23:12:08Z","updated_at":"2026-06-15T23:12:22Z","closed_at":"2026-06-15T23:12:22Z","merged_at":"2026-06-15T23:12:22Z","merge_commit_sha":"29fbd7db25ae79ae3409d55e0ed213cf77e015e1","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/8/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/8/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/8/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/6fee020d0c273783fc5c616935303a8dafced314","head":{"label":"itproviders-netizen:claude/loving-lichterman-95a9e0","ref":"claude/loving-lichterman-95a9e0","sha":"6fee020d0c273783fc5c616935303a8dafced314","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"63081a467beff5d04fdfd14b76df9b1e74d88d52","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/8"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/8"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/8"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/8/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/8/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/8/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/6fee020d0c273783fc5c616935303a8dafced314"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/7","id":3863711708,"node_id":"PR_kwDOSrWQNM7mS4_c","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/7","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/7.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/7.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/7","number":7,"state":"closed","locked":false,"title":"ci(deploy): siembra Lola+Carmen en Validacion en cada deploy","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Engancha el seeder de test-data (Lola BRAND_ADMIN + Carmen USER + invites demo) al job migrate-cert: en cada push a main se re-siembran en la BD de Validacion. Solo cert (job aparte de produccion) y seed-test-data.mjs ademas rechaza el ref de prod.\n\nResuelve la service_role key del secret SUPABASE_CERT_SERVICE_ROLE_KEY o, si falta, via Management API con el PAT; si no puede, omite sin romper el deploy.\n\nGenerated with Claude Code","created_at":"2026-06-14T19:24:35Z","updated_at":"2026-06-14T19:25:25Z","closed_at":"2026-06-14T19:25:08Z","merged_at":"2026-06-14T19:25:08Z","merge_commit_sha":"63081a467beff5d04fdfd14b76df9b1e74d88d52","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/7/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/7/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/7/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/94a47cfb6647fa7ba515608fa93c4b5290ce21b4","head":{"label":"itproviders-netizen:feat/seed-cert-testdata","ref":"feat/seed-cert-testdata","sha":"94a47cfb6647fa7ba515608fa93c4b5290ce21b4","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"c35772c836757f1872f1f6905f1d11e1b5c7606a","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/7"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/7"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/7"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/7/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/7/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/7/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/94a47cfb6647fa7ba515608fa93c4b5290ce21b4"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/6","id":3863628897,"node_id":"PR_kwDOSrWQNM7mSkxh","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/6","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/6.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/6.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/6","number":6,"state":"closed","locked":false,"title":"feat(admin): editor de campana fiel al mock + cadenas/RGPD a Validacion","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Promocion a cert (Validacion) del trabajo pendiente de la rama:\n\n- Editor de campana unificado (crear/editar/clonar) fiel al mock: una sola pagina, INTERNA + CADENA, secciones 1-10 + Impact Framework + Historia de Impacto + KPIs + resumen, ancho completo.\n- Plantilla de catalogo \"Banco de Alimentos\" alineada al formulario nuevo (clonado pre-rellenado).\n- Migraciones aditivas de columnas de campana + alineacion del catalogo.\n- Incluye lo ya presente en la rama: cadenas de impacto + QR/pulseras, RGPD/retencion, paginas legales.\n- Login de admin aterriza en Inicio.\n\nMigraciones additive/expand-only; se aplican a cert via pipeline al mergear a main.\n\nGenerated with Claude Code","created_at":"2026-06-14T18:49:16Z","updated_at":"2026-06-14T18:54:53Z","closed_at":"2026-06-14T18:54:53Z","merged_at":"2026-06-14T18:54:53Z","merge_commit_sha":"c35772c836757f1872f1f6905f1d11e1b5c7606a","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/6/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/6/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/6/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/fd8f1c8c0af5f8c5be4ec716d58fcdd0531f4369","head":{"label":"itproviders-netizen:claude/cranky-mendeleev-3a65d9","ref":"claude/cranky-mendeleev-3a65d9","sha":"fd8f1c8c0af5f8c5be4ec716d58fcdd0531f4369","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"fb1cf65bf44466251c065f2db61f3596668a4afb","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/6"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/6"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/6"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/fd8f1c8c0af5f8c5be4ec716d58fcdd0531f4369"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/5","id":3857459415,"node_id":"PR_kwDOSrWQNM7l7CjX","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/5","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/5.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/5.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/5","number":5,"state":"closed","locked":false,"title":"Hito 1: cadenas + pulseras QR, RGPD, geo-validacion, emails y entregables","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"## Qué incluye\n\nCierre de los gaps del Hito 1 según `functional docs/Plan_trabajo_Hito1_Kynda.xlsx` (gap-analysis del acuerdo) con las decisiones de producto de Kynda del 12-06: QR de campaña + código lateral de pulsera, evidencias solo foto, scoping empleado/no-empleado.\n\n### Módulos 3+4 — Cadenas + pulseras QR (el gap estrella)\n- Modelo de datos: `chain_token` (pulsera, id lateral de 6 dígitos único por marca) → `chain` (1:1 con token) → `chain_link` (1–6 secuencial). BR-1..BR-6 a nivel de DB (constraints + triggers).\n- Activación vía RPC `activate_chain_token` (solo service_role, `FOR UPDATE` serializa concurrencia, re-escaneo idempotente, token digital cuando la pulsera es opcional).\n- Avance de cadena por trigger al APROBAR la evidencia (cubre validación ops y admin); transferencia consumada al activarse el siguiente eslabón.\n- Usuario: `/c/<qr>` (aterrizaje del QR con login `?next=`), `/c/enter` (alta manual), `/chains/[id]` (progreso, historial por alias, panel \"pasa la pulsera\"), \"Mis cadenas\" en `/mine`.\n- Admin: modalidad CADENA en el diseñador (eslabones 1–6, código de pulsera), pestañas Pulseras (QR de campaña + generación/impresión PDF/revocación) y Cadenas (trazabilidad completa), KPIs de cadenas en dashboard y `kpis.csv`.\n- No-empleados vía QR: membership limitada a la campaña (`scoped_campaign_id`, también en RLS por JWT).\n\n### Resto de gaps\n- **Reintentos**: `max_retries` enforced en submit + intentos restantes en status + campo en editor admin.\n- **Evidencias**: captura directa con cámara + galería (solo fotos, descope Kynda); geolocalización opcional con mapa OSM para validadores.\n- **RGPD**: `/legal/terms` + `/legal/privacy` (borrador para revisión legal), `/settings` con retirada/re-otorgamiento de consentimientos auditados; retirar TERMS/PRIVACY desactiva la cuenta.\n- **Emails**: resultado de validación (aprobado/rechazado con motivo e intentos/aclaración) con gate `VERCEL_TARGET_ENV` (stub fuera de prod).\n- **Hardening**: `/ops` ahora exige rol admin/staff; fix de recursión RLS preexistente (`is_member_of` SECURITY DEFINER).\n- **Docs entregables** en `docs/`: manuales usuario/admin, arquitectura, diagrama ER, inventarios (dependencias, activos/handover), backups+runbook, acta de aceptación, respuestas al Excel de Kynda.\n- Stack local movido a puertos 555xx (rango 544xx capturado por Windows).\n\n## Tests\n- Integración: **42/42** (incl. aislamiento tenant de cadenas, máquina de estados + carrera concurrente, revocación de consentimientos).\n- E2E Playwright: **13/13** (incl. `chain-flow.spec.ts`: flujo completo con 2 usuarios reales de navegador — QR → signup → activación → evidencia → validación → transferencia → cadena completada + CSV + scoping).\n- `pnpm build` OK · `supabase db lint` sin errores · migraciones aditivas (expand-only).\n\n## Pendiente operativo (no código) — ver docs/respuestas-kynda-hito1.md §4\nDNS por subdominio, RESEND_API_KEY real, PITR en prod, revisión legal, sesiones de traspaso, firma del acta.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-12T20:48:47Z","updated_at":"2026-08-11T09:59:07Z","closed_at":"2026-08-11T09:59:06Z","merged_at":null,"merge_commit_sha":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/5/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/5/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/5/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/2518be1f0adb8728b1ffa3ea9573e615af953a0b","head":{"label":"itproviders-netizen:claude/stupefied-faraday-b52880","ref":"claude/stupefied-faraday-b52880","sha":"2518be1f0adb8728b1ffa3ea9573e615af953a0b","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"fb1cf65bf44466251c065f2db61f3596668a4afb","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/5"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/5"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/5"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/5/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/5/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/5/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/2518be1f0adb8728b1ffa3ea9573e615af953a0b"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/4","id":3842224614,"node_id":"PR_kwDOSrWQNM7lA7Hm","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/4","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/4.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/4.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/4","number":4,"state":"closed","locked":false,"title":"chore(seed): non-prod test-data seeder (Lola + Carmen + demo)","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Adds scripts/seed-test-data.mjs: seeds Lola (BRAND_ADMIN) + Carmen (USER) + 35 demo invitations into a NON-production environment for easy testing. **Refuses to run against the production project** (prod stays clean: only the standing admins). Already run against cert (verified: roles correct, login OK; prod has neither user). The 3 standing admins keep going to every env via the admin_email_seed migration.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-10T19:48:02Z","updated_at":"2026-08-11T09:58:37Z","closed_at":"2026-08-11T09:58:28Z","merged_at":null,"merge_commit_sha":"ed7c35101fa0d32c0b370f97a19fd159d799c050","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/4/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/4/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/4/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/e84bf144ef851014d80ccb80d4cd5b96a7885381","head":{"label":"itproviders-netizen:chore/seed-test-data","ref":"chore/seed-test-data","sha":"e84bf144ef851014d80ccb80d4cd5b96a7885381","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"1eeb8017818f54e59619139265fdf3cd2aebd532","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/4"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/4"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/4"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/4/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/4/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/4/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/e84bf144ef851014d80ccb80d4cd5b96a7885381"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/3","id":3834226868,"node_id":"PR_kwDOSrWQNM7kiai0","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/3","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/3.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/3.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/3","number":3,"state":"closed","locked":false,"title":"Admin corporate redesign: nueva IA, KPIs/objetivos e informes, responsive","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"## Qué\n\nRediseño completo de la superficie de administración (`(brand-admin)`) hacia un lenguaje **corporativo** propio (slate/indigo, tarjetas limpias), distinto del front de usuario, siguiendo los mockups del cliente; más el modelo de **KPIs / objetivos / informes** y soporte **responsive** en móvil.\n\n## Navegación / IA\n- **Sidebar** nuevo: Inicio · Campañas · Catálogo · Validación · Impacto e informes · Participantes · Comunicaciones.\n  - \"Evidencias\" y \"Validación\" eran lo mismo → **un solo** ítem (cola cross-campaña).\n  - **Configuración** (acceso al portal + gestión de usuarios) se **fusiona en Participantes**. `/admin/users` y `/admin/settings` redirigen.\n- **Tabs de campaña 8 → 5**: Resumen · Evidencias (pendientes + galería) · Participantes · Impacto · Comunicaciones. \"Editar campaña\" pasa a botón.\n- **Responsive**: sidebar → drawer en móvil; la topbar móvil va dentro de la columna de contenido (arreglo del contenido que se apilaba a la derecha); formularios y grids apilan en móvil.\n\n## KPIs / objetivos / informes\n- 4 KPIs universales: **empleados participantes, personas beneficiadas, horas de voluntariado, acciones realizadas**.\n  - Participantes = empleados con evidencia validada ÷ invitados; acciones = evidencias aprobadas (automáticos).\n  - Beneficiarios / horas / métricas por tipo = el admin los introduce **al cerrar la acción** (informe ONG).\n  - Objetivos por campaña (`campaign.objectives`) → barra de \"% del objetivo\".\n- Páginas nuevas: **Inicio**, **Impacto e informes** (subpestañas Visión general / Por campaña / ESRS-ODS + gráfica), **Validación**, **Participantes**, **Comunicaciones**.\n- Gráfica de líneas en SVG (sin dependencias) con **escala logarítmica**, icono **\"?\"** explicando cada KPI (tooltip click + hover).\n\n## Datos / migraciones\n- `20260609000000_admin_kpis_objectives.sql`: añade `action.results` (jsonb) + `action.closed_at`.\n- `20260609010000_fix_admin_role_on_confirm.sql`: **bug fix** — `handle_user_confirmed` no aplicaba los roles de `admin_email_seed` al confirmar el email, así que los admins acababan como `USER`. Ahora sí, + backfill.\n- `supabase/seed.sql`: datos demo idempotentes **solo dev/cert** (no prod; `db push` no aplica seed.sql) — empleados, campañas con objetivos, jornadas cerradas con resultados, evidencias/validaciones, invitaciones, y admin Lola con login.\n- Agregaciones de marca por periodo en `apps/web/lib/db.ts`.\n\n## Notas para el revisor\n- El estilo de usuario (`components/kyn/atoms.tsx`, `inputs.tsx`) **no se toca**; los nuevos primitivos corporativos viven en `admin-ui.tsx` / `admin-controls.tsx` / `admin-shell.tsx` / `campaign-tabs.tsx` / `info-hint.tsx`.\n- `getCampaignImpact` sigue calculando kg/cajas desde evidencias; los nuevos acumulados de marca usan `action.results` + objetivos.\n- `db.ts` mantiene el patrón del repo (queries en la capa de datos, no en componentes).\n- Verificado: `typecheck` y `build` de producción limpios; recorrido funcional en local (Supabase Docker) con el seed.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n","created_at":"2026-06-09T19:57:09Z","updated_at":"2026-06-09T23:33:55Z","closed_at":"2026-06-09T23:33:55Z","merged_at":null,"merge_commit_sha":"b5787298a9b52869e52e7063e113e9d727843482","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/3/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/3/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/3/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/51449dc54236f2545086bdbe08d4afa641baf04b","head":{"label":"itproviders-netizen:claude/sleepy-banach-f91e6c","ref":"claude/sleepy-banach-f91e6c","sha":"51449dc54236f2545086bdbe08d4afa641baf04b","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"52d9b2203d6900e515dfff5daf9797632191233f","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/3"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/3"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/3"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/3/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/3/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/3/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/51449dc54236f2545086bdbe08d4afa641baf04b"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/2","id":3833422773,"node_id":"PR_kwDOSrWQNM7kfWO1","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/2","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/2.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/2.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/2","number":2,"state":"closed","locked":false,"title":"feat: dos entornos (Validación+Producción) + seed de admins + rediseño admin (unifica #2 y #3)","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"## Qué hace\n\nMonta los **entornos separados Validación + Producción** que pide el acuerdo (Plan 2.2 \"Entornos separados: Validación y Productivo\"; `functional requierements.md` §12).\n\n- **Modelo:** `main` → Validación (`kynda-cert`, ex-`kynda-app`, Supabase actual `lovcrkoofqffhdclxaxg`) donde Kynda aprueba (UAT); `production` → Producción (`kynda-prod`, Supabase limpio) donde corren los pilotos reales.\n- **Email:** el envío real se gatea con `KYNDA_ENV=production` (fail-safe: stub si no está), no `NODE_ENV` — con dos proyectos Vercel ambos reportan `production`.\n- **CI:** `deploy.yml` aplica migraciones por entorno (`migrate-cert` en `main`, `migrate-production` en `production`) + dispatch manual.\n- **Env as code:** `.env.cert.example` / `.env.production.example` con `KYNDA_ENV`; `sync-vercel-env.mjs` admite plantilla por entorno + deny-list ampliada; `setup-vercel-environments.mjs` renombra `kynda-app`→`kynda-cert` y crea `kynda-prod`.\n- **Docs:** `CLAUDE.md` con secciones Environments / Deployments / Testing.\n\n## Estado del provisioning (fuera de este diff)\n\n- Supabase Producción `kynda-prod` (ref `lfgaaijrzkufkbxwhmjz`, eu-west-3): **creado + 23 migraciones aplicadas** (27 tablas, RLS on, catálogo, sin PII). Advisors: sin ERROR.\n- Secrets de GitHub puestos: `SUPABASE_{CERT,PROD}_PROJECT_REF`, `SUPABASE_{CERT,PROD}_DB_PASSWORD`, `SUPABASE_PAT`.\n\n## Pendiente (Vercel — \"más tarde\")\n\nRename `kynda-app`→`kynda-cert` + crear proyecto Vercel `kynda-prod` (necesita token `vcp_*`: `node scripts/setup-vercel-environments.mjs`), Production Branch + dominio `bekynda.com`, env vars por proyecto, y crear/empujar la rama `production` para go-live.\n\n## Verificación\n\n- `pnpm --filter @kynda/web typecheck` pasa.\n- `supabase db push --include-all` aplicó limpio en el proyecto vacío de prod.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n","created_at":"2026-06-09T17:38:36Z","updated_at":"2026-06-09T23:43:28Z","closed_at":"2026-06-09T23:43:28Z","merged_at":"2026-06-09T23:43:28Z","merge_commit_sha":"1eeb8017818f54e59619139265fdf3cd2aebd532","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/2/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/2/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/2/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/5b0b2953eefb0d120298f8c95f69dc0e075cc8ef","head":{"label":"itproviders-netizen:claude/sad-noether-3c5026","ref":"claude/sad-noether-3c5026","sha":"5b0b2953eefb0d120298f8c95f69dc0e075cc8ef","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"52d9b2203d6900e515dfff5daf9797632191233f","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/2"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/2"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/2"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/5b0b2953eefb0d120298f8c95f69dc0e075cc8ef"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null},{"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/1","id":3797234552,"node_id":"PR_kwDOSrWQNM7iVTN4","html_url":"https://github.com/itproviders-netizen/kynda-poc/pull/1","diff_url":"https://github.com/itproviders-netizen/kynda-poc/pull/1.diff","patch_url":"https://github.com/itproviders-netizen/kynda-poc/pull/1.patch","issue_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/1","number":1,"state":"closed","locked":false,"title":"fix(prod): reconcile prod DB schema + restore public-schema grants","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"## Problema\n\nProducción (`kynda-app.vercel.app`, Supabase ref `lovcrkoofqffhdclxaxg`) tenía dos defectos **solo de prod**, porque la DB se aprovisionó desde un set de migraciones temprano/re-timestampeado y su historial **divergió del repo** (versiones `20260529131126…` en remoto vs `20260526000000…` en el repo). Por eso `supabase db push` no podía aplicar las pendientes (intentaría recrear el schema base → \"relation already exists\").\n\n### 1. Esquema/datos faltantes\nProd solo tenía aplicadas: `schema, rls, storage, seed_easyfairs, seed_second_action_and_brand, auth_user_provisioning`. Le faltaban 15 migraciones → sin `campaign.{visibility,cover_image_url,steps}`, `action.expected_impact`, `ong.legal_type`, `brand.signup_mode`, tabla `portal_allowlist`, catálogos ESRS/SDG, las 6 campañas de catálogo y el rename **KINDER→USER**.\n\n### 2. Grants del schema `public` (la causa raíz del outage)\nLas tablas de `public` tenían privilegios **solo para `postgres`**. `anon`, `authenticated` y `service_role` no tenían ninguno → toda query vía PostgREST devolvía `permission denied for table` (SQLSTATE 42501). El cliente admin (service_role) devolvía `null` en todas partes:\n- `getBrandBySlug` → **\"Portal no encontrado\"** en `/`\n- `getActionById` → **404** en `/actions/[id]`\n- `getCurrentMemberships` → vacío → admins **rebotados** de `/admin/*` a `/`\n\nEl login seguía funcionando porque usa GoTrue (schema `auth`), no estas tablas.\n\n## Fix\n\nAplicado a prod vía Supabase `apply_migration` y capturado aquí como migraciones **idempotentes**:\n\n- **`20260603120000_reconcile_prod_to_main.sql`** — re-ejecución en orden e idempotente de las 15 migraciones que faltaban (validada como no-op contra el stack local).\n- **`20260603130000_fix_public_schema_grants.sql`** — restaura los grants por defecto de Supabase a `anon/authenticated/service_role` sobre `public` (+ default privileges). RLS sigue filtrando filas para anon/authenticated; service_role hace bypass por diseño.\n\nTambién desactiva el contenedor local `analytics` en `supabase/config.toml`: en Windows requiere el daemon Docker en `tcp://localhost:2375` y si no, tumba todo el `supabase start`. No es necesario para correr la app.\n\n## Verificación (Playwright contra `kynda-app.vercel.app`)\n\n- Lola → aterriza en `/admin/dashboard`; las 11 páginas admin cargan (200).\n- Carmen → `/`, `/explore`, `/mine`, `/actions/[id]`, `/evidence`, `/status` todas 200.\n- `service_role` accede a `brand`/`action` (antes 403).\n\n> Nota: el historial de migraciones de prod sigue divergiendo del repo; estas dos migraciones se registraron en prod con su nombre, pero un `supabase db push` futuro seguirá sin casar por versión. Conviene un `supabase migration repair` para alinear historiales en una siguiente iteración.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","created_at":"2026-06-03T17:15:49Z","updated_at":"2026-06-03T19:37:51Z","closed_at":"2026-06-03T19:37:11Z","merged_at":"2026-06-03T19:37:10Z","merge_commit_sha":"caa168e53a5a3ad1404adeb94f7a5da28527519c","assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/1/commits","review_comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/1/comments","review_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/1/comments","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/0c3b203fce88a4ffc45e41416be339f29e0a1ba8","head":{"label":"itproviders-netizen:fix/reconcile-prod-schema","ref":"fix/reconcile-prod-schema","sha":"0c3b203fce88a4ffc45e41416be339f29e0a1ba8","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"itproviders-netizen:main","ref":"main","sha":"1a1612a26a5130eb50ba510b7c7a65c434d475fe","user":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":1253412916,"node_id":"R_kgDOSrWQNA","name":"kynda-poc","full_name":"itproviders-netizen/kynda-poc","private":true,"owner":{"login":"itproviders-netizen","id":274759176,"node_id":"U_kgDOEGB-CA","avatar_url":"https://avatars.githubusercontent.com/u/274759176?v=4","gravatar_id":"","url":"https://api.github.com/users/itproviders-netizen","html_url":"https://github.com/itproviders-netizen","followers_url":"https://api.github.com/users/itproviders-netizen/followers","following_url":"https://api.github.com/users/itproviders-netizen/following{/other_user}","gists_url":"https://api.github.com/users/itproviders-netizen/gists{/gist_id}","starred_url":"https://api.github.com/users/itproviders-netizen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itproviders-netizen/subscriptions","organizations_url":"https://api.github.com/users/itproviders-netizen/orgs","repos_url":"https://api.github.com/users/itproviders-netizen/repos","events_url":"https://api.github.com/users/itproviders-netizen/events{/privacy}","received_events_url":"https://api.github.com/users/itproviders-netizen/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/itproviders-netizen/kynda-poc","description":"Kynda POC — EasyFairs (Banco de Alimentos)","fork":false,"url":"https://api.github.com/repos/itproviders-netizen/kynda-poc","forks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/forks","keys_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/teams","hooks_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/hooks","issue_events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/events{/number}","events_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/events","assignees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/assignees{/user}","branches_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/branches{/branch}","tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/tags","blobs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/refs{/sha}","trees_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/{sha}","languages_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/languages","stargazers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/stargazers","contributors_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contributors","subscribers_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscribers","subscription_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/subscription","commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/commits{/sha}","git_commits_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/git/commits{/sha}","comments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/comments{/number}","issue_comment_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/comments{/number}","contents_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/contents/{+path}","compare_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/merges","archive_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/downloads","issues_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues{/number}","pulls_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls{/number}","milestones_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/milestones{/number}","notifications_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/labels{/name}","releases_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/releases{/id}","deployments_url":"https://api.github.com/repos/itproviders-netizen/kynda-poc/deployments","created_at":"2026-05-29T12:41:05Z","updated_at":"2026-08-21T16:16:17Z","pushed_at":"2026-08-21T16:06:09Z","git_url":"git://github.com/itproviders-netizen/kynda-poc.git","ssh_url":"git@github.com:itproviders-netizen/kynda-poc.git","clone_url":"https://github.com/itproviders-netizen/kynda-poc.git","svn_url":"https://github.com/itproviders-netizen/kynda-poc","homepage":"https://kynda-app.vercel.app","size":103603,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"private","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/1"},"html":{"href":"https://github.com/itproviders-netizen/kynda-poc/pull/1"},"issue":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/1"},"comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/itproviders-netizen/kynda-poc/statuses/0c3b203fce88a4ffc45e41416be339f29e0a1ba8"}},"author_association":"OWNER","auto_merge":null,"assignee":null,"active_lock_reason":null}]