From live-QA 2026-08-02 @ bb2d4a7, decision D5 / finding S4 (docs/testing/live-qa/2026-08-02-bb2d4a7/decisions.md).
Tester: "encourages editing content which should be stable like slugs … we need a separation between authoring triples and the contextual model metadata that is authored once."
Scope (src/cds/app/widgets.py + notebook): create-vs-revise modes — identity/placement (kind, slug, synthesis mapping) editable only at create, locked in revise; content (label, statement, links) freely editable; taller Statement textarea; buttons ordered by flow (compose → stage → verify → compile → commit); commit refusal text rewritten for the app user (no operator flags); "N staged, uncommitted" banner (staging is in-memory until commit).
Traceability: tests/app/test_app_widgets.py extensions (mode switch, identity lock, button order).
Closes only when feat/t8-concept-definition-app merges to main.
From live-QA 2026-08-02 @ bb2d4a7, decision D5 / finding S4 (docs/testing/live-qa/2026-08-02-bb2d4a7/decisions.md).
Tester: "encourages editing content which should be stable like slugs … we need a separation between authoring triples and the contextual model metadata that is authored once."
Scope (src/cds/app/widgets.py + notebook): create-vs-revise modes — identity/placement (kind, slug, synthesis mapping) editable only at create, locked in revise; content (label, statement, links) freely editable; taller Statement textarea; buttons ordered by flow (compose → stage → verify → compile → commit); commit refusal text rewritten for the app user (no operator flags); "N staged, uncommitted" banner (staging is in-memory until commit).
Traceability: tests/app/test_app_widgets.py extensions (mode switch, identity lock, button order).
Closes only when feat/t8-concept-definition-app merges to main.