[agents] Add GitHub Copilot CLI installer [v8/v8 : main]

0 views
Skip to first unread message

Issack John (Gerrit)

unread,
Jul 21, 2026, 5:32:01 PM (3 days ago) Jul 21
to Camillo Bruni, Michael Achenbach, Marco Vitale, v8-re...@googlegroups.com
Attention needed from Camillo Bruni and Michael Achenbach

Message from Issack John

Set Ready For Review

Open in Gerrit

Related details

Attention is currently required from:
  • Camillo Bruni
  • Michael Achenbach
Submit Requirements:
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: I8af210a63c0e4628b036dd416427e41d116a9b9c
Gerrit-Change-Number: 8127880
Gerrit-PatchSet: 2
Gerrit-Owner: Issack John <issac...@microsoft.com>
Gerrit-Reviewer: Camillo Bruni <cbr...@chromium.org>
Gerrit-Reviewer: Michael Achenbach <mache...@chromium.org>
Gerrit-CC: Marco Vitale <mrc...@chromium.org>
Gerrit-Attention: Michael Achenbach <mache...@chromium.org>
Gerrit-Attention: Camillo Bruni <cbr...@chromium.org>
Gerrit-Comment-Date: Tue, 21 Jul 2026 21:31:57 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Issack John (Gerrit)

unread,
Jul 21, 2026, 5:32:45 PM (3 days ago) Jul 21
to v8-s...@luci-project-accounts.iam.gserviceaccount.com, Camillo Bruni, Michael Achenbach, Marco Vitale, v8-re...@googlegroups.com
Attention needed from Camillo Bruni and Michael Achenbach

Issack John added 1 comment

Patchset-level comments
File-level comment, Patchset 2 (Latest):
Issack John . resolved

machenbach@, cbruni@ PTAL 😊

Open in Gerrit

Related details

Attention is currently required from:
  • Camillo Bruni
  • Michael Achenbach
Submit Requirements:
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: I8af210a63c0e4628b036dd416427e41d116a9b9c
Gerrit-Change-Number: 8127880
Gerrit-PatchSet: 2
Gerrit-Owner: Issack John <issac...@microsoft.com>
Gerrit-Reviewer: Camillo Bruni <cbr...@chromium.org>
Gerrit-Reviewer: Issack John <issac...@microsoft.com>
Gerrit-Reviewer: Michael Achenbach <mache...@chromium.org>
Gerrit-CC: Marco Vitale <mrc...@chromium.org>
Gerrit-Attention: Michael Achenbach <mache...@chromium.org>
Gerrit-Attention: Camillo Bruni <cbr...@chromium.org>
Gerrit-Comment-Date: Tue, 21 Jul 2026 21:32:41 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Michael Achenbach (Gerrit)

unread,
Jul 22, 2026, 8:10:43 AM (3 days ago) Jul 22
to Issack John, Hannes Payer, Michael Lippautz, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Camillo Bruni, Marco Vitale, v8-re...@googlegroups.com
Attention needed from Camillo Bruni and Issack John

Michael Achenbach added 1 comment

Patchset-level comments
Michael Achenbach . resolved

Do you have a tracker bug for this addition? Was this already discussed anywhere?

Open in Gerrit

Related details

Attention is currently required from:
  • Camillo Bruni
  • Issack John
Submit Requirements:
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: I8af210a63c0e4628b036dd416427e41d116a9b9c
Gerrit-Change-Number: 8127880
Gerrit-PatchSet: 2
Gerrit-Owner: Issack John <issac...@microsoft.com>
Gerrit-Reviewer: Camillo Bruni <cbr...@chromium.org>
Gerrit-Reviewer: Issack John <issac...@microsoft.com>
Gerrit-Reviewer: Michael Achenbach <mache...@chromium.org>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-CC: Marco Vitale <mrc...@chromium.org>
Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
Gerrit-Attention: Issack John <issac...@microsoft.com>
Gerrit-Attention: Camillo Bruni <cbr...@chromium.org>
Gerrit-Comment-Date: Wed, 22 Jul 2026 12:10:38 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Camillo Bruni (Gerrit)

