본문 바로가기
usefullabs(쓸모랩)

Ouroboros Agent OS 가이드

interview -> Seed -> AC tree -> execution/evaluation/evolution -> runtime harness

· 인터랙티브 학습 가이드

System Map - Specification-first Agent OS

Ouroboros는 코딩 에이전트 자체가 아니라, 요구사항을 Seed로 고정하고 여러 런타임에 실행을 위임한 뒤 검증과 진화를 반복하는 워크플로 엔진입니다. 같은 Seed contract가 CLI, MCP, runtime adapter, plugin surface를 관통합니다.

1UserLevel Programs

Ouroboros는 단순 CLI가 아니라 상위 프로그램 표면을 둔 Agent OS 구조입니다. first-party 프로그램은 core 위의 제품 레이어이고, installable third-party plugin은 accepted RFC contract와 구현 모듈을 함께 확인해야 합니다.

  • ·CLI entry는 Typer group 위에 plugin-aware fallback을 둡니다.
  • ·first-party commands는 현재 user-facing workflow surface입니다.
  • ·third-party plugin 문맥은 manifest, lockfile, trust store, firewall contract와 implementation status caveat를 함께 읽어야 합니다.
Source: src/ouroboros/cli/main.py, docs/rfc/userlevel-plugins.md
2Big Bang Authoring

요구사항은 바로 실행되지 않습니다. interview state, ambiguity scorer, seed generator가 먼저 요구사항을 Seed-ready 상태로 만듭니다.

  • ·ambiguity score는 0.2 이하일 때 Seed 생성이 허용됩니다.
  • ·greenfield는 goal/constraints/success criteria 3축, brownfield는 context clarity가 추가됩니다.
  • ·seed closer는 낮은 ambiguity와 completion streak를 보고 종료 후보를 강화합니다.
Source: src/ouroboros/bigbang/interview.py, bigbang/ambiguity.py
3Seed Constitution

Seed는 workflow의 헌법입니다. goal, constraints, acceptance criteria, ontology, evaluation principles, exit conditions를 frozen model로 고정합니다.

  • ·direction 필드는 실행 중 임의로 바뀌지 않습니다.
  • ·ontology는 반복 과정의 개념 렌즈로 쓰이고, evolution 단계에서 consensus를 통해 조정될 수 있습니다.
  • ·brownfield context는 기존 repo path, pattern, dependency 요약을 Seed에 포함합니다.
Source: src/ouroboros/core/seed.py, core/seed_contract.py
4Execution Core

Seed는 AC tree로 쪼개지고, 각 acceptance criterion은 Double Diamond 실행 사이클과 evaluation gate를 통과합니다.

  • ·ACNode는 pending, atomic, decomposed, executing, completed, failed status를 가집니다.
  • ·decomposition은 2-5개 child AC, sibling dependency, MECE 원칙을 요구합니다.
  • ·Double Diamond는 Discover, Define, Design, Deliver 단계로 발산/수렴을 반복합니다.
Source: src/ouroboros/core/ac_tree.py, execution/decomposition.py, execution/double_diamond.py
5Evaluation/Evolution

실행 결과는 mechanical, semantic, consensus evaluation을 통과해야 하고, evolve loop는 Wonder/Reflect/Seed regeneration으로 다음 세대를 만듭니다.

  • ·Stage 1은 lint/build/test/static/coverage를 AC-agnostic gate로 실행합니다.
  • ·Stage 2는 AC compliance와 0.8 이상 score를 기본 승인 기준으로 사용합니다.
  • ·Stage 3 consensus는 불확실성, drift, 수동 요청 같은 trigger가 있을 때 실행됩니다.
Source: src/ouroboros/evaluation/pipeline.py, evolution/loop.py
6Runtime Harness

핵심 workflow는 runtime-agnostic입니다. 실제 작업 실행만 Claude, Codex, OpenCode, Hermes, Gemini, Kiro, Copilot adapter로 위임됩니다.

  • ·runtime_factory는 config/env/CLI option을 합쳐 AgentRuntime 구현체를 생성합니다.
  • ·OpenCode plugin mode와 subprocess mode는 같은 OpenCode runtime이지만 subagent dispatch 방식이 다릅니다.
  • ·MCP server는 같은 tool contract를 여러 runtime surface에 노출합니다.
Source: src/ouroboros/orchestrator/runtime_factory.py, docs/runtime-capability-matrix.md

Six-phase execution model

