Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
5c859d5
Add Unity Catalog ABAC policy governance skill
SREERAMTHOOM Feb 9, 2026
f6aba8c
Add ABAC policy implementation, integration tests, and cleanup fixtures
SREERAMTHOOM Feb 9, 2026
6e23184
Reorganize Unity Catalog skill into 4 categories: System Tables, Volu…
SREERAMTHOOM Feb 10, 2026
636552f
Add FGAC human-in-the-loop guardrails with approval token and admin g…
SREERAMTHOOM Feb 11, 2026
c2c7b36
Add cross-catalog UDF support for FGAC policies
SREERAMTHOOM Feb 11, 2026
b943611
Add FGAC skill evaluation test suite with 10 ground-truth cases
SREERAMTHOOM Feb 11, 2026
58789d4
Remove FGAC examples from databricks-python-sdk skill
SREERAMTHOOM Feb 11, 2026
1fdefd2
Rename ABAC to FGAC in unity_catalog __init__.py exports
SREERAMTHOOM Feb 11, 2026
37f09bb
Clean up ABAC-to-FGAC migration: remove old skill, update routing tes…
SREERAMTHOOM Feb 11, 2026
ee340e1
Clean up: remove FGAC duplication from SDK skill, delete guardrails d…
SREERAMTHOOM Feb 11, 2026
5b6f9d2
Add comprehensive FGAC readme with human-in-the-loop documentation
SREERAMTHOOM Feb 12, 2026
a47fdef
Update unity-catalog skill description and add UC ACLs doc
SREERAMTHOOM Feb 12, 2026
c6f4154
Remove .claude skills and FGAC_README.md per PR review
SREERAMTHOOM Feb 12, 2026
5609236
Fix ruff lint errors: line length and unused import
SREERAMTHOOM Feb 12, 2026
cd1487f
Apply ruff formatting and remove unused import
SREERAMTHOOM Feb 12, 2026
5a45e6e
Reformat with line-length=120 to match CI settings
SREERAMTHOOM Feb 12, 2026
dd31185
Restore model-serving skill entry in CLAUDE.md
SREERAMTHOOM Feb 12, 2026
bd938d6
Remove duplicate .claude/ entry in .gitignore
SREERAMTHOOM Feb 12, 2026
18fd4df
Split invalid token test into separate ValueError and PermissionError…
SREERAMTHOOM Feb 12, 2026
f2b5afc
Run cheap validation before expensive admin group network call
SREERAMTHOOM Feb 12, 2026
2339149
Use random secret for approval tokens instead of hardcoded default
SREERAMTHOOM Feb 12, 2026
55121bf
Update FGAC_APPROVAL_SECRET docs to reflect auto-generated default
SREERAMTHOOM Feb 12, 2026
d9fa8cb
Remove FGAC_APPROVAL_SECRET env var, always use random secret
SREERAMTHOOM Feb 12, 2026
62dc429
Document that approval token does not guarantee human review
SREERAMTHOOM Feb 12, 2026
faff55f
Avoid mutating caller's dict in _validate_approval_token
SREERAMTHOOM Feb 12, 2026
9f99e3a
Add setup guidance for FGAC_ADMIN_GROUP env var in skill docs
SREERAMTHOOM Feb 12, 2026
175d32b
Add FGAC analysis & discovery functions
SREERAMTHOOM Feb 12, 2026
03f7120
Fix PR review comments: type annotations, token tests, docs URL
SREERAMTHOOM Feb 12, 2026
ad0c34f
Add ACL test coverage for ground truth and routing
SREERAMTHOOM Feb 12, 2026
a8ba605
Address low-priority nits from PR review
SREERAMTHOOM Feb 12, 2026
a28987b
Expand SQL keywords in test scorers and fix FGAC test reliability
SREERAMTHOOM Feb 12, 2026
0e55553
Remove unused imports and fix ruff formatting
SREERAMTHOOM Feb 12, 2026
404fe6e
Document check_policy_quota and add FGAC to READMEs
SREERAMTHOOM Feb 12, 2026
01ba050
Merge upstream/main: preserve FGAC additions with upstream structural…
SREERAMTHOOM Feb 27, 2026
8ab2116
Fix ruff formatting with line-length=120 to match CI
SREERAMTHOOM Feb 27, 2026
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
112 changes: 112 additions & 0 deletions .test/skills/_routing/ground_truth.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,118 @@ test_cases:
difficulty: "easy"
reasoning: "Mentions 'genai.evaluate' - MLflow evaluation trigger"