unread,
Jul 22, 2026, 12:20:15 PM (3 days ago) Jul 22
to Issack John, Hannes Payer, Michael Lippautz, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Michael Achenbach, Marco Vitale, v8-re...@googlegroups.com
Attention needed from Issack John

Camillo Bruni added 1 comment

Patchset-level comments
Camillo Bruni . resolved

sorry got sidetracked today, will have a detailed look tomorrow. generally in favour of adding more diversity here 😊

Open in Gerrit

Related details

Attention is currently required from:
  • Issack John
Submit Requirements:
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: I8af210a63c0e4628b036dd416427e41d116a9b9c
Gerrit-Change-Number: 8127880
Gerrit-PatchSet: 2
Gerrit-Owner: Issack John <issac...@microsoft.com>
Gerrit-Reviewer: Camillo Bruni <cbr...@chromium.org>
Gerrit-Reviewer: Issack John <issac...@microsoft.com>
Gerrit-Reviewer: Michael Achenbach <mache...@chromium.org>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-CC: Marco Vitale <mrc...@chromium.org>
Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
Gerrit-Attention: Issack John <issac...@microsoft.com>
Gerrit-Comment-Date: Wed, 22 Jul 2026 16:20:09 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Issack John (Gerrit)

unread,
Jul 22, 2026, 12:37:39 PM (3 days ago) Jul 22
to Hannes Payer, Michael Lippautz, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Camillo Bruni, Michael Achenbach, Marco Vitale, v8-re...@googlegroups.com

Issack John added 2 comments

Patchset-level comments
Michael Achenbach . resolved

Do you have a tracker bug for this addition? Was this already discussed anywhere?

Issack John

I don't have a tracker bug, but I will create one now and we can discuss there.

Camillo Bruni . resolved

sorry got sidetracked today, will have a detailed look tomorrow. generally in favour of adding more diversity here 😊

Issack John

Thanks!

Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: I8af210a63c0e4628b036dd416427e41d116a9b9c
Gerrit-Change-Number: 8127880
Gerrit-PatchSet: 2
Gerrit-Owner: Issack John <issac...@microsoft.com>
Gerrit-Reviewer: Camillo Bruni <cbr...@chromium.org>
Gerrit-Reviewer: Issack John <issac...@microsoft.com>
Gerrit-Reviewer: Michael Achenbach <mache...@chromium.org>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-CC: Marco Vitale <mrc...@chromium.org>
Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Wed, 22 Jul 2026 16:37:35 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Michael Achenbach <mache...@chromium.org>
Comment-In-Reply-To: Camillo Bruni <cbr...@chromium.org>
unsatisfied_requirement
open
diffy

Issack John (Gerrit)

unread,
Jul 22, 2026, 1:10:30 PM (3 days ago) Jul 22
to Hannes Payer, Michael Lippautz, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Camillo Bruni, Michael Achenbach, Marco Vitale, v8-re...@googlegroups.com
Attention needed from Michael Achenbach

Issack John added 1 comment

Patchset-level comments
Michael Achenbach . resolved

Do you have a tracker bug for this addition? Was this already discussed anywhere?

Issack John

I don't have a tracker bug, but I will create one now and we can discuss there.

Open in Gerrit

Related details

Attention is currently required from:
  • Michael Achenbach
Submit Requirements:
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: I8af210a63c0e4628b036dd416427e41d116a9b9c
Gerrit-Change-Number: 8127880
Gerrit-PatchSet: 3
Gerrit-Owner: Issack John <issac...@microsoft.com>
Gerrit-Reviewer: Camillo Bruni <cbr...@chromium.org>
Gerrit-Reviewer: Issack John <issac...@microsoft.com>
Gerrit-Reviewer: Michael Achenbach <mache...@chromium.org>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-CC: Marco Vitale <mrc...@chromium.org>
Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
Gerrit-Attention: Michael Achenbach <mache...@chromium.org>
Gerrit-Comment-Date: Wed, 22 Jul 2026 17:10:26 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Michael Achenbach <mache...@chromium.org>
Comment-In-Reply-To: Issack John <issac...@microsoft.com>
unsatisfied_requirement
open
diffy

