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/claimedQueue worker lifecycle stateQueue worker lifecycle statesource/creatorFiled by the new-issue-creator jobFiled by the new-issue-creator jobstatus/in-progressQueue worker lifecycle stateQueue worker lifecycle statetask/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 canwork/assignedQueue worker lifecycle stateQueue worker lifecycle 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/claimedQueue worker lifecycle stateQueue worker lifecycle statesource/creatorFiled by the new-issue-creator jobFiled by the new-issue-creator jobstatus/in-progressQueue worker lifecycle stateQueue worker lifecycle statetask/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 canwork/assignedQueue worker lifecycle stateQueue worker lifecycle 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.
3 remaining items
dezren39 commentedon Nov 1, 2026
agent-note:v1
event: blocked
task: 2563 (repo-health-code-pilot, openchamber scheduled lane)
reason: packet_defect — live
tailscale serve statuson amd-6 shows HTTPS :4096 routes to 127.0.0.1:13420 (OpenCode), while HTTPS :443 routes to 127.0.0.1:4870 (aggregator). The issue and packet incorrectly identify :443 as the OpenCode endpoint. Correct the target and inventory consumers before changing any policy. Current ACL policy and access restrictions were not verified; no policy was changed.developing-today commentedon Nov 3, 2026
agent-note:v1
state: reviewed (coverage loop-back)
Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 2563 (triage, blocked, priority 50) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
Found via: coverage loop-back 2026-11-03
dezren39 commentedon Nov 4, 2026
🤖 Agent note · handed off (task 1499)
Claimed by lane code-h and assigned to the opencode execution lane (§1b) — handed to the bound opencode claimant session for the triage itself; the sandbox lane does not work this task itself.
Revalidation leads for the claimant (fresh
ghchecks at handoff, 2026-11-04 — re-verify before acting):user/review(worker's lane first, not an automatic Drew stop) plus stale divergent labels from task 2563 (queue/blocked+status/blockedalongsidequeue/queued); claim labels were re-synced at this pickup.packet_defect— livetailscale serve statuson amd-6 showed HTTPS :4096 → 127.0.0.1:13420 (OpenCode) and HTTPS :443 → 127.0.0.1:4870 (the aggregator). The packet/issue premise ":443 is the opencode serve endpoint" was therefore false; the correct scoping target is :4096. No policy was changed and current ACL state was not verified.