github / github/copilot-cli

Cloud project session can start without a repository checkout

オープン
#4,175 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

area:sessions
主要言語
Shell
スター
11.2k
フォーク
1.9k
平均マージ
14時間 16分
マージ済み PR(30日)
6

説明

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:

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

クラウドタスクの作成とプロジェクトセッションのプロビジョニングのエントリポイントから開始し、環境とターミナルの起動まで、リポジトリメタデータの処理を追跡します。リポジトリを対象とするケース、明示的にリポジトリを持たないケース、メタデータが部分的なケース、プロビジョニングに失敗するケースについて、カバレッジを実行または追加し、目に見える作成エラー、または実行可能なチェックアウト済みセッションによって完了を示します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
github, shell
領域
backend, cli, cloud
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
48/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。