The Glowstack example dataset
Glowstack is the fictional operating company used by InBlack examples and fixture-agent scenarios. The repository provides focused Glowstack fixtures rather than one all-product dataset.
Company shape
Glowstack is a multi-brand flow-arts commerce business with direct, marketplace, retail, and wholesale activity. The example family exercises products, contacts, orders, custom fields, accounting reconciliation, and role-specific agent scenarios without using real customer data.
Dimensional fixture
After applying the normal local database seed, run:
./scripts/seed-glowstack-dimensional.shThe script uses DATABASE_URL when psql is available and otherwise targets the local inblack-postgres container. It is idempotent and refreshes the checked-in sample values.
The dimensional fixture declares four schemas:
commerce_product, including brand, material, color, channel, pricing, and margin fields.crm_contact, including acquisition channel, preferred brand, VIP tier, and lifetime value.commerce_order, including source channel, warehouse, gift message, and discounted total.marketing_campaign, including channel, audience segment, and attributed revenue.
It also writes sample custom values to the seeded contact, product, and order. The SQL is checked against the canonical Go fixture definitions by platform tests.
Reconciliation fixture
For Accounting reconciliation examples, run:
./scripts/seed-glowstack-reconciliation.shThis idempotent fixture adds three open bank cases against balanced journal entries:
| Case | Example |
|---|---|
| Match | A Shopify payout matches one ledger entry |
| Split match | One wholesale deposit matches two entries |
| Adjusting entry | A Stripe deposit has a fee residual |
Both database fixtures assume the tenant, accounts, products, orders, and connections created by migrations/seed.sql.
Persona-agent scenarios
The separate fixture-agent scenarios cover role and time-period behavior. Current files include the Glowstack family plus founder, bookkeeper, and CFO current-period scenarios.
These TypeScript scenarios are not database loaders. Use them for persona-agent tests and use the shell scripts for local database data.
Example consistency
Not every illustrative name or identifier in the guide is guaranteed to be a seeded row. When an example claims exact fixture parity, verify it against the SQL or scenario source above. Keep fictional examples Glowstack-specific and do not use real customer names or data.