Skip to content
PtahPtah

Strict Community Edition mode

Evidence verified

Strict mode is a conformance profile for comparison with the pinned Atlas Community Edition binary. It is not the recommended profile for ordinary Atlas migrations and it does not affect native ptah.

Enable it for one process:

Terminal window
PTAH_ATLAS_STRICT_COMPAT=1 ptah-compat schema inspect --help

The selector is an environment variable rather than a flag because the strict command surface is measured against Atlas CE. Adding a Ptah-only flag would change the very surface being compared.

Ptah constructs the CE command and flag tree before Cobra parses the invocation. Gated verbs use a Ptah-owned diagnostic that tells the operator to unset the selector for the complete compatibility surface. Known Ptah flag environment bindings and gated feature toggles are validated before help, version, arguments, project files, or database access.

Strict mode does not reserve every PTAH_* name. An atlas.hcl file may use getenv to read ordinary project inputs, so unrelated environment values remain available. The classified extension variables and their strict behavior are in Extension environment variables.

Strict mode rejects content Atlas CE cannot represent safely instead of discarding it:

  • Pro-only authored or live schema objects;
  • YAML desired-schema sources;
  • an authored schema apply lint policy the CE execution path cannot enforce;
  • extended atlas.hcl evaluation outside the supported CE subset;
  • Atlas txtar, Ptah directives, and SQL templates for commands that execute, convert, or replay migration bodies.

Checksum-only migration reads preserve those bytes because they do not execute or reinterpret the body.

Live schema inspect, apply, diff, and clean inventory catalog-only object kinds before output or mutation. A Pro-only object stops the operation; the result cannot silently describe less than the database contains. Cleanup validates the writer’s full destruction inventory, including dependent objects.

Strict mode preserves safety and correctness changes where copying CE would lose data, hide state, or fail for an unrelated reason. Those measured differences are Compatibility differences, not parity claims.

With the selector absent, ptah-compat retains every implemented Atlas Pro-like and best-effort capability. PostgreSQL extensions, sequences, and row-level security policies remain reachable on the compatibility surface; a Pro migration should not have to be rewritten against native command names to keep them.

Run CE differential and CLI-surface tests with the selector enabled. Run Pro-retention and ordinary compatibility tests with it absent. Passing only the strict profile proves nothing about the default migration surface, and command registration alone proves neither runtime behavior.

Use Conformance for the current measured contours and Feature matrix for capability-level status.