PhaseSource surface실제 역할
Big Banginterview, ambiguity, seed_generator모호한 요청을 질문/답변 이력으로 축적하고 ambiguity gate를 통과한 Seed로 변환합니다.
PAL Routerontology, policy, capability routingSeed contract, ontology lens, available capabilities를 기준으로 실행 경로와 tool exposure를 정합니다.
Double DiamondDiscover -> Define -> Design -> Deliver각 AC를 충분히 이해한 뒤 해결안을 수렴하고 구현합니다. child AC dependency level은 병렬 실행 후보가 됩니다.
Resiliencecheckpoint, recovery, retry, watchdog중단, timeout, partial failure를 event stream과 checkpoint로 복구 가능한 상태로 유지합니다.
Evaluationmechanical -> semantic -> consensus기계적 검증을 먼저 통과하고, 의미 평가와 필요 시 multi-model consensus로 승인 여부를 결정합니다.
Secondary Loopevolve_step, ralph, convergence한 번의 실행으로 끝내지 않고, drift와 convergence를 감시하면서 다음 generation으로 개선합니다.

Interview/Seed - 모호한 요청을 실행 가능한 헌법으로 바꾸기

핵심은 “질문을 충분히 했는가”가 아니라 “Seed로 봉인해도 될 만큼 불확실성이 낮아졌는가”입니다. interview, ambiguity, seed generator는 실행 전 품질 게이트입니다.

QInterview State

InterviewState는 initial_context, rounds, brownfield context, ambiguity score, completion candidate streak를 저장합니다. 긴 initial context는 prompt-safe summary 질문을 먼저 요구합니다.

  • ·질문은 researcher, simplifier, architect, breadth-keeper, seed-closer 관점 prompt를 섞어 생성됩니다.
  • ·초기 context가 너무 길면 안전한 요약을 받기 전 Seed 생성이 막힙니다.
  • ·resume 가능한 authoring session이므로 대화 이력이 Seed의 증거가 됩니다.
Source: src/ouroboros/bigbang/interview.py
AAmbiguity Gate

Seed-ready 판단은 단순 감이 아니라 clarity score와 floor rule입니다. 전체 ambiguity가 충분히 낮아도 핵심 축 하나가 floor 아래면 자동 완료가 막힙니다.

  • ·goal clarity, constraint clarity, success criteria clarity를 가중 합산합니다.
  • ·brownfield에서는 codebase context clarity가 별도 component로 추가됩니다.
  • ·READY milestone은 모든 기준이 concrete/testable인 상태를 뜻합니다.
Source: src/ouroboros/bigbang/ambiguity.py
SSeed Generation

Seed generation은 ambiguity gate가 열린 뒤 interview evidence를 immutable specification으로 봉인합니다. Gen 2 이후에는 ReflectOutput에서 parent Seed를 잇는 새 Seed를 만들 수 있습니다.

  • ·metadata에는 seed_id, created_at, ambiguity_score, interview_id, parent_seed_id가 포함됩니다.
  • ·task_type은 code, research, analysis 형태로 execution posture를 구분합니다.
  • ·acceptance criteria와 exit conditions가 이후 evaluation의 기준점입니다.
Source: src/ouroboros/bigbang/seed_generator.py, core/seed.py
BBrownfield Context

기존 저장소를 다룰 때는 repo scan, default repo, reference/primary path, pattern/dependency summary가 Seed에 들어갑니다.

  • ·brownfield_repos table은 path, name, desc, is_default, registered_at을 저장합니다.
  • ·PM interview와 Seed authoring은 default brownfield context를 재사용할 수 있습니다.
  • ·linked worktree discovery는 bounded scan root와 Git-reported worktree를 구분합니다.
Source: src/ouroboros/bigbang/brownfield.py, persistence/schema.py
0.2Seed-ready gate

Ambiguity threshold는 0.2입니다. 하지만 전체 점수만 낮다고 끝나지 않습니다. goal, constraints, success criteria, brownfield context 각각의 clarity floor가 충족되어야 자동 완료가 가능합니다.

Seed schema - 실행 기준점

FieldContract왜 중요한가
goalPrimary objective실행이 무엇을 달성해야 하는지 정의하는 최상위 direction입니다.
constraintsHard boundaries기술 스택, 범위, 금지 사항, 운영 조건처럼 어기면 실패인 조건입니다.
acceptance_criteriaVerification targetsAC tree의 root 후보이며 실행과 evaluation이 실제로 통과해야 할 기준입니다.
ontology_schemaConceptual lens도메인의 핵심 개념과 관점을 고정해 iteration drift를 감시합니다.
evaluation_principlesWeighted judgementsemantic evaluator가 결과를 해석할 때 참고하는 원칙과 중요도입니다.
exit_conditionsStop criteriaworkflow가 더 진행하지 않고 멈출 수 있는 명시 조건입니다.

