Alberto-Codes / Alberto-Codes/vramfit

Should the refinement pass widen its pin match universe with the checkpoint names it already reads?

Open
#593 1 comment 0 reactions 0 assignees View on GitHub
chart:discuss
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.