Camillo Bruni (Gerrit)

unread,
Jul 23, 2026, 6:12:07 AM (2 days ago) Jul 23
to Issack John, Marco Vitale, Hannes Payer, Michael Lippautz, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Michael Achenbach, v8-re...@googlegroups.com
Attention needed from Issack John, Marco Vitale and Michael Achenbach

Camillo Bruni added 10 comments

Patchset-level comments
File-level comment, Patchset 3 (Latest):
Camillo Bruni . resolved

Adding marco who's one of the main owners of the agents code.

File agents/.vpython3
Line 102, Patchset 3 (Latest):wheel: <
name: "infra/python/wheels/colorama-py2_py3"
version: "version:0.4.1"
>
Camillo Bruni . unresolved

is this needed for the new code or was this already broken?

File agents/scripts/install_for_copilot_cli.py
Line 21, Patchset 3 (Latest):COPILOT_INCOMPATIBLE_RULES = {
# This rule requires choosing between Jetski and Gemini CLI and hard-codes
# their adapter paths.
"framework.md",
}
COPILOT_INCOMPATIBLE_SKILLS = {
Camillo Bruni . unresolved

let's add tests that these skills and files actually exist.

Line 29, Patchset 3 (Latest): "v8-setup",
Camillo Bruni . unresolved

this one is also mentioning additional tools and setup?

Line 47, Patchset 3 (Latest): def _frontmatter(self, markdown_file: Path) -> dict[str, str]:
"""Extract top-level scalar values used by V8 rule frontmatter."""
try:
lines = markdown_file.read_text(encoding="utf-8").splitlines()
except UnicodeDecodeError:
return {}
if not lines or lines[0].strip() != "---":
return {}

try:
end = next(i for i, line in enumerate(lines[1:], start=1)
if line.strip() == "---")
except StopIteration:
return {}

metadata = {}
for line in lines[1:end]:
if not line or line[0].isspace() or ":" not in line:
continue
key, value = line.split(":", 1)
metadata[key.strip()] = value.strip().strip("\"'")
return metadata
Camillo Bruni . unresolved
not sure if much better, but might be more portable if we want to share this in scripts helper.py or so
```
FRONTMATTER_PATTERN = re.compile(r"^---\s*\n(.*?)\n---\s*\n", re.DOTALL)
def extract_v8_frontmatter(markdown_file: Path) -> dict[str, str]:
"""Extract top-level scalar values from frontmatter, returning {} if missing."""
content = markdown_file.read_text(encoding="utf-8")
match = FRONTMATTER_PATTERN.match(content)
if not match:
return {}
    data = yaml.safe_load(match.group(1)) or {}
    return {
str(k): str(v)
for k, v in data.items()
if not isinstance(v, (dict, list))
}
```
Line 70, Patchset 3 (Latest): def _frontmatter_block(self, markdown_file: Path) -> str:
Camillo Bruni . unresolved

Could we use _frontmatter instead here?

Line 95, Patchset 3 (Latest): if GENERATED_MARKER not in existing:
print(f"Skipping {path}: existing file is not generated")
return False
Camillo Bruni . unresolved

could we simplify this by having a v8 dedicate skill subfolder e.g. .github/skills/v8-generated/ (I'm not fully sure if that works)

Line 147, Patchset 3 (Latest):# V8 GitHub Copilot Instructions

The canonical V8 agent knowledge lives under `agents/`. Update those checked-in
files rather than this generated adapter.

## Canonical context

For V8 development tasks, read and follow the relevant checked-in files:

- `agents/rules/` for repository rules.
- `agents/skills/` for on-demand workflows.

Prefer V8-native commands over Chromium browser defaults:

- Build: `tools/dev/gm.py quiet <config> <target>`.
- Test: `tools/run-tests.py --progress dots --outdir=out/<config> <test>`.
- Format: `git cl format`.
Camillo Bruni . unresolved

this feels like something we should use from an existing generic skill ... maybe we need to split the v8 ones so we do not have the jetski / gemini speciif part in there?

Line 165, Patchset 3 (Latest):On Windows, run Python scripts through Python if executable shims are not on
`PATH`, for example:
`python tools\\dev\\gm.py quiet x64.optdebug d8`.
Camillo Bruni . unresolved

vpython3 is usually the safer choice? is this an issue on windows?

Line 280, Patchset 3 (Latest): except OSError as exc:
Camillo Bruni . unresolved

I'd prefer removing most of these defensive OSError handlers. I think it's fine if these errors just bubble up given that they should be very rare.

Probably handling symlinks is the only exception since that's a bit tricky on windows?

Open in Gerrit

Related details

Attention is currently required from:
  • Issack John
  • Marco Vitale
  • Michael Achenbach
Submit Requirements:
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: v8/v8
    Gerrit-Branch: main
    Gerrit-Change-Id: I8af210a63c0e4628b036dd416427e41d116a9b9c
    Gerrit-Change-Number: 8127880
    Gerrit-PatchSet: 3
    Gerrit-Owner: Issack John <issac...@microsoft.com>
    Gerrit-Reviewer: Camillo Bruni <cbr...@chromium.org>
    Gerrit-Reviewer: Issack John <issac...@microsoft.com>
    Gerrit-Reviewer: Marco Vitale <mrc...@chromium.org>
    Gerrit-Reviewer: Michael Achenbach <mache...@chromium.org>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-Attention: Marco Vitale <mrc...@chromium.org>
    Gerrit-Attention: Issack John <issac...@microsoft.com>
    Gerrit-Comment-Date: Thu, 23 Jul 2026 10:12:01 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    unsatisfied_requirement
    open
    diffy

    Issack John (Gerrit)

    unread,
    Jul 23, 2026, 12:25:17 PM (2 days ago) Jul 23
    to Marco Vitale, Hannes Payer, Michael Lippautz, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Camillo Bruni, Michael Achenbach, v8-re...@googlegroups.com
    Attention needed from Camillo Bruni, Marco Vitale and Michael Achenbach

    Issack John added 2 comments

    Patchset-level comments
    Camillo Bruni . resolved

    Adding marco who's one of the main owners of the agents code.

    Issack John

    Good to know, thanks!

    File agents/scripts/install_for_copilot_cli.py
    Line 95, Patchset 3 (Latest): if GENERATED_MARKER not in existing:
    print(f"Skipping {path}: existing file is not generated")
    return False
    Camillo Bruni . unresolved

    could we simplify this by having a v8 dedicate skill subfolder e.g. .github/skills/v8-generated/ (I'm not fully sure if that works)

    Issack John

    I left a comment on the linked bug but. What do you think about moving the canonical skills from `agents/skills/` to `.agents/skills/`? That is a documented cross-client location supported by GitHub Copilot CLI and Gemini CLI, and Jetski already consumes that layout. This would remove the skill-adapter portion of this change.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Camillo Bruni
    • Marco Vitale
    • Michael Achenbach
    Gerrit-Attention: Camillo Bruni <cbr...@chromium.org>
    Gerrit-Comment-Date: Thu, 23 Jul 2026 16:25:13 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Camillo Bruni <cbr...@chromium.org>
    unsatisfied_requirement
    open
    diffy

    Issack John (Gerrit)

    unread,
    Jul 23, 2026, 2:01:35 PM (2 days ago) Jul 23
    to Marco Vitale, Hannes Payer, Michael Lippautz, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Camillo Bruni, Michael Achenbach, v8-re...@googlegroups.com
    Attention needed from Camillo Bruni, Marco Vitale and Michael Achenbach

    Issack John added 8 comments

    File agents/.vpython3

    name: "infra/python/wheels/colorama-py2_py3"
    version: "version:0.4.1"
    >
    Camillo Bruni . unresolved

    is this needed for the new code or was this already broken?

    Issack John

    This was already broken.

    File agents/scripts/install_for_copilot_cli.py
    Line 21, Patchset 3:COPILOT_INCOMPATIBLE_RULES = {

    # This rule requires choosing between Jetski and Gemini CLI and hard-codes
    # their adapter paths.
    "framework.md",
    }
    COPILOT_INCOMPATIBLE_SKILLS = {
    Camillo Bruni . resolved

    let's add tests that these skills and files actually exist.

    Issack John

    Done

    Camillo Bruni . unresolved

    this one is also mentioning additional tools and setup?

    Issack John

    Good catch, the wording was too broad. I updated the comment to explain that these are excluded and their reasons.

    Line 47, Patchset 3: def _frontmatter(self, markdown_file: Path) -> dict[str, str]:

    """Extract top-level scalar values used by V8 rule frontmatter."""
    try:
    lines = markdown_file.read_text(encoding="utf-8").splitlines()
    except UnicodeDecodeError:
    return {}
    if not lines or lines[0].strip() != "---":
    return {}

    try:
    end = next(i for i, line in enumerate(lines[1:], start=1)
    if line.strip() == "---")
    except StopIteration:
    return {}

    metadata = {}
    for line in lines[1:end]:
    if not line or line[0].isspace() or ":" not in line:
    continue
    key, value = line.split(":", 1)
    metadata[key.strip()] = value.strip().strip("\"'")
    return metadata
    Camillo Bruni . resolved
    not sure if much better, but might be more portable if we want to share this in scripts helper.py or so
    ```
    FRONTMATTER_PATTERN = re.compile(r"^---\s*\n(.*?)\n---\s*\n", re.DOTALL)
    def extract_v8_frontmatter(markdown_file: Path) -> dict[str, str]:
    """Extract top-level scalar values from frontmatter, returning {} if missing."""
    content = markdown_file.read_text(encoding="utf-8")
    match = FRONTMATTER_PATTERN.match(content)
    if not match:
    return {}
        data = yaml.safe_load(match.group(1)) or {}
        return {
    str(k): str(v)
    for k, v in data.items()
    if not isinstance(v, (dict, list))
    }
    ```
    Issack John

    Done

    Line 70, Patchset 3: def _frontmatter_block(self, markdown_file: Path) -> str:
    Camillo Bruni . resolved

    Could we use _frontmatter instead here?

    Issack John

    Done

    Line 147, Patchset 3:# V8 GitHub Copilot Instructions


    The canonical V8 agent knowledge lives under `agents/`. Update those checked-in
    files rather than this generated adapter.

    ## Canonical context

    For V8 development tasks, read and follow the relevant checked-in files:

    - `agents/rules/` for repository rules.
    - `agents/skills/` for on-demand workflows.

    Prefer V8-native commands over Chromium browser defaults:

    - Build: `tools/dev/gm.py quiet <config> <target>`.
    - Test: `tools/run-tests.py --progress dots --outdir=out/<config> <test>`.
    - Format: `git cl format`.
    Camillo Bruni . unresolved

    this feels like something we should use from an existing generic skill ... maybe we need to split the v8 ones so we do not have the jetski / gemini speciif part in there?

    Issack John

    yeah, I removed the duplicated command guidance and left those details with the canonical V8 skills and rules.

    Line 165, Patchset 3:On Windows, run Python scripts through Python if executable shims are not on

    `PATH`, for example:
    `python tools\\dev\\gm.py quiet x64.optdebug d8`.
    Camillo Bruni . resolved

    vpython3 is usually the safer choice? is this an issue on windows?

    Issack John

    Ah no, I missed this. Done.

    Line 280, Patchset 3: except OSError as exc:
    Camillo Bruni . unresolved

    I'd prefer removing most of these defensive OSError handlers. I think it's fine if these errors just bubble up given that they should be very rare.

    Probably handling symlinks is the only exception since that's a bit tricky on windows?

    Issack John

    Agreed. I removed the general OSError catches and kept handling only for symlink behavior.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Camillo Bruni
    • Marco Vitale
    • Michael Achenbach
    Submit Requirements:
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: v8/v8
    Gerrit-Branch: main
    Gerrit-Change-Id: I8af210a63c0e4628b036dd416427e41d116a9b9c
    Gerrit-Change-Number: 8127880
    Gerrit-PatchSet: 4
    Gerrit-Owner: Issack John <issac...@microsoft.com>
    Gerrit-Reviewer: Camillo Bruni <cbr...@chromium.org>
    Gerrit-Reviewer: Issack John <issac...@microsoft.com>
    Gerrit-Reviewer: Marco Vitale <mrc...@chromium.org>
    Gerrit-Reviewer: Michael Achenbach <mache...@chromium.org>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-CC: Michael Lippautz <mlip...@chromium.org>
    Gerrit-Attention: Michael Achenbach <mache...@chromium.org>
    Gerrit-Attention: Marco Vitale <mrc...@chromium.org>
    Gerrit-Attention: Camillo Bruni <cbr...@chromium.org>
    Gerrit-Comment-Date: Thu, 23 Jul 2026 18:01:30 +0000
    unsatisfied_requirement
    open
    diffy

    Issack John (Gerrit)

    unread,
    Jul 24, 2026, 3:52:40 AM (yesterday) Jul 24
    to Marco Vitale, Hannes Payer, Michael Lippautz, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Camillo Bruni, Michael Achenbach, v8-re...@googlegroups.com
    Attention needed from Camillo Bruni, Marco Vitale and Michael Achenbach

    Issack John added 4 comments

    File agents/.vpython3
    Line 102, Patchset 3:wheel: <
    name: "infra/python/wheels/colorama-py2_py3"
    version: "version:0.4.1"
    >
    Camillo Bruni . resolved

    is this needed for the new code or was this already broken?

    Issack John

    This was already broken.

    Issack John

    More precisely, the new documented Windows invocation exposes a pre-existing gap: the already-pinned Click 8.0.3 explicitly declares Colorama as a Windows dependency. Click 8.5.0 removes that dependency, but it is currently unreleased, so Colorama is still required for the pinned version.

    File agents/scripts/install_for_copilot_cli.py
    Camillo Bruni . resolved

    this one is also mentioning additional tools and setup?

    Issack John

    Good catch, the wording was too broad. I updated the comment to explain that these are excluded and their reasons.

    Issack John

    Done

    Line 147, Patchset 3:# V8 GitHub Copilot Instructions

    The canonical V8 agent knowledge lives under `agents/`. Update those checked-in
    files rather than this generated adapter.

    ## Canonical context

    For V8 development tasks, read and follow the relevant checked-in files:

    - `agents/rules/` for repository rules.
    - `agents/skills/` for on-demand workflows.

    Prefer V8-native commands over Chromium browser defaults:

    - Build: `tools/dev/gm.py quiet <config> <target>`.
    - Test: `tools/run-tests.py --progress dots --outdir=out/<config> <test>`.
    - Format: `git cl format`.
    Camillo Bruni . unresolved

    this feels like something we should use from an existing generic skill ... maybe we need to split the v8 ones so we do not have the jetski / gemini speciif part in there?

    Issack John

    yeah, I removed the duplicated command guidance and left those details with the canonical V8 skills and rules.

    Issack John

    The remaining mixed or client-specific skills are excluded rather than partially adapted. I think splitting or making those skills client-neutral is a good idea.

    Line 280, Patchset 3: except OSError as exc:
    Camillo Bruni . resolved

    I'd prefer removing most of these defensive OSError handlers. I think it's fine if these errors just bubble up given that they should be very rare.

    Probably handling symlinks is the only exception since that's a bit tricky on windows?

    Issack John

    Agreed. I removed the general OSError catches and kept handling only for symlink behavior.

    Issack John

    Done

    Gerrit-Comment-Date: Fri, 24 Jul 2026 07:52:36 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Issack John <issac...@microsoft.com>
    Comment-In-Reply-To: Camillo Bruni <cbr...@chromium.org>
    unsatisfied_requirement
    open
    diffy
    Reply all
    Reply to author
    Forward
    0 new messages