{"v":{"id":183,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/130","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/130","number":130,"user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"title":"[P6] A completeness check the CLI runs before publishing (same report as the Explorer's Gaps tab)","body":"**Background.** Forms V2 is the new paperwork system for client visits. Each visit type is a \"release\" (forms, placements, interview questions). From 29 Sep 2026 most of it is **built by AI from the command line**, and people check it. Item **P6** in `docs\/ActionItems.md` (\u00a76, tooling).\n\n## What to do\nBefore anything is published (P3, #127), the CLI runs a check and refuses on failure:\n- every field on every form is either filled by something or has a recorded reason for being blank,\n- every branch of the interview can be reached,\n- no question is orphaned (fills nothing),\n- every shared element has a ruling (`scripts\/test-form-v2-shared.php`),\n- every form's proof PDF renders.\n\nThe Form Explorer's **Gaps** tab (built 30 Sep) shows the same report. Both must use the same code, so the screen and the CLI can't disagree.","ref":"","assets":[],"labels":[{"id":33,"name":"action","exclusive":false,"is_archived":false,"color":"d97706","description":"Action item tracked on the Connect dashboard","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/33"},{"id":10,"name":"area:forms","exclusive":false,"is_archived":false,"color":"1d76db","description":"Forms engine, packets, review\/approval","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/10"},{"id":1,"name":"feature","exclusive":false,"is_archived":false,"color":"0e8a16","description":"New user-facing capability","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/1"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":1,"created_at":"2026-10-01T10:02:29-05:00","updated_at":"2026-10-05T15:41:54-05:00","closed_at":null,"due_date":null,"pull_request":null,"repository":{"id":27,"name":"hhmanager","owner":"apiintl","full_name":"apiintl\/hhmanager"},"pin_order":0}}