diff --git a/test/annexB/language/eval-code/direct/var-env-lower-lex-catch-non-strict.js b/test/annexB/language/eval-code/direct/var-env-lower-lex-catch-non-strict.js
index f4aec2affc9f354b500c24b93b021fef59af3bf9..ff82e2c9ad429f9926c8e1a60678978a4d0984c3 100644
--- a/test/annexB/language/eval-code/direct/var-env-lower-lex-catch-non-strict.js
+++ b/test/annexB/language/eval-code/direct/var-env-lower-lex-catch-non-strict.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-variablestatements-in-catch-blocks
-es6id: B3.5
+es6id: B.3.5
 description: Re-declaration of catch parameter
 info: |
     [...]
diff --git a/test/annexB/language/literals/regexp/class-escape.js b/test/annexB/language/literals/regexp/class-escape.js
index bbc0ada785a9b74a01a5331077677fca6e1c6e31..14224531a11feab73a49b3ca4c29758c0e41337f 100644
--- a/test/annexB/language/literals/regexp/class-escape.js
+++ b/test/annexB/language/literals/regexp/class-escape.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-regular-expressions-patterns
-es6id: B1.4
+es6id: B.1.4
 description: Extensions to ClassEscape
 info: |
     ClassEscape[U] ::
diff --git a/test/annexB/language/literals/regexp/extended-pattern-char.js b/test/annexB/language/literals/regexp/extended-pattern-char.js
index ec173f2d21ff200af1bbaf4c7ebee64320d8d854..7ba8a948d91e1ff7cf36062dfaee3ab79915833b 100644
--- a/test/annexB/language/literals/regexp/extended-pattern-char.js
+++ b/test/annexB/language/literals/regexp/extended-pattern-char.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-regular-expressions-patterns
-es6id: B1.4
+es6id: B.1.4
 description: Extended Pattern Characters (as distinct from Pattern Characters)
 info: |
     ExtendedPatternCharacter ::
diff --git a/test/annexB/language/literals/regexp/identity-escape.js b/test/annexB/language/literals/regexp/identity-escape.js
index 8cc4ea2149dc86908be0d0731212d683634a434c..12c27f29e0bb59aa235ff42c332aead3edafbf59 100644
--- a/test/annexB/language/literals/regexp/identity-escape.js
+++ b/test/annexB/language/literals/regexp/identity-escape.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-regular-expressions-patterns
-es6id: B1.4
+es6id: B.1.4
 description: Support for UnicodeIDContinue in IdentityEscape
 info: |
     IdentityEscape[U] ::
diff --git a/test/annexB/language/literals/regexp/legacy-octal-escape.js b/test/annexB/language/literals/regexp/legacy-octal-escape.js
index 01eef78535e919b2899657a725d612930ab54de3..b2fd48f29ecd56b56b2ad72593bd1992b4bdcf61 100644
--- a/test/annexB/language/literals/regexp/legacy-octal-escape.js
+++ b/test/annexB/language/literals/regexp/legacy-octal-escape.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-regular-expressions-patterns
-es6id: B1.4
+es6id: B.1.4
 description: Legacy Octal Escape Sequence
 info: |
     CharacterEscape[U]::
diff --git a/test/annexB/language/literals/regexp/non-empty-class-ranges-no-dash.js b/test/annexB/language/literals/regexp/non-empty-class-ranges-no-dash.js
index a91ec290b6d5e5245977bc9000d720cf9ff4728a..bb7906fc351f31fd394b125f08b2ea2bbd0f19f7 100644
--- a/test/annexB/language/literals/regexp/non-empty-class-ranges-no-dash.js
+++ b/test/annexB/language/literals/regexp/non-empty-class-ranges-no-dash.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-regular-expressions-patterns
-es6id: B1.4
+es6id: B.1.4
 description: Extensions to NonemptyClassRangesNoDash production
 info: |
     The production
diff --git a/test/annexB/language/literals/regexp/non-empty-class-ranges.js b/test/annexB/language/literals/regexp/non-empty-class-ranges.js
index 932d87a8e3190c012a3e23031632e544b3b76f07..95af75d7385468a9a6ac2cdd3c4ca43eab1e3f54 100644
--- a/test/annexB/language/literals/regexp/non-empty-class-ranges.js
+++ b/test/annexB/language/literals/regexp/non-empty-class-ranges.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-regular-expressions-patterns
-es6id: B1.4
+es6id: B.1.4
 description: Extensions to NonemptyClassRanges production
 info: |
     The production NonemptyClassRanges :: ClassAtom-ClassAtom ClassRanges
