---
type: note
kind: Explainer
tags:
  [
    'preact',
    'signals',
    'fullstack-boundary',
    'reactive-state',
    'integration-unit',
  ]
status: release
ctime: 2026-06-03
mtime: 2026-06-03
generated: { by: claude/opus-4.8, at: 2026-06-07T22:39:32Z }
verified: { by: claude/opus-5, at: 2026-08-19T00:00:00Z }
sources:
  - id: github-developit-mixed-signals
    resource: https://github.com/developit/mixed-signals
    title: "developit/mixed-signals"
---

풀스택 경계의 통합 단위 = reactive state 그 자체. 서버의 signal/model이 클라이언트에서 *같은 객체*로 보인다.

```ts
// 서버 model이 클라이언트에 그대로 비친다
const todos = createReflectedModel('Todos')
todos.add('buy milk') // RPC인지 로컬 메서드인지 의식 안 함
todos.all.value[0].done.value = true // signal 토글 = 서버 상태 토글
```

통합 단위가 컴포넌트(RSC)도 함수 호출(server functions)도 DOM diff(LiveView)도 아니다. 다른 진영이 "서버 코드를 어떻게 _부를까_"를 풀 때, 여기는 "서버 상태를 어떻게 _살게_ 할까"를 푼다. 태그라인 "as if they lived on the client"이 그 직접 표현.

## 참고

- [developit/mixed-signals](https://github.com/developit/mixed-signals)
