Alberto-Codes / Alberto-Codes/vramfit
Should the refinement pass widen its pin match universe with the checkpoint names it already reads?
- Dominant language
- Python
- Stars
- 1
- Forks
- 1
- Avg merge
- 6h 8m
- Merged PRs (30d)
- 105
Description
## Question
Should the refinement pass widen its pin match universe with the
checkpoint names it already reads?
`fixed_groups` calls `pinned_group_names(recipe.plan.pins, map_,
recipe.runtime)` with no `discovered_bytes` and no `merged_splits`, so
the pin match universe is the map's groups alone. A pin naming a
checkpoint-discovered group (ADR-0029) or a folded projection (#576)
resolves to nothing, the pass reports it as missed, and it declines
rather than measuring arms that might violate a constraint the recipe
records.
Declining there is safe and matches ADR-0031. The narrowing is a
choice, not a capability limit. `refine` refuses a `--model` that is
not a directory and then calls `_resolve_row_widths`, which runs
`checkpoint_row_widths` and reads the checkpoint's tensor headers, so
the names needed to widen the universe are in hand one line before the
pass runs.
This ticket exists so a future reader inherits the decision rather than
a constraint that does not exist. Three records previously justified
the decline with "the pass reads no checkpoint", which was false after
the pass began pricing candidates through the solver's predictor. That
wording is corrected.
The trade: widening lets a pinned recipe be refined instead of
declined, and it changes decline semantics on a public command. It
also needs a rule for what happens when the checkpoint and the map
disagree about a pin's referent.
### What closing looks like
Close with a pointer to the record. The record states whether the pass
widens its pin universe, and what it does when the two name sets
disagree.
### Related
- ADR-0031 records the refinement pass.
- ADR-0029 records checkpoint-discovered groups.
- #576 records folded projections.
Contributor guide
Research direction
Start with fixed_groups, refine, _resolve_row_widths, and checkpoint_row_widths, then read ADR-0029 and ADR-0031. Trace how checkpoint tensor headers supply names and decide whether the pin universe widens and how map/checkpoint disagreements are handled. Done means adding a pointer to the record that states both decisions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100