Skip to content

feat(pgpm): change-granularity 'single' level + pgpm-projections skill - #1587

Merged
pyramation merged 2 commits into
mainfrom
feat/pgpm-change-granularity-single
Aug 1, 2026
Merged

feat(pgpm): change-granularity 'single' level + pgpm-projections skill#1587
pyramation merged 2 commits into
mainfrom
feat/pgpm-change-granularity-single

Conversation

@pyramation

Copy link
Copy Markdown
Contributor

Summary

Completes the change-granularity dial to three symmetric levels (mirrors statement granularity's atomic/object/consolidated), stacked on #1585:

--change-granularity alteration | object | single
  • single: the whole restructured module collapses into one plan entry (module/init by default; singleChangeName option) with one deploy/revert/verify. Requires collapse to only the input set's external deps (cross-module project:change refs survive; internal edges vanish). Implemented as an early branch in restructureChanges — deploy is the full topological script, revert/verify come from revertFor/verifyFor over all statements.
  • pgpm transform / pgpm diff / pgpm import accept the new value automatically via CHANGE_GRANULARITIES (usage text updated).
  • New skill .agents/skills/pgpm-projections/SKILL.md: documents the full projections pipeline — the four dials (granularity, change granularity, naming, partition), output projections (module / linear SQL / bundle), library seams, and the invariants (semantic identity + catalog equivalence across every dial combination).

Tests: unit (collapse, custom name, external-deps-only), live-Postgres transform-e2e (single-entry plan deploys to the identical catalog, verifies, reverts clean), and examples/pgpm-projections now asserts single-mode semantic invariance alongside alteration.

Link to Devin session: https://app.devin.ai/sessions/798445577ac8487abf80e28f9ff7a916
Requested by: @pyramation

@pyramation pyramation self-assigned this Aug 1, 2026
@devin-ai-integration

Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration
devin-ai-integration Bot changed the base branch from feat/pgpm-change-granularity to main August 1, 2026 05:30
@pyramation
pyramation merged commit 558a447 into main Aug 1, 2026
3 checks passed
@pyramation
pyramation deleted the feat/pgpm-change-granularity-single branch August 1, 2026 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant