FPDG001 | dagster-asset-package-layout | Asset packages use assets.py and main.py without legacy pipeline files. |
FPDG002 | dagster-assets-module-shape | assets.py exposes one asset, multi-asset, or asset factory and no private helpers. |
FPDG003 | dagster-assets-delegate-to-main | Asset callbacks import and directly delegate to the sibling main.py. |
FPDG004 | dagster-main-module-shape | Dagster main.py contains imports and one main() with an explicit result contract. |
FPDG005 | dagster-asset-callback-signature | Context is positional and injected dependencies are keyword-only. |
FPDG006 | dagster-import-boundaries | Asset imports stay within approved owner, dependency, utility, and resource boundaries. |
FPDG007 | dagster-definition-role-public-surface | Job, schedule, and sensor modules expose only Dagster definitions. |
FPDG008 | dagster-definition-role-module-layout | Automation trees use semantic modules and sanctioned private support roles. |
FPDG009 | dagster-definition-private-support-imports | Private automation support stays inside its owning directory. |
FPDG010 | dagster-operational-resource-layout | Operational resources use explicit resource and support roles. |
FPDG011 | dagster-definition-provider-type-honesty | Definitions providers are not cast or annotated as another Dagster definition type. |
FPDG012 | dagster-asset-config-module-shape | Asset configs use semantic modules with one concrete config and same-file binding. |
FPDG013 | no-dynamic-or-string-module-references | Dynamic imports and string-based project module references are forbidden. |
FPDG014 | dagster-model-declaration-placement | Runtime models use a models role or an automation-private _models.py. |
FPDG015 | dagster-exception-declaration-placement | Custom exceptions use an exceptions role or an automation-private _exceptions.py. |
FPDG016 | private-helper-boundary | _helpers and _classes imports stay inside their owning package subtree. |
FPDG017 | private-classes-role-shape | _classes modules contain only private classes and imports. |
FPDG018 | source-root-path-allowlist | Source-root paths belong to the Dagster architecture allowlist. |
FPDG019 | tooling-import-boundary | Production modules do not import from tooling roots. |
FPDG020 | runtime-package-owner-names | Runtime package directories identify an owner instead of using generic names. |
FPDG021 | test-root-directory-allowlist | Test-root directories use supported scopes. |
FPDG022 | dagster-autoload-external-discovery | Dagster autoload does not reach external discovery outside approved loader boundaries. |
FPDG023 | dagster-type-declaration-placement | Type declarations use a types role or an automation-private _types.py. |