Skip to content

fix: hygiene refs flags companion-workspace and run-output paths as dead #583

Closed

Description

@Jammy2211

Overview

In the 2026-11-04 sweep, pyauto-brain hygiene refs reported 19 dead references, and only 3 were real (fixed in autolens_workspace#621). The other 16 resolve, but against a root the scanner doesn't try:

  • Companion-workspace paths in HowTo prose: e.g. HowToLens says "The workspace's scripts/interferometer/modeling.py", which lives in autolens_workspace.
  • A sibling repo named on the same line: the autocti_workspace README names autocti_assistant's colab/contexts.yaml.
  • Folders a run creates: files/search_internal is fit output, autoreduce's work/injected/, cache_root/crds/ and README cache are run data, and notebooks is only generated at release in autoreduce_workspace.

Plan

  • If a reference doesn't resolve in its own repo, try the paired workspace of a HowTo repo (HowToLens to autolens_workspace, HowToGalaxy to autogalaxy_workspace, HowToFit to autofit_workspace).
  • Also try any sibling repo named on the same line as the reference.
  • Treat files, cache, cache_root and work as run-produced folders, like output and dataset.
  • Treat notebooks as generated when the repo has no notebooks/ folder, so the reference can't be checked.
  • Add fixture tests for each class, and keep the existing dead-reference tests passing.
  • Done when the laptop scan reports 0 of these 16, and a genuinely dead path in a HowTo repo is still flagged.
  • Tier: glance — merge mode: human /prm

Activity

  1. Jammy2211 commented on Nov 4, 2026

    @Jammy2211
    ContributorAuthor

    Shipped in #584 (merged, CI green 2/2): refs now retries a reference dead in its own repo against the HowTo companion workspace and any sibling named on the line, and treats run-output (files/cache/cache_root/work) and uncommitted notebooks as unresolvable. Live scan: 16 false positives → 0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions