Repository navigation
Open
Labels
priority/normalOrdinary priority (the default)Ordinary priority (the default)source/design-architectFiled by the repo design architect jobFiled by the repo design architect jobstatus/blockedQueue or user escalation stateQueue or user escalation statetask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this item
Description
Home-resolution inventory audit — disposition every remaining site against the contract
Phase 4 of the home-resolution design (design issue #5762; design doc files/designs/code-home-resolution-contract.md
in the keep-the-four-repos-healthy goal workspace).
The contract: a tool that needs the home directory resolves it
exactly one way — a non-empty HOME; empty is unset; unset is a
named error at the first surface that needs a path, never a
substitute directory (no root anchoring, no CWD fallback, no
literal ~, no hardcoded user). Phases 1–3 cover the filed
crates (#5737 fleet-config, #5673 fleet-queue, #5640
atlas-search/fleet-search). This audit dispositions everything
else the inventory finds, so the contract is a repo property,
not a per-crate accident.
Known unfiled sites (from the design pass's grep inventory, origin/main c2bf5fc)
pkgs/id/src/world_compile.rs:704—std::env::var("HOME").unwrap_or_default():
the fleet-queue shape (root anchoring) in id's own tree, one
file away from world.rs's hard-error embodiment.- JS
bin/*proxies —process.env.HOME || '/home/user'
hardcoded-user fallback (agy-proxy.mjs, sync-models.mjs,
provider-catalog-sync.mjs) plus template-literal
${process.env.HOME}/...path construction at further sites
(claude-code-proxy, codex-proxy, commandcode-proxy,
antigravity-ls-proxy): unset HOME yieldsundefined/...
relative paths. Disposition may route these to this contract
or to Design: unknown means stop — one strict argument contract for the repo's operator scripts #3352's env rule — decide with evidence and record it. - mcpx (Go) —
home, _ := os.UserHomeDir()discards the error
at ~8 sites (internal/cli, internal/config, internal/daemon,
internal/mcpclient): on Unix an unset HOME yields""and
root-anchored joins. Sites that already handle the error
(err == nilguards) are conforming; disposition the rest.
Acceptance criteria
- A grep inventory of home resolution (Rust
env::var("HOME")/
var_os, GoUserHomeDir/Getenv("HOME"), JS/TS
process.env.HOME, Pythonos.environ["HOME"]/expanduser)
is posted on this issue with a disposition per production
site: conforms / fixed in this phase / filed separately
(issue link + why its context genuinely differs). - Same-shape sites (unset/empty HOME silently producing a
substitute directory) are fixed in this phase with the
contract's probe matrix as tests (unset and empty both named
errors; set = unchanged paths). - No production site remains whose disposition is "unexamined".
- The design issue is commented with the closing inventory so
its acceptance can be checked off.
Metadata
Metadata
Assignees
Labels
priority/normalOrdinary priority (the default)Ordinary priority (the default)source/design-architectFiled by the repo design architect jobFiled by the repo design architect jobstatus/blockedQueue or user escalation stateQueue or user escalation statetask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this item
Activity
developing-today commentedon Nov 5, 2026
CODE-1450
dezren39 commentedon Nov 5, 2026
🤖 Agent note · design phase filed
status/blockedon Phases 1–3 (fleet-config: HOME unset/empty falls back to "." — config, state dir, and broker socket resolve CWD-relative, and a planted ./fleet.toml loads #5737, fleet-queue(client): HOME unset/empty makes home() empty — broker socket, token, and worker signal paths all anchor at the filesystem root #5673, atlas-search(fleet-search): HOME unset/empty resolves state/config/token paths relative to the CWD (literal ~ dir) #5640).files/designs/code-home-resolution-contract.md(keep-the-four-repos-healthy goal workspace).dezren39 commentedon Nov 5, 2026
🤖 Agent note · enqueue outcome
hidden_files/queue-packets/packet-5763.json; enqueued as task 9794.repo-health-code-shadowqueue (the CLI ignored the packet's queue field); the task was cancelled with reason recorded and re-enqueued with--queue repo-health-code-pilot— dedupe revived the same row 9794 into the pilot queue (verified by dedupe re-read: queue=repo-health-code-pilot). A worker has since claimed it (attempts=1 at last read).dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
ses_e5e5639c61cffePoBJSVNq4BCEdezren39 commentedon Nov 5, 2026
🤖 Agent note · triage complete
repo-worker-code), execution laneopencodeses_e5e5639c61cffePoBJSVNq4BCE/ task 9794HOME; empty is unset; unset is a named error, with no substitute directory). The contract and phase boundaries in Home is not optional — one home-resolution contract for the repo's tools #5762 remain consistent with the current-main spot-check. The separate goal-workspace design file was not available from this runner, so I verified against the design record in Home is not optional — one home-resolution contract for the repo's tools #5762 and currentmaininstead.status/in-progress; Phase 2 fleet-queue(client): HOME unset/empty makes home() empty — broker socket, token, and worker signal paths all anchor at the filesystem root #5673 is OPEN /status/in-progress; Phase 3 atlas-search(fleet-search): HOME unset/empty resolves state/config/token paths relative to the CWD (literal ~ dir) #5640 is OPEN /status/parkedandqueue/parked. They have not all landed. Currentmainstill contains the citedpkgs/id/src/world_compile.rs:704HOMEfallback; a current-main JS search also surfaced the knownbin/*uses. This is a scope spot-check, not the Phase 4 inventory, and no sites were dispositioned here.status/blockeduntil Phases 1–3 land. Do not start the full inventory or implementation yet. Once all three prerequisites land, enqueue the implementation follow-up against this issue with its existing acceptance criteria intact; no separate audit task is being started while the gate is closed.mainSHA1cf701651abdbdfbbd016fc64fdf045999b26e52; freshgh issue viewand PR/timeline checks for Home-resolution inventory audit — disposition every remaining site against the contract #5763, Home is not optional — one home-resolution contract for the repo's tools #5762, fleet-config: HOME unset/empty falls back to "." — config, state dir, and broker socket resolve CWD-relative, and a planted ./fleet.toml loads #5737, fleet-queue(client): HOME unset/empty makes home() empty — broker socket, token, and worker signal paths all anchor at the filesystem root #5673 and atlas-search(fleet-search): HOME unset/empty resolves state/config/token paths relative to the CWD (literal ~ dir) #5640; current-main source check ofpkgs/id/src/world_compile.rsandgh search code 'process.env.HOME repo:developing-today/code'.HOME, when the gated audit is ready.