Repository navigation
Closed
Labels
do-not-auto-editAutomation may look but must not edit thisAutomation may look but must not edit thissource/pr-diff-reviewFiled by the pr-diff-review jobFiled by the pr-diff-review jobstatus/needs-triageNot yet triaged; needs a first lookNot yet triaged; needs a first lookstatus:donetask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this itemuser/reviewNeeds a user-look: Muse reviews first and handles what it canNeeds a user-look: Muse reviews first and handles what it can
Description
Finding
PR #695 (merged, merge commit 3d7b96a5cd4d5476942ec5efa6a7df128159e244, commit 2446d3e999c86c16754bbda901c535b552395154) dropped three dead OpenCode env vars from home/common/default.nix, citing developing-today-forks/opencode#105 and developing-today-forks/opencode#115 — but the same sessionVariables block still sets two more names those same issues adjudicated as dead, and one of them carries an active behavioural intent that is silently not happening.
Found by the pr-diff-review job reviewing PR #695; verified against current main of both repos on 2026-10-23 (code 3d7b96a5, opencode fe5d6c8e943882a01d7914264b710c7e8ac11b5a), cross-checked via local clones and gh api contents.
Evidence
1. OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER — the file watcher is NOT off, despite the config saying it is
home/common/default.nix:1252-1255on current main:# File watcher off by default (Drew, 2026-10-20): the working trees # are giant, and watching costs more than the live-external-edit # awareness it buys. Diffs are git-computed on demand either way. OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER = "1";- Nothing in opencode reads that name:
git grep OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHERon opencode main returns only docs rows (packages/web/.../cli.mdx), no code reader. - The actual gate is
packages/cli/src/server-process.ts:146in opencode:i.e. the watcher defaults to ON and is disabled only viafilewatcher: !truthy(process.env.OPENCODE_FILEWATCHER_DISABLE ?? process.env.OPENCODE_DISABLE_FILEWATCHER),
OPENCODE_DISABLE_FILEWATCHER/OPENCODE_FILEWATCHER_DISABLE. Neither correct name is set anywhere in this repo (git grepon main: no hits). - This exact dead name was already adjudicated in opencode: Bump tracing from 0.1.38 to 0.1.40 in /sources/pavex/examples/skeleton #104 ("filewatcher-disable sets a dead env name — OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER is read nowhere", CLOSED, fixed there by renaming opencode's own setters to
OPENCODE_DISABLE_FILEWATCHER), and Update github.com/charmbracelet/promwish digest to 6c16e8f - autoclosed #115's body calls it out again. PR home: drop dead OpenCode env vars (ENABLE_EXA, ENABLE_PARALLEL, EXPERIMENTAL_ICON_DISCOVERY) #695 removedOPENCODE_EXPERIMENTAL_ICON_DISCOVERY~7 lines above this line, in the same block, but left this one.
2. OPENCODE_EXPERIMENTAL_LSP_TOOL — dead line from the same #105 set PR #695 was cleaning up
home/common/default.nix:1240on current main:OPENCODE_EXPERIMENTAL_LSP_TOOL = "1";- opencode#105 named this variable explicitly as one of its four dead vars ("the LSP-tool gate (
OPENCODE_EXPERIMENTAL_LSP_TOOL…)"), withgit grepexcluding docs returning zero hits; re-verified this run on opencode mainfe5d6c8e: zero hits outsidepackages/web. Bump h2 from 0.3.18 to 0.3.24 in /sources/pavex/examples/skeleton #105 is CLOSED and its English docs row for this variable is gone. - PR home: drop dead OpenCode env vars (ENABLE_EXA, ENABLE_PARALLEL, EXPERIMENTAL_ICON_DISCOVERY) #695's stated four-var list covered three of Bump h2 from 0.3.18 to 0.3.24 in /sources/pavex/examples/skeleton #105's vars plus Update github.com/charmbracelet/promwish digest to 6c16e8f - autoclosed #115's icon-discovery var; this one — the fourth Bump h2 from 0.3.18 to 0.3.24 in /sources/pavex/examples/skeleton #105 var — was not in the list and survives.
Why it matters
- Item 1 is not cosmetic: the home config's stated intent (Drew, 2026-10-20 — watcher off because the working trees are giant and watching costs more than it buys) is silently not in effect on any machine built from this config. The server spawns with the file watcher on by default.
- Item 2 is the same silent-no-op class PR home: drop dead OpenCode env vars (ENABLE_EXA, ENABLE_PARALLEL, EXPERIMENTAL_ICON_DISCOVERY) #695 was created to eliminate; leaving it re-creates the "set but unread" trap for the next reader of this block.
- Cross-repo scope checked: neither dead name is set in developing-today/openchamber or dezren39/nix (
git grepon their mains: no hits) — this is a code-repo-only setter, so this single issue tracks the whole finding.
Acceptance criteria
-
home/common/default.nixsetsOPENCODE_DISABLE_FILEWATCHER = "1";(the nameserver-process.tsactually reads) in place of the deadOPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHERline, keeping the "file watcher off by default" comment accurate. - The
OPENCODE_EXPERIMENTAL_LSP_TOOL = "1";line is removed (mirroring PR home: drop dead OpenCode env vars (ENABLE_EXA, ENABLE_PARALLEL, EXPERIMENTAL_ICON_DISCOVERY) #695's drop decision for its Bump h2 from 0.3.18 to 0.3.24 in /sources/pavex/examples/skeleton #105 siblings), or a reader is implemented in opencode with a test — dropping is the expected route. -
git grep -n "OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER\|OPENCODE_EXPERIMENTAL_LSP_TOOL"over this repo's tracked tree returns no setters (a historical comment noting the rename, if kept, is fine).
Metadata
Metadata
Assignees
Labels
do-not-auto-editAutomation may look but must not edit thisAutomation may look but must not edit thissource/pr-diff-reviewFiled by the pr-diff-review jobFiled by the pr-diff-review jobstatus/needs-triageNot yet triaged; needs a first lookNot yet triaged; needs a first lookstatus:donetask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this itemuser/reviewNeeds a user-look: Muse reviews first and handles what it canNeeds a user-look: Muse reviews first and handles what it can
Activity
fix(home): correct dead opencode env vars (#698)
Merge pull request #889 from developing-today/fix/698-dead-env-vars