# Positional Slot Resolution

Record: `arch:positional-slot-resolution`
Kind: mechanism
Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)
Severity: mandatory
Scope: filename
Canonical: https://banes-lab.com/ontology#arch-positional-slot-resolution

## Repair

- Refactored by: Split the Compound, Move the Tag to the Concern Slot
- Detected by: a filename whose last segment before the extension is not a declared concern tag
- Violated by: reading a word by which vocabulary declares it rather than by the slot it lands in
- Measured by: unparseable filename count
- Enforced by: filename parser, naming gate

## requires

- [Concern Tag](https://banes-lab.com/records/lex/concern-tag.md)
- [Subject Slot](https://banes-lab.com/records/lex/subject-slot.md)

## reinforces

- [Closed Vocabulary](https://banes-lab.com/records/arch/closed-vocabulary.md)

## enables

- [Variant Slot](https://banes-lab.com/records/lex/variant-slot.md)
- [Glob Resolvability](https://banes-lab.com/records/lex/glob-resolvability.md)

## conflicts-with

- [Concern-Swallowing Compound](https://banes-lab.com/records/lex/concern-swallowing-compound.md)

## contracts

- [Name Projection](https://banes-lab.com/records/algo/name-projection.md)
