reopt designreopt design
DocsExploreToolsPricingBuilder
Start
Overview
Start
Mission
Core Concepts
Core Concepts
Recipes
Adapters
Build & Operate
Agent Contract
Builder Rollout
Builder Manager
Rollout Playbook
Components · Workspaces
ShellPage
ListWorkspace
DetailWorkspace
EditorWorkspace
DashboardWorkspace
LandingWorkspace
Components · Layout
ShellProvider
ShellAppShell
ShellLandingPage
ShellFullscreenToolSurface
Components · Navigation
ShellCollapsibleNav
ShellNavItem
ShellNavGroup
ShellNavAccordion
Components · Panels
ShellResizableLayout
ShellResizeHandle
ShellBottomBar
ShellFlyoutAside
ShellHeaderStackProvider
Components · Helpers
ShellSection
ShellStateBoundary
ShellSpacing
ShellPolicyToggler
Components · Adapters
ShellDataGridAdapter
ShellEditorAdapter
Oopt-shell
reopt designreopt design

A design system for the AI era

  • Docs
  • Pricing
  • Releases
  • GitHub
  • Terms of Service
  • Privacy Policy

© 2026 reopt-ai. All rights reserved.

Build & Operate
  1. Docs
  2. /
  3. Build & Operate
  4. /
  5. Agent Contract

Agent Contract

opt-shell는 에이전트가 제품급 화면을 일관되게 산출하도록 제약을 제공해야 합니다. 이 문서는 그 실행 규약입니다.

reopt design · Updated Jun 26, 2026

개요시작하기Mission핵심 개념RecipesAdaptersAgent ContractBuilder RolloutBuilder ManagerRollout Playbook

1. 기본 우선순위

DESIGN.md first

새 화면을 만들기 전에 루트 DESIGN.md로 visual intent와 component styling을 먼저 읽습니다.

Workspace first

workspace component가 primary API입니다. covered screen에서는 className 조합이나 low-level ShellPage보다 workspace를 먼저 선택합니다.

Adapter before engine

DataGrid와 Editor가 필요하면 직접 렌더링보다 ShellDataGridAdapter, ShellEditorAdapter를 우선합니다.

Shared state boundary

page-local spinner와 empty card를 만들지 않고 ShellStateBoundary를 사용합니다.

Policy over ad-hoc layout

width, density, aside behavior는 manifest policy로 결정하고 임의 class override를 최소화합니다.

Audit is part of rollout

`opt harness check`, `opt harness doctor`, package lint, generated docs integrity를 통과해야 rollout 완료로 간주합니다.

Review before activation

managed harness draft는 저장 후 review를 거쳐 APPROVED 상태가 되어야 하고, DESIGN.md alignment가 review 상태가 아니어야만 active runtime으로 올릴 수 있습니다.

Fresh proof before activation

Preview에서 현재 draft hash에 연결된 PASS design proof를 캡처해야 하며, 수정으로 stale된 proof는 activation을 막습니다.

Operational artifacts stay current

generated docs, scaffold guard matrix, `opt harness check/doctor` report는 같은 contract source를 보며 drift를 남기지 않아야 합니다.

Scaffold before ad-hoc layout

새 화면은 opt-shell scaffold로 시작하고, 그 위에서 recipe와 domain content를 채웁니다.

2. 작업 모델

에이전트는 먼저 루트 `DESIGN.md`로 look and feel을 읽고, 그 다음 현재 화면이 어떤 작업 흐름인지 분류한 뒤 recipe와 adapter를 선택해야 합니다. 현재 runtime에서는 `ListWorkspace` 같은 helper가 우선 진입점이고, `ShellPage recipe="..."`는 escape hatch로 남습니다. 임의 div 조합으로 화면을 완성한 뒤 나중에 harness를 덧씌우는 방식은 허용하지 않습니다. harness는 후처리 테마가 아니라 설계의 시작점이어야 합니다.

managed harness를 다룰 때도 같은 원칙이 적용됩니다. draft를 수정한 뒤 바로 activate하는 것이 아니라 preview로 결과를 확인하고, current hash 기준 fresh proof를 캡처하고, review note와 approval evidence를 남긴 뒤, APPROVED 상태와 DESIGN.md alignment readiness를 모두 만족할 때만 runtime으로 승격해야 합니다. 하네스는 단순 설정 JSON이 아니라 검토 가능한 제품 정책 단위입니다.

