Skip to content

zero-discover broad-search detector: flat ls is not a broad sweep#469

Merged
clkao merged 2 commits into
mainfrom
spacedock-ensign/zero-discover-detector-contract-scope
Jul 3, 2026
Merged

zero-discover broad-search detector: flat ls is not a broad sweep#469
clkao merged 2 commits into
mainfrom
spacedock-ensign/zero-discover-detector-contract-scope

Conversation

@clkao

@clkao clkao commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

The zero-discover boot detector no longer false-reds a compliant FO that runs a flat ls — the shape the contract never banned — while genuine recursive sweeps stay detected.

What changed

Evidence

  • Red-first replay: fixture pair goes 2 reds → 1 (false-red eliminated, find detection held)
  • Full offline go test ./... green (15 packages); a neutered detector fails 9 assertions

4t8

Spike Test added 2 commits July 2, 2026 21:03
…nd) with a red-first replay test

TestDetectBroadSearchAtBootRealZeroDiscoverStreams asserts the target boundary:
PR #467's correct report-and-stop boot (flat `ls -la {root}`) must pass, PR #398's
genuine `find` sweep must still red. Currently RED on the PR #467 leg, reproducing
the exact CI failure text — the current detector flags flat `ls` as a broad sweep.
Drops ls from broadSweepTools; ls now reds only when recursive (-R, or a
globstar path arg), matching the contract's enumerated banned shapes
(first-officer-shared-core.md Startup step 3), which never banned flat ls.
Splits the recursive-flag alphabet per tool -- grep still accepts -r/-R, but
ls accepts only -R, since -r is reverse-sort for ls, not recursion (fixes a
second latent false red on `ls -ltr {root}`).

TestDetectBroadSearchAtBootRealZeroDiscoverStreams and the flipped/extended
TestDetectBroadSearchAtBoot table now pass; the contract prose is untouched.
clkao pushed a commit that referenced this pull request Jul 2, 2026
@clkao
clkao temporarily deployed to CI-E2E-OPUS July 2, 2026 21:29 — with GitHub Actions Inactive
@clkao
clkao merged commit 58388c4 into main Jul 3, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant