Skip to content

Claudinite growth: extract lessons - #106

Merged
missingbulb merged 1 commit into
mainfrom
claudinite/growth-extract/2026-08-01
Aug 1, 2026
Merged

Claudinite growth: extract lessons#106
missingbulb merged 1 commit into
mainfrom
claudinite/growth-extract/2026-08-01

Conversation

@missingbulb

Copy link
Copy Markdown
Owner

One lesson from the 2026-08-01 window (commits 4ce1d97 / b6bfe51 / 5f20c3a; PRs #101, #100, #99 merged, #96 touched), landing as prose in the laughcounter local pack.

Test "already covered by another check" before believing it. #99 spent three sweeps leaving on-device-privacy's "the app listens on no socket" as prose, each reasoning that an NWListener needs import Network and no-network-client already bans that. True of that one API, false of the capability — socket(2) comes free with import Foundation, NSXPCListener/CFSocket*/NSSocketPort are Foundation types, an embedded HTTP server arrives as its own import, and a file whose entire content was let fd = socket(AF_INET, SOCK_STREAM, 0) passed check_the_world untouched. The listener surface itself is already carried at the site by no-listener.mjs; the durable part is the dedupe discipline — a ban list's blind spots are invisible to exactly the reasoning that drew it, so run the sibling check against a violating file instead.

Nothing else cleared the bar. #100 and #101 are richly documented already: dev/procedures/mac-audio-lifecycle.md carries the aggregate-churn ladder, the three-state health reporting and one-remedy UI rule, the witnessed-arrival settle rule, and the "seed timer-maintained state at start" gotcha. #96 is the machine-written usage fold.

No new check: this is a judgment rule about how sweeps dedupe, not a deterministic one, so it lands on the prose rung.

check_the_world exits 0; on-device-privacy fixtures 14/14.

Refs #104.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VGZzDhF4jU1zYbZoWfCucc


Generated by Claude Code

One lesson from the 2026-08-01 window (#99, #100, #101, #96), into the
laughcounter local pack as prose.

#99 spent three sweeps believing "the app listens on no socket" was already
enforced by no-network-client, because an NWListener needs `import Network`.
The reasoning held for that one API and not for the capability — socket(2),
NSXPCListener, CFSocket*, NSSocketPort and an embedded HTTP server all reach a
listener without it, and a file containing only `socket(AF_INET, ...)` passed
check_the_world. The durable part isn't the listener surface (no-listener.mjs
carries that at the site); it's that "already covered by another check" is a
claim you settle by running the sibling check against a violating file, since a
ban list's blind spots are invisible to the reasoning that drew it.

Nothing new from #100 / #101: dev/procedures/mac-audio-lifecycle.md already
records the churn ladder, the three-state health reporting, the witnessed-arrival
settle rule and the seed-timer-state-at-start gotcha in full. #96 is the machine
usage fold.

Refs #104.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VGZzDhF4jU1zYbZoWfCucc
@missingbulb
missingbulb merged commit 8354828 into main Aug 1, 2026
@missingbulb
missingbulb deleted the claudinite/growth-extract/2026-08-01 branch August 1, 2026 05:04
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.

2 participants