Topaz 소스의 확장자는 .tpz입니다. emit은 점검과 연동을 위해 생성 소스를 보여주고, build는 대상별 완성 배포 번들을 만듭니다. 생성 Rust와 Python은 교체 가능한 구현 산출물이며 별도의 Topaz 문법이나 안정적인 수동 편집 API가 아닙니다.
Emit과 build
topaz emit --target rust|python으로 생성 소스를 확인합니다. 대상 없는 emit은 기존처럼 Rust를 뜻합니다. 배포물은 topaz build --target native|python|web|web-worker --out-dir <dir>로 만듭니다. 네이티브 실행 파일의 호환 경로는 target/debug/program 또는 target/release/program이지만 Cargo 중간 파일은 남지 않습니다. 웹 대상은 WASM과 JavaScript/TypeScript 연결 파일을, Python 대상은 program.py와 topaz_py_rt.py를 남깁니다.
산출물 매니페스트와 디렉터리 안전
성공한 빌드는 마지막에 topaz-artifact.json을 기록합니다. 각 관리 파일의 상대 경로, SHA-256, 바이트 길이와 실행 권한을 담습니다. 같은 대상을 다시 빌드할 때 이 식별값을 먼저 검증합니다. 대상 변경, 손상된 매니페스트, 변조된 관리 파일, 사용자 파일과의 충돌은 명확히 거부하며 목록에 없는 파일은 보존합니다.
임시 저장공간
Cargo 작업은 incremental이 꺼진 비공개 임시 작업공간에서만 수행됩니다. 성공·실패 시 자동 삭제되고, 강제 종료 잔존물은 다음 실행이 소유권 표식을 확인한 뒤 회수합니다. topaz storage status는 Topaz 소유 공간만 보여주며 topaz storage clean은 비활성 소유 공간만 지웁니다. 시스템 Cargo·Python 캐시는 검색하거나 삭제하지 않습니다.
생성 Python은 번들 런타임을 가져오는 동안에만 바이트코드 기록을 막고 즉시 원래 설정을 복원합니다. python program.py, -O, -OO 직접 실행은 Topaz __pycache__를 남기지 않습니다.
소유권과 라이선스
공식 CLI, npm, 편집기, WASM, 플레이그라운드와 생성 런타임 산출물은 필요한 고지와 함께 Apache-2.0으로 배포됩니다. 저작권 표기의 Studio Haze Inc.는 스튜디오헤이즈 주식회사가 국제적으로 사용하는 영문명이며 두 이름은 같은 법적 권리 주체를 가리킵니다. 네이티브 CLI에서는 topaz license와 topaz notice로 내장 원문을 볼 수 있습니다. 사용자가 작성한 .tpz, 입력 데이터, 응용 출력과 응용별 생성 코드는 사용자가 선택한 라이선스와 상업 조건을 따릅니다. Apache-2.0은 Topaz 명칭과 로고 사용권을 주지 않습니다.
경계
산출물 해시는 설치된 로컬 바이트를 식별할 뿐 재현 가능한 빌드나 의미론적 동등성을 주장하지 않습니다.