# $defs.AbstainParams.description
Parameters for ABSTAIN. Populated in Phase 3.

# $defs.AddValidationCheckpointAction.description
Add a data-quality checkpoint to the graph.

# $defs.AddValidationCheckpointParams.description
Parameters for ADD_VALIDATION_CHECKPOINT. Populated in Phase 3.

# $defs.ConsolidateUnionBranchesParams.description
Parameters for CONSOLIDATE_UNION_BRANCHES. Populated in Phase 3.

# $defs.EvaluatorOnly.description
Results that must never appear in a policy observation.

subhadipmitra@: Decision: hidden validation outcomes live in their own type so that the
boundary is checkable. Structural separation alone does not stop application code copying
this into an observation; that needs the runtime leakage tests in Phase 3. This makes the
accident visible, it does not make it impossible.

# $defs.ExtractCommonSubgraphAction.description
Extract repeated logic into a shared model.

# $defs.ExtractCommonSubgraphParams.description
Parameters for EXTRACT_COMMON_SUBGRAPH. Populated in Phase 3.

# $defs.InferenceCost.description
Resources consumed producing one action.

# $defs.InlineTrivialModelAction.description
Inline a pass-through model into its consumers.

# $defs.InlineTrivialModelParams.description
Which pass-through model to inline into its consumers.

# $defs.Materialization.description
How a model is persisted.

The vocabulary follows dbt because it is the de facto standard for this problem domain. That
is a naming choice only: nothing in this package imports or requires dbt.

# $defs.MergeEquivalentModelsAction.description
Merge models that compute the same result.

# $defs.MergeEquivalentModelsParams.description
Which duplicate to drop, and which model its consumers should read instead.

# $defs.NodeObservation.description
One node, as a policy sees it.

subhadipmitra@: Decision: SQL text is included but node metadata is not. The SQL is the thing
being rationalized, so withholding it would make the task unsolvable, whereas metadata is an
open-ended map that generators, importers, and injectors all write into. Anything in the map
that a policy needs should be promoted to a named field and reviewed on its merits.

# $defs.Observation.description
The complete state a policy may condition on.

# $defs.PreconditionCheck.description
Outcome of the action-precondition stage of a transition.

# $defs.Provenance.description
Origin record for one serialized artifact.

# $defs.RemoveDeadModelAction.description
Remove a model that nothing required depends on.

# $defs.RewardVector.description
The reward components listed in docs/04.

subhadipmitra@: Decision: the trace stores a vector even when training optimizes a scalar.
Collapsing to a scalar at record time destroys the ability to tell a semantically invalid
cheap result from a valid expensive one after the fact, which is the distinction the whole
evaluation depends on.

# $defs.RewireDependencyAction.description
Repoint a dependency at a different upstream model.

# $defs.RewireDependencyParams.description
Parameters for REWIRE_DEPENDENCY. Populated in Phase 3.

# $defs.SourceKind.description
Category of input an artifact was derived from.

# $defs.SplitModelAction.description
Split an overloaded model into separate responsibilities.

# $defs.SplitModelParams.description
Parameters for SPLIT_MODEL. Populated in Phase 3.

# $defs.StopAction.description
End the episode and submit the current state.

# $defs.StopParams.description
Parameters for STOP. Populated in Phase 3.

# $defs.TerminationReason.description
Why an episode ended.

A controlled vocabulary rather than free text, so termination behaviour is aggregatable
across runs without string matching.

# $defs.TraceStep.description
One transition of an episode.

subhadipmitra@: Decision: the observation is stored as the typed `Observation` artifact, not
as a free-form map. Phase 0 reserved a flat map because the shape was not yet known; Phase 4
knows it. A typed field means a trace records exactly what the policy saw and nothing else,
and a reader can rely on that without trusting whoever wrote the episode. See ADR-041.

# $defs.ValidateSubgraphAction.description
Request validation of a subgraph without changing it.

# $defs.ValidateSubgraphParams.description
Parameters for VALIDATE_SUBGRAPH. Populated in Phase 3.