Authoring Tools - 요구사항을 Seed로 만드는 MCP 표면

도구군대표 tools역할
interviewouroboros_interview, ouroboros_pm_interviewSocratic interview와 PM interview를 실행해 모호한 목표를 Seed-ready requirements로 바꿉니다.
seedouroboros_generate_seed완료된 interview session에서 immutable Seed를 생성합니다. ambiguity gate를 통과해야 합니다.
autoouroboros_auto, ouroboros_start_autointerview, seed generation, seed review/repair, run handoff를 bounded pipeline으로 묶습니다.

Run/Ralph - AC 단위 실행, 검증, 세대 반복

실행은 “Seed를 모델에게 던지고 기다리는 것”이 아닙니다. AC tree, decomposition, Double Diamond, evaluation pipeline, convergence gate가 함께 움직입니다.

ACAC Tree

Acceptance criteria는 immutable ACNode로 관리됩니다. event replay로 tree를 복원할 수 있고, HUD는 이 tree를 live progress surface로 보여줍니다.

  • ·node status는 pending, atomic, decomposed, executing, completed, failed입니다.
  • ·tree model은 max depth를 보유하고, decomposition layer는 현재 더 보수적인 depth guard를 둡니다.
  • ·execution_id를 붙여 어떤 AC가 어떤 실행 결과와 연결되는지 추적합니다.
Source: src/ouroboros/core/ac_tree.py, mcp/tools/ac_tree_hud_handler.py
DDecomposition

복잡한 AC는 LLM decomposition으로 2-5개 child AC가 됩니다. 각 child는 independently verifiable해야 하며 sibling dependency를 zero-based index로 선언합니다.

  • ·MECE, simpler-than-parent, consistent granularity를 prompt rule로 강제합니다.
  • ·empty child, cyclic decomposition, too few/many children을 validation error로 막습니다.
  • ·depth가 깊어지면 discovery context를 압축해 prompt bloat를 줄입니다.
Source: src/ouroboros/execution/decomposition.py
DDDouble Diamond

각 AC는 문제 이해와 해결 설계를 분리합니다. Discover/Define은 정확한 문제 수렴, Design/Deliver는 구현 수렴입니다.

  • ·dependency level이 없는 sibling은 병렬 실행 후보입니다.
  • ·phase별 prompt와 retry가 있어 실패한 단계만 좁게 다시 시도할 수 있습니다.
  • ·deliver 결과는 곧바로 evaluation evidence가 됩니다.
Source: src/ouroboros/execution/double_diamond.py
EEvaluation Pipeline

평가는 세 단계입니다. Stage 1은 비용이 낮고 결정적인 검증, Stage 2는 semantic judgement, Stage 3는 불확실성이 높을 때 consensus입니다.

  • ·Stage 1 실패 시 semantic/consensus로 넘어가지 않습니다.
  • ·multi-AC 경로는 Stage 1 결과를 AC 전체에 재사용할 수 있습니다.
  • ·final approval은 기본적으로 AC compliance와 score threshold를 같이 봅니다.
Source: src/ouroboros/evaluation/pipeline.py
RRalph Loop

Ralph는 evolve_step을 반복하는 MCP-owned background loop입니다. QA pass, convergence, terminal action, max generation, timeout, oscillation, grade regression을 종료 조건으로 둡니다.

  • ·max_generations, per_iteration_timeout, wall-clock limit로 무한 루프를 막습니다.
  • ·oscillation window와 grade regression window가 개선 없는 반복을 끊습니다.
  • ·OpenCode plugin mode에서는 child session dispatch로 위임될 수 있습니다.
Source: src/ouroboros/ralph_loop.py, mcp/tools/ralph_handlers.py

Execution Tools - 실행, 관찰, 취소

도구군대표 tools역할
runouroboros_execute_seed, ouroboros_start_execute_seedSeed를 실제 runtime adapter에 넘겨 실행합니다. start variant는 background job으로 반환됩니다.
statusouroboros_session_status, ouroboros_ac_tree_hud, ouroboros_query_eventssession, AC tree, event history를 조회해 현재 진행 상태와 근거를 확인합니다.
jobsouroboros_job_status, ouroboros_job_wait, ouroboros_job_result, ouroboros_cancel_jobbackground job lifecycle을 조회하고, wait/result/cancel을 MCP 표면에서 처리합니다.
cancelouroboros_cancel_execution실행 세션을 안전하게 cancel_requested/cancelled 흐름으로 전환합니다.

