Skip to content

Use subclass as the default model parameter tracker - #155

Merged
Essoz merged 1 commit into
mainfrom
codex/subclass-tracker-default
Oct 27, 2026
Merged

Essoz merged 1 commit into
mainfrom
codex/subclass-tracker-default

Conversation

@Essoz

@Essoz Essoz commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

Make subclass the default tracker for newly collected model traces. It keeps models as native PyTorch modules and tracks their parameters; proxy remains explicitly selectable through CLI and YAML. This is a default/coverage change, not a performance claim.

Help and examples explain the parameter-focused coverage and migration rule: retain explicit proxy mode for existing proxy-derived invariants, or recollect/reinfer and verify actual activation. Saved instrumentation options remain explicit and unchanged. Selective immediate-variable rules use the selected tracker; consistency-only rules retain the sampler policy.

Merge #154 first. Both PRs target main directly. #157 separately fixes the broader --use-full-instr startup recursion.

Validation:

  • 12 new typed regressions cover defaults, explicit CLI/YAML choices, required saved options, selective policy, and a real parameter transition checked for active success and an active failing negative control. Two default-selection tests fail on unchanged main.
  • Final composition Fix subclass tracking of Transformer masks and registered assignments #154–Snapshot constructor receivers generally without invoking application getters #157 at 035f7f1976c5d84bd01f5d96bb095fb07c9cc059 passes real two-step Transformer CLI runs: ordinary default (956 API +72 VAR), selective default (4 API +48 VAR), and full default (1,628 API +72 VAR). All 12 parameter paths appear, with complete call pairs and no duplicate raw records.
  • All three final runs exactly match plain losses, parameters, gradients, cached mask and Torch CPU RNG. The intended optimizer-data invariant activates and completes two passing decisions in each mode. These counts show coverage, not timing improvement.
  • The final composed suite passes 246/247 tests; test_inject_eval_loop fails identically on unchanged main 9ba90ac. Pinned hooks and configured mypy across all 78 production files pass. Strict new-code/tests checking with installed Torch types passes; stronger legacy CLI checking retains its same ten errors, with none introduced.

All commits are signed. Exact commands, source hashes, raw traces and coverage reports are retained at /Users/matt/gitrepos/traincheck/outputs/instrumenter-final-cli-20261027/validation.json; composed checker evidence is in outputs/instrumenter-final-validation-20261027. Ordinary, selective and full CLI times are single whole-process completion checks, not overhead estimates.

@Essoz
Essoz marked this pull request as ready for review October 26, 2026 19:47
@Essoz
Essoz merged commit d04c1dc into main Oct 27, 2026
0 of 2 checks passed
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