Change:
The instructions are here: But, using for the practice projects will always result in a meta order error: <details<summaryOutput Testing Penguing Project</summary<pre<codeblock being tested: learn-css-transforms-by-building-a-penguin 1 passing (21ms) 1 failing 1) Check challenges Assert meta order 2022/responsive-web-design Learn CSS Transforms by Building a Penguin must be in order: expected 18 to equal +0 expected - actual -18 +0 </code</pre</details<details<summaryOutput testing Registration Form Practice Project</summary<pre<codeblock being tested: learn-html-forms-by-building-a-registration-form 1 passing (30ms) 1 failing 1) Check challenges Assert meta order 2022/responsive-web-design Learn HTML Forms by Building a Registration Form must be in order: expected 3 to equal +0 expected - actual -3 +0 </code</pre</details
This is the test that keeps failing: Specifically this: Where is consistently

Discussion:
const challengeTitles = new ChallengeTitles(); const validateChallenge = challengeSchemaValidator(); <del> describe('Assert meta order', function () { /** This array can be used to skip a superblock - we'll use this * when we are working on the new project-based curriculum for * a superblock (because keeping those challenges in order is * tricky and needs cleaning up before deploying). */ const superBlocksUnderDevelopment = [ '2022/javascript-algorithms-and-data-structures' ]; const superBlocks = new Set([ ...Object.values(meta) .map(el => el.superBlock) .filter(el => !superBlocksUnderDevelopment.includes(el)) ]); superBlocks.forEach(superBlock => { const filteredMeta = Object.values(meta) .filter(el => el.superBlock === superBlock) .sort((a, b) => a.order - b.order); if (!filteredMeta.length) { return; } it(`${superBlock} should have the same order in every meta`, function () { const firstOrder = getSuperOrder(filteredMeta[0].superBlock, { showNewCurriculum: process.env.SHOW_NEW_CURRICULUM </del> <ins> if (!process.env.npm_config_block) { describe('Assert meta order', function () { /** This array can be used to skip a superblock - we'll use this * when we are working on the new project-based curriculum for * a superblock (because keeping those challenges in order is * tricky and needs cleaning up before deploying). */ const superBlocksUnderDevelopment = [ '2022/javascript-algorithms-and-data-structures' ]; const superBlocks = new Set([ ...Object.values(meta) .map(el => el.superBlock) .filter(el => !superBlocksUnderDevelopment.includes(el)) ]); superBlocks.forEach(superBlock => { const filteredMeta = Object.values(meta) .filter(el => el.superBlock === superBlock) .sort((a, b) => a.order - b.order); if (!filteredMeta.length) { return; } it(`${superBlock} should have the same order in every meta`, function () { const firstOrder = getSuperOrder(filteredMeta[0].superBlock, { showNewCurriculum: process.env.SHOW_NEW_CURRICULUM }); assert.isNumber(firstOrder); assert.isTrue( filteredMeta.every( el => getSuperOrder(el.superBlock, { showNewCurriculum: process.env.SHOW_NEW_CURRICULUM }) === firstOrder ), 'The superOrder properties are mismatched.' ); </ins> }); <del> assert.isNumber(firstOrder); assert.isTrue( filteredMeta.every( el => getSuperOrder(el.superBlock, { showNewCurriculum: process.env.SHOW_NEW_CURRICULUM }) === firstOrder ), 'The superOrder properties are mismatched.' ); }); filteredMeta.forEach((meta, index) => { it(`${meta.superBlock} ${meta.name} must be in order`, function () { assert.equal(meta.order, index); </del> <ins> filteredMeta.forEach((meta, index) => { it(`${meta.superBlock} ${meta.name} must be in order`, function () { assert.equal(meta.order, index); }); </ins> }); }); }); <del> }); </del> <ins> } </ins> describe(`Check challenges (${lang})`, function () { this.timeout(5000);