@team-semicolon/semicolony-cli 4.18.81 → 4.18.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
-- 187_worker_agent_decision_digest_repair.sql
|
|
2
|
+
--
|
|
3
|
+
-- Migration 186 qualified pgcrypto.digest through public, but production keeps
|
|
4
|
+
-- pgcrypto in the isolated knowledge_fabric_crypto schema. Repair the already
|
|
5
|
+
-- installed recorder without depending on any extension schema. Fresh installs
|
|
6
|
+
-- already receive the pg_catalog SHA-256 primitive from the corrected 186 file.
|
|
7
|
+
|
|
8
|
+
DO $repair$
|
|
9
|
+
DECLARE
|
|
10
|
+
v_function regprocedure :=
|
|
11
|
+
'semicolony.record_worker_agent_decision(uuid,uuid,text,text,text,text)'::regprocedure;
|
|
12
|
+
v_definition text;
|
|
13
|
+
v_repaired text;
|
|
14
|
+
v_old constant text :=
|
|
15
|
+
'public.digest(convert_to(p_content, ''UTF8''), ''sha256'')';
|
|
16
|
+
v_new constant text :=
|
|
17
|
+
'pg_catalog.sha256(convert_to(p_content, ''UTF8''))';
|
|
18
|
+
v_old_occurrences integer;
|
|
19
|
+
BEGIN
|
|
20
|
+
SELECT pg_get_functiondef(v_function::oid) INTO STRICT v_definition;
|
|
21
|
+
v_old_occurrences :=
|
|
22
|
+
(char_length(v_definition) - char_length(replace(v_definition, v_old, '')))
|
|
23
|
+
/ char_length(v_old);
|
|
24
|
+
|
|
25
|
+
IF v_old_occurrences = 0 AND position(v_new IN v_definition) > 0 THEN
|
|
26
|
+
RETURN;
|
|
27
|
+
END IF;
|
|
28
|
+
IF v_old_occurrences <> 1 THEN
|
|
29
|
+
RAISE EXCEPTION 'unexpected Worker-agent decision recorder digest definition';
|
|
30
|
+
END IF;
|
|
31
|
+
|
|
32
|
+
v_repaired := replace(v_definition, v_old, v_new);
|
|
33
|
+
EXECUTE v_repaired;
|
|
34
|
+
END;
|
|
35
|
+
$repair$;
|
|
36
|
+
|
|
37
|
+
REVOKE ALL ON FUNCTION semicolony.record_worker_agent_decision(
|
|
38
|
+
uuid, uuid, text, text, text, text
|
|
39
|
+
) FROM PUBLIC, app, sc_provider;
|
|
40
|
+
GRANT EXECUTE ON FUNCTION semicolony.record_worker_agent_decision(
|
|
41
|
+
uuid, uuid, text, text, text, text
|
|
42
|
+
) TO sc_app;
|
package/migrations/README.md
CHANGED
|
@@ -25,6 +25,7 @@ SEMICOLONY CLI의 PostgreSQL 마이그레이션 파일들.
|
|
|
25
25
|
| `184_worker_agent_workspace_profile.sql` | Hermes Agent immutable release가 참조하는 `semo-ops-worker-agent` DB 정본 프로필 시드 |
|
|
26
26
|
| `185_worker_agent_feedback_scope.sql` | Hermes Semi/Colony actor에 정확한 feedback 범위·귀속을 추가하고 기존 바인딩만 백필 |
|
|
27
27
|
| `186_worker_agent_decision_capture.sql` | operator 승인 reference와 actor-bound decision recorder를 추가하고 정확한 decision scope만 백필 |
|
|
28
|
+
| `187_worker_agent_decision_digest_repair.sql` | Phase 6 decision recorder를 extension schema와 무관한 PostgreSQL SHA-256 primitive로 교정 |
|
|
28
29
|
|
|
29
30
|
## 007: Flat Skill Naming
|
|
30
31
|
|