Governed substrate for autonomous agents: scoped identity (passports), audited actions, MCP workspace. Infra IPs and secrets redacted for public release.
52 lines
1.5 KiB
PL/PgSQL
52 lines
1.5 KiB
PL/PgSQL
-- ADR-156 Phase 5A Iteration 3: add `review_status` gate column to ADR widget
|
|
-- registry (table_id = 2197) so backend/routes/v3/bdd.js acceptance-confirm
|
|
-- gate can evaluate data.review_status.
|
|
--
|
|
-- Idempotent: safe to re-run. Architect spec:
|
|
-- column_name = review_status
|
|
-- type = select
|
|
-- display_name = Review
|
|
-- options (text) = JSON array of {value,label,color}
|
|
-- default_value = draft
|
|
-- order_index = 9 (spec said 8; position 8 is occupied by order_index column)
|
|
-- is_visible=1, is_required=0
|
|
--
|
|
-- `data` is jsonb → use jsonb concat (||) to backfill draft without clobbering.
|
|
|
|
BEGIN;
|
|
|
|
-- 1. Register the column (idempotent)
|
|
INSERT INTO table_columns (
|
|
table_id,
|
|
column_name,
|
|
display_name,
|
|
type,
|
|
options,
|
|
default_value,
|
|
order_index,
|
|
is_visible,
|
|
is_required
|
|
)
|
|
SELECT
|
|
2197,
|
|
'review_status',
|
|
'Review',
|
|
'select',
|
|
'[{"value":"draft","label":"Draft","color":"#6b7280"},{"value":"ready_for_review","label":"Ready for Review","color":"#f59e0b"},{"value":"in_review","label":"In Review","color":"#3b82f6"},{"value":"approved","label":"Approved","color":"#22c55e"},{"value":"rejected","label":"Rejected","color":"#ef4444"}]',
|
|
'draft',
|
|
9,
|
|
1,
|
|
0
|
|
WHERE NOT EXISTS (
|
|
SELECT 1 FROM table_columns
|
|
WHERE table_id = 2197 AND column_name = 'review_status'
|
|
);
|
|
|
|
-- 2. Backfill review_status=draft for rows that don't already have it
|
|
UPDATE table_rows
|
|
SET data = data || '{"review_status":"draft"}'::jsonb,
|
|
updated_at = CURRENT_TIMESTAMP
|
|
WHERE table_id = 2197
|
|
AND NOT (data ? 'review_status');
|
|
|
|
COMMIT;
|