# shared/manifests/punctuation.manifest.ts

> 11 lines of code and 5 definitions.

Tree: Governance tree
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/governance#file-governance-shared-manifests-punctuation-manifest-ts
Source text: https://banes-lab.com/source/governance/shared/manifests/punctuation.manifest.ts.txt

Listed in [shared/manifests](https://banes-lab.com/api/source/governance/shared/manifests.md), after [shared/manifests/layer.manifest.ts](https://banes-lab.com/source/governance/shared/manifests/layer.manifest.ts.md) and before [shared/manifests/sentence.manifest.ts](https://banes-lab.com/source/governance/shared/manifests/sentence.manifest.ts.md).

## Definitions

- `PUNCTUATION_POLICY` (lexical_declaration, line 4, exported)
- `LONG_DASH` (lexical_declaration, line 10, exported)
- `SEMICOLON` (lexical_declaration, line 12, exported)
- `PERCENT_SIGN` (lexical_declaration, line 14, exported)
- `METRIC_UNITS` (lexical_declaration, line 16, exported)

## Source

```typescript
import { STRINGS_CHANNEL, isCheckEnforced } from "./writing.canon.manifest.ts";
import type { PunctuationPolicy } from "../../types/manifest.types.ts";

export const PUNCTUATION_POLICY: PunctuationPolicy = {
    digitMetric: isCheckEnforced("no-unmeasured-numbers", STRINGS_CHANNEL),
    longDash: isCheckEnforced("no-long-dash", STRINGS_CHANNEL),
    semicolon: isCheckEnforced("no-semicolon", STRINGS_CHANNEL),
};

export const LONG_DASH = "—";

export const SEMICOLON = ";";

export const PERCENT_SIGN = "%";

export const METRIC_UNITS: readonly string[] = ["ms", "s", "kb", "mb", "gb", "%"];
```
