mirror of
https://github.com/Studio-Saelix/sencho.git
synced 2026-10-25 21:20:25 +00:00
ea905b758b
* feat(db): bind Blueprint content origin to a GitOps application Pair Git-managed Blueprints one-to-one with an application at the schema layer, and retain the original Direct stack identity so conversion can reuse credentials without minting a second live application. * feat(gitops): add guarded Blueprint binding transitions Reconfigure a live Direct application in place to Blueprint mode through a replay-safe store update, keeping identity and generation lineage stable while recording the mode change in history. * feat(gitops): convert Blueprints onto a live GitOps application Move an existing Direct application in place, freeze Inline YAML as a detach snapshot, and refuse compose edits and deletes while content is Git-managed. Previews expose non-secret source fields and rollback limitations only. * fix(blueprints): refuse Git-managed deploy, apply, and delete Skip reconciler and service apply paths, return 409 before withdraw or approval, and mint a blocked rollout candidate so a converted application stays visible as not executable. * feat(gitops): keep converted applications on the source controller Widen poll and retry scans to converted Blueprint sources, route accepted generations from the live target mode, and refuse Git-tab mutations while a Blueprint still holds the source stack. * feat(api): add Blueprint GitOps content-binding endpoints Expose convert, detach, and adopt so a Blueprint can bind a live Direct application without leaking retained source-stack identity. * feat(ui): add Git-managed Blueprint editor and binding dialogs Operators can convert, adopt, and detach Blueprint content onto a live Git source. The editor and Git tab stay read-only while rollout is blocked. * chore: document Git-managed Blueprint content binding Operator docs and What's New cover convert, detach, and the blocked rollout state. Marker parse keeps optional binding evidence, and Git-managed dispatch uses the operator-facing blocked reason. * test: type BlueprintEditor submit mocks without unused params * fix(gitops): close Blueprint binding audit gaps before QA Expose Retire routes and UI, return 409 on Git-managed blueprint PUT edits, and render binding preview markers and node actions in convert, adopt, detach, and retire dialogs. * fix(gitops): make claimed sheet, adopt, and retire paths production-safe Project blueprint-claimed sources on git-source GET. Adopt tombstones inline apps like convert. Retire restores the original stack identity and clears evidence. * chore(gitops): close non-blocking binding follow-ups Refresh stale projection comments, document Retire, include converted sources in polling settings, and remove unused blueprintModePromoted. * docs: mention Retire in Blueprint intro copy Keep the overview consistent with Detach-or-Retire exit paths.