# Single-skill routing - UC FGAC Governance
- id: "routing_fgac_001"
inputs:
prompt: "Create an FGAC column mask policy for SSN columns"
expectations:
expected_skills: ["databricks-unity-catalog"]
is_multi_skill: false
metadata:
category: "single_skill"
difficulty: "easy"
reasoning: "Mentions 'FGAC' and 'column mask policy' - UC FGAC governance"

- id: "routing_fgac_002"
inputs:
prompt: "How do I apply governed tags to columns for PII classification?"
expectations:
expected_skills: ["databricks-unity-catalog"]
is_multi_skill: false
metadata:
category: "single_skill"
difficulty: "easy"
reasoning: "Mentions 'governed tags' and 'PII classification' - UC FGAC governance"

- id: "routing_fgac_003"
inputs:
prompt: "Write a masking UDF that hides email addresses and bind it to a policy"
expectations:
expected_skills: ["databricks-unity-catalog"]
is_multi_skill: false
metadata:
category: "single_skill"
difficulty: "medium"
reasoning: "Mentions 'masking UDF' and 'policy' - UC FGAC governance"

- id: "routing_fgac_004"
inputs:
prompt: "List all FGAC policies on my catalog using the Python SDK"
expectations:
expected_skills: ["databricks-unity-catalog"]
is_multi_skill: false
metadata:
category: "single_skill"
difficulty: "medium"
reasoning: "Mentions 'FGAC policies' - UC FGAC governance over generic SDK skill"

- id: "routing_fgac_005"
inputs:
prompt: "Create a row filter policy to hide EU data from the US team"
expectations:
expected_skills: ["databricks-unity-catalog"]
is_multi_skill: false
metadata:
category: "single_skill"
difficulty: "easy"
reasoning: "Mentions 'row filter policy' - UC FGAC governance"

- id: "routing_fgac_006"
inputs:
prompt: "How do I use CREATE POLICY with hasTagValue to mask credit card columns?"
expectations:
expected_skills: ["databricks-unity-catalog"]
is_multi_skill: false
metadata:
category: "single_skill"
difficulty: "medium"
reasoning: "Mentions 'CREATE POLICY' and 'hasTagValue' - UC FGAC governance"

- id: "routing_fgac_007"
inputs:
prompt: "Set up FGAC policies for PII masking and query the audit logs to verify who accessed the masked columns"
expectations:
expected_skills: ["databricks-unity-catalog"]
is_multi_skill: false
metadata:
category: "single_skill"
difficulty: "hard"
reasoning: "Both FGAC policies and audit logs are in databricks-unity-catalog"

# Single-skill routing - UC ACLs
- id: "routing_acl_001"
inputs:
prompt: "Grant SELECT access on a table to the data_readers group"
expectations:
expected_skills: ["databricks-unity-catalog"]
is_multi_skill: false
metadata:
category: "single_skill"
difficulty: "easy"
reasoning: "Mentions 'Grant SELECT' - UC ACL operation"

- id: "routing_acl_002"
inputs:
prompt: "How do I revoke write permissions from a group on a schema?"
expectations:
expected_skills: ["databricks-unity-catalog"]
is_multi_skill: false
metadata:
category: "single_skill"
difficulty: "easy"
reasoning: "Mentions 'revoke' and 'permissions' on 'schema' - UC ACL operation"

- id: "routing_acl_003"
inputs:
prompt: "Set up read-only access for the analytics team on the gold schema"
expectations:
expected_skills: ["databricks-unity-catalog"]
is_multi_skill: false
metadata:
category: "single_skill"
difficulty: "medium"
reasoning: "Access setup on schema with role-based pattern - UC ACL operation"

# Multi-skill routing
- id: "routing_multi_001"
inputs:
Expand Down
12 changes: 12 additions & 0 deletions .test/skills/databricks-unity-catalog/candidates.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
# Candidate test cases pending review for databricks-unity-catalog skill
# Add new test cases here for review before promoting to ground_truth.yaml
#
# Workflow:
# 1. Generate response for a new prompt
# 2. Add to candidates with review_status: "pending"
# 3. Execute on Databricks to verify
# 4. Run MLflow evaluation
# 5. If passed, promote to ground_truth.yaml

candidates: []
Loading