Skip to content

Commit dcec8d8

Browse files
Bissbertclaude
andcommitted
fix: remediate 30 audit findings, bump to v1.2.0
4-agent audit review produced 30 findings (4 Critical, 6 High, 14 Medium, 6 Low). This commit addresses all actionable items: Critical: version bump 1.1.0→1.2.0, fix type annotation, add Bash to identify-gem, add AskUserQuestion to 4 agents. High: tighten mypy config, add Python 3.13 to CI, raise coverage gate to 50%, update crystal-svg description, fix dangling origin-premiums cross-reference. Medium: enhance plugin.json metadata, fix temp file leak in cli.py, add scope boundaries to overlapping agents, add WebSearch to 2 agents, expand physical-properties and phenomenal-gems skills, move image instructions to CLAUDE.md, add convenience functions to __all__, copy CDL spec to docs/. Low: extend .gitignore, add error handling table and Glob/Grep to crystal-svg, add confidence scoring to identify-gem, add diamond scope note to README, create shared test fixtures. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent c7fe63a commit dcec8d8

23 files changed

Lines changed: 1360 additions & 50 deletions

File tree

.claude-plugin/plugin.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "gemmology",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"description": "Comprehensive coloured gemstone expertise for gemmologists and students, covering identification, properties, grading, treatments, origin determination, and crystal structure visualization with SVG/STL/glTF export. Based on FGA curriculum standards.",
55
"author": {
66
"name": "Bissbert",
@@ -21,5 +21,9 @@
2121
],
2222
"repository": "https://github.com/gemmology-dev/gemmology-plugin",
2323
"homepage": "https://gemmology.dev",
24-
"lspServers": "./.lsp.json"
24+
"lspServers": "./.lsp.json",
25+
"license": "MIT",
26+
"commands": ["crystal-svg", "identify-gem"],
27+
"agents": ["cdl-expert", "crystallography-expert", "documentation-expert", "gemmology-expert", "geometry-expert", "svg-rendering-expert", "test-expert", "twin-law-expert"],
28+
"skills": ["chemical-properties", "crystal-visualization", "gem-care-durability", "gem-testing-instruments", "gemstone-species", "grading-valuation", "inclusions-fingerprints", "optical-properties", "origin-determination", "phenomenal-gems", "physical-properties", "synthetics-simulants", "treatments-enhancements"]
2529
}

.claude/agents/crystallography-expert.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,17 @@ tools:
99
- WebSearch
1010
- Glob
1111
- Grep
12+
- AskUserQuestion
1213
---
1314

1415
# Crystallography Expert Agent
1516

1617
You are an expert crystallographer assisting with development of the gemmology plugin. Your role is to ensure crystallographic accuracy in all implementations.
1718

19+
## Scope Boundary
20+
21+
Handles crystallographic theory and data accuracy. For computational geometry algorithms → geometry-expert. For twin implementation → twin-law-expert.
22+
1823
## Expertise
1924

2025
You have deep knowledge of:

.claude/agents/documentation-expert.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ tools:
88
- Bash
99
- Glob
1010
- Grep
11+
- AskUserQuestion
12+
- WebSearch
1113
---
1214

1315
# Documentation Expert Agent

.claude/agents/gemmology-expert.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ tools:
88
- WebSearch
99
- Glob
1010
- Grep
11+
- AskUserQuestion
1112
---
1213

1314
# Gemmology Expert Agent

.claude/agents/geometry-expert.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ tools:
1414

1515
You are an expert in 3D computational geometry assisting with development of the gemmology plugin. Your role is to ensure geometric correctness and implement robust algorithms.
1616

17+
## Scope Boundary
18+
19+
Handles computational geometry algorithms. For crystallographic correctness → crystallography-expert. For twinning → twin-law-expert.
20+
1721
## Expertise
1822

1923
You have deep knowledge of:

.claude/agents/svg-rendering-expert.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ tools:
88
- Edit
99
- Glob
1010
- Grep
11+
- WebSearch
1112
---
1213

1314
# SVG Rendering Expert Agent

.claude/agents/test-expert.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ tools:
88
- Edit
99
- Glob
1010
- Grep
11+
- AskUserQuestion
1112
---
1213

1314
# Test Expert Agent

.claude/agents/twin-law-expert.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ tools:
1515

1616
You are an expert in crystallographic twinning assisting with development of the gemmology plugin. Your role is to ensure twin laws are implemented correctly with accurate geometry.
1717

18+
## Scope Boundary
19+
20+
Handles twin law definition and implementation. For general crystallography → crystallography-expert. For general geometry → geometry-expert.
21+
1822
## Expertise
1923

2024
You have deep knowledge of:

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
strategy:
3232
fail-fast: false
3333
matrix:
34-
python-version: ['3.10', '3.11', '3.12']
34+
python-version: ['3.10', '3.11', '3.12', '3.13']
3535

3636
steps:
3737
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
@@ -115,11 +115,11 @@ jobs:
115115
pip install -e .
116116
117117
- name: Check coverage threshold
118-
# Target: 60%, Current threshold: 40% (baseline - cli.py needs tests)
119-
run: pytest --cov=src/gemmology_plugin --cov-report=term-missing --cov-fail-under=40
118+
# Target: 60%, Current threshold: 50% (baseline - cli.py needs tests)
119+
run: pytest --cov=src/gemmology_plugin --cov-report=term-missing --cov-fail-under=50
120120

121121
- name: Coverage report
122122
run: |
123123
echo "## Coverage Report" >> $GITHUB_STEP_SUMMARY
124124
echo "" >> $GITHUB_STEP_SUMMARY
125-
echo "Current threshold: **40%** (Target: 60%)" >> $GITHUB_STEP_SUMMARY
125+
echo "Current threshold: **50%** (Target: 60%)" >> $GITHUB_STEP_SUMMARY

.gitignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,18 @@ htmlcov/
3030
# Build artifacts
3131
*.db
3232
*.sqlite
33+
34+
# Ruff
35+
.ruff_cache/
36+
37+
# Benchmarks
38+
.benchmarks/
39+
40+
# Heap snapshots
41+
*.heapsnapshot
42+
43+
# macOS
44+
.DS_Store
45+
46+
# Environment
47+
.env

0 commit comments

Comments
 (0)