Skip to content
AM

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:

Terminal window
./scripts/seed-glowstack-dimensional.sh

The 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:

Terminal window
./scripts/seed-glowstack-reconciliation.sh

This idempotent fixture adds three open bank cases against balanced journal entries:

CaseExample
MatchA Shopify payout matches one ledger entry
Split matchOne wholesale deposit matches two entries
Adjusting entryA 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.