Quality Tools - 평가와 회복

도구군대표 tools역할
evaluateouroboros_evaluate, ouroboros_start_evaluatemechanical, semantic, consensus pipeline으로 artifact가 AC와 goal에 맞는지 판정합니다.
qaouroboros_qa, ouroboros_checklist_verifyartifact 일반 품질 판정과 checklist-style AC 검증을 수행합니다.
driftouroboros_measure_driftgoal drift, constraint drift, ontology drift를 가중 합산해 Seed 대비 이탈을 측정합니다.
unstuckouroboros_lateral_thinkhacker, researcher, simplifier, architect, contrarian 관점으로 막힌 문제를 분해합니다.

Evolution Tools - 세대 반복과 수렴

도구군대표 tools역할
evolveouroboros_evolve_step, ouroboros_start_evolve_step한 generation만 실행합니다. Gen 1은 Seed를 받고 Gen 2 이후는 event lineage에서 상태를 복원합니다.
ralphouroboros_ralphevolve_step을 QA/convergence/timeout까지 반복하는 durable background loop입니다.
lineageouroboros_lineage_status, ouroboros_evolve_rewindlineage 상태를 조회하거나 특정 generation으로 되감습니다.

Runtime Harness - 같은 Seed, 다른 실행 표면

runtime backend는 스펙을 바꾸지 않습니다. Claude, Codex, OpenCode, Hermes, Gemini, Kiro, Copilot은 같은 Seed와 event model을 다른 도구, 권한, 세션 UX로 실행합니다.

RTRuntime Factory

create_agent_runtime은 config/env/explicit option을 정규화한 뒤 backend별 AgentRuntime을 반환합니다. runtime backend가 workflow 스펙을 바꾸지는 않습니다.

  • ·orchestrator.runtime_backend 또는 OUROBOROS_AGENT_RUNTIME이 backend를 고릅니다.
  • ·permission_mode, model, cli_path, cwd, llm_backend이 adapter 생성에 주입됩니다.
  • ·OpenCode subprocess runtime은 plugin envelope가 죽은 편지로 남지 않도록 opencode_mode를 subprocess로 고정합니다.
Source: src/ouroboros/orchestrator/runtime_factory.py
MCPMCP Tool Registry

get_ouroboros_tools는 실행, authoring, evaluation, evolution, job, brownfield, PM, QA handler를 하나의 handler tuple로 조립합니다.

  • ·context.mcp_bridge가 있으면 legacy mcp_manager/mcp_tool_prefix 인자를 대체합니다.
  • ·start_* handler는 긴 작업을 background job으로 넘겨 MCP client timeout을 피합니다.
  • ·FastMCP adapter는 handler definition에서 tool signature를 만들고 transport별로 서버를 노출합니다.
Source: src/ouroboros/mcp/tools/definitions.py, mcp/server/adapter.py
OCOpenCode Subagent Bridge

OpenCode plugin mode에서는 MCP tool이 _subagent envelope를 내보내고, bridge plugin이 tool.execute.after hook에서 child session Task pane으로 dispatch합니다.

  • ·각 payload는 독립 child session을 받아 main LLM context를 오염시키지 않습니다.
  • ·hook은 child prompt를 await하지 않고 running/completed/error subtask part를 PATCH합니다.
  • ·fan-out은 lateral_think persona=all 같은 multi-subagent 도구에서 병렬 Task pane으로 나타납니다.
Source: opencode/plugin/ouroboros-bridge.ts, docs/guides/opencode-subagent-bridge.md
CBCodex/Hermes Harness

Codex와 Hermes는 CLI subprocess harness입니다. 각각 session parsing, permission, skill dispatch, stdout idle timeout 같은 런타임별 작업을 adapter가 책임집니다.

  • ·Codex runtime은 managed skills/rules/MCP config와 연결됩니다.
  • ·Hermes runtime은 quiet mode output과 session id pattern을 별도로 해석합니다.
  • ·두 런타임 모두 Seed contract는 동일하고 transport만 다릅니다.
Source: src/ouroboros/orchestrator/codex_cli_runtime.py, hermes_runtime.py
BRMCP Bridge Inheritance

