전체 문서
기술 스택과 배포 형태
ARTEX는 Go backend와 static-export Next.js UI를 한 binary에 embed할 수 있는 application이다. 필수 PostgreSQL, traffic용 SQLite/filesystem, 외부 LLM·MCP·search·notification service를 연결한다. 이 revision의 direct dependency는 Go 12개, web runtime 41개, web development 15개로 총 68개다. Go manifest explicit require는 53개지만 selected build list는 root 제외 183개이고, 현재 production import closure는 49 module이다. npm lock record는 773개다. Direct 역할은 직접 의존성, exact selected/import/lock location은 전이 의존성·lock 색인이 소유한다. Go manifest web manifest web lock
Backend
Backend · 관계
이 대상을 사용하는 기능·모듈·계약 · 1개
- 의존 / 빌드 · 기술 스택과 배포 형태 · backend stack · catalog-edge-46
| 구성 | 선언·선택 version | 현재 역할 |
|---|---|---|
| Go | module go 1.26.3; CI 1.26 |
HTTP server, scheduler, agent host, proxy, storage orchestration |
| Norma | v0.4.3 |
provider/session, tool loop, Skill/MCP, transcript/context SDK |
| pgx | v5.10.0 |
PostgreSQL driver/pool |
| modernc SQLite | v1.52.0 |
CGO-free traffic index와 optional FTS5 |
| go-mitmproxy | v1.9.2 |
HTTP(S) recording proxy |
| dnsx + miekg/dns | v1.2.3 + v1.1.72 |
asset DNS enrichment와 DNS protocol |
| golang-jwt + x/crypto | v5.3.1 + v0.55.0 |
JWT와 bcrypt authentication |
표는 주요 실행 역할을 요약한 것이다. Go direct dependency 12개는 Go direct 목록, manifest indirect 41개는 explicit indirect 목록, module graph 183개와 production import 49개는 각각 selected build list와 import closure를 본다.
Frontend
Frontend · 관계
이 대상을 사용하는 기능·모듈·계약 · 1개
- 의존 / 빌드 · 기술 스택과 배포 형태 · frontend stack · catalog-edge-47
package.json은 Next ^16.2.9, React/React DOM ^19.2.7, TypeScript ^5.9.3 범위를 선언하고 현재 lockfile은 각각 16.2.9, 19.2.7, 19.2.7, 5.9.3을 선택한다. App Router UI가 상대 /api를 호출하고 네 SSE 경로는 native EventSource를 쓴다. Graph는 G6/Graphin/XYFlow, table은 TanStack Table, chart는 Recharts가 맡는다. runtime direct 41개와 development direct 15개에 manifest range와 lock version을 기록하고, lock 전수 색인은 root 1 + package location 772개를 exact version으로 고정한다.
Static build는 NEXT_EXPORT=1 next build의 web/out을 server/webui/dist로 복사하고 embedui build tag로 binary에 넣는다. package.json의 caret range를 exact pin으로 해석하면 안 되며 재현 입력은 lockfile과 npm ci다. web scripts
Storage
Storage · 관계
이 대상을 사용하는 기능·모듈·계약 · 1개
- 의존 / 빌드 · 기술 스택과 배포 형태 · storage stack · catalog-edge-48
| 저장소 | 소유 데이터 | startup 성격 |
|---|---|---|
| PostgreSQL | task, graph, asset, agent/config, finding, audit, notification | embedded schema.sql을 적용; 두 LLM ledger는 별도 best-effort ensure |
| SQLite | traffic metadata, body reference, FTS | -data 아래 생성; FTS5 적용 실패 시 검색 일부 비활성 가능 |
| filesystem | traffic body/blob, evidence, transcript/archive, JWT key, skills, update artifact | 일부 교체·이동은 DB transaction 밖 |
| embedded UI | static export | embedui tag가 있는 binary에만 포함 |
외부 runtime 경계
외부 runtime 경계 · 관계
이 대상을 사용하는 기능·모듈·계약 · 1개
- 의존 / 빌드 · 기술 스택과 배포 형태 · external runtime boundaries · catalog-edge-49
- PostgreSQL server. Compose는
postgres:16-alpine을 쓰고 외부 DB 배포는 별도 version 계약이 없다. - Anthropic/OpenAI-compatible LLM endpoint와 optional HTTP/HTTPS/SOCKS5 proxy.
- stdio, Streamable HTTP, legacy SSE MCP server와 local Skill/custom tool process.
- DDGS/Brave/Tavily/DeepSeek search, HTTP notification target, GitHub release API/download.
- 대상 시스템으로 향하는 Bash, WebFetch, browser, MCP, custom command/HTTP traffic. 모든 egress가 recording proxy나 하나의 scope gate를 통과하지 않는다.
Build·package·container
Build·package·container · 관계
이 대상을 사용하는 기능·모듈·계약 · 1개
- 의존 / 빌드 · 기술 스택과 배포 형태 · build/package/container stack · catalog-edge-50
build.sh는 frontend install/export, asset sync, CGO_ENABLED=0 cross-build, optional ZIP/checksum/UPX를 조립한다. Application option 5개와 env 14개는 build contract에 있다. Default release matrix는 Linux amd64/arm64, Darwin amd64/arm64, Windows amd64 5개다. build script
Compose는 published autumn27/artex:${ARTEX_TAG:-latest}와 PostgreSQL을 시작한다. 8787은 host 모든 interface에 publish하고 8788은 host loopback에만 publish하며 .env input은 10개다. Runtime image는 Python 3.12 slim/bookworm와 Node 20을 설치하지만 release frontend job은 Node 22를 쓴다. Image가 설치하는 세 Playwright package는 @latest라 source revision만으로 exact image content를 고정하지 못한다. Compose Dockerfile release workflow
Compose 주석은 /app/data가 jwt.key도 담는다고 적지만 application의 실제 기본 위치는 <BaseDir>/jwt.key, 즉 image에서 /app/jwt.key다. 현재 ./data:/app/data mount는 그 파일을 보존하지 않는다. Backup 경계와 명령은 운영 문서를 본다.
기술 스택과 배포 형태 · 관계
이 대상이 사용하는 구현·계약·의존 · 6개
- 계약 사용 · 직접 의존성·빌드 계약 · stack summary delegates manifest ranges, exact versions and build inputs · go-module · web-package · web-lock · build-script
- 의존 / 빌드 · Backend · backend stack · catalog-edge-46
- 의존 / 빌드 · Frontend · frontend stack · catalog-edge-47
- 의존 / 빌드 · Storage · storage stack · catalog-edge-48
- 의존 / 빌드 · 외부 runtime 경계 · external runtime boundaries · catalog-edge-49
- 의존 / 빌드 · Build·package·container · build/package/container stack · catalog-edge-50
이 대상을 사용하는 기능·모듈·계약 · 1개
- 의존 / 빌드 · 설치·실행·업데이트·복구 · build·runtime가 선언한 Go/Next/PostgreSQL/SQLite dependency stack에 의존 · core-edge-17