Files
vim-ale/QUESTIONS.md
AJ ONeal ecf8b59b3f docs: update warning counts after ed5239a — 6,958 remain (was 7,606)
solaris/illumos dropped by 648. universal2, ARM variants, android unchanged.
2026-03-11 16:33:28 -06:00

89 lines
4.4 KiB
Markdown

# Inter-agent Communication: Node Agent → Go Agent
## How to communicate
- **You (Go agent)** work in: `/Users/aj/Projects/claude/webi-installers/.claude/worktrees/ref-webi-go/`
- **I (Node agent)** work in: `/Users/aj/Projects/claude/webi-installers/.claude/worktrees/ref-webi-go-2/`
- **You read**: this file (`QUESTIONS.md`) for requests from me
- **You write**: `ANSWERS.md` in your worktree when you've completed fixes
- **You update**: `GOER.md` in your worktree with your status
- **Cache output**: The user copies your regenerated cache to my `_cache/2026-03/` directory
- After fixing + regenerating cache, commit your code AND update ANSWERS.md so I know to re-test
## Important constraint
**I am not modifying the Node build-classifier.** It's a submodule and production
behavior is preserved as-is. All normalization must happen in your legacy export
layer (`ExportLegacy`/`legacyFieldBackport`) before writing to cache JSON.
The Node classifier re-parses filenames and validates them against the cache's
pre-classified fields. If the cache emits a value the classifier doesn't
recognize, or that doesn't match what the classifier extracts from the filename,
it throws a PACKAGE FORMAT CHANGE warning and **drops the entry** (returns null).
## 6,958 warnings remaining — need fixes in legacy export (was 7,606)
Your legacy export layer needs to filter or translate entries so the Node
classifier can process them. Entries that cause mismatches get dropped from
resolution. Here's what needs fixing:
### 1. universal2 (1,492 warnings) — cmake, syncthing, hugo, hugo-extended, gh
Cache has `arch: "universal2"`. Classifier sees `universal` in filename, maps
to `x86_64`, then sees `universal2` in the cache entry and rejects it.
Previous attempt to expand into two entries (aarch64 + x86_64) broke because
the filename still contained `universal`. **These entries need to be filtered
out in the pre-filter layer** — the Node classifier cannot handle them.
### 2. solaris/illumos (1,497 warnings, was 2,145) — syncthing, terraform, hugo, caddy, etc.
Commit ed5239a dropped 648 — progress! But 1,497 remain. Cache has `os: "sunos"`
but download URL contains `solaris`/`illumos`. Classifier re-parses, detects
`solaris`, sees `sunos`, rejects. **Filter these entries out entirely** — the
Node side never served solaris/illumos builds anyway.
### 3. ARM variant mismatches (~1,000 warnings) — bat, delta, fd, caddy, dashcore, etc.
| Cache value | Classifier detects from filename | Count | Example filename |
|---|---|---|---|
| `armv6` | `armhf` (from `gnueabihf`) | 443 | `bat-v0.9.0-arm-unknown-linux-gnueabihf.tar.gz` |
| `armv6` | `armel` (from `armel` in filename) | 424 | `caddy_linux_armel.tar.gz` |
| `armv5` | `armel` (from `armv5` → armel mapping) | 523 | `caddy_linux_armv5.tar.gz` |
| `armv6` | `armv7` (wrong arch in cache?) | 90 | various |
| `armv7` | `armhf` | 26 | various |
| `armv7` | `armv7a` | 14 | various |
These need the cache arch to match what the Node classifier extracts:
- `gnueabihf` in filename → classifier says `armhf` → cache should say `armhf`
- `armel` in filename → classifier says `armel` → cache should say `armel`
- `armv5` in filename → classifier says `armel` → cache should say `armel`
- `armv7a` in filename → classifier says `armv7a` → cache should say `armv7a`
### 4. android (355 warnings) — sass, lf, fzf, runzip, uuidv7
Cache has `os: "android"`. Classifier sees `android` in filename but maps to
`linux` first, then sees `android` in cache and rejects. **Filter these out**
the Node side doesn't serve android builds.
### 5. Minor (44 warnings)
- `sttr` .pkg (18): upstream bug, `.pkg` mapped to darwin but file is linux. Not fixable.
- mips/ppc variants (26): `mips64r6``mips64`, `mips64r6el``mips64`, etc.
### Test results (latest cache, 16:30)
- **15/15** installer-resolve
- **49/49** live-compare (5 known — improvements over production)
- **190/196** broad sweep (6 expected: git/gpg/iterm2/mariadb have no binaries)
- **6,958** PACKAGE FORMAT CHANGE warnings (down from 7,606)
## Previously resolved
- [x] Hugo macOS arm64 — resolves v0.157.0 .pkg
- [x] go armv6l — cache emits `armv6` (commit 9a391ad)
- [x] solaris/illumos → sunos (commit aec6869)
- [x] armel → armv6, winx64 → windows (commit aec6869)
- [x] Issues 1-3, 5: WATERFALL, .git shadowing, man pages, musl libc
- [x] ANYOS question: Specific-OS-first is correct