Skip to content

Triage Financial-Modeling's tests/test_audit.py as a Path Collision, and Consider Keeping Hub tests/ Out of the Hub-Only Detector #3528

Closed

Description

@ptr727

Observed

spec/audit.py Financial-Modeling reports an untriaged hub-only hit:

audit run 2026-10-27T21:04:28Z | hub f60f57d9
== Financial-Modeling (python, source-only; release) @ main@fb5f003 ==
  DRIFT  hub-only: tests/test_audit.py is undeclared in spec/files.json and this repo carries it - read the file and triage it in spec/divergences.json 'gaps' (this repo's own content at a shared path, a carry to declare, or a hub copy to delete)

Triage, from reading the file

It is a path collision, not a carry. Financial-Modeling's tests/test_audit.py tests that repository's own finmodel.audit package (its rule registry, judged-file window and report renderer), and it shares no content with the hub's tests/test_audit.py, which drives spec/audit.py's audit_repo against a faked gh. The repository's file dates from 2026-07-31, and the hub's copy at that path arrived on 2026-10-15 with #3111. Deleting it per a hub-only: remedy would destroy the repository's own test suite for that package.

Expected

An accepted entry in spec/divergences.json gaps for tests/test_audit.py, shaped like the existing scripts/README.md collision entry, so the finding closes permanently.

Worth deciding alongside

tests/ is as generic a path as scripts/, and every Python carrier keeps its own tests there. Each hub test module whose name a carrier happens to share becomes another untriaged hit, one entry at a time. A rule that keeps hub tests/ paths out of the hub-only detector (the hub's tests are never carried, so a carrier's tests/ file can only be a collision) would close the class rather than this one instance.

Affected

  • Repository: ptr727/Financial-Modeling, at main@fb5f003 and at develop (both report it).
  • Hub: main at f60f57d9.

Activity

  1. ptr727 commented on Oct 27, 2026

    @ptr727
    OwnerAuthor

    Backlog burndown round 1 claim. Branch: feature/3528-audit-hub-tests-collision.

    Maintainer decision: close the class, so spec/audit.py stops reporting a hub tests/ path as hub-only: in a carrier.

    Predicted file set: spec/audit.py, tests/test_audit.py, AUDIT.md (the hub-only: bullets only, if the rule is stated there), spec/divergences.json and reports/divergences.md (only if an existing entry becomes obsolete).

  2. ptr727 commented on Oct 27, 2026

    @ptr727
    OwnerAuthor

    Claim update (round 1, branch feature/3528-audit-hub-tests-collision, PR #3540): the orchestrator adds spec/project-types.json (the carried-scope carried.hubonly.absent assertion only) and spec/validate.py (a shape check for the new repoOwnedTrees array beside the existing trees checks) to this group, after Copilot threads on #3540. No other live group holds either file.

  3. ptr727 commented on Oct 27, 2026

    @ptr727
    OwnerAuthor

    Claim update (round 1, PR #3540): the group also holds spec/files.json (new repoOwnedTrees list) and spec/files.schema.json (its schema), the data mechanism the brief allowed. spec/divergences.json and reports/divergences.md are released, since no entry there became obsolete.

  4. ptr727 commented on Oct 27, 2026

    @ptr727
    OwnerAuthor

    Claim update (round 1, PR #3540): the orchestrator adds RESYNC.md (section 4, "Deleting Is a Remedy, and It Is the One That Can Destroy Work", the hub-only definition and its mermaid node only) and tests/test_spec_validate.py (the repoOwnedTrees gate case). No other live group holds either file.

  5. ptr727 commented on Oct 28, 2026

    @ptr727
    OwnerAuthor

    Promotion fix claim (round 1, during the #3544 freeze). Branch: feature/3528-repo-owned-overlap. Files: spec/validate.py (the repoOwnedTrees check only) and tests/test_spec_validate.py. It fixes Copilot thread PRRT_kwDOQ5caqM6w8BW3 on #3544: reject a repoOwnedTrees source that overlaps a carried trees[].source or contains a baseline path.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions