From 5024397509eba5c1cf220db03c9347b648af848a Mon Sep 17 00:00:00 2001 From: CodePilot Date: Wed, 1 Jul 2026 18:39:14 +0200 Subject: [PATCH 01/11] fix: launch trycloudflare setup in terminal --- Sources/CodexAccountSwitcher/main.swift | 22 +++++++++++- .../CloudflareSetupTests.swift | 10 ++++++ ops/agents/triage/2026-07-01-issue-triage.md | 34 +++++++++++++++++++ 3 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 ops/agents/triage/2026-07-01-issue-triage.md diff --git a/Sources/CodexAccountSwitcher/main.swift b/Sources/CodexAccountSwitcher/main.swift index cdf1059f..b3b1eb41 100644 --- a/Sources/CodexAccountSwitcher/main.swift +++ b/Sources/CodexAccountSwitcher/main.swift @@ -2490,6 +2490,16 @@ enum CodePilotCloudflareErrorMapper { } } +enum CodePilotTryCloudflareCommand { + static func terminalCommand(scriptPath: String, currentDirectory: String) -> String { + "cd \(shellQuoted(currentDirectory)) && \(shellQuoted(scriptPath)) start-trycloudflare" + } + + private static func shellQuoted(_ value: String) -> String { + "'\(value.replacingOccurrences(of: "'", with: "'\\''"))'" + } +} + enum CodePilotSetupRequirement: Equatable { case codexCLIInstalled case codexCLIMissing @@ -2879,7 +2889,17 @@ private final class CodePilotCloudflareWizardController: NSWindowController { } @objc private func startTemporary() { - runCloudflareStep(["start-trycloudflare"], successMessage: "Temporary Cloudflare URL started. Use this only for testing.") + guard let script = scriptURL() else { + outputLabel.stringValue = "Could not find setup-cloudflare-remote-access.sh." + return + } + let command = CodePilotTryCloudflareCommand.terminalCommand( + scriptPath: script.path, + currentDirectory: FileManager.default.currentDirectoryPath + ) + runInTerminal(command) + outputLabel.stringValue = "Temporary Cloudflare URL is starting in Terminal. Copy the trycloudflare.com URL from the Terminal output when it appears." + detailsLabel.stringValue = command } @objc private func openCloudflareDashboard() { diff --git a/Tests/CodexAccountSwitcherTests/CloudflareSetupTests.swift b/Tests/CodexAccountSwitcherTests/CloudflareSetupTests.swift index 8e56e823..c1510bcd 100644 --- a/Tests/CodexAccountSwitcherTests/CloudflareSetupTests.swift +++ b/Tests/CodexAccountSwitcherTests/CloudflareSetupTests.swift @@ -35,4 +35,14 @@ final class CloudflareSetupTests: XCTestCase { "cloudflared is missing. Install it from the Cloudflare setup step before continuing." ) } + + func testTryCloudflareTerminalCommandUsesLongRunningSubcommand() { + let command = CodePilotTryCloudflareCommand.terminalCommand( + scriptPath: "/tmp/Code Pilot/scripts/setup-cloudflare-remote-access.sh", + currentDirectory: "/tmp/Code Pilot" + ) + + XCTAssertTrue(command.contains("cd '/tmp/Code Pilot'")) + XCTAssertTrue(command.contains("'/tmp/Code Pilot/scripts/setup-cloudflare-remote-access.sh' start-trycloudflare")) + } } diff --git a/ops/agents/triage/2026-07-01-issue-triage.md b/ops/agents/triage/2026-07-01-issue-triage.md new file mode 100644 index 00000000..11706612 --- /dev/null +++ b/ops/agents/triage/2026-07-01-issue-triage.md @@ -0,0 +1,34 @@ +# CodePilot Issue Triage - 2026-07-01 + +Remote write policy: read-only GitHub inspection only. No remote comments, labels, pushes, PRs, or issue edits were made. + +## Reviewed Issues + +- #1 Add permissions and notification readiness to the Mac setup checklist + - Proposed labels: `setup`, `remote-desktop`, `mac`, `notifications`, `severity: low`. + - Triage: confirmed from existing issue body/comment that the setup checklist still needs visible Screen Recording, Accessibility, and notification/APNs readiness rows. No local fix in this pass. +- #2 Support or disable the iOS Same Network setup path + - Proposed labels: `setup`, `ios`, `gateway`, `severity: medium`. + - Triage: product/security decision required because default gateway binding is loopback-only while iOS exposes Same Network setup. Already escalated locally. +- #3 Require clear Remote Desktop pairing approval in setup + - Proposed labels: `setup`, `remote-desktop`, `mac`, `ios`, `severity: high`. + - Triage: trust-model decision required before public beta. Already escalated locally. +- #4 TryCloudflare setup step waits forever for the tunnel process + - Proposed labels: `bug`, `setup`, `mac`, `cloudflare`, `severity: medium`. + - Triage: reproduced by code inspection. `startTemporary()` previously called `runCloudflareStep(["start-trycloudflare"])`, which uses `runProcess` and waits for process exit; `cloudflared tunnel --url` is long-running. + - Local fix: changed the TryCloudflare action to open the long-running command in Terminal so stdout can stream and the temporary URL appears without the setup sheet waiting for process exit. +- #5 Permanent Cloudflare setup does not safely reuse existing tunnels + - Proposed labels: `bug`, `setup`, `mac`, `cloudflare`, `severity: medium`. + - Triage: already has a prior local/draft fix referenced by the existing issue comment. No duplicate fix made. +- #8 Prepare sanitized public screenshot set + - Proposed labels: `documentation`, `severity: low`. + - Triage: maintainer approval required before screenshots are captured, committed, or reused publicly. Already escalated locally. + +## Local Validation + +- `swift test --filter CloudflareSetupTests/testTryCloudflareTerminalCommandUsesLongRunningSubcommand` failed before implementation because `CodePilotTryCloudflareCommand` was missing. +- `swift test --filter CloudflareSetupTests` passed after implementation. + +## Escalations + +No new escalation beyond the existing `ops/agents/escalations/issue-triage.md` entries for #2, #3, and #8. From 9f020d94d6d415b85d11de15a665beb51bcbddf4 Mon Sep 17 00:00:00 2001 From: CodePilot Date: Wed, 1 Jul 2026 20:54:58 +0200 Subject: [PATCH 02/11] fix: show setup readiness for remote desktop --- Sources/CodexAccountSwitcher/main.swift | 72 ++++++++++++++++++- .../SetupStatusTests.swift | 9 +++ ops/agents/triage/2026-07-01-issue-triage.md | 11 ++- 3 files changed, 90 insertions(+), 2 deletions(-) diff --git a/Sources/CodexAccountSwitcher/main.swift b/Sources/CodexAccountSwitcher/main.swift index b3b1eb41..eec8eb05 100644 --- a/Sources/CodexAccountSwitcher/main.swift +++ b/Sources/CodexAccountSwitcher/main.swift @@ -1,4 +1,5 @@ import AppKit +import ApplicationServices import CryptoKit import Darwin import Foundation @@ -2342,6 +2343,8 @@ private struct CodePilotSetupStatus { cloudflareRequirement = .cloudflareNeedsConfiguration cloudflareDetail = "cloudflared is installed; set up a tunnel for remote access." } + let permissions = SystemRemoteDesktopPermissions() + let notificationsConfigured = apnsConfigured() return CodePilotSetupStatus(rows: [ CodePilotSetupRow( title: "Codex CLI", @@ -2372,6 +2375,27 @@ private struct CodePilotSetupStatus { title: "Cloudflare", requirement: cloudflareRequirement, detail: cloudflareDetail + ), + CodePilotSetupRow( + title: "Screen Recording", + requirement: permissions.screenRecordingGranted ? .screenRecordingReady : .screenRecordingMissing, + detail: permissions.screenRecordingGranted + ? "Remote Desktop viewing is allowed." + : "Allow CodePilot in System Settings to view the Mac screen." + ), + CodePilotSetupRow( + title: "Accessibility", + requirement: permissions.accessibilityGranted ? .accessibilityReady : .accessibilityMissing, + detail: permissions.accessibilityGranted + ? "Remote Desktop control is allowed." + : "Allow CodePilot in System Settings to control the Mac." + ), + CodePilotSetupRow( + title: "Notifications", + requirement: notificationsConfigured ? .notificationsReady : .notificationsOptional, + detail: notificationsConfigured + ? "APNs credentials are configured for turn-finished alerts." + : "Configure APNs only if background iPhone alerts are needed." ) ]) } @@ -2454,6 +2478,22 @@ private struct CodePilotSetupStatus { guard let data = try? Data(contentsOf: path) else { return nil } return try? JSONDecoder().decode(CodePilotCloudflareMetadata.self, from: data) } + + private static func apnsConfigured( + environment: [String: String] = ProcessInfo.processInfo.environment, + fileExists: (String) -> Bool = { FileManager.default.fileExists(atPath: NSString(string: $0).expandingTildeInPath) } + ) -> Bool { + let certPath = environment["CODEX_PHONE_APNS_CERT_PATH"]?.trimmingCharacters(in: .whitespacesAndNewlines) ?? "" + let certKeyPath = environment["CODEX_PHONE_APNS_CERT_KEY_PATH"]?.trimmingCharacters(in: .whitespacesAndNewlines) ?? "" + if !certPath.isEmpty, !certKeyPath.isEmpty, fileExists(certPath), fileExists(certKeyPath) { + return true + } + + let teamID = environment["CODEX_PHONE_APNS_TEAM_ID"]?.trimmingCharacters(in: .whitespacesAndNewlines) ?? "" + let keyID = environment["CODEX_PHONE_APNS_KEY_ID"]?.trimmingCharacters(in: .whitespacesAndNewlines) ?? "" + let keyPath = environment["CODEX_PHONE_APNS_KEY_PATH"]?.trimmingCharacters(in: .whitespacesAndNewlines) ?? "" + return !teamID.isEmpty && !keyID.isEmpty && !keyPath.isEmpty && fileExists(keyPath) + } } struct CodePilotSetupRow: Equatable { @@ -2516,13 +2556,16 @@ enum CodePilotSetupRequirement: Equatable { case cloudflareOptional case cloudflareMissing case cloudflareNeedsConfiguration + case screenRecordingReady case screenRecordingMissing + case accessibilityReady case accessibilityMissing + case notificationsReady case notificationsOptional var statusLabel: String { switch self { - case .codexCLIInstalled, .codexSignedIn, .profilesCreated, .gatewayTokenPresent, .gatewayRunning, .cloudflareReady: + case .codexCLIInstalled, .codexSignedIn, .profilesCreated, .gatewayTokenPresent, .gatewayRunning, .cloudflareReady, .screenRecordingReady, .accessibilityReady, .notificationsReady: return "Ready" case .cloudflareNeedsConfiguration: return "Needs setup" @@ -2608,6 +2651,14 @@ private final class CodePilotSetupWindowController: NSWindowController { button("Open Cloudflare Guide", #selector(openCloudflareGuide)) ] )) + root.addArrangedSubview(section( + title: "Remote Desktop & Notifications", + buttons: [ + button("Request Screen Recording", #selector(requestScreenRecordingPermission)), + button("Request Accessibility", #selector(requestAccessibilityPermission)), + button("Open iOS Notification Guide", #selector(openIOSNotificationGuide)) + ] + )) let refresh = button("Refresh Status", #selector(refreshStatusAction)) root.addArrangedSubview(refresh) @@ -2716,6 +2767,25 @@ private final class CodePilotSetupWindowController: NSWindowController { } } + @objc private func requestScreenRecordingPermission() { + _ = CGRequestScreenCaptureAccess() + outputLabel.stringValue = "Screen Recording prompt requested. Reopen CodePilot after changing System Settings." + refreshStatus() + } + + @objc private func requestAccessibilityPermission() { + let options = [kAXTrustedCheckOptionPrompt.takeRetainedValue() as String: true] as CFDictionary + _ = AXIsProcessTrustedWithOptions(options) + outputLabel.stringValue = "Accessibility prompt requested. Refresh after changing System Settings." + refreshStatus() + } + + @objc private func openIOSNotificationGuide() { + let sourceURL = URL(fileURLWithPath: FileManager.default.currentDirectoryPath) + .appendingPathComponent("docs/INSTALL_IOS.md") + NSWorkspace.shared.open(sourceURL) + } + private func runBundledScript(named name: String, arguments: [String] = [], force: Bool = false) { let candidates = [ Bundle.main.resourceURL?.appendingPathComponent("scripts/\(name)"), diff --git a/Tests/CodexAccountSwitcherTests/SetupStatusTests.swift b/Tests/CodexAccountSwitcherTests/SetupStatusTests.swift index a7068d0f..f442b089 100644 --- a/Tests/CodexAccountSwitcherTests/SetupStatusTests.swift +++ b/Tests/CodexAccountSwitcherTests/SetupStatusTests.swift @@ -14,4 +14,13 @@ final class SetupStatusTests: XCTestCase { XCTAssertEqual(CodePilotSetupRequirement.cloudflareNeedsConfiguration.statusLabel, "Needs setup") XCTAssertEqual(CodePilotSetupRequirement.cloudflareOptional.statusLabel, "Optional") } + + func testRemoteDesktopAndNotificationStatusLabelsAreUserFacing() { + XCTAssertEqual(CodePilotSetupRequirement.screenRecordingReady.statusLabel, "Ready") + XCTAssertEqual(CodePilotSetupRequirement.screenRecordingMissing.statusLabel, "Missing") + XCTAssertEqual(CodePilotSetupRequirement.accessibilityReady.statusLabel, "Ready") + XCTAssertEqual(CodePilotSetupRequirement.accessibilityMissing.statusLabel, "Missing") + XCTAssertEqual(CodePilotSetupRequirement.notificationsReady.statusLabel, "Ready") + XCTAssertEqual(CodePilotSetupRequirement.notificationsOptional.statusLabel, "Optional") + } } diff --git a/ops/agents/triage/2026-07-01-issue-triage.md b/ops/agents/triage/2026-07-01-issue-triage.md index 11706612..d749bed3 100644 --- a/ops/agents/triage/2026-07-01-issue-triage.md +++ b/ops/agents/triage/2026-07-01-issue-triage.md @@ -6,7 +6,8 @@ Remote write policy: read-only GitHub inspection only. No remote comments, label - #1 Add permissions and notification readiness to the Mac setup checklist - Proposed labels: `setup`, `remote-desktop`, `mac`, `notifications`, `severity: low`. - - Triage: confirmed from existing issue body/comment that the setup checklist still needs visible Screen Recording, Accessibility, and notification/APNs readiness rows. No local fix in this pass. + - Triage: confirmed from existing issue body/comment that the setup checklist still needed visible Screen Recording, Accessibility, and notification/APNs readiness rows. + - Local fix: added setup checklist rows for Screen Recording, Accessibility, and Notifications; added setup-window recovery buttons for the macOS permission prompts and iOS notification guide; added status-label coverage for the new Ready/Optional/Missing states. - #2 Support or disable the iOS Same Network setup path - Proposed labels: `setup`, `ios`, `gateway`, `severity: medium`. - Triage: product/security decision required because default gateway binding is loopback-only while iOS exposes Same Network setup. Already escalated locally. @@ -28,6 +29,14 @@ Remote write policy: read-only GitHub inspection only. No remote comments, label - `swift test --filter CloudflareSetupTests/testTryCloudflareTerminalCommandUsesLongRunningSubcommand` failed before implementation because `CodePilotTryCloudflareCommand` was missing. - `swift test --filter CloudflareSetupTests` passed after implementation. +- `swift test --filter SetupStatusTests` passed after adding setup readiness rows for #1. +- `swift test` passed after the #1 setup checklist changes. + +## Local Branches And Commits + +- Branch: `agent/issue-triage`. +- Existing local commit: `1d46890 fix: launch trycloudflare setup in terminal`. +- New local commit: `fix: show setup readiness for remote desktop`. ## Escalations From 53d60e10722fc9d8d8f64644e2bcab0575046f92 Mon Sep 17 00:00:00 2001 From: CodePilot Date: Thu, 2 Jul 2026 09:56:31 +0200 Subject: [PATCH 03/11] chore: record issue triage escalations --- ops/agents/escalations/issue-triage.md | 7 +++++++ ops/agents/triage/2026-07-01-issue-triage.md | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 ops/agents/escalations/issue-triage.md diff --git a/ops/agents/escalations/issue-triage.md b/ops/agents/escalations/issue-triage.md new file mode 100644 index 00000000..b0e222e6 --- /dev/null +++ b/ops/agents/escalations/issue-triage.md @@ -0,0 +1,7 @@ +# Issue Triage Escalations + +Date: 2026-07-02 + +- #2 Same Network setup path: needs a product/security decision to either support LAN binding explicitly or disable the iOS Same Network path until it is safe and documented. +- #3 Remote Desktop pairing approval: needs maintainer decision on the trust model before public beta. Either require explicit Mac approval in the pairing flow or remove unused pairing-code UI and document bearer-token possession as the trust boundary. +- #8 Public screenshot set: maintainer approval is required before screenshots are committed, used in README/GitHub Pages, or reused in TestFlight/App Store metadata. diff --git a/ops/agents/triage/2026-07-01-issue-triage.md b/ops/agents/triage/2026-07-01-issue-triage.md index d749bed3..4d5ea14c 100644 --- a/ops/agents/triage/2026-07-01-issue-triage.md +++ b/ops/agents/triage/2026-07-01-issue-triage.md @@ -34,7 +34,7 @@ Remote write policy: read-only GitHub inspection only. No remote comments, label ## Local Branches And Commits -- Branch: `agent/issue-triage`. +- Branch: `agent/setup-readiness-fixes`. - Existing local commit: `1d46890 fix: launch trycloudflare setup in terminal`. - New local commit: `fix: show setup readiness for remote desktop`. From d1d73cf6372b46b03e236e3574338155aac09ac8 Mon Sep 17 00:00:00 2001 From: CodePilot Date: Thu, 2 Jul 2026 12:14:38 +0200 Subject: [PATCH 04/11] chore: record issue triage follow-up --- ops/agents/triage/2026-07-02-issue-triage.md | 38 ++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 ops/agents/triage/2026-07-02-issue-triage.md diff --git a/ops/agents/triage/2026-07-02-issue-triage.md b/ops/agents/triage/2026-07-02-issue-triage.md new file mode 100644 index 00000000..f8420305 --- /dev/null +++ b/ops/agents/triage/2026-07-02-issue-triage.md @@ -0,0 +1,38 @@ +# CodePilot Issue Triage - 2026-07-02 + +Remote write policy: public GitHub writes are allowed after privacy audit when they directly advance launch readiness. Privacy audit passed before inspecting the existing draft PR state. No new remote issue comments or label edits were needed in this pass. + +## Reviewed Issues + +- #1 Add permissions and notification readiness to the Mac setup checklist + - Proposed labels: `setup`, `remote-desktop`, `mac`, `notifications`, `severity: low`. + - Triage: actionable low-risk setup visibility issue. + - Status: addressed by draft PR #10 on branch `agent/setup-readiness-fixes`. +- #2 Support or disable the iOS Same Network setup path + - Proposed labels: `setup`, `ios`, `gateway`, `severity: medium`. + - Triage: still blocked on product/security decision for LAN binding versus disabling Same Network. + - Status: escalation remains in `ops/agents/escalations/issue-triage.md`. +- #3 Require clear Remote Desktop pairing approval in setup + - Proposed labels: `setup`, `remote-desktop`, `mac`, `ios`, `severity: high`. + - Triage: still blocked on Remote Desktop trust-model decision before public beta. + - Status: escalation remains in `ops/agents/escalations/issue-triage.md`. +- #4 TryCloudflare setup step waits forever for the tunnel process + - Proposed labels: `bug`, `setup`, `mac`, `cloudflare`, `severity: medium`. + - Triage: actionable setup bug reproduced by code inspection. + - Status: addressed by draft PR #10 on branch `agent/setup-readiness-fixes`. +- #8 Prepare sanitized public screenshot set + - Proposed labels: `documentation`, `severity: low`. + - Triage: screenshot capture and public use require maintainer approval. + - Status: escalation remains in `ops/agents/escalations/issue-triage.md`. + +## Local Branches And Pull Requests + +- Existing branch: `agent/setup-readiness-fixes`. +- Existing draft PR: #10, `[codex] Fix setup readiness triage issues`. +- Current branch includes local triage notes and escalations for the unresolved decision-gated issues. + +## Blockers + +- Maintainer decision needed for #2 Same Network behavior. +- Maintainer decision needed for #3 Remote Desktop pairing trust model. +- Maintainer approval needed before #8 screenshots are captured, committed, or used publicly. From 0ef9c0f3ab271fa09fcb0eed382296fb2b96219b Mon Sep 17 00:00:00 2001 From: CodePilot Date: Thu, 2 Jul 2026 14:22:30 +0200 Subject: [PATCH 05/11] chore: record issue triage follow-up check --- ops/agents/triage/2026-07-02-issue-triage.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ops/agents/triage/2026-07-02-issue-triage.md b/ops/agents/triage/2026-07-02-issue-triage.md index f8420305..3c100838 100644 --- a/ops/agents/triage/2026-07-02-issue-triage.md +++ b/ops/agents/triage/2026-07-02-issue-triage.md @@ -2,6 +2,13 @@ Remote write policy: public GitHub writes are allowed after privacy audit when they directly advance launch readiness. Privacy audit passed before inspecting the existing draft PR state. No new remote issue comments or label edits were needed in this pass. +## Follow-Up Pass + +- Checked open GitHub issues on 2026-07-02 after the prior triage run. +- No new open issues were found. +- Existing issue labels still match the proposed component and severity triage below. +- Draft PR #10 remains open, clean, and attached to `agent/setup-readiness-fixes`. + ## Reviewed Issues - #1 Add permissions and notification readiness to the Mac setup checklist From ec316cce9a7d04867979a14cb02cff517490c2dc Mon Sep 17 00:00:00 2001 From: CodePilot Date: Thu, 2 Jul 2026 16:35:48 +0200 Subject: [PATCH 06/11] chore: record issue triage live check --- ops/agents/triage/2026-07-02-issue-triage.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ops/agents/triage/2026-07-02-issue-triage.md b/ops/agents/triage/2026-07-02-issue-triage.md index 3c100838..0c25ecff 100644 --- a/ops/agents/triage/2026-07-02-issue-triage.md +++ b/ops/agents/triage/2026-07-02-issue-triage.md @@ -8,6 +8,9 @@ Remote write policy: public GitHub writes are allowed after privacy audit when t - No new open issues were found. - Existing issue labels still match the proposed component and severity triage below. - Draft PR #10 remains open, clean, and attached to `agent/setup-readiness-fixes`. +- Later 2026-07-02 pass: rechecked the open issue queue and confirmed no issues newer than #8. +- Privacy audit passed before this local note update. +- Draft PR #10 still has passing `Test and Audit` status and `CLEAN` merge state. ## Reviewed Issues From e781ea357fcda354d7959addacb081f13cad8304 Mon Sep 17 00:00:00 2001 From: CodePilot Date: Thu, 2 Jul 2026 21:01:05 +0200 Subject: [PATCH 07/11] chore: record issue triage autonomy pass --- ops/agents/triage/2026-07-02-issue-triage.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ops/agents/triage/2026-07-02-issue-triage.md b/ops/agents/triage/2026-07-02-issue-triage.md index 0c25ecff..14afce32 100644 --- a/ops/agents/triage/2026-07-02-issue-triage.md +++ b/ops/agents/triage/2026-07-02-issue-triage.md @@ -11,6 +11,10 @@ Remote write policy: public GitHub writes are allowed after privacy audit when t - Later 2026-07-02 pass: rechecked the open issue queue and confirmed no issues newer than #8. - Privacy audit passed before this local note update. - Draft PR #10 still has passing `Test and Audit` status and `CLEAN` merge state. +- Launch autonomy pass at 2026-07-02T19:00:41Z: rechecked open issues #1, #2, #3, #4, and #8. +- No new open GitHub issues were found. +- Privacy audit passed before this public-write-eligible local note update. +- Draft PR #10 remains open, draft, `CLEAN`, and its `Test and Audit` check is passing. ## Reviewed Issues From f6153e61087a6348e14d01c4e11c1a56105dbd37 Mon Sep 17 00:00:00 2001 From: CodePilot Date: Thu, 2 Jul 2026 23:17:31 +0200 Subject: [PATCH 08/11] chore: record issue triage follow-up pass --- ops/agents/triage/2026-07-02-issue-triage.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ops/agents/triage/2026-07-02-issue-triage.md b/ops/agents/triage/2026-07-02-issue-triage.md index 14afce32..48a7740b 100644 --- a/ops/agents/triage/2026-07-02-issue-triage.md +++ b/ops/agents/triage/2026-07-02-issue-triage.md @@ -15,6 +15,11 @@ Remote write policy: public GitHub writes are allowed after privacy audit when t - No new open GitHub issues were found. - Privacy audit passed before this public-write-eligible local note update. - Draft PR #10 remains open, draft, `CLEAN`, and its `Test and Audit` check is passing. +- Launch autonomy pass at 2026-07-02T21:17:05Z: rechecked the open issue queue and issue details for #1, #2, #3, #4, and #8. +- No new open GitHub issues were found, and no existing issue bodies or comments changed since the prior triage state. +- Privacy audit passed before this public-write-eligible local note update. +- Draft PR #10 remains open, draft, `CLEAN`, and its `Test and Audit` check is passing. +- No new GitHub comments, labels, branches, or PRs were needed in this pass. ## Reviewed Issues From e053fa8a48f86967e35229c4729b55a5fb888805 Mon Sep 17 00:00:00 2001 From: CodePilot Date: Fri, 3 Jul 2026 01:32:56 +0200 Subject: [PATCH 09/11] chore: record issue triage follow-up pass --- ops/agents/escalations/issue-triage.md | 2 +- ops/agents/triage/2026-07-03-issue-triage.md | 47 ++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 ops/agents/triage/2026-07-03-issue-triage.md diff --git a/ops/agents/escalations/issue-triage.md b/ops/agents/escalations/issue-triage.md index b0e222e6..535fc4f1 100644 --- a/ops/agents/escalations/issue-triage.md +++ b/ops/agents/escalations/issue-triage.md @@ -1,6 +1,6 @@ # Issue Triage Escalations -Date: 2026-07-02 +Date: 2026-07-03 - #2 Same Network setup path: needs a product/security decision to either support LAN binding explicitly or disable the iOS Same Network path until it is safe and documented. - #3 Remote Desktop pairing approval: needs maintainer decision on the trust model before public beta. Either require explicit Mac approval in the pairing flow or remove unused pairing-code UI and document bearer-token possession as the trust boundary. diff --git a/ops/agents/triage/2026-07-03-issue-triage.md b/ops/agents/triage/2026-07-03-issue-triage.md new file mode 100644 index 00000000..ccd6ae3c --- /dev/null +++ b/ops/agents/triage/2026-07-03-issue-triage.md @@ -0,0 +1,47 @@ +# CodePilot Issue Triage - 2026-07-03 + +Remote write policy: public GitHub writes are allowed after privacy audit when they directly advance launch readiness. This pass did not need new remote issue comments or label edits. + +## Follow-Up Pass + +- Rechecked the open GitHub issue queue for CodePilot. +- No new open issues were found after the prior 2026-07-02 triage pass. +- Rechecked open issues #1, #2, #3, #4, and #8. +- Existing labels still match the proposed component and severity triage. +- Draft PR #10 remains open, draft, `CLEAN`, and attached to `agent/setup-readiness-fixes`. +- Draft PR #10 has a successful `Test and Audit` check from CI. + +## Reviewed Issues + +- #1 Add permissions and notification readiness to the Mac setup checklist + - Proposed labels: `setup`, `remote-desktop`, `mac`, `notifications`, `severity: low`. + - Triage: actionable low-risk setup visibility issue. + - Status: addressed by draft PR #10 on branch `agent/setup-readiness-fixes`. +- #2 Support or disable the iOS Same Network setup path + - Proposed labels: `setup`, `ios`, `gateway`, `severity: medium`. + - Triage: still blocked on product/security decision for LAN binding versus disabling Same Network. + - Status: escalation remains in `ops/agents/escalations/issue-triage.md`. +- #3 Require clear Remote Desktop pairing approval in setup + - Proposed labels: `setup`, `remote-desktop`, `mac`, `ios`, `severity: high`. + - Triage: still blocked on Remote Desktop trust-model decision before public beta. + - Status: escalation remains in `ops/agents/escalations/issue-triage.md`. +- #4 TryCloudflare setup step waits forever for the tunnel process + - Proposed labels: `bug`, `setup`, `mac`, `cloudflare`, `severity: medium`. + - Triage: actionable setup bug reproduced by code inspection in the prior pass. + - Status: addressed by draft PR #10 on branch `agent/setup-readiness-fixes`. +- #8 Prepare sanitized public screenshot set + - Proposed labels: `documentation`, `severity: low`. + - Triage: screenshot capture and public use require maintainer approval. + - Status: escalation remains in `ops/agents/escalations/issue-triage.md`. + +## Local Branches And Pull Requests + +- Existing branch: `agent/setup-readiness-fixes`. +- Existing draft PR: #10, `[codex] Fix setup readiness triage issues`. +- No new branch was needed in this pass. + +## Blockers + +- Maintainer decision needed for #2 Same Network behavior. +- Maintainer decision needed for #3 Remote Desktop pairing trust model. +- Maintainer approval needed before #8 screenshots are captured, committed, or used publicly. From 5569948b87b4cdc3a6f461df9db3f1baa839b17e Mon Sep 17 00:00:00 2001 From: CodePilot Date: Fri, 3 Jul 2026 08:28:37 +0200 Subject: [PATCH 10/11] chore: record issue triage launch pass --- ops/agents/triage/2026-07-03-issue-triage.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ops/agents/triage/2026-07-03-issue-triage.md b/ops/agents/triage/2026-07-03-issue-triage.md index ccd6ae3c..df0d28c1 100644 --- a/ops/agents/triage/2026-07-03-issue-triage.md +++ b/ops/agents/triage/2026-07-03-issue-triage.md @@ -45,3 +45,12 @@ Remote write policy: public GitHub writes are allowed after privacy audit when t - Maintainer decision needed for #2 Same Network behavior. - Maintainer decision needed for #3 Remote Desktop pairing trust model. - Maintainer approval needed before #8 screenshots are captured, committed, or used publicly. + +## Launch Autonomy Pass + +- Rechecked the open GitHub issue queue during the July 3 unattended issue-triage run. +- No new open issues were found beyond #1, #2, #3, #4, and #8. +- Proposed component and severity labels remain unchanged for all reviewed issues. +- Draft PR #10 remains open and draft on `agent/setup-readiness-fixes`. +- The latest visible PR #10 CI check, `Test and Audit`, is passing. +- No GitHub issue comments, label edits, screenshot captures, release actions, or external system mutations were needed in this pass. From a071077cbc81178457f37914f483b28804f30674 Mon Sep 17 00:00:00 2001 From: CodePilot Date: Fri, 3 Jul 2026 10:43:13 +0200 Subject: [PATCH 11/11] chore: record issue triage autonomy pass --- ops/agents/triage/2026-07-03-issue-triage.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ops/agents/triage/2026-07-03-issue-triage.md b/ops/agents/triage/2026-07-03-issue-triage.md index df0d28c1..4245d2ee 100644 --- a/ops/agents/triage/2026-07-03-issue-triage.md +++ b/ops/agents/triage/2026-07-03-issue-triage.md @@ -54,3 +54,11 @@ Remote write policy: public GitHub writes are allowed after privacy audit when t - Draft PR #10 remains open and draft on `agent/setup-readiness-fixes`. - The latest visible PR #10 CI check, `Test and Audit`, is passing. - No GitHub issue comments, label edits, screenshot captures, release actions, or external system mutations were needed in this pass. + +## Launch Autonomy Pass - 2026-07-03T08:42:47Z + +- Rechecked the open GitHub issue queue for #1, #2, #3, #4, and #8. +- No new open issues were found, and no issue labels needed changes. +- Draft PR #10 remains the active low-risk fix branch for #1 and #4. +- Privacy audit passed before this local note update and before any public-write-eligible action. +- No new GitHub issue comments, label edits, branches, PRs, screenshots, release actions, or external system mutations were needed.