Probe golden 34_auto_harvest_smoke is stale: CharacterSet.isDisjoint(with: inverted) now prints true on macOS
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 67/100
Research direction
Start by reading Examples/llm_probes/expected/34_auto_harvest_smoke.out alongside Examples/llm_probes/34_auto_harvest_smoke.swift, then run probeMatchesStockSwift("34_auto_harvest_smoke") and compare the output on the target macOS environment. The issue identifies the differing CharacterSet.isDisjoint(with:) assertion and the golden-generation script, Tools/regen-probe-expectations.sh. Done means the probe expectation and test behavior are consistent with the intended OS support.
Written by the indexing model from the issue text.
Description
probeMatchesStockSwift("34_auto_harvest_smoke") fails on current macOS (Darwin 27, Swift 6.4 / swiftlang-6.4.0.34.1), on untouched main (d298d01):
probe 34_auto_harvest_smoke diverged from stock Swift
normalizedOut == normalizedExpected → false
The only differing line is the 14th, print(allLetters.isDisjoint(with: nonLetters)) where nonLetters = allLetters.inverted:
| value | |
|---|---|
golden Examples/llm_probes/expected/34_auto_harvest_smoke.out |
false |
stock swift Examples/llm_probes/34_auto_harvest_smoke.swift on this machine |
true |
| SwiftScript interpreter | true |
So the interpreter agrees with stock Swift here; it's the checked-in golden that was captured against an older Foundation where CharacterSet.isDisjoint(with:) returned false for a set and its inverse (likely a bitmap-vs-inverted-flag quirk that Apple fixed). The suite is documented as Darwin-only and goldens come from Tools/regen-probe-expectations.sh, which makes it OS-version dependent.
Options:
- Regenerate the golden on the current OS and accept that CI's
macos-15runner may disagree until it moves to a newer image, or - Drop that one line from the probe (the inverse/disjoint pair is the only OS-sensitive assertion in the file), or
- Make the harness tolerant of a per-OS golden.
Found while moving ShellKit to a version requirement in #21; unrelated to that change.
- Dominant language
- Swift
- Stars
- 75
- Forks
- 6
- Avg merge
- 25m
- Merged PRs (30d)
- 1
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Cocoanetics/SwiftScript
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Cocoanetics/SwiftScript#20 ·
-
Member walks silently drop unrecognized declarations (nested types, typealiases, indexed subscripts)Open
Difficulty 3/5 1-2 days Newbie friendliness 74/100
Cocoanetics/SwiftScript#18 ·
All issues in Cocoanetics/SwiftScript
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
mozilla-mobile/firefox-ios#35996 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
wultra/ssl-pinning-ios#60 ·
-
fix: pre-push hook이 worktree에서 GIT_DIR을 상속해 SwiftPM 패키지 해석에 실패Possibly taken @zaehorang claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
aarch64 Ghostty build segfaults when fonts are installed — recipe needs `-fsys=fontconfig`Possibly taken @TerenceHinrichsen claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
omacom/try-omarchy#333 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 Under an hour Newbie friendliness 85/100
pluk-inc/markdown-preview#493 ·
Maintainers usually reply within 1 day