docs: codegen is delegated to freenet-migrate-build - #618
Merged
Conversation
…in build.rs Both agent-facing migration rules described `ui/build.rs` as generating the legacy-delegate table itself. Since #398 the build script is only the entry point: generation is done by `freenet_migrate_build::codegen()`, and the script keeps just the local emptiness gate. `common/build.rs` has the same shape for the room-contract registry. Also points at the new `freenet-migrate-adoption` skill from the existing crate-walk section. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FAezAbjCVSmNqa44Ra1nPA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Two agent-facing rule files describe the legacy-delegate codegen as something River's own
build.rsperforms. That stopped being true when River adoptedfreenet-migrate-build(#398): the build script is now only the entry point, and the generation is done by the crate.Stale statements:
.claude/rules/delegate-migration.md:34"The UI'sbuild.rsgenerates Rust code from it at compile time".claude/rules/delegate-migration.md:90key-files row "ui/build.rs| GeneratesLEGACY_DELEGATESconst from the delegate TOML".claude/rules/river-publish.md:163-164"LEGACY_DELEGATESis generated at compile time fromlegacy_delegates.tomlbyui/build.rs."common/build.rshas the same shape for the room-contract registry and was described the same way atdelegate-migration.md:44.Approach
Correct the attribution without inflating it.
ui/build.rsis still the entry point, so the fix names the delegation rather than rewriting the surrounding procedure:ui/build.rs:125callsfreenet_migrate_build::codegen()with.entry_registry("../legacy_delegates.toml", Component::Delegate)and.delegate_pair_view("LEGACY_DELEGATES").common/build.rs:29calls the samefreenet_migrate_build::codegen()withComponent::Contractand.contract_hash_view("LEGACY_ROOM_CONTRACT_CODE_HASHES").ui/build.rs:143-158,common/build.rs:41-46). The wording says so, since that is the part a reader would otherwise assume moved into the crate too.freenet-migrate-buildis pinned at0.2inui/Cargo.toml:108andcommon/Cargo.toml:77. Note this is a separate crate from the runtime halffreenet-migrate, which is at0.5(ui/Cargo.toml:98); the two are at different versions and the doc text does not cite a version for either.river-publish.mdalready carries an accurate crate-walk section at:239, so that content is not duplicated. The only addition there is a pointer to the newfreenet-migrate-adoptionskill from the existing "Release 2 retires the sweep" line.Testing
Documentation only, no code paths touched. Every claim was read from
origin/mainsource rather than the working tree.[AI-assisted - Claude]