mirror of
https://github.com/PR0M3TH3AN/TORCH.git
synced 2026-10-27 07:51:52 +00:00
The Claude Code remote sandbox strips `Upgrade: websocket` at the proxy L7 layer, making all outbound WebSocket connections (including Nostr relays used by torch-lock) unreachable. A local relay workaround was investigated but rejected because it breaks cross-agent lock visibility with Jules, which uses the public relay set. Workaround: run all scheduler/lock operations exclusively from Jules or any environment with unrestricted outbound WebSocket access. Refs: anthropics/claude-code #490, #2059, #17333 https://claude.ai/code/session_019g8yqKQMiq9u41n3GxUpFH
6.5 KiB
6.5 KiB
KNOWN_ISSUES.md
Track only active, reproducible, unresolved issues.
Entry template
[Issue title]
- Status: Open | Monitoring | Mitigated
- Area: Build | Test | Tooling | Runtime | Docs | Other
- Symptom:
- Trigger/Conditions:
- Workaround:
- Impact:
- Related notes:
docs/agent-handoffs/incidents/...(optional) - Last verified: YYYY-MM-DD
Active issues
Goose Desktop: hermit "text file busy" (ETXTBSY) blocks all node/npm commands
- Status: Active (local workaround applied, upstream fix needed)
- Area: Tooling
- Symptom: Every
node/npmcommand fails withfatal:hermit: open /home/user/.config/goose/mcp-hermit/bin/hermit: text file busy. All Torch lock/scheduler commands are blocked. - Trigger/Conditions: Any Goose Desktop on Linux. The Goose
nodewrapper downloads hermit, then runshermit initwhich tries to overwrite its own running binary — Linux returns ETXTBSY. - Workaround: Use patched setup:
PATH=/home/user/.local/goose-fix/bin:$PATHbefore commands. Or:rm -rf ~/.config/goose/mcp-hermitthen use patched wrappers. Seedocs/agent-handoffs/incidents/2026-02-15-hermit-text-file-busy.mdfor the full patch. - Impact: Critical — 100% blocks scheduler runs, lock operations, and any npm script on Goose Desktop.
- Related notes:
docs/agent-handoffs/incidents/2026-02-15-hermit-text-file-busy.md, patch atdocs/agent-handoffs/incidents/goose-hermit-etxtbsy-fix.patch - Last verified: 2026-02-15
Goose Desktop: node/npx wrappers swallow non-zero exit codes
- Status: Active (no workaround except stdout parsing)
- Area: Tooling
- Symptom: The Goose
nodewrapper usesnode "$@" || log "Failed"which catches non-zero exits and returns 0. Torchlock:lockexit 3 (lock denied) appears as exit 0. - Trigger/Conditions: Any Goose Desktop shell command that relies on
nodeexit codes. - Workaround: Parse stdout for
LOCK_STATUS=denied/LOCK_STATUS=race_lostinstead of relying on exit codes. - Impact: Medium — scheduler lock-race retry logic broken; requires stdout parsing fallback.
- Related notes:
docs/agent-handoffs/incidents/2026-02-15-hermit-text-file-busy.md - Last verified: 2026-02-15
npm test fails due to prompt contract violations
- Status: Resolved
- Area: Tooling
- Symptom:
npm testfails with multiple[prompt-contract]errors for missinglock:completetokens in daily/weekly agent prompts. - Trigger/Conditions: Running
npm test. - Workaround: Run
npm run validate:schedulerseparately and inspect output, or ignore errors for now. - Impact: CI/local testing blocked.
- Last verified: 2026-02-18
npm test hangs/times out in full suite run
- Status: Active
- Area: Test
- Symptom:
npm testtimes out after 400s when running all tests together. - Trigger/Conditions: Running
npm testin CI/Sandbox. - Workaround: Run individual test files or subsets (
npm run validate:scheduler,npm run test:integration:e2e, then specific unit tests). - Impact: Cannot verify all tests in a single pass.
- Related notes:
docs/agent-handoffs/incidents/2026-02-16-npm-test-timeout.md - Last verified: 2026-02-16
Recurring scheduler lock backend failures in recent task logs
- Status: Monitoring
- Area: Runtime
- Symptom: Multiple scheduler runs fail with
Lock backend errorbefore prompt handoff/validation. - Trigger/Conditions: Running scheduler cycles when relay connectivity is unstable or lock backend operations time out; observed in both
dailyandweeklytask logs. - Workaround: Run relay preflight (
npm run lock:health -- --cadence <daily|weekly>) and inspecttask-logs/relay-health/<cadence>.jsonlfor trend/alert data before rerunning scheduler. If scheduler logsAll relays unhealthy preflight, treat it as an incident signal, defer lock attempts, and escalate relay/network checks (DNS/TLS/connectivity). - Impact: Scheduled agent execution may be deferred early when all relays are unhealthy, preventing noisy lock retries until relay health recovers.
- Related notes:
docs/agent-handoffs/learnings/2026-02-15-relay-health-preflight-job.md - Last verified: 2026-02-15
Claude Code: outbound WebSocket blocked — scheduler cannot run from this environment
- Status: Active (no code-level workaround)
- Area: Runtime / Tooling
- Symptom:
torch-lockcommands (lock:check,lock:lock,lock:complete) fail to connect to any Nostr relay. The underlying error is a WebSocket handshake rejection at the proxy layer. In Node.js the symptom isgetaddrinfo ENOTFOUND(empty/etc/resolv.conf) or a connection hang/timeout forwss://URLs. - Trigger/Conditions: Any
torch-lockor scheduler command run from inside the Claude Code remote sandbox. The proxy intercepts all egress traffic; it supports HTTP/HTTPSCONNECTtunneling but strips theUpgrade: websocketheader at L7, so the WebSocket handshake never completes. This affects all outbound WebSocket connections, not just Nostr relays (confirmed by multiple open GitHub issues: anthropics/claude-code #490, #2059, #17333). - Workaround (attempted and rejected): A local relay on
ws://127.0.0.1:PORTis reachable (bypasses both DNS and the proxy), but breaks cross-agent coordination: other agents (Jules/Google Cloud) publish locks to the public Nostr relays (wss://relay.damus.io,wss://nos.lol,wss://relay.primal.net). A local relay is invisible to those agents, causing double-claiming of scheduled agent slots. - Correct workaround: Run the scheduler and all
torch-lockcommands exclusively from Jules (Google Cloud environment) or any other agent environment with unrestricted outbound WebSocket access. Do not attempt to runlock:lock/lock:completefrom Claude Code sessions. - Impact: Critical for Claude Code sessions — 100% blocks scheduler runs, lock acquisition, and lock release. No impact on Jules-initiated runs.
- Related notes: Investigation session 2026-02-19; WebSearch confirmed the general proxy restriction is a known Anthropic platform-level policy, not a TORCH bug.
- Last verified: 2026-02-19
content-audit-agent targets missing /content directory
- Status: Resolved
- Area: Docs
- Symptom:
content-audit-agentfails to find/contentdirectory. - Trigger/Conditions: Running
content-audit-agent. - Workaround: None. Prompt updated to target
docs/instead of/content. - Impact: Docs audit cannot be performed.
- Last verified: 2026-02-18