구조적으로 content-addressed
모든 publish는 번들을 안정적인 JSON으로 정규화하고 SHA-256으로 해싱합니다. 해시가 릴리스의 정체성이므로, 동일한 콘텐츠는 no-op으로 다시 publish되고 버전 레코드가 어떤 아티팩트를 가리키는지에 대한 모호함이 없습니다.
Relpin은 content-addressed 릴리스를 publish합니다. 모든 publish는 번들을 정규화하고 SHA-256으로 해싱하며, 정확한 platform 및 org 스키마 버전에 고정합니다. 동일한 아티팩트는 다시 빌드되지 않고 여러 환경에 걸쳐 승격됩니다.
identical content re-publishes as a no-op · version records append-only
대부분의 내부 도구 플랫폼은 에디터가 현재 담고 있는 것을 그대로 배포합니다. 결정론적 릴리스는 정확한 아티팩트 해시를 정확한 스키마 버전에 고정하므로, TEST에서 검토된 것이 PROD에서 실행되는 것과 바이트 단위로 동일합니다.
모든 publish는 번들을 안정적인 JSON으로 정규화하고 SHA-256으로 해싱합니다. 해시가 릴리스의 정체성이므로, 동일한 콘텐츠는 no-op으로 다시 publish되고 버전 레코드가 어떤 아티팩트를 가리키는지에 대한 모호함이 없습니다.
버전 레코드는 append-only이며, 빌드 시점의 정확한 platform 버전과 org 스키마 버전에 고정됩니다. 릴리스는 최신 에디터 상태를 가리키는 움직이는 포인터가 아니라, 기대하는 스키마에 묶인 고정된 아티팩트입니다.
DEV, TEST, PROD는 하나의 content-addressed 아티팩트를 공유합니다. 승격은 다시 빌드하지 않고 바로 그 아티팩트를 대상 환경으로 복제하며, apply 시점에 다시 검증되는 스키마 드리프트에 대해 fail-closed로 중단합니다. 승인은 아티팩트 해시에 묶여 있어 재계획 시 무효화됩니다.
Relpin에서 결정론적 릴리스는 content-addressed 아티팩트입니다. 모든 publish는 번들을 안정적인 JSON으로 정규화하고 SHA-256으로 해싱하며, 버전 레코드를 정확한 platform 및 org 스키마 버전에 고정합니다. 동일한 아티팩트는 다시 빌드되지 않고 여러 환경에 걸쳐 승격됩니다.
릴리스가 content-addressed이므로 동일한 콘텐츠는 동일한 SHA-256 해시를 만들어 no-op으로 다시 publish됩니다. 새 버전 레코드는 정규화된 번들이 실제로 바뀔 때만 생성됩니다.
배포 포인터는 forward-only이며 롤백 작업은 없습니다. 릴리스는 고정되어 DEV, TEST, PROD를 거쳐 앞으로만 승격되며, 승격은 apply 시점에 다시 검증되는 스키마 드리프트에 대해 fail-closed로 중단됩니다.