Topaz는 결정론적 소프트웨어를 위한 실행 가능한 명세 언어다. 사람이 읽는 명세이고, 실제로 실행되는 오라클이며, 프로덕션 구현을 검증하는 차등 기준점이다.
Topaz는 Rust를 추월하려는 언어가 아닙니다. 그것은 잘못된 프레임입니다. Topaz는 의도를 사람이 읽을 수 있고, 에이전트가 쓸 수 있고, 툴체인이 프로덕션 코드의 주장을 검증할 수 있을 만큼 정확하게 고정하기 위해 존재합니다.
이 아키텍처는 세 단계로 움직입니다. 사람이 먼저 읽는 명세. 실행 가능한 오라클. 차등 검증.
1. 正 사람이 먼저 읽는 명세
대부분의 언어는 기계가 먼저 읽기 좋은 모양으로 쓰입니다. 하드웨어가 무엇을 해야 하는지를 설명하고, 정작 중요한 의도와 규칙과 정책은 제어 흐름 안에 묻힙니다.
Topaz는 순서를 뒤집습니다. 의도가 먼저 오고, 그 의도는 금속의 언어가 아니라 문제의 언어로 쓰입니다.
도메인의 단어는 코드입니다. 한글, Кириллица, 이모지는 우회로가 아니라 일급 식별자입니다. Unicode-first는 장식이 아닙니다. 번역 손실 없이 규칙을 적기 위한 기본 조건입니다.
표면은 의도적으로 작고 닫혀 있습니다. 흔한 의도에는 말하는 방법이 하나여야 합니다. 언어가 정책을 고정하므로 사람과 에이전트가 매 줄마다 방언과 스타일과 모양을 다시 협상하지 않아도 됩니다.
그 결과 어려운 로직, 한국어 조판, 로케일 규칙, 까다로운 비즈니스 케이스가 우회 코드가 아니라 규칙 그 자체처럼 읽힙니다. 명세는 신뢰되기 전에 먼저 읽을 수 있어야 합니다.
2. 反 실행 가능한 오라클
문서 안에서만 사는 명세는 죽습니다. 코드와 멀어지고, 결국 거짓말을 합니다.
Topaz는 죽은 명세가 아닙니다. 당신이 쓴 모든 규칙은 실행됩니다.
인터프리터는 명세를 실행 가능한 오라클로 바꿉니다. 프로그램을 설명하는 데 그치지 않습니다. 같은 입력에 대해 기준이 되는 답을 계산하고, 그 관찰 결과를 골든 픽스처로 고정할 수 있게 합니다.
Topaz는 정답을 계산하는 설명서입니다.
핵심은 이 역전에 있습니다. 명세는 구현 뒤를 따라가는 문서가 아닙니다. 명세는 구현이 맞춰야 하는 기준점입니다. 무엇이 옳은지 알고 싶을 때 Rust를 읽는 것으로 시작하지 않습니다. Topaz에게 묻습니다.
3. 合 run ≡ build로 묶인 차등 검증
프로덕션은 여전히 빠른 경로를 필요로 합니다. 그래서 Topaz는 인터프리터를 기준 실행 경로로 유지하면서 Rust 프로덕션 경로를 방출합니다.
하지만 믿고 넘긴 번역은 검증이 아닙니다. topaz run과 topaz build는
서로에 비추어 판정되어야 합니다.
CI에서는 코퍼스와 골든 픽스처가 두 경로에 같은 입력을 공급합니다. 차등 하네스는 값, stdout, 파일, 실패, span을 바이트 단위로 비교합니다. 같은 입력은 같은 관찰 결과를 내야 하고, 그렇지 않으면 빌드는 통과하지 못합니다.
이것이 run ≡ build입니다.
구호가 아닙니다. 툴체인이 만족해야 하는 검증 의무입니다. 인터프리터는 무엇이 참인지 말합니다. Rust 경로는 그것을 빠르게 말합니다. 하네스는 두 경로가 같은 문장인지 확인합니다.
Topaz는 느린 구현체가 아닙니다. Topaz는 구현체들이 맞춰야 하는 실행 가능한 기준점입니다. Topaz는 프로덕션 코드를 대신하기 위해 존재하지 않습니다. 프로덕션 코드가 무엇을 증명해야 하는지 고정하기 위해 존재합니다.
당신은 의도를 적습니다. 컴파일러는 Rust를 적습니다. 툴체인은 그 둘이 일치함을 증명합니다.
4. 왜 작은 언어인가
작음은 취향이 아닙니다. Topaz에서 작음은 검증 경계입니다.
작고 닫힌 표면은 오독을 줄입니다. 에이전트가 없는 문법을 꾸며 낼 여지를 줄입니다. 사람이 해독해야 하는 지역 방언을 줄입니다. 툴체인이 파싱하고, 검사하고, 실행하고, 비교할 고정된 대상을 만듭니다.
이것이 기존 Topaz 정체성을 실행 가능한 아키텍처로 끌어올린 형태입니다.
말하는 방법은 하나. 도메인의 단어는 도메인의 언어 그대로. 렉서부터 Unicode-first. 사람과 에이전트가 같은 표면을 쓰고, 툴체인이 검증합니다.
Topaz가 의도적으로 작은 이유는 가능한 모든 프로그래밍 스타일을 담기 위해서가 아닙니다. 의도를 실행하고 검증할 수 있을 만큼 안정적으로 고정하기 위해서입니다.
5. ATLAS, 첫 번째 실전 증명 사례
ATLAS는 이 아키텍처 위에 세운 첫 번째 실전 증명 사례입니다.
ATLAS는 복잡한 한국어 조판 로직에 Topaz를 적용합니다. 규칙은 Topaz로 명세하고, 인터프리터는 실행 가능한 오라클을 제공하며, 성능이 필요한 Rust 경로는 코퍼스 테스트와 골든 픽스처와 차등 하네스를 통해 Topaz 결과에 비추어 판정됩니다.
이 주장은 의도적으로 좁습니다. ATLAS의 모든 결함이 불가능하다는 뜻이 아닙니다. Rust 전체를 검증했다는 뜻도 아닙니다. 실제 제품이 Topaz를 기준 경로에 두고 Rust를 프로덕션 경로에 둔 뒤, 프로덕션 경로가 옳다고 말하기 전에 두 경로의 일치를 요구할 수 있음을 보여 준다는 뜻입니다.
ATLAS는 첫 번째 실전 증명 사례입니다. 마지막 사례가 되어서는 안 됩니다.
6. 결론
Topaz는 의도를 실행 가능한 형태로 고정하는 언어입니다.
규칙은 작고 닫힌 Unicode-first 언어로 한 번 적습니다. 인터프리터는 그것을 실행 가능하게 만듭니다. 컴파일러는 Rust를 씁니다. CI는 기준 경로와 프로덕션 경로를 바이트 단위로 비교합니다.
하나의 명세. 두 개의 엔진. 어긋남은 없다.