Inconsistent ID normalization within the `ops skill registry` of an AI SRE AgenticOps platform. This leads to critical failures in `upsert`, `delete`, and `export_package` operations, as lookups use raw IDs while storage uses normalized IDs.
Raw Developer Origin & Technical Request
GitHub Issue
Jul 12, 2026
The ops skill store keys everything by `normalize_skill_name(id)`, but several methods look up the existing record using the **raw** id. Any id that isn't already in normalized form (uppercase, spaces, etc.) fails to resolve.
`upsert` — the lookup uses the raw id, but the write uses the normalized key:
`backend/app/services/ops_skill_registry.py:439`
```python
def upsert(self, item: dict[str, Any], *, actor: str) -> dict[str, Any]:
with self._lock:
existing = self._skills.get(str(item.get("id") or ""))
if existing and not item.get("version"):
item = {**item, "version": self._next_version(existing.get("version", "1.0.0"))}
normalized = self._normalize(item, actor=actor)
```
```python
self._skills[normalized["id"]] = normalized
```
`export_package` and `delete` have the same defect, and `export_package` even mixes conventions — membership check with the raw id, path built from the normalized id:
`backend/app/services/ops_skill_registry.py:488`
```python
def export_package(self, skill_id: str) -> tuple[str, bytes]:
with self._lock:
if skill_id not in self._skills:
raise AgentSkillPackageError("Skill 不存在")
package_dir = self.root / normalize_skill_name(skill_id)
```
```python
def delete(self, skill_id: str, *, actor: str) -> dict[str, Any]:
with self._lock:
skill = self._skills.get(skill_id)
if not skill:
...
Developer Debate & Comments
No active discussions extracted for this entry yet.
Adjacent Repository Pain Points
Other highly discussed features and pain points extracted from William-Lu-stack/Flawless.
Frequently Asked Questions
Market intelligence mapped to Inconsistent ID normalization within the `ops skill registry` of an AI SRE AgenticOps platform. This leads to critical failures in `upsert`, `delete`, and `export_package` operations, as lookups use raw IDs while storage uses normalized IDs..
How is Inconsistent ID normalization within the `ops skill registry` of an AI SRE AgenticOps platform. This leads to critical failures in `upsert`, `delete`, and `export_package` operations, as lookups use raw IDs while storage uses normalized IDs. positioned in the market?
What architecture is tied to Inconsistent ID normalization within the `ops skill registry` of an AI SRE AgenticOps platform. This leads to critical failures in `upsert`, `delete`, and `export_package` operations, as lookups use raw IDs while storage uses normalized IDs.?
Engagement Signals
Cross-Market Term Frequency
Quantifies the cross-market adoption of foundational terms like delete and AI SRE AgenticOps by tracking occurrence frequency across active SaaS architectures and enterprise developer debates.
SaaS Metrics