'use strict'; const test = require('node:test'); const assert = require('node:assert/strict'); const { readBuildInfo } = require('../../src/platform/build-info'); test('build info accepts bounded provenance and normalizes timestamps', () => { const build = readBuildInfo({ CHIMERA_BUILD_ID: '1fb4db70edfb', CHIMERA_SOURCE_REVISION: '1fb4db70edfb9fd55d1d4ceabc9800079adadda8', CHIMERA_SOURCE_TREE: '7fb4db70edfb9fd55d1d4ceabc9800079adadda1', CHIMERA_BUILD_DATE: '2026-07-15T10:00:00Z', }); assert.deepEqual(build, { id: '1fb4db70edfb', revision: '1fb4db70edfb9fd55d1d4ceabc9800079adadda8', tree: '7fb4db70edfb9fd55d1d4ceabc9800079adadda1', treeDigest: 'eb35c4caa0a978facf90b329ad5f9d4bbe132fc91bdd20efd4b7404ed6eeeae0', builtAt: '2026-07-15T10:00:00.000Z', }); assert.equal(Object.isFrozen(build), true); }); test('build info rejects injected or malformed values', () => { assert.deepEqual(readBuildInfo({ CHIMERA_BUILD_ID: 'release;cat /run/secrets/key', CHIMERA_SOURCE_REVISION: 'not-a-commit', CHIMERA_SOURCE_TREE: 'not-a-tree', CHIMERA_BUILD_DATE: 'not-a-date', }), { id: 'development', revision: 'development', tree: null, treeDigest: null, builtAt: null }); }); test('build info derives the tree from the governed build id for legacy deploy controllers', () => { const tree = '7fb4db70edfb9fd55d1d4ceabc9800079adadda1'; const build = readBuildInfo({ CHIMERA_BUILD_ID: `1fb4db70edfb-tree-${tree}`, CHIMERA_SOURCE_REVISION: '1fb4db70edfb9fd55d1d4ceabc9800079adadda8', }); assert.equal(build.tree, tree); assert.equal(build.treeDigest, 'eb35c4caa0a978facf90b329ad5f9d4bbe132fc91bdd20efd4b7404ed6eeeae0'); });