Skip to content

BatchReporter repeats the literal-default override, so repair suggestions cannot reach an isolate #521

Description

@realmarcin

Found reviewing PR #520. That PR fixes audit-network, where a literal default="kb/communities" on the click option silently overrode default_record_roots(). BatchReporter has the same shape:

communities_dir: Path = Path("kb/communities"),
...
self.auditor = NetworkIntegrityAuditor(communities_dir=communities_dir)

It passes the literal through explicitly, so widening the auditor's default does nothing for it — the identical half-fix, in a second place. cli.py constructs it as bare BatchReporter() in four spots, so the literal is what runs every time.

Consequence: if an isolate ever gains a dangling interaction reference, PR #520 means the audit now reports it — and the LLM repair-suggestion path still cannot see it. The two halves of the same workflow would disagree about which records exist.

Lower severity than #350 proper, because this is a manual-only job that calls the Anthropic API and costs money, rather than a CI gate. But it is the repair path for exactly the findings the audit produces, so the two should cover the same set by construction.

Fixed in #520 itself, along with extending test_the_cli_does_not_override_the_default to cover the constructor default rather than only the click option — a test that checks one of two identical sites is how the second one survives.

Deliberately not changed: BrowserExporter.__init__ has the same Path("kb/communities") default. That is an export feeding the browser UI, so it belongs with #519 (whether isolates appear in visualisations) rather than here — same literal, different question.

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