Ouroboros MCP server는 upstream MCP servers를 읽어 child agent tool catalog에 병합할 수 있습니다. evolve_step과 unstuck도 bridge context를 이어받습니다.

  • ·설정 위치는 environment, user config, project config 순으로 탐색됩니다.
  • ·tool prefix 충돌을 피하기 위해 bridge layer가 external tool namespace를 정리합니다.
  • ·동적 server 추가는 아직 운영 표면이 아니므로 setup-time configuration으로 봐야 합니다.
Source: docs/guides/mcp-bridge.md, src/ouroboros/orchestrator/agent_runtime_context.py

Runtime adapters

BackendAdapter운영 포인트
Claude CodeClaudeAgentAdapterClaude Code 권한/세션 모델을 쓰는 기본 에이전트 런타임입니다.
Codex CLICodexCliRuntimeCodex CLI subprocess, session handle, permission args, skill dispatcher, MCP handler를 엮습니다.
OpenCodeOpenCodeRuntimesubprocess 모드는 headless/CI용, plugin 모드는 OpenCode Task pane bridge용으로 분리됩니다.
HermesHermesCliRuntimeHermes CLI quiet output에서 session_id를 파싱하고 reasoning/banner noise를 정리합니다.
GeminiGeminiCLIRuntimeGemini CLI adapter를 runtime_factory에서 lazy import해 선택적으로 연결합니다.
KiroKiroAgentAdapterKiro CLI headless 흐름과 trust-tools permission model을 감쌉니다.
CopilotCopilotCliRuntimeGitHub Copilot CLI tool allowlist와 live model discovery 흐름을 runtime backend로 제공합니다.

OpenCode plugin bridge flow

StepMechanism결과
1. Envelope_subagent / _subagentsPython MCP handler가 OpenCode plugin 조건에서 직접 실행 대신 dispatch envelope를 반환합니다.
2. Hooktool.execute.afterbridge plugin이 tool output metadata와 JSON payload를 읽어 child task 생성 대상으로 파싱합니다.
3. Child Sessionclient.session.createpayload마다 fresh child session을 생성해 독립 context로 실행합니다. main session context는 가벼워집니다.
4. Subtask PartHTTP PATCH원래 tool assistant-message part를 running subtask로 PATCH해 inline Task pane을 보여줍니다.
5. Fire and Forgetclient.session.promptchild prompt는 await하지 않고 실행됩니다. 완료/실패 시 completed/error 상태로 다시 PATCH합니다.
6. Response Shapemetadata.ouroboros_response_shapejob_id, session_id, status 같은 원래 tool contract key는 metadata에 보존됩니다.

Ops/Plugin Contract - 상태, 복구, 확장 경계

장기 실행 시스템의 신뢰성은 상태를 어떻게 남기고, 중단을 어떻게 복구하고, 확장 계약을 어디서 차단하는지에 달려 있습니다. Ouroboros는 event sourcing, checkpoint, job manager, UserLevel plugin RFC contract를 명시적으로 둡니다.

Durable state surfaces

SurfaceStorage/contract운영 의미
Event StoreSQLite events tableaggregate_type, aggregate_id, event_type, payload, timestamp, consensus_id를 저장하고 replay/query를 지원합니다.
Session Repositoryevent-sourced session trackersession status를 running, paused, completed, failed, cancelled로 재구성합니다.
Job Managerbackground job eventsqueued, running, cancel_requested, completed, failed, cancelled, interrupted lifecycle을 관리합니다.
CheckpointJSON + SHA-256 integrityphase boundary에서 상태를 저장하고 rollback 가능한 checkpoint chain을 만듭니다.
Unit of Workpending events + checkpoint작업 단위가 commit되기 전 pending event를 묶고, 실패 시 append-before-commit을 방지합니다.
Control Buscancel/recovery signals장기 실행 중 cancel, watchdog, recovery protocol 같은 runtime control signal을 전달합니다.

UserLevel plugin safety model