diff --git a/test/annexB/language/literals/regexp/quantifiable-assertion-followed-by.js b/test/annexB/language/literals/regexp/quantifiable-assertion-followed-by.js
index a92b9018d888573a03f72786e377b066b9acda07..40bd38d8f69b11abeb217db47c49de3baf0f9cbd 100644
--- a/test/annexB/language/literals/regexp/quantifiable-assertion-followed-by.js
+++ b/test/annexB/language/literals/regexp/quantifiable-assertion-followed-by.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-regular-expressions-patterns
-es6id: B1.4
+es6id: B.1.4
 description: Quantifiable assertions `?=` ("followed by")
 info: |
     Term[U] ::
diff --git a/test/annexB/language/literals/regexp/quantifiable-assertion-not-followed-by.js b/test/annexB/language/literals/regexp/quantifiable-assertion-not-followed-by.js
index 2463108d521a21fd6db625370ab0b41ba21d90fb..f4c7f199e133df720a5bee1af2ccfb7c6be746fd 100644
--- a/test/annexB/language/literals/regexp/quantifiable-assertion-not-followed-by.js
+++ b/test/annexB/language/literals/regexp/quantifiable-assertion-not-followed-by.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-regular-expressions-patterns
-es6id: B1.4
+es6id: B.1.4
 description: Quantifiable assertions `?!` ("not followed by")
 info: |
     Term[U] ::
diff --git a/test/annexB/language/literals/string/legacy-octal-escape-sequence.js b/test/annexB/language/literals/string/legacy-octal-escape-sequence.js
index 45e0bf8c811d7ebd113281e648f4c54390c3b8ff..198f463073a048f66c94a090221d897a05c4813d 100644
--- a/test/annexB/language/literals/string/legacy-octal-escape-sequence.js
+++ b/test/annexB/language/literals/string/legacy-octal-escape-sequence.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-additional-syntax-string-literals
-es6id: B1.2
+es6id: B.1.2
 description: String value for LegacyOctalEscapeSequence
 info: |
     EscapeSequence ::
diff --git a/test/annexB/language/statements/try/catch-redeclared-for-in-var.js b/test/annexB/language/statements/try/catch-redeclared-for-in-var.js
index f4a8120316d84f9335ff2d44add6d90433a7aefd..e2a2022eb33577f0ed58ba41d1d5bef8c46dcab7 100644
--- a/test/annexB/language/statements/try/catch-redeclared-for-in-var.js
+++ b/test/annexB/language/statements/try/catch-redeclared-for-in-var.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-variablestatements-in-catch-blocks
-es6id: B3.5
+es6id: B.3.5
 description: Re-declaration of catch parameter (for-in statement)
 info: |
     It is a Syntax Error if any element of the BoundNames of CatchParameter
diff --git a/test/annexB/language/statements/try/catch-redeclared-for-var.js b/test/annexB/language/statements/try/catch-redeclared-for-var.js
index d4010f8bc00ed77cc9780286b21581a548f06fdc..ab289f26f7104a8babca48d9b607312f1dbcacbc 100644
--- a/test/annexB/language/statements/try/catch-redeclared-for-var.js
+++ b/test/annexB/language/statements/try/catch-redeclared-for-var.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-variablestatements-in-catch-blocks
-es6id: B3.5
+es6id: B.3.5
 description: Re-declaration of catch parameter (for-in statement)
 info: |
     It is a Syntax Error if any element of the BoundNames of CatchParameter
diff --git a/test/built-ins/Array/prototype/flatMap/length.js b/test/built-ins/Array/prototype/flatMap/length.js
index 4ef59290bdcd05a7db91ea85375e06a888d4d3ff..c5fc1b3a36f6e34fbabfaced6031e5a4547f7316 100644
--- a/test/built-ins/Array/prototype/flatMap/length.js
+++ b/test/built-ins/Array/prototype/flatMap/length.js
@@ -1,7 +1,7 @@
 // Copyright (C) 2018 Shilpi Jain and Michael Ficarra. All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
-es6id: sec-array.prototype.flatMap
+esid: sec-array.prototype.flatMap
 description: Array.prototype.flatMap.length value and descriptor.
 info: >
   17 ECMAScript Standard Built-in Objects
