--- slug: fireworks-colors passed: 2026-10-14 by: the assay line (research/assay-line/cited-1014/), Codex fixer directed by claude-assaying-boyle-1014; source record by Codex, checked by Codex checked: 94 confirmed: 50 wrong: 43 unverifiable: 0 observed: 0 stale: 1 --- This was the directed 2026-10-14 repair pass for fireworks-colors at the requested 71782ed54c baseline, using the 45-item cited-1014 triage after re-reading its evidence and reproducing the model behavior. The record retains one line per triage item and the 49 distinct claims either checker confirmed, with composite confirmations narrowed to their supported parts where triage governs an error. The counts include 33 WRONG and 10 MINOR lines in wrong; nine listed MINOR items remain unchanged, X6 is rejected on its evidence, and the sole STALE item is the JSON-LD metadata exception. Nine grouped corrections are mirrored in the HTML and Markdown; no minor correction line was added. X20 remains open for the authored OH* copy in another layer, pending a board note. ## Claims - MINOR | X1: "when it burns" | https://news.ncsu.edu/2012/07/chemistry-of-fireworks/ | E8. The heated-salt mechanism is stated more precisely in the HTML. Triage treats the dek wording as loose combustion-context shorthand, a separate sentence from the cutoff fix; tier C, leave it. - MINOR | X2: "nothing is hand-picked" | public/strata/fireworks-colors/spectra.mjs | E4. The dek now says representative features have chosen relative weights. RGB remains computed. MINOR only; no correction line. - WRONG | X3: "the eye's three cone responses (the CIE 1931 standard observer)" | https://discovery.ucl.ac.uk/10079410/1/Cone%20fundamentals%20and%20CIE.pdf | E1. Replaced cone-response identification in HTML, Markdown, module comments and both offline-verifier copies with XYZ color-matching terminology; correction xyz. - WRONG | X4: "falls apart above 1200 °C" | https://epub.ub.uni-muenchen.de/54240/ | E2. Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - WRONG | X5: "CuCl falls apart above about 1200 °C" | https://epub.ub.uni-muenchen.de/54240/ | E2. Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - CONFIRMED | X6: "shine brighter the hotter the flame" | https://opg.optica.org/josa/abstract.cfm?uri=josa-55-7-787 | E3. REJECTED: hue/purity and relative BaO/BaCl changes do not establish falling absolute band brightness, and the supplied source gives no strontium brightness law. The sentence stays. CONFIRMED here records rejection of this finding, not a measured universal brightness law. - WRONG | X7: "a contradiction no other color faces" | https://opg.optica.org/josa/abstract.cfm?uri=josa-55-7-787 | E3. Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - WRONG | X8: "it decomposes above that temperature" | https://epub.ub.uni-muenchen.de/54240/ | E2. Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - WRONG | X9: "the blue dies in your hand" | public/strata/fireworks-colors/index.html | E4. Instructions, copper note and hot readout now describe a fading spectrum and glow with fixed RGB and a visible glow floor. Browser checks verify the display; correction glow. - WRONG | X10: "the red only brightens" | public/strata/fireworks-colors/spectra.mjs | E4. Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - WRONG | X11: "CuCl decomposes >~1200 °C" | https://epub.ub.uni-muenchen.de/54240/ | E2. Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - WRONG | X12: "CuCl decomposes >~1200 °C" | https://epub.ub.uni-muenchen.de/54240/ | E2. Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - MINOR | X13: "The Chemistry of Pyrotechnics" | https://www.routledge.com/Chemistry-of-Pyrotechnics-Basic-Principles-and-Theory-Third-Edition/Mocella-Conkling/p/book/9780429262135 | E8. The extra The is a bibliographic precision slip; the book and authors remain identifiable, the sentence is separate from the copper premise, and Douda attribution is not disproved. Tier C, leave it. - MINOR | X14: "The Chemistry of Pyrotechnics" | https://www.routledge.com/Chemistry-of-Pyrotechnics-Basic-Principles-and-Theory-Third-Edition/Mocella-Conkling/p/book/9780429262135 | E8. The extra The is a bibliographic precision slip; the book and authors remain identifiable, the sentence is separate from the copper premise, and Douda attribution is not disproved. Tier C, leave it. - MINOR | X15: "often added to deepen and brighten a red" | https://fireonefx.com/shop/safety-and-education/ | E8. The source supports orange intensity but gives no frequency evidence for addition specifically to red. It does not establish that the practice never occurs. Separate from the heat readout; tier C, leave it. - WRONG | X16: "CuCl falls apart above ~1200 °C" | https://epub.ub.uni-muenchen.de/54240/ | E2. Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - WRONG | X17: "watch the blue die" | public/strata/fireworks-colors/index.html | E4. Instructions, copper note and hot readout now describe a fading spectrum and glow with fixed RGB and a visible glow floor. Browser checks verify the display; correction glow. - WRONG | X18: "so only the weak violet pair at 404 nm shows" | https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf | E5. Replaced invisibility with a stated far-red model omission in the note, caption, feature flags, facts and verifier. No unsourced replacement intensity was introduced; correction potassium. - WRONG | X19: "colors that ARE single wavelengths" | https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf | E5. The local relates note and regenerated nearby block now describe multiple lines or bands. The unused OG HTML template was also corrected without rendering an image; correction wavelengths. - WRONG | X20: "(OH*, CH*, C₂*)" | https://seitzman.gatech.edu/AIAA-2007-0466.pdf | E6. This layer now names CH* blue emission in its outgoing relates note and nearby block; correction oh. The authored note at src/content/strata/is-fire-a-plasma.md:12 still includes OH* in the blue-base attribution and takes precedence on that layer. That copy remains open pending a board note. - WRONG | X21: "only brightens with heat" | public/strata/fireworks-colors/spectra.mjs | E4. Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - WRONG | X22: "The decomposition trap is copper's alone" | https://opg.optica.org/josa/abstract.cfm?uri=josa-55-7-787 | E3. Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - WRONG | X23: "only brightens with heat" | public/strata/fireworks-colors/spectra.mjs | E4. Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - WRONG | X24: "The decomposition trap is copper's alone" | https://opg.optica.org/josa/abstract.cfm?uri=josa-55-7-787 | E3. Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - MINOR | X25: "605.0, 623.9, 661.4, 674.5 nm." | https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf | E8. Triage lists a precision gap in J18 Table 2, a separate caption from the heat fix; tier C, leave it. Re-reading Sturman p. 8 supplies all four displayed values, so this is not evidence that those wavelengths are false. - WRONG | X26: "only brightens with heat" | public/strata/fireworks-colors/spectra.mjs | E4. Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - WRONG | X27: "The decomposition trap is copper's alone" | https://opg.optica.org/josa/abstract.cfm?uri=josa-55-7-787 | E3. Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - MINOR | X28: "603.0" | https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf | E8. J18 Table 2 gives 605 nm while the model uses 603.0 nm. This is a source/precision gap, not proof that no nearby feature exists in another spectrum. Separate caption; tier C, leave it. - MINOR | X29: "often added to deepen and brighten a red" | https://fireonefx.com/shop/safety-and-education/ | E8. The source supports orange intensity but gives no frequency evidence for addition specifically to red. It does not establish that the practice never occurs. Separate from the heat readout; tier C, leave it. - WRONG | X30: "only brightens with heat" | public/strata/fireworks-colors/spectra.mjs | E4. Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - WRONG | X31: "The decomposition trap is copper's alone" | https://opg.optica.org/josa/abstract.cfm?uri=josa-55-7-787 | E3. Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - MINOR | X32: "513.8, 524.1" | https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf | E8. J18 Table 2 supports the approximate 514 and 524 nm regions, but not the displayed decimal precision. Separate caption; tier C, leave it. - WRONG | X33: "only brightens with heat" | public/strata/fireworks-colors/spectra.mjs | E4. Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - WRONG | X34: "The decomposition trap is copper's alone" | https://opg.optica.org/josa/abstract.cfm?uri=josa-55-7-787 | E3. Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - MINOR | X35: "448.0" | https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf | E8. J18 Table 2 gives neighboring 446 and 449 nm peaks, not an exact 448.0 nm entry. This does not prove no nearby band feature exists. Separate caption; tier C, leave it. - WRONG | X36: "CuCl falls apart above ~1200 °C" | https://epub.ub.uni-muenchen.de/54240/ | E2. Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - WRONG | X37: "CuCl's 1200 °C limit" | https://epub.ub.uni-muenchen.de/54240/ | E2. Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - WRONG | X38: "CuCl's 1200 °C limit" | https://epub.ub.uni-muenchen.de/54240/ | E2. Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - WRONG | X39: "the blue has died" | public/strata/fireworks-colors/index.html | E4. Instructions, copper note and hot readout now describe a fading spectrum and glow with fixed RGB and a visible glow floor. Browser checks verify the display; correction glow. - WRONG | X40: "infrared and invisible" | https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf | E5. Replaced invisibility with a stated far-red model omission in the note, caption, feature flags, facts and verifier. No unsourced replacement intensity was introduced; correction potassium. - WRONG | X41: "invisible" | https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf | E5. Replaced invisibility with a stated far-red model omission in the note, caption, feature flags, facts and verifier. No unsourced replacement intensity was introduced; correction potassium. - WRONG | X42: "only brightens with heat" | public/strata/fireworks-colors/spectra.mjs | E4. Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - WRONG | X43: "The decomposition trap is copper's alone" | https://opg.optica.org/josa/abstract.cfm?uri=josa-55-7-787 | E3. Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - STALE | X44: "\"dateModified\":\"2026-06-22\"" | public/strata/fireworks-colors/index.html | E9. Set JSON-LD dateModified to 2026-10-14 and preserved datePublished. The dated corrections document this revision; the triage explicitly exempts this metadata change from a separate Updated line. - WRONG | X45: (added) "hot copper is no longer clean blue" | research/fireworks-colors/verify.mjs | E4. Replaced a one-temperature not-blue test with an actual cold/hot RGB comparison and printed both hue classifications. Refreshed its published copy; correction verifier. - CONFIRMED | C/title: The title describes firework light as readable wavelengths. | https://news.ncsu.edu/2012/07/chemistry-of-fireworks/ | The title is general spectroscopy language; the literal single-wavelength error is X19. - CONFIRMED | C/rgb-metals: Strontium red, barium green and copper blue are familiar firework colors. | https://news.ncsu.edu/2012/07/chemistry-of-fireworks/ | The source identifies these salt/color associations. - CONFIRMED | C/md-colors: The Markdown associates Sr, Ba, Na and Cu with red, green, yellow and blue-violet. | https://news.ncsu.edu/2012/07/chemistry-of-fireworks/ | The broad associations agree with the source; blue-violet is also the model output. - CONFIRMED | C/heated-salts: Heating salts produces characteristic atomic and molecular emission. | https://news.ncsu.edu/2012/07/chemistry-of-fireworks/ | Read the heating/excited-state explanation together with Sturman for the molecular emitters. - CONFIRMED | C/quantized-emission: Atomic and molecular energy transitions produce characteristic wavelengths. | https://news.ncsu.edu/2012/07/chemistry-of-fireworks/ | This supports the emission mechanism, not a measured full spectrum for this model. - CONFIRMED | C/not-paint: A firework color is emitted light rather than paint. | https://news.ncsu.edu/2012/07/chemistry-of-fireworks/ | The source explains light from heated salts. - CONFIRMED | C/swatch-computed: The displayed swatch RGB is computed. | public/strata/fireworks-colors/spectra.mjs | emitterColor calls spectrumToXYZ and xyzToSRGB. The mistaken individual-cone description is handled by X3. - CONFIRMED | C/xyz-arithmetic: Weighted spectral values produce XYZ, which is converted to sRGB. | https://jcgt.org/published/0002/02/01/paper.pdf | Equation 1 gives the integration; the page implements a discrete feature sum. - CONFIRMED | C/whole-arithmetic: The table displays emission features, summed XYZ and computed sRGB. | public/strata/fireworks-colors/index.html | Re-read render(). Weights and conversion equations are in the module; the table summarizes the computation. - CONFIRMED | C/blue-hardest: A saturated blue firework is particularly challenging. | https://epub.ub.uni-muenchen.de/71295/1/ejic.201901097.pdf | The introduction describes the challenge and need for flame tuning; it does not validate the old cutoff. - CONFIRMED | C/blue-window: Producing blue requires flame conditions that form and preserve its emitter. | https://epub.ub.uni-muenchen.de/71295/1/ejic.201901097.pdf | The qualitative flame-tuning account is supported; no universal threshold is inferred. - CONFIRMED | C/connoisseur: The former body called deep blue a connoisseur test. | https://epub.ub.uni-muenchen.de/71295/1/ejic.201901097.pdf | The checker treated this as a qualitative description of difficulty, not a documented testing standard. The numerical premise was separately corrected. - CONFIRMED | C/molecular-main: Monochloride molecules contribute the featured red, green and blue bands. | https://www.jpyro.co.uk/wp-content/uploads/j19_01_hq0iy.pdf | Conclusion p. 10 identifies neutral BaCl, CaCl, CuCl and SrCl. - CONFIRMED | C/atomic-trio: The bench models Na, Li and K with atomic lines. | https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf | J18 isolates Na and K spectra; Koch 2001 identifies atomic lithium as the red emitter. - CONFIRMED | C/atomic-source: The atomic wavelengths are attributed to NIST. | public/strata/fireworks-colors/spectra.mjs | Compared rounded Na, Li and K inputs with the NIST strong-line tables; the facts file gives the attribution. - CONFIRMED | C/swatch-fit: The page uses the Wyman fit to CIE 1931 color-matching functions. | https://jcgt.org/published/0002/02/01/paper.pdf | All seven amplitudes, centers and asymmetric coefficients match Table 1, p. 4. - CONFIRMED | C/nothing-handpicked: The meta description says the swatch color is computed rather than picked. | public/strata/fireworks-colors/spectra.mjs | The RGB is derived. This is narrower than the all-inputs claim corrected at X2. - CONFIRMED | C/metadata-compute: JSON-LD says the model computes color through the CIE standard observer. | public/strata/fireworks-colors/spectra.mjs | The description agrees with the XYZ and RGB function calls, subject to the declared selected inputs. - CONFIRMED | C/metadata-quantized: JSON-LD describes characteristic atomic and molecular emission. | https://news.ncsu.edu/2012/07/chemistry-of-fireworks/ | The mechanism is supported; Sturman supplies the molecular qualification. - CONFIRMED | C/cite-nist: The cited NIST Atomic Spectra Database exists. | https://physics.nist.gov/PhysRefData/ASD/lines_form.html | Opened its Lines Form. - CONFIRMED | C/cite-wyman: Wyman, Sloan and Shirley published the analytic fit in 2013. | https://research.nvidia.com/labs/rtr/publication/wyman2013simple/ | The author publication page gives these authors, title and July 2013 date. - CONFIRMED | C/sodium-doublet: The model includes the sodium D doublet. | https://physics.nist.gov/PhysRefData/Handbook/Tables/sodiumtable2.htm | NIST air wavelengths 5889.950 and 5895.924 angstroms agree with 589.00 and 589.59 nm after rounding. - CONFIRMED | C/sodium-contaminant: Sodium emission can overwhelm other colors as a contaminant. | https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf | J18 p. 10 reports a clipped sodium peak; p. 14 discusses impurity interference. This is contextual, not a universal intensity comparison. - CONFIRMED | C/lithium-clean: Atomic lithium has a strong deep-red feature. | https://www.jpyro.co.uk/wp-content/uploads/j13_01_u77gf.pdf | The paper identifies atomic lithium as the red emitter and discusses its 670.8 nm line. - CONFIRMED | C/strontium-molecules: SrCl and SrOH contribute red molecular emission. | https://www.jpyro.co.uk/wp-content/uploads/j13_01_u77gf.pdf | The introduction lists the principal red and orange-red species. - CONFIRMED | C/calcium-bands: CaCl contributes orange-red bands at shorter wavelengths than the main SrCl red features. | https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf | Table 2 and Koch qualitative color discussion support this comparison. - CONFIRMED | C/barium-bands: BaCl has green-region bands around 505–535 nm. | https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf | Table 2 supports this approximate region; X32 retains the decimal-precision issue. - CONFIRMED | C/barium-donor: Chlorine donors affect barium green color purity. | https://opg.optica.org/josa/abstract.cfm?uri=josa-55-7-787 | The abstract compares donors and discusses competing BaO/BaCl emission. - CONFIRMED | C/copper-note-hardest: Copper blue requires careful flame tuning. | https://epub.ub.uni-muenchen.de/71295/1/ejic.201901097.pdf | Supported qualitative challenge; old temperature and exclusivity claims are separately corrected. - CONFIRMED | C/potassium-use: Potassium compounds serve as oxidizers. | https://fireonefx.com/shop/safety-and-education/ | The oxygen-supplying role is supported. The old exclusion of any color contribution was corrected at X18. - CONFIRMED | C/magenta: No single wavelength has magenta hue. | http://hyperphysics.phy-astr.gsu.edu/hbase/vision/colchar.html | The source explicitly states this; HTTP curl succeeded after the browser fetch failed. - CONFIRMED | C/same-cie: The two linked color pages use the CIE 1931 standard. | public/strata/fireworks-colors/spectra.mjs | Read the tabulated CIE data in there-is-no-magenta and the Wyman fit here; the implementations differ but refer to the same standard. - CONFIRMED | C/sodium-wavelengths: The sodium caption shows 589.00 and 589.59 nm. | https://physics.nist.gov/PhysRefData/Handbook/Tables/sodiumtable2.htm | These are rounded NIST air values. - CONFIRMED | C/sodium-labels: The sodium labels identify atomic Na and its strong yellow D-line emission. | public/strata/fireworks-colors/spectra.mjs | Code generates the labels; NIST and J18 support their chemical content. - CONFIRMED | C/lithium-wavelengths: The lithium caption shows representative 670.79 and 610.36 nm features. | https://physics.nist.gov/PhysRefData/Handbook/Tables/lithiumtable2.htm | NIST lists the corresponding air-wavelength multiplets; the model consolidates nearby components. - CONFIRMED | C/barium-labels: The barium labels name BaCl bands and a chlorine donor. | public/strata/fireworks-colors/spectra.mjs | J18 and Douda support the region and donor role; precision is handled at X32. - CONFIRMED | C/atomic-lithium-trio: Lithium supplies atomic emission in the featured trio. | https://www.jpyro.co.uk/wp-content/uploads/j13_01_u77gf.pdf | This supplements the source record that cited a Na/K experiment for the trio. - CONFIRMED | C/cite-wyman-full: The cited analytic-fit paper title is correct. | https://research.nvidia.com/labs/rtr/publication/wyman2013simple/ | Read the title on the author publication page and PDF. - CONFIRMED | C/dek-computation: The dek computation derives RGB from feature inputs. | public/strata/fireworks-colors/spectra.mjs | This retains N2-sol confirmation of the computation only. X2 governs the hand-picked-inputs overclaim. - CONFIRMED | C/plot-marks: The plot distinguishes lines from molecular bands. | public/strata/fireworks-colors/index.html | drawSpectrum uses strokes for lines and finite-width lobes for bands, with captions. - CONFIRMED | C/verifier-rederives: The offline verifier recomputes the model color and intensity checks. | research/fireworks-colors/verify.mjs | 28 checks passed after correction. X45 governs the formerly false hue-transition interpretation. - CONFIRMED | C/shared-code: The page and offline verifier import the same spectrum module. | research/fireworks-colors/verify.mjs | Both import paths resolve to public/strata/fireworks-colors/spectra.mjs. - CONFIRMED | C/cite-conkling: The book attribution identifies Conkling and Mocella and the pyrotechnics text. | https://www.routledge.com/Chemistry-of-Pyrotechnics-Basic-Principles-and-Theory-Third-Edition/Mocella-Conkling/p/book/9780429262135 | Book identity is confirmed; the surplus title article remains MINOR at X13. - CONFIRMED | C/cite-douda: Douda is an author of the cited pyrotechnic flame study. | https://opg.optica.org/josa/abstract.cfm?uri=josa-55-7-787 | The article metadata confirms this attribution; X14 concerns the separate book-title slip. - CONFIRMED | C/placard-import: The layer check imports the same module the page runs. | research/fireworks-colors/verify.mjs | Re-read the import and executed it; no claim is made that this proves every prose statement. - CONFIRMED | C/placard-reading: The import-based check reads the computation used by the page. | research/fireworks-colors/verify.mjs | Its scope is the module, not the HTML prose or an independent physical experiment. - CONFIRMED | C/strontium-wavelengths: Sturman quotes SrCl 623.9, 661.4, 674.5 nm and SrOH 605.0 nm. | https://www.jpyro.co.uk/wp-content/uploads/j19_01_hq0iy.pdf | All four values appear on p. 8 in the quoted Webster passage. X25 preserves the triage source-gap label for J18 alone, not a false-wavelength verdict. - CONFIRMED | C/barium-wavelengths: The selected barium features agree with J18 approximate wavelength regions. | https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf | The paper resolution is about 1.5 nm. This confirmation is approximate; X32 records that decimal precision is not established by its rounded table. - CONFIRMED | C/nearby-metal-bands: The nearby note connects firework light with named atomic and molecular emitters. | https://www.jpyro.co.uk/wp-content/uploads/j19_01_hq0iy.pdf | The monochloride conclusion supports the molecular portion of this nearby note. ## Findings - [declined] X1 (MINOR): The heated-salt mechanism is stated more precisely in the HTML. Triage treats the dek wording as loose combustion-context shorthand, a separate sentence from the cutoff fix; tier C, leave it. - [fixed] X2 (MINOR): The dek now says representative features have chosen relative weights. RGB remains computed. MINOR only; no correction line. - [fixed] X3 (WRONG): Replaced cone-response identification in HTML, Markdown, module comments and both offline-verifier copies with XYZ color-matching terminology; correction xyz. - [fixed] X4 (WRONG): Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - [fixed] X5 (WRONG): Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - [fixed] X7 (WRONG): Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - [fixed] X8 (WRONG): Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - [fixed] X9 (WRONG): Instructions, copper note and hot readout now describe a fading spectrum and glow with fixed RGB and a visible glow floor. Browser checks verify the display; correction glow. - [fixed] X10 (WRONG): Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - [fixed] X11 (WRONG): Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - [fixed] X12 (WRONG): Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - [declined] X13 (MINOR): The extra The is a bibliographic precision slip; the book and authors remain identifiable, the sentence is separate from the copper premise, and Douda attribution is not disproved. Tier C, leave it. - [declined] X14 (MINOR): The extra The is a bibliographic precision slip; the book and authors remain identifiable, the sentence is separate from the copper premise, and Douda attribution is not disproved. Tier C, leave it. - [declined] X15 (MINOR): The source supports orange intensity but gives no frequency evidence for addition specifically to red. It does not establish that the practice never occurs. Separate from the heat readout; tier C, leave it. - [fixed] X16 (WRONG): Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - [fixed] X17 (WRONG): Instructions, copper note and hot readout now describe a fading spectrum and glow with fixed RGB and a visible glow floor. Browser checks verify the display; correction glow. - [fixed] X18 (WRONG): Replaced invisibility with a stated far-red model omission in the note, caption, feature flags, facts and verifier. No unsourced replacement intensity was introduced; correction potassium. - [fixed] X19 (WRONG): The local relates note and regenerated nearby block now describe multiple lines or bands. The unused OG HTML template was also corrected without rendering an image; correction wavelengths. - [open note:109ae9] X20 (WRONG): This layer now names CH* blue emission; correction oh. The authored note at src/content/strata/is-fire-a-plasma.md:12 still includes OH* among the blue-base emitters. Nori and Seitzman place the cited OH* band near 310 nm and CH* blue emission near 430 nm. Another layer is outside this repair worker's permitted scope; the directing instance must obtain the board note id and arrange that source-note correction. - [fixed] X21 (WRONG): Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - [fixed] X22 (WRONG): Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - [fixed] X23 (WRONG): Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - [fixed] X24 (WRONG): Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - [declined] X25 (MINOR): Triage lists a precision gap in J18 Table 2, a separate caption from the heat fix; tier C, leave it. Re-reading Sturman p. 8 supplies all four displayed values, so this is not evidence that those wavelengths are false. - [fixed] X26 (WRONG): Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - [fixed] X27 (WRONG): Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - [declined] X28 (MINOR): J18 Table 2 gives 605 nm while the model uses 603.0 nm. This is a source/precision gap, not proof that no nearby feature exists in another spectrum. Separate caption; tier C, leave it. - [declined] X29 (MINOR): The source supports orange intensity but gives no frequency evidence for addition specifically to red. It does not establish that the practice never occurs. Separate from the heat readout; tier C, leave it. - [fixed] X30 (WRONG): Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - [fixed] X31 (WRONG): Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - [declined] X32 (MINOR): J18 Table 2 supports the approximate 514 and 524 nm regions, but not the displayed decimal precision. Separate caption; tier C, leave it. - [fixed] X33 (WRONG): Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - [fixed] X34 (WRONG): Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - [declined] X35 (MINOR): J18 Table 2 gives neighboring 446 and 449 nm peaks, not an exact 448.0 nm entry. This does not prove no nearby band feature exists. Separate caption; tier C, leave it. - [fixed] X36 (WRONG): Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - [fixed] X37 (WRONG): Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - [fixed] X38 (WRONG): Removed the physical 1200 °C limit and exclusive-emitter premise from the dek, body, JSON-LD, readouts, module, facts and verifiers. The retained threshold is explicitly illustrative; correction copper. - [fixed] X39 (WRONG): Instructions, copper note and hot readout now describe a fading spectrum and glow with fixed RGB and a visible glow floor. Browser checks verify the display; correction glow. - [fixed] X40 (WRONG): Replaced invisibility with a stated far-red model omission in the note, caption, feature flags, facts and verifier. No unsourced replacement intensity was introduced; correction potassium. - [fixed] X41 (WRONG): Replaced invisibility with a stated far-red model omission in the note, caption, feature flags, facts and verifier. No unsourced replacement intensity was introduced; correction potassium. - [fixed] X42 (WRONG): Replaced promised brightening with unchanged model behavior in the body and the single readout template serving all six salts; browser checks cover all six; correction noncopper. - [fixed] X43 (WRONG): Removed the copper-only thermal claim from Markdown and the shared readout used by all six non-copper salts; qualified HTML and facts; correction thermal. - [dated] X44 (STALE): Set JSON-LD dateModified to 2026-10-14 and preserved datePublished. The dated corrections document this revision; the triage explicitly exempts this metadata change from a separate Updated line. - [fixed] X45 (WRONG): Replaced a one-temperature not-blue test with an actual cold/hot RGB comparison and printed both hue classifications. Refreshed its published copy; correction verifier. ## Evidence re-read E1. [Stockman, p. 3](https://discovery.ucl.ac.uk/10079410/1/Cone%20fundamentals%20and%20CIE.pdf) distinguishes LMS cone sensitivities from transformed XYZ color-matching functions. The actual code sums XYZ functions. X3 fixes that identification without changing the mathematics. E2. The [2017 blue-strobe study abstract](https://epub.ub.uni-muenchen.de/54240/) reports blue emission at 1200–1500 °C and describes a higher-temperature change of preferred emitter species. That contradicts a universal 1200 °C destruction boundary but does not supply a replacement universal cutoff. [Glück et al. 2020, p. 349](https://epub.ub.uni-muenchen.de/71295/1/ejic.201901097.pdf) discusses competing temperature accounts and copper(I) iodide blue emission. The replacement 1200–1500 °C figure is explicitly a reported interval; the slider keeps its existing 1200 °C as an illustrative setting. E3. [Douda abstract](https://opg.optica.org/josa/abstract.cfm?uri=josa-55-7-787) reports increasing BaO/BaCl contribution and declining green purity with rising brightness temperature, with satisfactory green below 2200 K in the experiments. [Sturman p. 5](https://www.jpyro.co.uk/wp-content/uploads/j19_01_hq0iy.pdf) quotes higher-temperature SrCl conversion to SrO. These establish thermal color chemistry beyond copper. Neither supports the alleged decrease of absolute Sr/Ba band brightness in X6. The rejected finding remains rejected; the pass does not establish a universal brightening law. E4. Re-read `spectra.mjs`, `index.html` and `verify.mjs`, then evaluated all seven emitters at 1000, 1220, 1300, 1800 and 2200 °C. Copper RGB is [121,0,255] throughout, classified violet; at 1000 and 1800 °C, Y is 0.10537708543510307 and 0.0007052731236527738, while the rendering formula gives opacity 0.72 and 0.25314563993441386. All six other RGB/Y/opacity triples stay constant. The cold/hot verifier now compares both RGB values; the browser checks actual display state and text for all seven emitters. These are computed model values, not flame measurements. E5. [Meyerriecks and Kosanke, pp. 1, 13](https://www.jpyro.co.uk/wp-content/uploads/j18_1_fglk1.pdf) describes multi-line emitters and records differing potassium chromaticities with and without the strong far-red pair. It refutes both single-wavelength colors and zero visible contribution. The model retains zero far-red weights as an explicit omission; no replacement intensity is invented. E6. [Nori and Seitzman, pp. 2, 4](https://seitzman.gatech.edu/AIAA-2007-0466.pdf) assigns OH* emission near 310 nm and characteristic blue CH* emission near 430 nm. These two sourced wavelengths replace the incorrect attribution of visible blue to the cited OH* band. E8. Re-read the [NC State heating explanation](https://news.ncsu.edu/2012/07/chemistry-of-fireworks/), [publisher title](https://www.routledge.com/Chemistry-of-Pyrotechnics-Basic-Principles-and-Theory-Third-Edition/Mocella-Conkling/p/book/9780429262135), [FireOne element table](https://fireonefx.com/shop/safety-and-education/) and J18 Table 2. They support the listed wording/source-precision gaps and the triage's tier C reasons. Sturman p. 8 additionally supports all four Sr values, as the other checker noted; that evidence limits X25 to the specific cited-table gap. E9. The supplied triage records a later content revision with an unchanged June dateModified. The files matched the requested 71782ed54c baseline before this pass. This pass changes content on 2026-10-14, so dateModified is moved to that date while datePublished remains 2026-06-22. No separate Updated line is needed under the explicit metadata exception.