Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .agents/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Agent configuration

Copilot CLI discovers project skills from `.github/skills/<skill-name>/`.

Do not add `SKILL.md` files under `.agents/skills/`. Keep repo-versioned skills in `.github/skills/` so Copilot CLI can load them consistently.

This directory remains only as a compatibility pointer for agents or tools that inspect `.agents`.
10 changes: 10 additions & 0 deletions .agents/skills/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Skills moved

Repo-versioned skills for Copilot CLI live in `.github/skills/`.

Use these paths instead:

- `.github/skills/code-review/`
- `.github/skills/synapseml-local-setup/`

Do not add `SKILL.md` files in this directory.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: code-review
description: Quick review checklist for python and scala code changes before callings it done.
description: Review SynapseML Python and Scala code changes. Use before finalizing PR reviews or implementation changes to check security, compatibility, style, generated code, and targeted tests.
---

# Code Review
Expand All @@ -21,8 +21,8 @@ Use this skill when reviewing SynapseML changes.
Apply when changes touch serialization, I/O, network, or authentication code.

### Deserialization (CWE-502)
- [ ] No raw `ObjectInputStream.readObject()` use `SafeObjectInputStream` with an allowlist
- [ ] `resolveClass` allowlist validates array component types — never allowlist the `[` prefix
- [ ] No raw `ObjectInputStream.readObject()`: use `SafeObjectInputStream` with an allowlist
- [ ] `resolveClass` allowlist validates array component types. Never allowlist the `[` prefix
directly; array handling must extract and validate the component class name
- [ ] `resolveProxyClass` is overridden to block or validate dynamic proxy interfaces
- [ ] Allowlist uses package-prefix matching, not blocklisting
Expand All @@ -46,7 +46,7 @@ Apply when changes modify public classes, traits, or companion objects.

### Binary Compatibility (JVM)
- [ ] No method signature changes on existing public methods (default parameters
generate synthetic bridges use explicit overloads instead)
generate synthetic bridges; use explicit overloads instead)
- [ ] No removed or renamed public classes, traits, or objects
- [ ] Companion object `extends DefaultParamsReadable[T]` preserved if it existed

Expand All @@ -61,7 +61,7 @@ Apply when changes modify public classes, traits, or companion objects.
- [ ] `Wrappable` trait mixed in if the class needs a Python wrapper
- [ ] `SynapseMLLogging` trait mixed in; `logClass()` called in constructor
- [ ] No wildcard imports where explicit imports suffice (`java.io._` → named imports)
- [ ] No RDD API usage DataFrame/Dataset only
- [ ] No RDD API usage. Use DataFrame/Dataset only
- [ ] Lines ≤ 120 chars, files ≤ 800 lines

## Python Checklist
Expand Down
Loading