Summary
The link-health scanner hardcodes the rossoctl org in three places, while every other scanner and fixer derives the owner from the resolved $ORG. This blocks running the suite against any other org and leaves an inconsistency across the programs.
Where
In scripts/link-health-scanner.sh:
- the scan log line (
Scanning <name> (as rossoctl/<canon>)),
- the
owner/name reference passed to extract-broken-links.sh,
- the org-wide issue-search query (
org:rossoctl ...).
Separately, scripts/extract-broken-links.sh decides internal-vs-external link categorization by matching the URL against a hardcoded kagenti|rossoctl list, so a link into any other enrolled owner is misclassified as external.
Impact
Running the link-health suite under any org other than rossoctl produces wrong log output, queries the wrong org for open issues, and miscategorizes internal links. The other scanners and fixers already read $ORG, so this is the one program that breaks org-agnostic operation.
Fix
Normalize the three scanner sites to $ORG (already resolved by load_org_profile), and make extract-broken-links.sh categorization owner-driven by comparing the URL against the scanned repo's own owner (from the owner/name reference it already receives).
Context
This is a prerequisite for the RepoMan per-repo owner model (epic #72, Phase 1 #78): it removes the org assumptions from the read path so a later change can swap the single $ORG for a per-repo owner in one place per script.
Summary
The link-health scanner hardcodes the
rossoctlorg in three places, while every other scanner and fixer derives the owner from the resolved$ORG. This blocks running the suite against any other org and leaves an inconsistency across the programs.Where
In
scripts/link-health-scanner.sh:Scanning <name> (as rossoctl/<canon>)),owner/namereference passed toextract-broken-links.sh,org:rossoctl ...).Separately,
scripts/extract-broken-links.shdecides internal-vs-external link categorization by matching the URL against a hardcodedkagenti|rossoctllist, so a link into any other enrolled owner is misclassified as external.Impact
Running the link-health suite under any org other than
rossoctlproduces wrong log output, queries the wrong org for open issues, and miscategorizes internal links. The other scanners and fixers already read$ORG, so this is the one program that breaks org-agnostic operation.Fix
Normalize the three scanner sites to
$ORG(already resolved byload_org_profile), and makeextract-broken-links.shcategorization owner-driven by comparing the URL against the scanned repo's own owner (from theowner/namereference it already receives).Context
This is a prerequisite for the RepoMan per-repo owner model (epic #72, Phase 1 #78): it removes the org assumptions from the read path so a later change can swap the single
$ORGfor a per-repo owner in one place per script.