diff --git a/test/built-ins/Array/prototype/flatMap/name.js b/test/built-ins/Array/prototype/flatMap/name.js
index 53deaa1e564c38c117b5c10dc6d0d53d9557a1c4..98ea548a4ba5d7cb91297f51b1210efd31a30aa8 100644
--- a/test/built-ins/Array/prototype/flatMap/name.js
+++ b/test/built-ins/Array/prototype/flatMap/name.js
@@ -1,7 +1,7 @@
 // Copyright (C) 2018 Shilpi Jain and Michael Ficarra. All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
-es6id: sec-array.prototype.flatmap
+esid: sec-array.prototype.flatmap
 description: Array.prototype.flatmap name value and descriptor.
 info: >
   17 ECMAScript Standard Built-in Objects
diff --git a/test/built-ins/Array/prototype/flatten/length.js b/test/built-ins/Array/prototype/flatten/length.js
index 704e81158a7b0ac35ffbf6d74ff67defaca8a52a..0e13e5ec528addf13472b7a8c19f120474571e61 100644
--- a/test/built-ins/Array/prototype/flatten/length.js
+++ b/test/built-ins/Array/prototype/flatten/length.js
@@ -1,7 +1,7 @@
 // Copyright (C) 2018 Shilpi Jain and Michael Ficarra. All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
-es6id: sec-array.prototype.flatten
+esid: sec-array.prototype.flatten
 description: Array.prototype.flatten.length value and descriptor.
 info: >
   17 ECMAScript Standard Built-in Objects
diff --git a/test/built-ins/ArrayIteratorPrototype/next/property-descriptor.js b/test/built-ins/ArrayIteratorPrototype/next/property-descriptor.js
index aeadb7ddda0f23a7d3836d2bc28453087c95d120..2d12272c18535b3193223cc5c95b3d5aa74550ca 100644
--- a/test/built-ins/ArrayIteratorPrototype/next/property-descriptor.js
+++ b/test/built-ins/ArrayIteratorPrototype/next/property-descriptor.js
@@ -7,7 +7,6 @@ description: >
     The method should exist on the ArrayIterator prototype, and it should be
     writable and configurable, but not enumerable.
 includes: [propertyHelper.js]
-es6id: 17
 features: [Symbol.iterator]
 ---*/
 
diff --git a/test/built-ins/Symbol/species/subclassing.js b/test/built-ins/Symbol/species/subclassing.js
index 4a005e5b5ceaa0aa9b330086de76c87616316766..7d20d7a751f7f4eb71a759e1c877868ceb03e288 100644
--- a/test/built-ins/Symbol/species/subclassing.js
+++ b/test/built-ins/Symbol/species/subclassing.js
@@ -4,10 +4,9 @@
 /*---
 info: |
  Symbol.species is retained on subclassing
-es6id: 
 author: Sam Mikes
 description: Symbol.species is retained on subclassing
-includes: 
+includes:
   - propertyHelper.js
 features: [Symbol.species]
 ---*/
