A component can name the files its build reads elsewhere
Freshness compared the commits under a component's own cwd, which is right about where its files are and wrong about what its build reads. tdep-survey's two clients each source one shared scripts/android-sdk-env.sh: a fix committed there changed what every build does, moved no component's subtree head, rebuilt nothing, and left every card correctly reporting "current" while answering a narrower question than the reader was asking. alsoWatch names the rest. The paths join the component's own in the same subtree-head and dirty comparisons -- git takes several pathspecs, so it stays one call each -- and it is part of the acceptance gate like any other declared field. Declared rather than inferred: which files a build reads is not knowable from here, and both wrong guesses are expensive. Raised by the tdep-survey session, which traced why its dioxus client could never become stale on the serving host. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f00c3b970f
commit
b67c70fa2f
7 files changed
+209
-18
No files matched your search
@@ -240,6 +240,21 @@ mutable at runtime from the phone.
|
||||
somebody asked. Stop and Uninstall do go
|
||||
through the script, and do strand the phone; the app confirms them
|
||||
rather than hiding them.
|
||||
- **A component's freshness covers its own directory plus whatever it
|
||||
declared with `alsoWatch`** (`Component::watched_paths`, handed to
|
||||
`git::subtree_head` and `subtree_dirty` as pathspecs -- git takes
|
||||
several, so it stays one call). Scoping to `cwd` is right about where a
|
||||
component's files are and wrong about what its build reads: tdep-survey's
|
||||
two clients each source one shared `scripts/android-sdk-env.sh`, so a fix
|
||||
committed there changed what every build does, moved no component's
|
||||
subtree head, rebuilt nothing, and left every card correctly reporting
|
||||
"current" -- the narrower-question shape, where nothing is wrong and
|
||||
nothing says so. Declared rather than inferred because which files a
|
||||
build reads is not knowable from here, and both wrong guesses are
|
||||
expensive: too wide rebuilds everything on every commit, too narrow is
|
||||
that silence. It is part of the acceptance gate like every other
|
||||
declared field -- `same_declaration` destructures exhaustively, which is
|
||||
what forced the decision when the field was added.
|
||||
- **A stripped copy is only serveable if it is signed by the key the
|
||||
build was.** `strip.rs` re-signs with `~/.android/debug.keystore`, and
|
||||
nothing about a debug keystore says which builds it made -- it is per
|
||||
|
||||
Reference in new issue
Block a user