Finding
launch-scaffolder's baked copy of the launcher standard has drifted ahead of the canonical deed in hyperpolymath/standards.
crates/launcher-common/src/standard.rs embeds BAKED_STANDARD and relies on a (platforms :supported …) clause. Its LauncherStandard::platforms() accessor bails with standard is missing the (platforms) clause. The canonical standards/launcher/launcher-standard_praxis.deed has no (platforms) clause.
Measured. This was a read-only scratch clone at 7bcc971, with the baked file swapped for standards' unmodified origin/main deed:
cargo test -p launch-scaffolder-common fails 18 tests (cargo: 84 passed; 18 failed).
- 15 go through
platforms() and hit the error above.
- 2 (
metadata_block::tests::*) hit a second missing clause: (metadata-block) is missing its (encoding) clause.
the_vendored_standard_is_pinned_by_content fails by construction, because it pins the content.
LauncherStandard::parse itself succeeds, because platforms() is only evaluated when something calls it.
So the two files are not the same standard. launch-scaffolder enforces two clauses the canonical document never ratified: (platforms) and (metadata-block (encoding …)).
Also owed: re-bake for standard v0.5.0
hyperpolymath/standards#1100 (D224) adds a (js-runtime) clause and bumps :standard-version to 0.5.0. With that deed baked in:
- parse reads
spec_version = "0.5.0";
- exactly two tests fail beyond the 18 above (cargo:
82 passed; 20 failed). Both hard-code the old version:
standard.rs:471 spec_version_is_standard_version_not_schema_version → assert_eq!(s.spec_version, "0.4.0", …)
standard.rs:650 falls_back_to_the_baked_copy_when_no_rung_exists → assert_eq!(s.spec_version, "0.4.0")
Acceptance criteria
Correction: the first version of this issue said 17 failures, 16 via platforms(). A name-extraction regex dropped a test whose name contains digits (…_0700_…), and it missed the second clause. The figures above are cargo's own tallies.
Not in scope
The drift predates D224. It is not caused by hyperpolymath/standards#1100, which is why it is filed here rather than folded into that PR.
🤖 Generated with Claude Code
https://claude.ai/code/session_01YSq3UodR3CjsuAK5yoTzHF
Finding
launch-scaffolder's baked copy of the launcher standard has drifted ahead of the canonical deed in
hyperpolymath/standards.crates/launcher-common/src/standard.rsembedsBAKED_STANDARDand relies on a(platforms :supported …)clause. ItsLauncherStandard::platforms()accessor bails withstandard is missing the (platforms) clause. The canonicalstandards/launcher/launcher-standard_praxis.deedhas no(platforms)clause.Measured. This was a read-only scratch clone at
7bcc971, with the baked file swapped for standards' unmodifiedorigin/maindeed:cargo test -p launch-scaffolder-commonfails 18 tests (cargo:84 passed; 18 failed).platforms()and hit the error above.metadata_block::tests::*) hit a second missing clause:(metadata-block) is missing its (encoding) clause.the_vendored_standard_is_pinned_by_contentfails by construction, because it pins the content.LauncherStandard::parseitself succeeds, becauseplatforms()is only evaluated when something calls it.So the two files are not the same standard. launch-scaffolder enforces two clauses the canonical document never ratified:
(platforms)and(metadata-block (encoding …)).Also owed: re-bake for standard v0.5.0
hyperpolymath/standards#1100 (D224) adds a
(js-runtime)clause and bumps:standard-versionto0.5.0. With that deed baked in:spec_version = "0.5.0";82 passed; 20 failed). Both hard-code the old version:standard.rs:471spec_version_is_standard_version_not_schema_version→assert_eq!(s.spec_version, "0.4.0", …)standard.rs:650falls_back_to_the_baked_copy_when_no_rung_exists→assert_eq!(s.spec_version, "0.4.0")Acceptance criteria
(platforms)and(metadata-block (encoding …))intostandards/launcher/launcher-standard_praxis.deed, with a lockstep adoc edit, or drop the dependency on it here. The baked copy must stop carrying clauses the canonical deed lacks.BAKED_STANDARDis byte-identical to standards'origin/maindeed after feat(launcher-standard): add the (js-runtime) bun/bunx launch route, v0.5.0 (D224) standards#1100 lands, and the content-pin test is updated to that hash."0.4.0"asserts (standard.rs:471,:650) read the expected version from one place rather than restating it, so the next bump cannot orphan them.cargo test -p launch-scaffolder-commonis 0 failed against the re-baked copy.Not in scope
The drift predates D224. It is not caused by hyperpolymath/standards#1100, which is why it is filed here rather than folded into that PR.
🤖 Generated with Claude Code
https://claude.ai/code/session_01YSq3UodR3CjsuAK5yoTzHF