glam/.opencode/rules/polished-slot-storage-location.md

1.6 KiB

Rule: Polished Slot Storage Location

Summary

Polished (refactored) canonical slot files MUST be stored in the parent slots/ directory:

schemas/20251121/linkml/modules/slots/

They must NOT be stored in the 20260202_matang/ subdirectory.

Rationale

The 20260202_matang/ directory and its new/ subdirectory contain draft/unpolished slot definitions that are pending review. Once a slot file has been polished (ontology-aligned, translated, cleaned), it graduates to the canonical slots/ directory.

Directory Structure

schemas/20251121/linkml/modules/slots/
├── *.yaml                          ← Polished canonical slot files go HERE
└── 20260202_matang/
    ├── *.yaml                      ← Draft/unpolished canonical slots (staging area)
    └── new/
        └── *.yaml                  ← Raw/draft slot definitions pending triage

Rule

  • When polishing a slot file, write the result to schemas/20251121/linkml/modules/slots/{slot_name}.yaml
  • If the source file was in 20260202_matang/, remove it from there after writing to slots/
  • If the source file was in 20260202_matang/new/, it should only be deleted after user confirmation of alias absorption (per the no-autonomous-alias-assignment rule)
  • If a file already exists in slots/ (i.e., it was previously polished in an earlier session), overwrite it in place

Examples

CORRECT:

schemas/20251121/linkml/modules/slots/has_pattern.yaml  ← polished file

WRONG:

schemas/20251121/linkml/modules/slots/20260202_matang/has_pattern.yaml  ← should not be here after polishing