Phase 4 (Performance) + Phase 6 (Infrastructure) completion
Phase 4 — Performance: - F1: SSH DialPool with key-by-host pooling and 5min idle TTL - F2: In-memory entity lookup cache (TTL 60s, HTTP resolveEntityID) - F3: Trigram GIN indexes on entities.slug and entities.name (migration 031) - F4: Partial index on executions(classification_id) for auto-act (migration 032) - Added missing RunOutput and RunStreaming in actuator/ (E3 gap fill) Phase 6 — Infrastructure: - H1: Infisical image pinned to v0.99.1 - H2: execworker daemon — polls pending executions with per-execution advisory locks, recovers orphaned running executions, wired as docker-compose service - H3: splitSQL hardened with block comment and string-literal support, 6 new edge-case tests (11 total) - H4: Scheduler acquires pg_try_advisory_lock(0x01c05e6) at startup
This commit is contained in:
9
migrations/031_entity_trigram_index.up.sql
Normal file
9
migrations/031_entity_trigram_index.up.sql
Normal file
@@ -0,0 +1,9 @@
|
||||
-- 031_entity_trigram_index.up.sql
|
||||
-- Add GIN trigram indexes on entities.slug and entities.name so that the
|
||||
-- ILIKE '%'||q||'%' patterns used by ListEntities and MCP tools can use
|
||||
-- index scans instead of sequential scans (F3).
|
||||
|
||||
CREATE EXTENSION IF NOT EXISTS pg_trgm;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_entities_slug_trgm ON entities USING GIN (slug gin_trgm_ops);
|
||||
CREATE INDEX IF NOT EXISTS idx_entities_name_trgm ON entities USING GIN (name gin_trgm_ops);
|
||||
8
migrations/032_auto_act_index.up.sql
Normal file
8
migrations/032_auto_act_index.up.sql
Normal file
@@ -0,0 +1,8 @@
|
||||
-- 032_auto_act_index.up.sql
|
||||
-- Add a partial index on executions(classification_id) to support the
|
||||
-- GetOpenSignalsForAutoAct anti-join: LEFT JOIN executions e ON
|
||||
-- e.classification_id = c.entity_id WHERE e.entity_id IS NULL (F4).
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_executions_classification
|
||||
ON executions (classification_id)
|
||||
WHERE entity_id IS NOT NULL;
|
||||
Reference in New Issue
Block a user