Layer 1: Data Source, Target y, Predictor x
Parent: Architecture
Previous: Layer 0: Study Scope
Current: Layer 1
Layer 1 owns the source-frame contract for a macro forecasting study. It decides which source data define the panel, the analysis frequency, what information is available at each forecast origin, what target y is being forecast, and which predictor x columns are eligible before Layer 2 builds research representations.
Simple vs Full
Simple asks for the data question directly: Data Source Mode, analysis
frequency when needed, target y, sample dates, and horizons. FRED-only studies
choose a FRED source panel; custom-only studies provide a custom file path and
frequency without choosing a FRED panel. Optional Simple helpers expose
FRED-SD state/variable selection and FRED-SD frequency evidence policies, but
the ordinary path keeps Layer 1 mostly defaulted.
Full exposes the complete Layer 1 source-frame contract. The live registry
keeps hidden compatibility axes for older custom-source recipes, but the
Navigator primary tree shows only user-facing decisions. Those axes are not all
the same depth: some are primary decisions, some are derived/required
follow-ups, some are conditional FRED-SD sub-decisions, and many are defaulted
policy controls. state_selection / sd_variable_selection are lower
source-load selectors used by explicit FRED-SD selector helpers and group
resolution.
Hierarchy
Layer 1 should be read as a hierarchy, not a flat checklist.
Level |
Group |
Axes |
Rule |
|---|---|---|---|
Primary decision |
Data Source Mode / Frequency |
|
First choose FRED-only, custom-only, or FRED-plus-custom data. Then close the analysis frequency. |
Primary policy |
Forecast-Time Information |
|
Defines the data revision/vintage regime, publication lag, and same-period x availability at each forecast origin. For custom-only data, only same-period x availability is exposed by default. |
Contract-derived |
Target (y) Definition |
|
Constrained by Layer 0 |
Secondary policy |
Predictor (x) Definition |
|
Limits eligible FRED-MD/QD x columns before Layer 2 builds representations. Custom-only x columns are defined by the custom file; standalone FRED-SD x columns are defined by state and series scope. |
Conditional subgroup |
FRED-SD Predictor Scope |
|
Active only when the FRED source panel includes FRED-SD. |
Secondary policy |
Raw source quality |
|
Handles defects present in raw source data before FRED transforms/T-codes. |
Secondary policy |
Official transform / frame availability |
|
Applies FRED-MD/QD official transform codes when available and closes source-frame availability gaps before Layer 2 begins. |
Decision order
Read Layer 1 in runtime order. The table below is ordered, but the hierarchy above explains which rows are parent decisions and which are subordinate controls.
Step |
Group |
Axes |
|---|---|---|
4.1.1 |
|
|
4.1.2 |
|
|
4.1.3 |
|
|
4.1.4 |
|
|
4.1.5 |
|
|
4.1.6 |
|
|
4.1.7 |
|
Defaults and Required Choices
Axis |
Simple default |
Full rule |
|---|---|---|
|
|
first source choice; choose FRED-only, custom-only, or FRED-plus-custom data |
|
required only when FRED data is used |
FRED source panel only: |
|
none |
required in |
|
inferred for FRED-MD/QD/composites; required for standalone FRED-SD and custom-only |
analysis frequency: monthly or quarterly |
|
|
data revision/vintage regime; hidden by default for custom-only data |
|
|
publication-lag rule; hidden by default for custom-only data; |
|
|
same-period predictor rule; |
|
|
defaulted; non-default values require a dataset containing FRED-SD |
|
|
defaulted; non-default values require FRED-SD |
|
|
defaulted; non-default values require FRED-SD |
|
|
conditional FRED-SD State List selector; |
|
|
conditional FRED-SD Series List selector; |
|
|
write |
|
|
FRED-MD/QD predictor metadata axis; hidden by default when no FRED-MD/QD source is selected |
|
|
defaulted; non-default values act before FRED transforms/T-codes |
|
|
defaulted; non-default values act before FRED transforms/T-codes |
|
|
FRED-MD/QD official t-code axis; hidden by default when no FRED-MD/QD source is selected |
|
|
FRED-MD/QD official t-code scope; hidden by default when no FRED-MD/QD source is selected |
|
|
defaulted after the Layer 1 source frame exists |
Layer contract
Input:
source request, custom-source request when relevant, target y request, and candidate predictor x request.
Output:
layer1_official_frame_v1, the compatibility artifact name for the Layer 1 source-frame handoff;source availability contract;
data reports for availability, release lag, missing policy, and FRED-SD source metadata when relevant.
Canonical names
Layer 1 is canonical-only. Recipes should use the axis IDs in the decision-order table and the values documented on each axis page. Removed aliases for source dispatch, information-set regime, and target shape are rejected during registry validation, so generated YAML, docs, and manifests stay on one vocabulary.
See encyclopedia
For the full per-axis × per-option catalogue (every value with its OptionDoc summary, when-to-use / when-NOT, references), see encyclopedia/l1/.