PR #809 follow-ups: comments and a test still describe the --no-track mechanism it deleted nf-mdum ← Beads

closed priority 2 task unassigned

Twinned from https://github.com/cfsh/ninefold/issues/813 by tools/beads/import_github.py's reconcile pass.

Suggestions from ninefold-reviewer's review of #809.

PR #809 replaces three --no-track flags with branch.autoSetupMerge=false + push.autoSetupRemote=true on the clone. The mechanism change is right and the PR is CONVERGED. These residuals were named in the first-pass verdict as C2/C3, were not addressed and were not declined, and sit below the gate floor — so they land here rather than cycling the PR.

1. Four comments still describe the deleted mechanism (DEV_PRINCIPLES C6).

2. test_the_add_flags_are_still_b_fresh_and_B_adopting is now a duplicate (DEV_PRINCIPLES B12).

It asserts -b in fresh, -B and not -b in adopt, and adopt[-1] == "origin/chore/x" — exactly what test_the_add_flags_are_b_fresh_and_B_adopting already asserts a few lines above. What made it distinct were the two --no-track assertions PR #809 removed, and the negative now lives in test_neither_add_nor_the_refusal_line_carries_a_no_track_flag. Delete it rather than keep two near-identically-named tests differing by one word and a stale docstring.

3. ensure_tracking_defaults reports a write it never checked (DEV_PRINCIPLES D2).

```python git.raw(["config", "--local", key, want], check=False) changed.append(key) ```

The write's result is discarded, so a failed git config still appends the key, and spawn() prints → Set branch.autoSetupMerge, push.autoSetupRemote on the clone. The spawn then creates the branch under git's default tracking — the exact defect — while saying it did not. check=False is right on the *read* (an unset key exits 1); on the write it converts the PR's load-bearing step into a silent no-op. Rare, but this function is the whole fix.

4. The dry-run parity assertion checks the constant, not the command the real spawn issues.

test_a_dry_run_creates_nothing_and_starts_nothing now asserts config --local {key} {want} for each TRACKING_DEFAULTS entry and that each precedes worktree add — the property that matters, and a real fix for the first-pass C1. It is still weaker than test_the_dry_run_fetch_matches_the_one_the_spawn_really_issues, which compares against what the spawn really ran: the printed string and the asserted string are both hand-written in the same shape, so a change to how ensure_tracking_defaults spells the command would drift the paste without failing a test.

5. tools/office/README.md step 2 still names one setting of the pair.

> 2. git fetch origin, sets branch.autoSetupMerge=false on the clone, then git worktree add -b feat/<topic> … origin/main

push.autoSetupRemote=true is set on the same call and is documented in the bullet further down, but the numbered walkthrough of what the tool does omits it.

Unclaimed and unlabelled.

Dependencies

None.

Comments

No comments.

Add a comment