-
Notifications
You must be signed in to change notification settings - Fork 2
How to use Config Studio
Config Studio is a guided configuration authoring tool for Interaction History based reporting. It lets you start from a representative IH sample, define preprocessing logic, approve the field catalog, generate a draft configuration with AI, and then review metrics, reports, and chat settings before exporting the final TOML.
Config Studio is intended to replace the older one-shot config generator workflow with a safer, more reviewable process.
Open the application and navigate to the Config Studio page.
Use the steps in order:
SampleRequired FieldsDefaultsFiltersCalculationsApprove FieldsAI Draft ReviewMetricsAI Report RefreshReport ReviewChat with DataApp SettingsSave & Export
The tool is designed so that each later step depends on the decisions made earlier.
If the uploaded IH sample contains more rows than this limit, Config Studio keeps a random sample of that size and uses it for profiling, preprocessing, field approval, and AI drafting.
This is useful for:
- speeding up schema profiling
- keeping preprocessing responsive
- avoiding AI prompts based on very large raw samples
The sidebar also contains optional AI settings:
- API key
- model
- reasoning effort
- verbosity
These are only required when you reach AI Draft Review, AI Report Refresh, or AI Repair.
Upload one representative IH sample file.
Supported file inputs for the studio:
parquetjsonzipgzip
This step shows:
- detected file type and file pattern
- raw schema preview
- raw sample rows
Use a sample that is structurally representative of the production files you want to analyze.
Choose the source columns used as:
OutcomeTimeDecisionTime
These are then used to derive:
DayMonthYearQuarterResponseTime
Those derived fields appear in later steps and can be used in metrics, reports, and AI suggestions.
Required Interaction History fields are locked into the approved catalog because later preprocessing, metrics, and reports depend on them.
Defaults define what happens when required or useful columns are missing or null.
Use this step to:
- fill null values in existing columns
- create missing columns with literal defaults
Defaults are applied before filters.
Define a dataset-level Interaction History filter using either:
- simple rule rows
- raw Polars expression
The filter is written into:
[ih.extensions]
filter = """..."""Config Studio applies filters before calculated fields. If preprocessing produces zero rows, later steps are blocked and the studio asks you to return to the filter, defaults, runtime, or calculated-field settings.
Use this table to define new columns from Polars expressions.
Examples:
pl.when(pl.col("CustomerID").str.slice(0, 1) == "C").then(pl.lit("Customers known")).otherwise(pl.lit("Device/Anonymous"))If the expression does not contain .alias(...), Config Studio will automatically alias it to the field name from the Name column.
Calculated fields are written into:
[ih.extensions]
columns = """[...]"""Subject ID handling can also add a SubjectID calculated field when a non-standard source column is selected.
Runtime settings are surfaced in the early preprocessing steps because they affect how the runtime reads Interaction History files:
file_typefile_patternih_group_patternhive_partitioningstreamingbackground
-
file_typeRuntime reader selection. In this app the supported values areparquetandpega_ds_export. -
file_patternGlob pattern used to discover IH files. -
ih_group_patternRegex used to derive IH file groups from file names. -
hive_partitioningFor parquet scans, infer statistics and schema from hive-partitioned paths and use them to prune reads. -
streamingPrefer Polars streaming engine during collection instead of the defaultautoengine. -
backgroundRun collection in the background and return a handle that can later fetch or cancel the result. Polars marks background mode as unstable.
Config Studio follows the same broad preprocessing order as the runtime pipeline:
- apply default values
- apply IH filter
- derive time fields
- add calculated fields
If preprocessing produces zero rows, Config Studio blocks later steps and asks you to return here and relax the filter or adjust preprocessing rules.
This step defines the field catalog that AI is allowed to use.
Fields required by the application are locked in automatically and cannot be removed.
All other available fields can be included or excluded from the approved catalog.
Only approved fields are used later for:
- metric
group_by - metric
global_filters - metric field references
- AI-generated reports and mappings
The field catalog includes automatic tags such as required fields, time fields, likely IDs, business dimensions, numeric measures, high-cardinality fields, and fields needing review. Use those tags to decide which columns should be available to AI.
Before generation, the studio shows what will be sent to AI:
- approved field names
- fields hidden from AI
- sample values shared with AI
- sample values masked from AI
- approximate prompt size
Uncheck Share Sample Values for fields where the column name is enough and examples should not be included in the prompt.
Use this step to intentionally narrow the configuration surface before AI suggestions are generated.
At this step the tool combines:
- the approved field catalog
- the current IH preprocessing configuration
- the config template
and asks the LLM to generate:
[metrics][reports][variants]
The page also shows:
IH Config PreviewApproved Schema PreviewAI Privacy Summary- the full AI prompt in a popover
If AI generation succeeds, the result becomes a pending draft. It is not immediately applied.
Review the draft changes before accepting:
- added, changed, removed, and unchanged metric sections
- added, changed, removed, and unchanged report sections
- variant changes
- fields and scores referenced by the generated output
You can keep or reject generated metrics and reports. Reports tied to rejected metrics are excluded automatically. Only after Accept Selected Draft does the draft become editable in later steps.
This step is a review and correction step for AI-generated metrics.
metrics.global_filters- each metric
group_by - response settings like
positive_model_responseandnegative_model_response - descriptive columns
- metric-specific field mappings
- metric filters
Only approved fields can be used for:
global_filtersgroup_by- field reference settings such as
experiment_name,customer_id_col,purchase_date_col, and similar fields
Metric filter expressions are allowed as raw Polars expressions, but Config Studio checks pl.col("...") references and blocks unapproved fields.
After metric edits, continue to AI Report Refresh so reports can be regenerated from the updated metric grouping fields.
This step rebuilds only [reports] from the current draft metrics and approved schema.
Use it after metric edits to:
- remove reports that no longer match the metric definitions
- add reports for newly available grouping fields
- keep report keys stable where possible
- rebuild report mappings without changing preprocessing, metrics, variants, UX, or chat settings
The current metrics and current reports are shown side by side, and the report refresh prompt is available in a popover.
This step reuses the visual report builder.
Use it to:
- delete weak AI-generated reports
- refine field mappings
- switch supported reports between visual and raw modes
- create additional reports manually
The builder remains backward compatible with the current TOML report structure.
The page also shows a report validation summary with:
- total report count
- ready reports
- reports with warnings
- reports with errors
- a per-report table with metric, type, status, and issue summary
When validation finds blocking errors in AI-owned sections, the studio can generate a targeted AI repair.
AI Repair can update:
[metrics][reports][variants]
It cannot update:
[ih][holdings][ux][copyright][chat_with_data]
Repair proposals follow the same review-first process as the initial draft:
- The repair prompt includes the current draft and validation errors.
- The AI response must include replacement
[metrics]and[reports]sections. - The proposed repair is stored as pending.
- The studio shows metric, report, and variant changes.
- The repair is validated before it can be accepted.
- Stale repairs are blocked if the draft changed after repair generation.
Use this step to review and adjust:
ux.chat_with_data[chat_with_data][chat_with_data.metric_descriptions]
This is the final place to align the assistant prompt and metric descriptions with the generated metrics and reports.
Use this step to review app-level settings that are not part of metric or report generation:
- UX settings
- branding
- variant metadata
Chat enablement stays in Chat with Data; this step handles the remaining application settings.
This step shows the final combined TOML and enables:
- download of the generated config
- activation of the draft config in the current app session
Config Studio does not expose apply/download earlier in the flow. The goal is to make sure preprocessing, metrics, reports, chat settings, and app settings have all been reviewed first.
Apply and download are disabled while blocking validation errors remain.
Config Studio shows two shared review aids near the top of the page:
- Config Health summarizes current validation errors, warnings, and info messages.
- Review Progress shows badges for preprocessing, field approval, AI draft, metrics, reports, AI repair, and final export.
Badge meanings:
-
Ready: no issues found for that area -
Needs Review: warnings or pending AI review remain -
Blocked: blocking validation errors remain -
Pending: the area is not available yet
- Start with a sample that has realistic values, not only schema-complete records.
- Keep preprocessing simple first, then add calculated fields incrementally.
- Use
Approve Fieldsaggressively to remove noisy technical columns before AI generation. - Review
MetricsbeforeAI Report Refresh; most report issues come from weak metric definitions, not from the report builder itself. - If AI produces too many reports, reject them during
AI Draft Reviewor delete them inReport Review. - Use
AI Repairfor blocking metric/report validation errors, but still inspect the repair diff before accepting it.
- Config Studio currently starts from IH samples only.
- AI output is constrained, but still requires review.
- Runtime preview of actual charts is not part of the current flow.
-
backgroundbehavior follows current Polars semantics and should be treated carefully.
Go back to 3. Defaults, 4. Filters, or 5. Calculations and check:
- overly strict IH filter
- incorrect default values
- calculated fields that depend on missing columns
This is expected. Required IH fields are locked because later metrics and reports depend on them.
Check the pl.col("...") references in the filter expression. Every referenced field must be part of the approved field catalog.
Make sure:
- preprocessing does not fail
- preprocessing does not return zero rows
- an API key is configured in the sidebar
Check whether:
- the proposed repair still has metric or report validation errors
- the draft changed after the repair was generated
- the error belongs to a non-AI-owned section such as
[ih],[ux], or[chat_with_data]
Discard stale repairs and generate a fresh repair after manual edits.
The final output is a standard TOML configuration file that remains manually editable and compatible with the rest of the application.
Developed with ❤️ by EMEA MDA Team