github / github/copilot-cli

Cloud project session can start without a repository checkout

Đang mở
#4,175 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

area:sessions
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

Problem

A coordinated cloud project session can report successful creation even though it has no repository checkout, workspace path, or runnable terminal. The session then cannot perform the implementation or validation work it was created for, and the creator receives no provisioning error.

Reproduction

  1. Create a coordinated cloud session for a configured repository project and an explicit base branch.
  2. Allow the session to start automatically with a kickoff prompt that requires repository commands.
  3. Inspect the session metadata and terminal.

Observed in session 8079b444-7187-470c-854f-ffa1f5ad74f2:

  • Session type was cloud, but its path was empty.
  • The process working directory was /.
  • No Git checkout was available.
  • The native terminal surface twice returned Terminal not found or not running.
  • The session exhausted its attempt budget without reaching the requested work.

Expected behavior

  • A cloud session created for a repository project starts with that repository and requested ref checked out in a runnable development environment.
  • If repository/ref resolution or environment provisioning fails, session creation fails visibly with an actionable error.
  • A repository-targeted cloud session never silently falls back to repository-less task state.

Acceptance criteria

  • Cloud-task creation validates that a repository-targeted request has a complete owner and repository name before creating the task.
  • A partial repository object, including branch without owner/name, is rejected rather than converted to the empty-repository sentinel.
  • Provisioning failure is surfaced through project-session status and the kickoff turn.
  • Tests cover repository-targeted cloud creation, explicit repository-less creation, partial repository metadata, and terminal/environment startup failure.
  • Programmatic project-session creation receives the same Codespaces-scope and provisioning errors as interactive CLI flows.
Investigation notes
  • Runtime triage found that cloud-task metadata creation can omit the repository when either owner or name is missing, then serialize an empty owner/name sentinel while preserving the branch.
  • The empty-repository sentinel is intended for explicitly repository-less tasks, not degraded repository-targeted sessions.
  • A separate Codespaces OAuth-scope gap may affect the managed-environment path, but server telemetry is needed to determine which path this session used.
  • Useful telemetry: the task-creation repository payload, whether an environment ID was assigned, and the provisioning failure/status transition for the session ID above.

Related issues:

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu từ các điểm vào của việc tạo cloud-task và cấp phát project-session, sau đó theo dõi quá trình xử lý metadata của repository qua quá trình khởi động môi trường và terminal. Chạy hoặc bổ sung độ bao phủ cho các trường hợp nhắm tới repository, không có repository một cách rõ ràng, metadata không đầy đủ và cấp phát thất bại, với việc hoàn tất được thể hiện bằng các lỗi tạo hiển thị hoặc một session đã checkout có thể chạy được.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
github, shell
Lĩnh vực
backend, cli, cloud
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
48/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.