fix(workspace): unbreak main after #285/#291/#292 merge collision#305
Merged
Conversation
Three recent PRs landed on main with overlapping schema changes but were not rebased against each other, leaving main in a state that fails to compile (CI red on 162c52d): - #285 (T1-4 + T1-5 + T1-11) — `Node.uid: StrRef → u64`, added `Node.owner_class: StrRef`, made `uid::compute` the canonical UID source. - #291 (T4-7 SchemaField + MirrorsField) — added `post_process/schema_field_mirrors.rs`, switched `RawSchemaField.{name, owner_class}` from `StrRef` to `Box<str>`. - #292 (T7-2 per-symbol content_hash) — added `Node.content_hash: u64`. The five resulting compile errors are mechanical: each call site needs to be brought to the shape the PR author would have written if they had rebased against the other two. This commit applies that reconciliation without rewriting history (no force-push to main). - `post_process/schema_field_mirrors.rs:99-118` — replace the `format!()` + `string_pool.add()` UID construction with `uid::compute(NodeKind::SchemaField, &path_str, Some(owner_name), field_name)`, the T1-5 canonical pattern. Adds the now-required `content_hash: 0` (synthetic mirror node, no source span — per T7-2 doc convention) and `owner_class: string_pool.add(owner_name)` (T1-11 rename isolation key: a SchemaField like `Foo.id` correctly belongs to class `Foo`). Side effect: drops one heap allocation per mirror node (no more `format!()` String + pool.add round-trip). - `protobuf/parser.rs:101-110` — replace `pool.add(&field_name)` and `pool.add(owner)` (StrRef-returning) with `field_name.into_boxed_str()` and `Box::from(owner.as_str())`. Drops the now-unused `pool: &mut StringPool` parameter from `extract_proto_fields` plus the `StringPool` allocation at the call site (3 cosmetic edits in one file). - `python/parser.rs` — add `use ecp_core::pool::StringPool;` import that the existing T5-2 event-topic wire-up at line 1094 already assumed. Verified: `cargo check --workspace --all-targets --all-features`, `cargo clippy --workspace --all-targets --all-features -- -D warnings`, and `cargo test --workspace --no-fail-fast` (2805 passed, 15 ignored) all clean.
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.
Summary
main is currently red on
162c52db— `cargo check --workspace --all-targets --all-features` fails with 5 errors. The cause: #285 (T1-4/T1-5/T1-11), #291 (T4-7), and #292 (T7-2) all changed the same schema surface (`Node` struct, `Node.uid` type, `RawSchemaField` fields) but did not rebase against each other, so the merged state has call sites that don't match the merged-state types.This PR is a forward-only reconciliation — no history rewrite, no force-push. Each fix brings a call site to the shape the original PR author would have written if they had rebased against the other two. End state is identical to a hypothetical "replay the PRs in correct dependency order" branch.
Changes (3 files, ~19 LOC)
Audit scope (nothing deferred)
Searched the entire workspace for any related issues hiding behind the same merge collision:
Verification