COVESA / COVESA/s2dm

🚀 Feature: Implement name conflict checker + precomputed variant registry

Open
#46 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
17
Forks
10
Avg merge
1d 10h
Merged PRs (30d)
2

Description

### Summary
Implement a conflict checker for `s2dm` to:
- Maintain a registry of all existing SDL element names and their precomputed naming case variants (e.g. PascalCase, snake_case, kebab-case, UPPER_SNAKE_CASE)
- On addition of a new name, compute its variants and check for collisions against the registry
- Block or warn if a naming collision is detected

### Example registry entry
```json
{
"ConnectedCar": [
"ConnectedCar",
"connectedCar",
"connected_car",
"CONNECTED_CAR",
"connected-car"
]
}
```

### Acceptance criteria
✅ New SDL names checked against all known case variants
✅ Conflict detection is fast (precompute + use set lookups)
✅ Tool persists and loads the registry
✅ Clear warning or error on conflict

### Deliverables
- Registry structure + file format
- Loader + in-memory set for fast lookup
- Conflict check logic
- Example persisted registry
- Documentation on naming safety policy

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.