diff --git a/test/language/expressions/async-generator/early-errors-expression-await-as-function-binding-identifier.js b/test/language/expressions/async-generator/early-errors-expression-await-as-function-binding-identifier.js
index 1a7ba39fa4dfd5cc1df2d6bc78f7b0a2be5a1ee7..112881b822d65c6e1abab0b0be0011a412a5f0c1 100644
--- a/test/language/expressions/async-generator/early-errors-expression-await-as-function-binding-identifier.js
+++ b/test/language/expressions/async-generator/early-errors-expression-await-as-function-binding-identifier.js
@@ -3,7 +3,7 @@
 
 /*---
 author: Caitlin Potter <caitp@igalia.com>
-esid: 12.1.1
+esid: pending
 description: >
   `await` is not a valid BindingIdentifier for AsyncGeneratorExpressions.
 negative:
diff --git a/test/language/expressions/async-generator/early-errors-expression-yield-as-function-binding-identifier.js b/test/language/expressions/async-generator/early-errors-expression-yield-as-function-binding-identifier.js
index 0dd5be039067b5b7f5ee85d8bb5ceb5f6d108258..7f0b95f4c04944361c628306f1a1aff658df5972 100644
--- a/test/language/expressions/async-generator/early-errors-expression-yield-as-function-binding-identifier.js
+++ b/test/language/expressions/async-generator/early-errors-expression-yield-as-function-binding-identifier.js
@@ -3,7 +3,7 @@
 
 /*---
 author: Caitlin Potter <caitp@igalia.com>
-esid: 12.1.1
+esid: pending
 description: >
   `yield` is not a valid BindingIdentifier for AsyncGeneratorExpressions.
 negative:
diff --git a/test/language/expressions/async-generator/early-errors-expression-yield-star-after-newline.js b/test/language/expressions/async-generator/early-errors-expression-yield-star-after-newline.js
index 046ed00ac81401ba739182e12739ce380213eebb..8e4701d9941a590783cc3fadb09c70cd3c7c4ee1 100644
--- a/test/language/expressions/async-generator/early-errors-expression-yield-star-after-newline.js
+++ b/test/language/expressions/async-generator/early-errors-expression-yield-star-after-newline.js
@@ -3,7 +3,8 @@
 
 /*---
 author: Caitlin Potter <caitp@igalia.com>
-esid: sec-generator-function-definitionsdescription: >
+esid: sec-generator-function-definitions
+description: >
   A newline may not precede the `*` token in a `yield` expression.
 negative:
   phase: parse
diff --git a/test/language/expressions/async-generator/expression-await-as-yield-operand.js b/test/language/expressions/async-generator/expression-await-as-yield-operand.js
index a59bd9298ddb1fb0083583a8bc6301966c1d2478..5f691ae92f51d4ed95d20431814002661ff6b931 100644
--- a/test/language/expressions/async-generator/expression-await-as-yield-operand.js
+++ b/test/language/expressions/async-generator/expression-await-as-yield-operand.js
@@ -3,7 +3,8 @@
 
 /*---
 author: Caitlin Potter <caitp@igalia.com>
-esid: sec-generator-function-definitionsdescription: >
+esid: sec-generator-function-definitions
+description: >
   AwaitExpressions are valid operands to yield expressions.
 flags: [async]
 features: [async-iteration]
diff --git a/test/language/expressions/async-generator/expression-await-promise-as-yield-operand.js b/test/language/expressions/async-generator/expression-await-promise-as-yield-operand.js
index 91f1ad8ffc93bb1ef87db4bc76d7a8de3405705e..b2d0c216030d46bbd54161e9ced9a2646d44935e 100644
--- a/test/language/expressions/async-generator/expression-await-promise-as-yield-operand.js
+++ b/test/language/expressions/async-generator/expression-await-promise-as-yield-operand.js
@@ -3,7 +3,8 @@
 
 /*---
 author: Caitlin Potter <caitp@igalia.com>
-esid: sec-generator-function-definitionsdescription: >
+esid: sec-generator-function-definitions
+description: >
   AwaitExpressions are valid operands to yield expressions.
 flags: [async]
 features: [async-iteration]
diff --git a/test/language/expressions/async-generator/expression-await-thenable-as-yield-operand.js b/test/language/expressions/async-generator/expression-await-thenable-as-yield-operand.js
index ba0874c1652b0d184270e9b00774802aef0131f2..2b94f9beca96381961bdb71c97e05079b35551a8 100644
--- a/test/language/expressions/async-generator/expression-await-thenable-as-yield-operand.js
+++ b/test/language/expressions/async-generator/expression-await-thenable-as-yield-operand.js
@@ -3,7 +3,8 @@
 
 /*---
 author: Caitlin Potter <caitp@igalia.com>
-esid: sec-generator-function-definitionsdescription: >
+esid: sec-generator-function-definitions
+description: >
   AwaitExpressions are valid operands to yield expressions.
 flags: [async]
 features: [async-iteration]
diff --git a/test/language/expressions/async-generator/expression-yield-as-operand.js b/test/language/expressions/async-generator/expression-yield-as-operand.js
index 3c6dcc8c808c9d35cad8a084b20eb6a576ff72d8..fbd852c134feadf62e17e8c1f43ff4bd6db4782a 100644
--- a/test/language/expressions/async-generator/expression-yield-as-operand.js
+++ b/test/language/expressions/async-generator/expression-yield-as-operand.js
@@ -3,7 +3,8 @@
 
 /*---
 author: Caitlin Potter <caitp@igalia.com>
-esid: sec-generator-function-definitionsdescription: >
+esid: sec-generator-function-definitions
+description: >
   `yield` expressions may be used as the right-hand-side of other `yield`
   expressions.
 flags: [async]
diff --git a/test/language/expressions/async-generator/expression-yield-as-statement.js b/test/language/expressions/async-generator/expression-yield-as-statement.js
index ea993b98ac0194d7017a9c58971bc862d821607c..b11b04cbe8990f363b839d37987b265b9e07d743 100644
--- a/test/language/expressions/async-generator/expression-yield-as-statement.js
+++ b/test/language/expressions/async-generator/expression-yield-as-statement.js
@@ -3,7 +3,8 @@
 
 /*---
 author: Caitlin Potter <caitp@igalia.com>
-esid: sec-generator-function-definitionsdescription: >
+esid: sec-generator-function-definitions
+description: >
   `yield` is a valid statement within async generator function bodies.
 flags: [async]
 features: [async-iteration]
diff --git a/test/language/expressions/async-generator/expression-yield-newline.js b/test/language/expressions/async-generator/expression-yield-newline.js
index 6e354045c08b310404c4e5a0ea29424ee6dd118b..bd122822dfe92ade1fa268de0265c4302d9ce96b 100644
--- a/test/language/expressions/async-generator/expression-yield-newline.js
+++ b/test/language/expressions/async-generator/expression-yield-newline.js
@@ -3,7 +3,8 @@
 
 /*---
 author: Caitlin Potter <caitp@igalia.com>
-esid: sec-generator-function-definitionsdescription: >
+esid: sec-generator-function-definitions
+description: >
   Newlines terminate `yield` expressions.
 flags: [async]
 features: [async-iteration]
diff --git a/test/language/expressions/async-generator/expression-yield-star-before-newline.js b/test/language/expressions/async-generator/expression-yield-star-before-newline.js
index 6a8fdfd667080ae863c34814f2dca8032acb7bcb..567b71ad8ae0bcd435c5d88f0b219839417dfead 100644
--- a/test/language/expressions/async-generator/expression-yield-star-before-newline.js
+++ b/test/language/expressions/async-generator/expression-yield-star-before-newline.js
@@ -3,7 +3,8 @@
 
 /*---
 author: Caitlin Potter <caitp@igalia.com>
-esid: sec-generator-function-definitionsdescription: >
+esid: sec-generator-function-definitions
+description: >
   The right-hand side of a `yield *` expression may appear on a new line.
 flags: [async]
 features: [async-iteration]
diff --git a/test/language/literals/regexp/u-invalid-quantifiable-assertion.js b/test/language/literals/regexp/u-invalid-quantifiable-assertion.js
index 65de933012e6485d232476c03294439da27cbdc6..c1d64c2c70d9b90156e0bef357bcf16eff425fe7 100644
--- a/test/language/literals/regexp/u-invalid-quantifiable-assertion.js
+++ b/test/language/literals/regexp/u-invalid-quantifiable-assertion.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-regular-expressions-patterns
-es6id: B1.4
+es6id: B.1.4
 description: Quantifiable assertions disallowed with `u` flag
 info: |
     The `u` flag precludes quantifiable assertions (even when Annex B is
diff --git a/test/language/literals/string/legacy-non-octal-escape-sequence-strict.js b/test/language/literals/string/legacy-non-octal-escape-sequence-strict.js
index baef3c5c58f2a5610405195f6e7d2d926a7dee4a..e555c94f51991bf82be4567907d11a214969fc42 100644
--- a/test/language/literals/string/legacy-non-octal-escape-sequence-strict.js
+++ b/test/language/literals/string/legacy-non-octal-escape-sequence-strict.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-additional-syntax-string-literals
-es6id: B1.2
+es6id: B.1.2
 description: >
     LegacyOctalEscapeSequence is not enabled in strict mode code (regardless of
     the presence of Annex B)
diff --git a/test/language/literals/string/legacy-octal-escape-sequence-strict.js b/test/language/literals/string/legacy-octal-escape-sequence-strict.js
index 2d102f7658ced40a1465c9ac5bca6618792c7887..a0abf565cd97c23cb880f7cd8422646679aed2a0 100644
--- a/test/language/literals/string/legacy-octal-escape-sequence-strict.js
+++ b/test/language/literals/string/legacy-octal-escape-sequence-strict.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-additional-syntax-string-literals
-es6id: B1.2
+es6id: B.1.2
 description: >
     LegacyOctalEscapeSequence is not enabled in strict mode code (regardless of
     the presence of Annex B)