diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-10-31 09:16:45 +0000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-10-31 09:16:45 +0000 |
| commit | ff40abd84236288cc0a82226460f8815ad31b76d (patch) | |
| tree | 429f31cdf2fe4b97cef3fdb4bfe53e84930add50 /gradle.properties | |
| parent | cb3377b4856e3419df1cbc52044eda8bf68a006d (diff) | |
Deep clean, part one: get the pipeline out of the command
cmd/listend/main.go had reached 1,249 lines carrying nine passes, and cmd has no
test file -- so every judgement in the transcript pipeline lived where nothing
could reach it. That is not hypothetical: a refetch master blocked the recurring
detector for a fortnight because the condition was wrong in a place no test
could see.
internal/words now holds the five passes with judgement in them -- Harvest,
Recognise, Rederive, Recurring, SecondCopy -- behind a Pipeline that names its
dependencies. main.go is 631 lines and does what a command should: read flags,
wire things together, serve.
**Moving it found a latent bug.** Pruning an episode's audio cleared its
transcript fields but not its master ones, so a re-mirrored episode would claim
a master whose file had been deleted -- a second description it could not
produce, and subtraction finding nothing for it for ever. Exactly the shape of
the bug that had just cost a fortnight. Pipeline.Forget now clears all of it,
including the attempt timestamps, so a re-mirrored episode is done again rather
than skipped for ever. Pinned by a test that asserts it needs recognising
afterwards.
Also in this part: Gradle's file-system watching is off. Chaquopy extracts a
3,200-file Python environment into app/build mid-build and the watcher tripped
over re-registering it, printing "Caught exception: Already watching path" in
front of every build error this project produced all week. It costs nothing to
turn off -- measured twice each on a no-op compileDebugKotlin, 1.50s and 1.59s
with, 1.46s and 1.46s without -- because that extraction invalidates the VFS
anyway. A watcher holding stale state about a tree another tool rewrites causes
the "clean and try again" class of problem rather than curing it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018AwnALZL6bD4VBtATDVv3B
Diffstat (limited to 'gradle.properties')
| -rw-r--r-- | gradle.properties | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gradle.properties b/gradle.properties index fb2663e..11f35f8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,3 +3,17 @@ android.useAndroidX=true android.nonTransitiveRClass=true org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=1024m + +# No file-system watching. +# +# Chaquopy extracts a 3,200-file Python environment into app/build during the build, and +# Gradle's watcher trips over re-registering it: every single run of every task printed +# "Caught exception: Already watching path: .../pip/_vendor/html5lib/_trie" into the output, +# which is noise in front of every real build error this project has. +# +# It costs nothing. Measured on a no-op compileDebugKotlin, twice each: 1.50s and 1.59s with +# watching, 1.46s and 1.46s without. The VFS is invalidated by that extraction anyway, so +# there is nothing for the watcher to keep warm -- and a watcher holding stale state about a +# tree another tool rewrites is a source of the "clean and try again" class of problem rather +# than a cure for it. +org.gradle.vfs.watch=false |
