crucible build parity #14

Merged
archvillainette merged 10 commits from crucible-build-parity into main 2026-06-21 13:17:58 +00:00
Owner

forces build parity with crucible = local builds and CI/CD builds use different tools.

forces build parity with crucible = local builds and CI/CD builds use different tools.
archvillainette added 10 commits 2026-06-21 13:12:53 +00:00
Lock identity for accessory VFX rows is now the model source path
(dataset:group/subgroup/file.mdl) rather than the config-derived
presentation key. Config-only edits (key_format, delimiter, case,
strip_prefixes) no longer reshuffle row IDs.

Adds: accessoryVisualeffectLockKey, hasKey helper, stale pruning loop
(managed keys with no live entry are freed), and one-time cutover remap
(old config-derived key in historical lock → new model-path key, with
the old key pruned). autogenConsumerManagedLockKeyMatcher is now
config-independent (dataset prefix + first path segment ∈ policy groups).

Updates autogen_manifest_file_test.go and topdata_test.go lock-key
assertions to match the new model-path scheme.
Adds materializeAssetLFS + hasLFSPointerStubs helpers to top_package.go.
Called at the top of packageBuiltTopData so bare CI checkouts never ship
~130-byte LFS pointer stubs. Opt-out via CRUCIBLE_SKIP_LFS env or the new
--skip-lfs flag on build-topdata / build-top-package.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
CRUCIBLE_SKIP_LFS env is the single skip mechanism; BuildAndPackageOptions
had a dead SkipLFS field that implied the option propagated through the build
API but was only ever env-bridged in the CLI run functions. Replace the struct
field with a local buildTopDataArgs wrapper and set the env at the CLI entry
point directly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(project): exempt cdn_channel consumers from released-source validation; review polish
build-binaries / build-binaries (pull_request) Successful in 2m24s
test-image / build-image (pull_request) Successful in 50s
test / test (pull_request) Successful in 1m34s
f833f979ea
- Extend ValidateLayout exemption so cdn_channel consumers skip root/include/
  derive/manifest requirements (they resolve entirely from Source.* at runtime).
- Add TestValidateLayoutAcceptsCDNChannelConsumerWithoutReleasedSourceFields.
- Fix inverted precedence comment in CDN-base resolution block (autogen.go:325).
- Add broken-YAML subtest to TestResolveCDNChannelHardFail.
- Add assumption comment to autogenConsumerManagedLockKeyMatcher re folder_name+preserve.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
archvillainette merged commit 3315f8b7eb into main 2026-06-21 13:17:58 +00:00
archvillainette deleted branch crucible-build-parity 2026-06-21 13:17:59 +00:00
Sign in to join this conversation.