{"v":{"id":182,"url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/issues\/129","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/129","number":129,"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":"[P5] Repo files are the source of truth for forms; do the on-screen editors stay?","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 **P5** in `docs\/ActionItems.md` (\u00a76, tooling).\n\n## The principle\n**Everything the AI writes is a file in the repo**, reviewed as a diff, and the database is built from those files. This is the same approach already used for permissions (`code\/perms.inc.php` \u2192 `sync-perms.php`). It gives a history of every change and a review before it lands.\n\n## The problem\nThere are also on-screen editors (`\/admin\/form-v2-maps` for placements, `\/admin\/form-v2-workflows` for question order). An edit made there changes the database but not the files, and the next import from the files would undo it, or the two quietly drift apart.\n\n## Decision needed\n- **Remove the edit screens** (keep them read-only, or point to the Explorer), or\n- **keep them, but export every edit back to the files** so the files stay the truth.\n\nOur suggestion: make them read-only. Corrections go through a file change, which is what the AI and the review already work on.","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":3,"name":"design","exclusive":false,"is_archived":false,"color":"5319e7","description":"Design to agree before building","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/3"},{"id":4,"name":"question","exclusive":false,"is_archived":false,"color":"cc317c","description":"Open question, closes when answered","url":"https:\/\/www-s01.apinet.com\/codeforge\/api\/v1\/repos\/apiintl\/hhmanager\/labels\/4"}],"milestone":null,"assignee":null,"assignees":null,"state":"open","is_locked":false,"comments":0,"created_at":"2026-10-01T10:02:27-05:00","updated_at":"2026-10-01T10:02:27-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}}