Skip to content

refactor(api): split mutation.rs test module → mutation/tests.rs#417

Merged
send merged 2 commits into
mainfrom
claude/nifty-panini-eaba2c
Jun 27, 2026
Merged

refactor(api): split mutation.rs test module → mutation/tests.rs#417
send merged 2 commits into
mainfrom
claude/nifty-panini-eaba2c

Conversation

@send

@send send commented Jun 27, 2026

Copy link
Copy Markdown
Owner

Summary

Standalone touch-time 1000-line-debt split (CLAUDE.md "1000-line debt = touch-time split").

mutation.rs was 1629 lines (source 1–605, inline #[cfg(test)] mod tests 606–1629). Converts to a directory module matching the script-session mutation/mod.rsmutation/tests.rs precedent:

File Lines
mutation/mod.rs 607
mutation/tests.rs 1021

Pure verbatim move — source body and test bodies are byte-identical to HEAD (machine-verified by diff). use super::*; retained so the tests keep private access to MutationObservation / MutationObservedBy / add_transient_observers / clear_transient_observers.

Surfaced by /elidex-review Axis 5 on the B1.2d-i PR (#413); kept out of that feature PR per the standalone-split discipline.

Verification

  • cargo test -p elidex-api-observers --all-features → 52 passed
  • cargo clippy -p elidex-api-observers --all-features --all-targets → clean
  • mise run ci (check + lint + test-all + doc + deny) → all green

Pure verbatim move (zero design surface) — pre-push design-review stages are no-ops.

🤖 Generated with Claude Code

send and others added 2 commits June 27, 2026 15:30
Standalone touch-time 1000-line-debt split (CLAUDE.md "1000-line debt =
touch-time split"). `mutation.rs` was 1629 lines (source 1–605, inline
`#[cfg(test)] mod tests` 606–1629). Converts to a directory module
`mutation/mod.rs` (607 lines) + `mutation/tests.rs`, mirroring the
script-session `mutation/mod.rs` → `mutation/tests.rs` precedent.

Pure verbatim move — source body and test bodies are byte-identical to
HEAD (verified by diff); `use super::*;` retained so the tests keep
private access to `MutationObservation` / `MutationObservedBy` /
`add_transient_observers` / `clear_transient_observers`.

Surfaced by /elidex-review Axis 5 on the B1.2d-i PR (#413); split kept
out of that feature PR per the standalone-split discipline.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Standalone 1000-line-debt split (second pass on mutation/tests.rs, 1021
lines after the mod.rs extraction). Two scenario-seam sub-files:

- `tests_core.rs` (354 lines): notify/observe/disconnect/subtree/pending
  tests. `child_list_added` helper duplicated here for self-containment.
- `tests_transient.rs` (687 lines): `observe_on_transient_only_node_*`
  + the full transient-registered-observers (DOM §4.3) suite.

`mod.rs` updated: `mod tests;` → `mod tests_core; mod tests_transient;`.

Mirrors the script-session `tests.rs` / `tests_replace_all.rs` sibling
pattern. Pure split — 52/52 tests pass, clippy clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@send send merged commit eda6e11 into main Jun 27, 2026
6 checks passed
@send send deleted the claude/nifty-panini-eaba2c branch June 27, 2026 06:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant