pinky-provider
Update date : 2026-06-02
Declarative, idempotent IaC engine for Snowflake — 1 YAML file = 1 Snowflake object, Snowflake is the state.
Part of the pinky-and-co suite.
Explanation
- explanation/design.md — architecture, principes, DDL par resource, manifest/scope, RBAC, notifications, RACI. Not for: rationale des décisions (→
adr/) - explanation/dag.md — meta-resource DAG : modes déclenchement, tasks auto-injectées, SKIP cascade, contrat SPs. Not for: design général (→ design.md)
- explanation/features.md — MVP scope, roadmap, points ouverts. Not for: design rationale (→ design.md)
How-to
- how-to/deploy.md — déploiement
- how-to/test.md — exécution des tests
Reference
reference/generated/api/— API reference par module (populated when code is written). Not for: hand-written content — edit docstrings in src/
ADRs — decisions actées (ne pas re-débattre)
- adr/0001-pydantic-sdk-fields.md — Pydantic +
_sdk_fields()over jsonschema (benchmark mai 2026) - adr/0002-click-over-argparse.md — click over argparse
- adr/0003-rich-terminal-output.md — rich pour le rendu terminal
- adr/0004-zero-statefile.md — zéro statefile, Snowflake = source de vérité
- adr/0005-ddl-strategy-core-api-over-sql.md — Core API over SQL, SQL = fallback temporaire
- adr/0006-try-create-or-alter-except-create-or-replace.md — try CREATE OR ALTER / except CREATE OR REPLACE pour les objets stateless
- adr/0007-table-reorder-swap-over-ctas.md — reorder de colonnes : SWAP WITH over CTAS
- adr/0008-handler-python-sql-only.md — handlers UDF/SP/task : Python et SQL uniquement, pas de Java/Scala
- adr/0009-opinionated-stage-architecture.md — 4 slots de stages sémantiques, nom = contrat, zéro config
- adr/0010-repo-name-equals-schema-name.md — repo_name = schema_name, schéma cible dérivé du repo, zéro config CI
- adr/0011-session-query-tag-auto-injection.md — query tag JSON auto-injecté dans chaque SP
- adr/0012-url-first-notifications.md — URL-first (Pluto) : 4 types de contacts, email = alertes critiques uniquement
- adr/0013-conditional-cron-trigger-mode.md — CONDITIONAL_CRON : CRON + condition pinky-core.schedule → SKIP si false
- adr/0014-modular-resource-scope.md — Modular resource scope : schema / database / account
- adr/0015-field-curation-and-json-schema.md — couche de curation (
_field_overrides/_field_normalizers) + JSON Schema généré pour l'autocomplétion éditeur (amende ADR-0001)