Skip to content

Commit 4fdbd86

Browse files
committed
wip(spec): pin SmsProviderSchema as isomorphic; llms.txt inventory counts
Claude-Session: https://claude.ai/code/session_01S3aAf11JjbW1mSGL1EhfFj Co-authored-by: Claude <noreply@anthropic.com>
1 parent bd82b77 commit 4fdbd86

2 files changed

Lines changed: 17 additions & 5 deletions

File tree

‎packages/spec/llms.txt‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,15 @@ const query = {
7777

7878
---
7979

80-
## 3. Schema Inventory by Domain (203 schemas)
80+
## 3. Schema Inventory by Domain (204 schemas)
8181

8282
Counted as `*.zod.ts` modules under `packages/spec/src/<domain>/` — the sources
8383
that ship in this tarball (`files` includes `src/**/*.zod.ts`), so every number
8484
here is verifiable from the installed package.
8585

8686
| Domain | Count | Key Schemas |
8787
|--------|-------|-------------|
88-
| system | 34 | Auth, Cache, Compliance, Dev Login, Encryption, HTTP Server, License, Logging, Metrics |
88+
| system | 35 | Auth, Cache, Dev Login, Email / SMS Config, Encryption, HTTP Server, License, Logging, Metrics |
8989
| kernel | 31 | Plugin, Manifest, Events (6 sub-modules), Feature, Context, Package Registry |
9090
| data | 30 | Object, Field, Picklist, Query, Filter, Driver (SQL/NoSQL/Memory/Mongo/Postgres), Cube |
9191
| api | 31 | Endpoint, REST Server, Discovery, OData, Batch, WebSocket, Response Envelope, Package Lifecycle, Package API (assembled stage) |

‎packages/spec/src/type-alias-convention.pin.test.ts‎

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -272,9 +272,12 @@ import type * as M185 from './shared/epoch.zod.js';
272272
import type * as M187 from './shared/duration.zod.js';
273273
// [#18451] The build-progress PHASE vocabulary -- new module, next free index.
274274
import type * as M188 from './ai/build-progress.zod.js';
275+
// [#22748] The stack definition's SMS block and its provider vocabulary -- new
276+
// module, next free index.
277+
import type * as M189 from './system/sms-config.zod.js';
275278

276279
// ---------------------------------------------------------------------------
277-
// 775 isomorphic aliases: `z.input` === `z.infer`, so no `XParsed` is declared.
280+
// 776 isomorphic aliases: `z.input` === `z.infer`, so no `XParsed` is declared.
278281
//
279282
// That number is machine-checked, not hand-kept. The runtime companion at the
280283
// bottom of this file recomputes the pin count from the source and asserts that
@@ -1373,6 +1376,9 @@ export type Iso_system_settingsManifest__SpecifierScopeSchema = Assert<Eq< z.inp
13731376
export type Iso_system_settingsManifest__SpecifierType = Assert<Eq< z.input< typeof M147.SpecifierType >, z.infer< typeof M147.SpecifierType > >>;
13741377
export type Iso_system_settingsManifest__SpecifierValueDomainSchema = Assert<Eq< z.input< typeof M147.SpecifierValueDomainSchema >, z.infer< typeof M147.SpecifierValueDomainSchema > >>;
13751378

1379+
// system/sms-config.zod.ts
1380+
export type Iso_system_smsConfig__SmsProviderSchema = Assert<Eq< z.input< typeof M189.SmsProviderSchema >, z.infer< typeof M189.SmsProviderSchema > >>;
1381+
13761382
// system/supplier-security.zod.ts
13771383
export type Iso_system_supplierSecurity__SupplierAssessmentStatusSchema = Assert<Eq< z.input< typeof M148.SupplierAssessmentStatusSchema >, z.infer< typeof M148.SupplierAssessmentStatusSchema > >>;
13781384
export type Iso_system_supplierSecurity__SupplierRiskLevelSchema = Assert<Eq< z.input< typeof M148.SupplierRiskLevelSchema >, z.infer< typeof M148.SupplierRiskLevelSchema > >>;
@@ -1673,7 +1679,7 @@ describe('ADR-0122 type-alias convention', () => {
16731679
// this title and the section header above the pin list — are now asserted
16741680
// against the recomputed count below, so neither can go stale without a red
16751681
// test naming it.
1676-
it('still declares all 775 isomorphic pins', () => {
1682+
it('still declares all 776 isomorphic pins', () => {
16771683
// The truth of each pin is proved by tsc, not here — an `Assert<Eq<...>>`
16781684
// that stops holding is a compile error with the alias named. What tsc
16791685
// cannot notice is a pin that was DELETED: removing the assertion removes
@@ -2447,7 +2453,13 @@ describe('ADR-0122 type-alias convention', () => {
24472453
// exported `UploadScopeSchema`, a bare enum with no default and no
24482454
// transform, so it is pinned here (Iso_api_storage__UploadScopeSchema)
24492455
// rather than given an `UploadScopeParsed` synonym. +1 added.
2450-
expect(pins).toHaveLength(775);
2456+
//
2457+
// 775 -> 776 is #22748: the stack definition's new `sms` block types its
2458+
// provider with the new exported `SmsProviderSchema`, a bare enum with no
2459+
// default and no transform, so it is pinned here
2460+
// (Iso_system_smsConfig__SmsProviderSchema) rather than given an
2461+
// `SmsProviderParsed` synonym. +1 added.
2462+
expect(pins).toHaveLength(776);
24512463

24522464
// The count is stated in PROSE twice as well — this case's title and the
24532465
// section header above the pin list — and until commit c6b05c76a nothing read either

0 commit comments

Comments
 (0)