Repository navigation
Open
Labels
effort/sSmall: expected under 2 hours of workSmall: expected under 2 hours of workkind/infrastructureInfrastructure / host-portability workInfrastructure / host-portability workmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedmeta/follow-upFollow-up spun out of earlier workFollow-up spun out of earlier workmode/onlineFully doable remotely: design, config, code, cloudFully doable remotely: design, config, code, cloudpriority/normalOrdinary priority (the default)Ordinary priority (the default)queue/queuedHas a queued task in the Supabase agent queueHas a queued task in the Supabase agent queuesource/creatorFiled by the new-issue-creator jobFiled by the new-issue-creator 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 itemuser/escalatedQueue or user escalation stateQueue or user escalation state
Description
From the #1363 close-out (2026-10-27): the laptop opencode background service is now published to the tailnet via Tailscale Serve (https://amd-6.raptor-pumpkinseed.ts.net/ → 127.0.0.1:13420, tailnet-only, password auth enforced — 401 unauthenticated verified). The remaining hardening is policy-side:
- Today, any device the tailnet policy admits can attempt the endpoint; the opencode server password is the only gate. The tailnet (raptor-pumpkinseed) also carries many enrolled, mostly-offline codex-environment nodes that have no business reaching the opencode API.
- Scope the tailnet policy (admin console — grants/ACLs) so only the devices that need the opencode API (the Muse sandbox device
muse, Drew's own devices) can reach amd-6:443. Keep the aggregator route (amd-6:4870 consumers) working — check what else reaches amd-6 before narrowing.
Acceptance: policy updated in the admin console; sandbox still reaches the serve route (200 with auth); a non-authorized device class can no longer connect; the change + test result commented here. This needs Drew or an admin-console session — it cannot be done from the laptop CLI.
Acceptance criteria
- Tailnet policy (admin console grants/ACLs) is updated so only the named device classes (the
musesandbox device and Drew's own devices) can reach amd-6:443. - Post-change verification is commented here: the sandbox still reaches the serve route (200 with auth), and a non-authorized device class can no longer connect.
- Other consumers of amd-6 (e.g. the aggregator route on :4870) are checked before narrowing and still work after.
Metadata
Metadata
Assignees
Labels
effort/sSmall: expected under 2 hours of workSmall: expected under 2 hours of workkind/infrastructureInfrastructure / host-portability workInfrastructure / host-portability workmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedmeta/follow-upFollow-up spun out of earlier workFollow-up spun out of earlier workmode/onlineFully doable remotely: design, config, code, cloudFully doable remotely: design, config, code, cloudpriority/normalOrdinary priority (the default)Ordinary priority (the default)queue/queuedHas a queued task in the Supabase agent queueHas a queued task in the Supabase agent queuesource/creatorFiled by the new-issue-creator jobFiled by the new-issue-creator 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 itemuser/escalatedQueue or user escalation stateQueue or user escalation state
Activity
developing-today commentedon Oct 27, 2026
CODE-472
dezren39 commentedon Oct 27, 2026
Intake review
Related: from the #1363 close-out; #1378 (pointing fleet job bodies at the serve route) increases the endpoint's importance, which is what makes this hardening timely.
Notes: the endpoint is already password-gated (401 unauthenticated verified); this is defence-in-depth on the policy side. The issue itself states it needs Drew or an admin-console session — hence
user/review.Risks: narrowing policy before inventorying amd-6 consumers could break the aggregator route; the criteria include that check.
Suggested approach: Drew/admin-console session; inventory amd-6 reachability first, then scope, then verify both directions.
— fleet monitor intake enrichment, 2026-10-27.
dezren39 commentedon Nov 1, 2026
agent-note:v1
event: picked_up
task: 2563 (repo-health-code-pilot, openchamber scheduled lane)
state: Claimed triage; revalidating current endpoint and policy access.
14 remaining items
developing-today commentedon Nov 7, 2026
Picked up by
repo-worker-code-g— working this now. (Fleet queue fallback mode: the queue backend is down, so this issue's comments carry the claim. The claim stays live whilerepo-worker-code-gposts progress markers; after 30 minutes of silence any other worker may pick this up.)developing-today commentedon Nov 7, 2026
Progress from
repo-worker-code-g: triage review: acceptance says admin-console/Drew-only; checking for any gitops policy route + prior decisionsdeveloping-today commentedon Nov 7, 2026
🤖 Agent note · triaged — packet defect CONFIRMED, escalated
tailscale serve statuson amd-6): the opencode serve route is https://amd-6.raptor-pumpkinseed.ts.net:4096 → 127.0.0.1:13420. The :443 route (bare host) proxies 127.0.0.1:4870 — the aggregator. This matches the 2026-11-01 blocked note on task 2563 and is still true today.musesandbox device + your own devices can reach amd-6:4096 (opencode). Leave :443 (aggregator :4870), :8443 (→3773) and the tcp forwards (18760/19222/3000) as they are unless you intend otherwise. Post-change checks: sandbox reaches :4096 with auth (200/401 challenge), a codex-environment node can no longer connect to :4096.developing-today commentedon Nov 7, 2026
Released by
repo-worker-code-g(outcome: free). Triaged: packet defect CONFIRMED fresh 2026-11-07 — opencode serve is amd-6:4096 (not :443; :443 is the aggregator :4870). Corrected target recorded on #1377; remainder is a Drew/admin-console grants edit only (no repo/GitOps route), escalated user/escalated + status/blocked.