412 lines
12 KiB
SQL
412 lines
12 KiB
SQL
-- Migration: Insert frozen primitive dictionary (36 primitives)
|
|
-- Description: Populates the primitives table with the complete URT taxonomy
|
|
-- Date: 2025-01-31
|
|
|
|
-- Quality dimension (8 primitives)
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'EFFECTIVENESS',
|
|
'QUALITY',
|
|
'Effectiveness',
|
|
'Did it achieve its intended purpose?',
|
|
FALSE,
|
|
'["worked perfectly", "exactly what I needed", "solved my problem"]',
|
|
'["didn''t work", "useless", "waste of time"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'TASTE',
|
|
'QUALITY',
|
|
'Taste',
|
|
'Sensory quality (flavor, texture, smell)',
|
|
FALSE,
|
|
'["delicious", "amazing taste", "flavorful"]',
|
|
'["bland", "tasteless", "disgusting"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'CRAFT',
|
|
'QUALITY',
|
|
'Craft',
|
|
'Skill of execution, workmanship',
|
|
FALSE,
|
|
'["well-made", "professional", "quality work"]',
|
|
'["sloppy", "poorly made", "amateur"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'ACCURACY',
|
|
'QUALITY',
|
|
'Accuracy',
|
|
'Correct as ordered/specified',
|
|
FALSE,
|
|
'["exactly what I ordered", "perfect", "got everything right"]',
|
|
'["wrong order", "missing items", "not what I asked for"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'FRESHNESS',
|
|
'QUALITY',
|
|
'Freshness',
|
|
'Fresh vs stale/expired',
|
|
FALSE,
|
|
'["fresh", "just made", "new"]',
|
|
'["stale", "old", "expired"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'TEMPERATURE',
|
|
'QUALITY',
|
|
'Temperature',
|
|
'Appropriate temperature for the item',
|
|
FALSE,
|
|
'["hot", "perfect temperature", "cold as it should be"]',
|
|
'["cold", "lukewarm", "too hot", "room temperature"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'CONDITION',
|
|
'QUALITY',
|
|
'Condition',
|
|
'Physical state, damage, defects',
|
|
FALSE,
|
|
'["perfect condition", "like new", "undamaged"]',
|
|
'["damaged", "broken", "defective"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'CONSISTENCY',
|
|
'QUALITY',
|
|
'Consistency',
|
|
'Same quality across visits/units',
|
|
FALSE,
|
|
'["always consistent", "reliable quality", "same every time"]',
|
|
'["inconsistent", "hit or miss", "varies"]'
|
|
);
|
|
|
|
-- Service dimension (4 primitives)
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'MANNER',
|
|
'SERVICE',
|
|
'Manner',
|
|
'Warmth, respect, patience in interactions',
|
|
FALSE,
|
|
'["friendly", "nice", "welcoming", "patient"]',
|
|
'["rude", "dismissive", "impatient", "attitude"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'COMPETENCE',
|
|
'SERVICE',
|
|
'Competence',
|
|
'Knowledge and skill of staff',
|
|
FALSE,
|
|
'["knowledgeable", "professional", "knew what they were doing"]',
|
|
'["clueless", "incompetent", "didn''t know"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'ATTENTIVENESS',
|
|
'SERVICE',
|
|
'Attentiveness',
|
|
'Present, notices needs, proactive',
|
|
FALSE,
|
|
'["attentive", "checked on us", "anticipated needs"]',
|
|
'["ignored", "had to flag down", "neglected"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'COMMUNICATION',
|
|
'SERVICE',
|
|
'Communication',
|
|
'Clear, listens, keeps informed',
|
|
FALSE,
|
|
'["clear", "good communication", "kept us updated"]',
|
|
'["confusing", "didn''t listen", "no updates"]'
|
|
);
|
|
|
|
-- Process dimension (4 primitives)
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'SPEED',
|
|
'PROCESS',
|
|
'Speed',
|
|
'How fast/slow things happen',
|
|
FALSE,
|
|
'["fast", "quick", "no wait"]',
|
|
'["slow", "took forever", "long wait"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'FRICTION',
|
|
'PROCESS',
|
|
'Friction',
|
|
'Ease vs obstacles in the process',
|
|
FALSE,
|
|
'["easy", "smooth", "hassle-free"]',
|
|
'["complicated", "difficult", "hassle"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'RELIABILITY',
|
|
'PROCESS',
|
|
'Reliability',
|
|
'Process works consistently, no errors',
|
|
FALSE,
|
|
'["reliable", "dependable", "always works"]',
|
|
'["unreliable", "errors", "problems"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'AVAILABILITY',
|
|
'PROCESS',
|
|
'Availability',
|
|
'Hours, capacity, stock availability',
|
|
FALSE,
|
|
'["always available", "open when needed", "in stock"]',
|
|
'["closed", "sold out", "no appointments"]'
|
|
);
|
|
|
|
-- Environment dimension (6 primitives)
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'CLEANLINESS',
|
|
'ENVIRONMENT',
|
|
'Cleanliness',
|
|
'Clean, sanitary conditions',
|
|
FALSE,
|
|
'["clean", "spotless", "hygienic"]',
|
|
'["dirty", "filthy", "unsanitary"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'COMFORT',
|
|
'ENVIRONMENT',
|
|
'Comfort',
|
|
'Physical comfort of the space',
|
|
FALSE,
|
|
'["comfortable", "cozy", "spacious"]',
|
|
'["uncomfortable", "cramped", "hard seats"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'AMBIANCE',
|
|
'ENVIRONMENT',
|
|
'Ambiance',
|
|
'Vibe, atmosphere, noise level',
|
|
FALSE,
|
|
'["nice atmosphere", "great vibe", "quiet"]',
|
|
'["loud", "noisy", "bad atmosphere"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'SAFETY',
|
|
'ENVIRONMENT',
|
|
'Safety',
|
|
'Physical and health safety',
|
|
FALSE,
|
|
'["safe", "secure", "clean protocols"]',
|
|
'["unsafe", "dangerous", "health hazard"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'ACCESSIBILITY',
|
|
'ENVIRONMENT',
|
|
'Accessibility',
|
|
'Disability access, location convenience',
|
|
FALSE,
|
|
'["accessible", "easy to get to", "good parking"]',
|
|
'["hard to access", "no parking", "not wheelchair accessible"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'DIGITAL_UX',
|
|
'ENVIRONMENT',
|
|
'Digital UX',
|
|
'App/website usability and performance',
|
|
FALSE,
|
|
'["easy to use", "great app", "fast website"]',
|
|
'["app crashed", "hard to navigate", "slow website"]'
|
|
);
|
|
|
|
-- Value dimension (4 primitives)
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'PRICE_LEVEL',
|
|
'VALUE',
|
|
'Price Level',
|
|
'Absolute cost perception',
|
|
FALSE,
|
|
'["affordable", "cheap", "good prices"]',
|
|
'["expensive", "overpriced", "pricey"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'PRICE_FAIRNESS',
|
|
'VALUE',
|
|
'Price Fairness',
|
|
'Fair value for what was received',
|
|
FALSE,
|
|
'["fair price", "worth it", "good value"]',
|
|
'["rip off", "not worth it", "overcharged"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'PRICE_TRANSPARENCY',
|
|
'VALUE',
|
|
'Price Transparency',
|
|
'Clear pricing, no surprises',
|
|
FALSE,
|
|
'["clear pricing", "no hidden fees", "upfront"]',
|
|
'["hidden fees", "surprise charges", "bait and switch"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'VALUE_FOR_MONEY',
|
|
'VALUE',
|
|
'Value for Money',
|
|
'Overall worth judgment',
|
|
FALSE,
|
|
'["great value", "worth every penny", "good deal"]',
|
|
'["bad value", "waste of money", "not worth it"]'
|
|
);
|
|
|
|
-- Trust dimension (3 meta primitives)
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'HONESTY',
|
|
'TRUST',
|
|
'Honesty',
|
|
'Truthful, no deception',
|
|
TRUE,
|
|
'["honest", "transparent", "truthful"]',
|
|
'["lied", "deceived", "dishonest", "scam"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'ETHICS',
|
|
'TRUST',
|
|
'Ethics',
|
|
'Ethical, fair dealing',
|
|
TRUE,
|
|
'["ethical", "fair", "integrity"]',
|
|
'["unethical", "shady", "crooked"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'PROMISES',
|
|
'TRUST',
|
|
'Promises',
|
|
'Kept or broken commitments',
|
|
TRUE,
|
|
'["kept their word", "delivered as promised", "reliable"]',
|
|
'["broke promise", "didn''t deliver", "false advertising"]'
|
|
);
|
|
|
|
-- Resolution dimension (3 meta primitives)
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'ACKNOWLEDGMENT',
|
|
'RESOLUTION',
|
|
'Acknowledgment',
|
|
'Recognized the problem',
|
|
TRUE,
|
|
'["acknowledged", "apologized", "admitted mistake"]',
|
|
'["denied", "dismissed", "blamed me"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'RESPONSE_QUALITY',
|
|
'RESOLUTION',
|
|
'Response Quality',
|
|
'How well they handled the issue',
|
|
TRUE,
|
|
'["handled well", "resolved quickly", "took care of it"]',
|
|
'["ignored complaint", "unhelpful", "made it worse"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'RECOVERY',
|
|
'RESOLUTION',
|
|
'Recovery',
|
|
'Made it right, compensation',
|
|
TRUE,
|
|
'["made it right", "refunded", "compensated"]',
|
|
'["refused refund", "no compensation", "wouldn''t fix"]'
|
|
);
|
|
|
|
-- Loyalty dimension (3 meta primitives)
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'RETURN_INTENT',
|
|
'LOYALTY',
|
|
'Return Intent',
|
|
'Will/won''t come back',
|
|
TRUE,
|
|
'["will be back", "returning customer", "coming again"]',
|
|
'["never again", "won''t return", "last time"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'RECOMMEND',
|
|
'LOYALTY',
|
|
'Recommend',
|
|
'Would/wouldn''t recommend',
|
|
TRUE,
|
|
'["highly recommend", "tell everyone", "must try"]',
|
|
'["avoid", "don''t go", "stay away", "wouldn''t recommend"]'
|
|
);
|
|
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'RECOGNITION',
|
|
'LOYALTY',
|
|
'Recognition',
|
|
'Felt valued, remembered',
|
|
TRUE,
|
|
'["remembered me", "felt valued", "personal touch"]',
|
|
'["treated like a number", "didn''t care", "no loyalty"]'
|
|
);
|
|
|
|
-- Escape dimension (1 meta primitive)
|
|
INSERT INTO pipeline.primitives (code, dimension, name, definition, is_meta, base_positive_signals, base_negative_signals)
|
|
VALUES (
|
|
'UNMAPPED',
|
|
'ESCAPE',
|
|
'Unmapped',
|
|
'Does not fit taxonomy; preserve evidence',
|
|
TRUE,
|
|
'[]',
|
|
'[]'
|
|
);
|
|
|
|
-- Verify count
|
|
-- SELECT COUNT(*) FROM pipeline.primitives; -- Should return 36
|