3. definition of done

  • DESIGN.md의 visual intent와 opt-shell recipe가 충돌하지 않는다.
  • 화면이 canonical recipe 중 하나로 설명 가능하다.
  • loading / empty / error 상태가 ShellStateBoundary로 통일된다.
  • DataGrid / Editor chrome이 adapter ownership 아래 있다.
  • page width와 density가 manifest policy로 결정된다.
  • managed harness draft는 review를 거쳐 APPROVED가 된 뒤에만 activation 대상이 된다.
  • managed harness draft의 design alignment score가 review 상태면 activation 대상이 아니다.
  • managed harness draft는 current hash에 연결된 fresh PASS design proof가 없으면 activation 대상이 아니다.
  • approved draft를 수정하면 review 상태가 다시 DRAFT로 돌아가 stale approval을 막는다.
  • approved draft를 수정하면 이전 design proof도 stale이 되어 다시 proof를 캡처해야 한다.
  • scaffold bundle, generated docs, opt harness check/doctor가 현재 contract와 같은 상태를 가리킨다.
  • opt harness check/doctor와 package lint가 위반을 잡고 docs가 현재 상태를 반영한다.

covered screen에서는 low-level `ShellPage` 조합보다 workspace-first abstraction이 우선입니다. direct `ShellPage` 사용은 예외로 남겨야 recipe가 단순 label이 아니라 실제 설계 계약으로 기능합니다.

4. enforcement 계층

Type contract

workspace component가 최소 `header`와 body를 강제해 recipe를 raw page composition보다 앞세웁니다.

Audit contract

covered screen은 expected slot, shared helper, adapter ownership, fullscreen-tool surface contract까지 검사합니다.

Browser proof

smoke와 visual proof가 대표 Builder 화면에서 recipe와 fullscreen contract를 실제 UI로 검증하고, managed harness activation에는 fresh PASS proof를 직접 연결합니다.

Governance contract

Builder Harness Manager가 draft, review, approval, activity evidence를 노출하고 activation gate를 실제 운영 흐름으로 강제합니다. activity intelligence는 timeline, learnings, export를 위한 searchable read model도 제공합니다.

5. 리뷰 기준

리뷰에서는 "예뻐 보이는가"보다 "harness ownership이 유지되는가"를 먼저 봅니다. 직접 엔진 렌더링, 임의 width override, 상태 UX 분산, recipe 불명확성은 모두 품질 회귀로 취급합니다. 이 기준이 있어야 에이전트 산출물이 팀 내에서 반복 가능해집니다.

managed harness 리뷰에서는 여기에 한 가지가 더 붙습니다. `preview가 충분히 설명력을 가지는가`, `review note와 actor evidence가 남는가`, `승인 전 activation이 막히는가`, `DESIGN.md alignment review 상태가 activation gate에 실제로 연결되는가`, `current draft 기준 fresh design proof가 있는가`, `activity intelligence가 이후 운영 학습으로 남는가`를 함께 봐야 합니다. 그래야 하네스가 단순 개인 설정이 아니라 팀이 공유하는 제품 운영 기준이 됩니다.

6. ESLint 하네스 규칙

@reopt/eslint-config/opt-shell-rules 플러그인이 IDE 실시간 피드백을 제공합니다. CI 시점 감사 외에 개발 중 즉시 위반을 잡습니다.

RuleSeverityDescription
no-raw-engine-in-recipeerrorworkspace 파일에서 DataGrid/Editor를 직접 import하면 에러. 반드시 ShellDataGridAdapter/ShellEditorAdapter 사용.
require-state-boundarywarningworkspace 화면에 ShellStateBoundary가 없으면 경고. loading/empty/error 상태 처리 누락 방지.
no-hardcoded-widthwarningrecipe 화면에서 max-w-*/w-full 직접 사용 감지. policy.contentWidth를 사용해야 함.

7. progressive phase disclosure

ShellAgentPhase는 agent에 노출되는 하네스 정보를 개발 단계별로 제한합니다. 한 번에 모든 recipe/slot/policy/adapter를 보여주면 agent 정확도가 떨어지므로, 단계에 맞는 정보만 제공합니다.

PhaseExposedBlocked
scaffoldrecipe 선택 + scaffold 명령slot 상세, policy, adapter
implement선택된 recipe의 slot + adapter다른 recipe, policy 조정
polishpolicy 옵션 + state labelsrecipe 변경, 생성
audit감사 코드 + 수정 패턴모든 생성/변경 action
full전부 (하위 호환)없음

8. completeness scoring

computeCompletenessScore()는 audit finding을 7개 카테고리로 분류하고 가중 평균으로 0-100 점수를 산출합니다. agent가 "얼마나 완성됐는지" 임계값 기반 판단을 할 수 있습니다.

CategoryWeight
layout20%
recipe-contract25%
adapter-ownership15%
state-ux10%
design-document10%
scaffold-bundle10%
accessibility10%

Builder 하네스 매니저의 Activation Readiness 체크리스트와 Recipe 탭 사이드바에서 이 점수를 실시간으로 확인할 수 있습니다.

PreviousAdaptersopt-datagrid와 opt-editor 엔진을 바꾸지 않고 harness chrome만 덧씌우는 연결층을 설명합니다.Core Concepts
Go to Adapters
NextBuilder Rolloutreopt Builder에 적용된 opt-shell rollout 범위, proof-aware governance, 운영 기준선을 정리합니다.Build & Operate