# 1.0.0-beta.8 Concrete Type Alias Foundation

Status: release scope for `1.0.0-beta.8`.

`1.0.0-beta.8` targets a deliberately small language-usability slice:
transparent top-level aliases for existing concrete Slovo types.

## Source Surface

The declaration form is:

```slo
(type Alias TargetType)
```

Examples:

```slo
(type JsonText string)
(type Scores (vec i32))
(type MaybeName (option string))
(type ReadResult (result string i32))
```

Aliases are module-local names. A later declaration in the same module may use
the alias wherever the resolved concrete target type is already supported.

## Resolution Contract

- Resolve aliases before typed-core lowering, checked import signatures,
  backend layout, ABI decisions, and runtime behavior.
- Treat aliases as transparent names, not new nominal types.
- Preserve the target type's existing value-flow, constructor, operator,
  `match`, field-access, import, and diagnostic behavior.
- Normalize exported function or struct signatures that mention local aliases
  to their concrete target types for cross-module use.
- Generated documentation may show source alias spellings; runtime, checked
  lowering, and cross-module typing must use the resolved concrete target.
- Reject failed alias resolution; do not silently fall back to a primitive type.

## Source Fixtures

- `lib/std/json.slo` uses local `JsonText` and `JsonField` aliases for already
  encoded JSON fragments.
- `examples/projects/std-import-json/` uses the same alias shape in the
  explicit standard-import fixture without importing aliases.
- `examples/projects/std-layout-local-json/` mirrors the facade and example as
  a local source fixture.

These fixtures keep the existing JSON helper surface and test names. They do
not add compiler-known runtime calls or new public standard-library helper
names.

## Deferrals

This target does not add generic aliases, parameterized aliases, alias type
parameters, alias re-exports, cross-module alias imports, import aliases, glob
imports, maps/sets, alias-driven overloads, implicit casts, runtime helpers,
hosted runtime symbols, stable ABI/layout promises, or a standard-library API
freeze.