LayerContract차단하는 위험
First-party programscore-shipped UserLevel layerooo auto, run, pm 같은 제품 workflow는 core primitive 위에 올라간 first-party 프로그램으로 봅니다.
Plugin-aware dispatchunknown top-level command fallbackCLI group은 등록된 command가 없을 때 plugin dispatch command를 조회합니다. 실제 사용 가능 여부는 설치/신뢰 상태와 runtime packaging에 달려 있습니다.
Manifest contractschema_version, name, version, source, commands, capabilities, permissions, entrypointRFC가 고정한 installable plugin 계약입니다. 구현 모듈이 있더라도 문서의 target/shipped caveat를 같이 확인해야 합니다.
Lockfile contract~/.ouroboros/plugins.lockthird-party 신뢰 상태를 고정하기 위한 RFC 계약입니다. first-party 프로그램은 lockfile이 아니라 override model을 따릅니다.
Trust store contracttrusted source identityfirst-party는 release artifact 기반 implicit trust, installable plugin은 explicit trust/confirmation 경계를 가집니다.
Firewall contractsingle invocation choke pointpermission check, confirmation, subprocess launch, audit event, secret argv redaction을 한곳에 모으는 accepted design입니다.
!Auto flow에서 자주 생기는 오해

ooo auto --runtime codex는 전체 pipeline을 Codex가 실행한다는 뜻이 아닙니다. interview, seed generation, seed repair는 Ouroboros MCP server 안에서 in-process로 돌고, 마지막 run handoff만 선택한 runtime adapter가 맡습니다.

빠른 선택 가이드

요구사항이 흐리다interview -> generate_seed
스펙은 명확하고 실행만 필요하다execute_seed / start_execute_seed
완성될 때까지 반복해야 한다ralph
현재 결과가 맞는지 모르겠다evaluate / qa / checklist_verify
OpenCode에서 독립 작업창이 필요하다opencode plugin mode
설치된 확장 프로그램을 실행한다UserLevel plugin dispatch
상황추천 surface판단 기준
요구사항이 흐리다interview -> generate_seed바로 run하지 말고 ambiguity를 낮춘 뒤 Seed를 만듭니다. brownfield면 repo context를 먼저 붙입니다.
스펙은 명확하고 실행만 필요하다execute_seed / start_execute_seedSeed YAML 또는 Seed content를 넘겨 runtime adapter에 실행을 맡깁니다.
완성될 때까지 반복해야 한다ralphQA pass, convergence, regression/oscillation gate까지 evolve_step을 반복합니다.
현재 결과가 맞는지 모르겠다evaluate / qa / checklist_verifymechanical evidence와 semantic judgement를 분리해서 승인 여부를 확인합니다.
OpenCode에서 독립 작업창이 필요하다opencode plugin modebridge plugin이 child sessions를 만들어 Task pane으로 팬아웃합니다. headless/CI는 subprocess mode를 씁니다.
설치된 확장 프로그램을 실행한다UserLevel plugin dispatchfirst-party 프로그램과 installable plugin을 구분합니다. installable plugin은 RFC contract와 현재 구현/설치 상태를 확인해야 합니다.
V운영 체크리스트
  • ·Seed 없이 긴 구현을 시작하지 않는다. 최소한 goal, constraints, acceptance criteria를 명시한다.
  • ·OpenCode plugin mode와 subprocess mode를 섞지 않는다. interactive Task pane이면 plugin, CI/headless면 subprocess다.
  • ·Stage 1 mechanical failure는 semantic 설득으로 덮지 않는다. 먼저 lint/build/test/static/coverage 실패를 고친다.
  • ·Ralph는 무한 루프가 아니다. max generation, timeout, oscillation, grade regression stop condition을 확인한다.
  • ·Plugin은 manifest와 firewall을 우회하지 않는다. secret-bearing argv는 audit에서 원문으로 남기지 않는다.
  • ·MCP bridge로 외부 tool을 붙일 때는 namespace와 inheritance boundary를 확인한다.
S분석 기준 소스
  • ·README.md - specification-first Agent OS overview
  • ·docs/runtime-capability-matrix.md - runtime backend와 authoring/run handoff 경계
  • ·docs/guides/opencode-subagent-bridge.md - OpenCode Task pane bridge contract
  • ·src/ouroboros/bigbang/* - interview, ambiguity, seed generation
  • ·src/ouroboros/core/* - Seed, AC tree, contracts, event-safe primitives
  • ·src/ouroboros/execution/* - decomposition, Double Diamond, subagent execution
  • ·src/ouroboros/evaluation/* - mechanical, semantic, consensus pipeline
  • ·src/ouroboros/evolution/* - evolve loop, convergence, regression/watchdog
  • ·src/ouroboros/mcp/* - MCP server adapter, tool registry, handlers, job manager
  • ·src/ouroboros/orchestrator/* - runtime factory and CLI/runtime adapters
  • ·src/ouroboros/plugin/* + docs/rfc/userlevel-plugins.md - plugin modules and accepted target contract/status caveats