From c5d58ec49d9a5e4cdb66612ecb291c561942870b Mon Sep 17 00:00:00 2001 From: Dennis Date: Mon, 24 Aug 2026 16:43:21 +0800 Subject: [PATCH] policy: plan devapp shortcut availability hardening --- .../approved-command-migrations-v1.json | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/scripts/policy/interface-migrations/approved-command-migrations-v1.json b/scripts/policy/interface-migrations/approved-command-migrations-v1.json index 52a6bff1..98703267 100644 --- a/scripts/policy/interface-migrations/approved-command-migrations-v1.json +++ b/scripts/policy/interface-migrations/approved-command-migrations-v1.json @@ -86,6 +86,54 @@ }, "state": "pending", "reason": "Move topic forwarding from chat message to the dedicated chat topic command while preserving the legacy executable command." + }, + { + "kind": "schema_availability_hardening", + "legacy": { + "command": "dws devapp +event-list", + "before": {"present": true, "runnable": true}, + "after": {"present": true, "runnable": true, "hidden": true} + }, + "schema": { + "product_id": "devapp", + "source_tool_id": "devapp.shortcut_event_list", + "parameters": [], + "availability": {"before": "available", "after": "unavailable"} + }, + "state": "pending", + "reason": "Fail closed until event-list proves authoritative terminal pagination for both non-empty and zero-result live fixtures." + }, + { + "kind": "schema_availability_hardening", + "legacy": { + "command": "dws devapp +member-add", + "before": {"present": true, "runnable": true}, + "after": {"present": true, "runnable": true, "hidden": true} + }, + "schema": { + "product_id": "devapp", + "source_tool_id": "devapp.shortcut_member_add", + "parameters": [], + "availability": {"before": "available", "after": "unavailable"} + }, + "state": "pending", + "reason": "Fail closed until a safe second-member fixture proves exact role readback and rollback for member addition." + }, + { + "kind": "schema_availability_hardening", + "legacy": { + "command": "dws devapp +member-remove", + "before": {"present": true, "runnable": true}, + "after": {"present": true, "runnable": true, "hidden": true} + }, + "schema": { + "product_id": "devapp", + "source_tool_id": "devapp.shortcut_member_remove", + "parameters": [], + "availability": {"before": "available", "after": "unavailable"} + }, + "state": "pending", + "reason": "Fail closed until a safe second-member fixture proves exact removal readback and restoration." } ] }