docs← Back to article

Markdown for LLMs

feature-registry

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# feature-registry

Registry of language versions and feature gates (work package WP-32). Normative source for every implementation: the compiler must require the EXACT `language … version` and reject a program that uses a semantically active feature it does not know. The registry is data, not code: adding a feature means editing this file plus a migration note.

## Versions

Accepted `schemaVersion`: `law.core.features/0.1`.

## Top-level fields

| name | type-or-$ref | required | description |
|---|---|---|---|
| `schemaVersion` | `"law.core.features/0.1"` | yes | — |
| `languageName` | `string` | yes | Canonical language name in the file header: `language "<languageName>" version "<version>";`. Exactly one spelling — otherwise the "exact version" requirement has no meaning. |
| `languageVersions` | `array` | yes | — |
| `features` | `array` | yes | — |

## Enumerations

| location | values |
|---|---|
| `properties/schemaVersion` | `"law.core.features/0.1"` |
| `properties/languageVersions/items/properties/status` | `"supported"`, `"deprecated"`, `"withdrawn"` |
| `properties/features/items/properties/status` | `"active"`, `"reserved"`, `"deprecated"` |

## Raw schema

[`https://law.arxo.io/schema/feature-registry.schema.json`](https://law.arxo.io/schema/feature-registry.schema.json)