Files
Liti-agent-Development/Case_02_Comparison_Research/plans/s2-00-agent-yaml-implementation.md
T
jhogyu 388a6c0179 feat(stage2): add S2_00 AgentBackend spec
Keep the adapter non-executable until the native loader primitive and signed runtime admission contracts are bound.
2026-08-30 03:05:06 +09:00

7.8 KiB
Raw Blame History

S2_00 AgentBackend YAML 구현

Objective

S_00_SOW.md와 Stage 2 v4 계약을 그대로 실행 경계로 삼아, 이미 배포된 Default_Agent/Stage_2_Clean/ 고정 자산을 소비하는 독립 실행용 Stage_2_S2_00.yml을 작성한다.

Deliverables

  • YAML_Prompts/2. Stage_2/Stage_2_S2_00.yml
  • YAML_Prompts/2. Stage_2/MEMORY.md의 압축 작업 기록
  • 후보 2개, 앙상블, 2회 독립 병렬 평가의 검증 근거

Scope and Non-Scope

  • 범위: AgentBackend orchestration YAML, loader/runtime 호출 계약, deterministic 분기·출력·오류 전파, 정적 검증.
  • 비범위: 신규 Python 구현, 법률 content 보강, Stage 1 live 실행, production admission, 외부 서명·법률가 승인.

Known Inputs

  • YAML_Prompts/2. Stage_2/S_00_SOW.md
  • YAML_Prompts/2. Stage_2/stage_2_optimal_update_strategy_v.4.md
  • YAML_Prompts/2. Stage_2/SKILL.md
  • YAML_Prompts/2. Stage_2/Default_Agent/Stage_2_Clean/
  • YAML_Prompts/2. Stage_2/Prompt_stage_2_S2_00_assets_creation.txt

Material Assumptions

  • 사용자 문구의 S2_00_SOW.md는 저장소 정본 파일명 S_00_SOW.md를 가리킨다.
  • 최종 YAML은 Main working directory에 저장하며, 고정 Python의 내용을 인라인 재구현하지 않고 배포 자산을 호출한다.

Questions That Could Change the Outcome

  • 없음. 경로·실행 경계는 정본 SOW, 배포 binding 및 로컬 YAML 가이드에서 확인한다.

Workstreams and Dependencies

  1. 정본 계약과 실제 배포 자산의 일치 여부를 조사한다.
  2. 독립 후보 YAML 2개를 병렬 설계한다.
  3. Main agent가 계약별 장점을 취합해 단일 초안을 작성한다.
  4. 독립 evaluator 2개로 Round 1 평가 후 증분 개정한다.
  5. 새 evaluator 2개로 Round 2 평가 후 증분 개정한다.
  6. 구문·DAG·경로·금지 edge·MEMORY를 검증한다.

Source and Tool Plan

  • 로컬 정본 문서와 실제 파일을 우선한다.
  • rg, YAML parser, 프로젝트 테스트와 읽기 전용 sub-agent 감사를 사용한다.
  • 외부 웹 조사나 외부 write는 수행하지 않는다.

Validation Plan

  • YAML parse 및 Agent/Stages/task_procedure/tasks 연결 검증
  • 모든 참조 자산의 존재·NFC 경로 검증
  • loader/runtime 호출·상태 분기·single writer·구 v.0~v.3 dependency 0 확인
  • 독립 평가 2개 × 정확히 2회
  • staged/working tree의 무관 파일 비변경 확인

Approval Boundaries

  • 요청된 로컬 파일 생성·검증만 수행한다.
  • commit, production 배포, 외부 실행, 서명·법률 승인 상태 변경은 수행하지 않는다.

Progress

  • 프로젝트 규칙·MEMORY·SKILL 위치 확인
  • 정본 SOW·v4·배포 계약 조사
  • 독립 후보 2개
  • 앙상블 초안
  • Round 1 평가·개정
  • Round 2 평가·개정
  • 정적 검증
  • MEMORY 기록

Decision Log

Date/Stage Decision Basis Consequence
2026-08-30 / 착수 S_00_SOW.md를 사용자 지칭 SOW의 정본으로 사용 저장소에 S2_00_SOW.md는 없고 해당 내용·history가 S_00_SOW.md에 존재 잘못된 유사 파일 생성·참조 방지
2026-08-30 / 앙상블 canonical workflow를 복제하지 않는 thin loader-adapter를 기본으로 하고 필요한 보존·route view만 둔다 후보 A는 계약 완전성, 후보 B는 drift 최소화를 각각 강화 release가 유일 정본이며 이 파일의 복사 field는 비권위 view
2026-08-30 / Round 1 O-06 전에는 빈 tasks·nexts와 host reject를 유지하고, O-06 후에는 지원 field만 가진 native projection으로 원자 교체한다 현재 AgentBackend에 외부 .py native primitive가 확인되지 않았고 확장 field는 실행 grammar가 아님 성공 no-op·미확인 tool 창작·loader 우회 방지
2026-08-30 / Round 1 loader/runtime 변경 요구는 YAML의 activation prerequisite로만 기록한다 이번 deliverable은 YAML 1개이며 기존 고정 자산 수정은 범위 밖 single receipt·timeout·context binding 없이는 case activation 금지
2026-08-30 / Round 2 review enum은 SUPPORTED, slot enum은 UNEVALUABLE 포함으로 실제 schema와 일치시키고 explicit relation adapter가 미결속이면 해당 hard join만 비활성화한다 두 evaluator가 enum drift와 자유형 explicit relation 결속을 MAJOR로 식별 입력 의미를 임의 확장하지 않고 scope별 issue로 보존
2026-08-30 / Round 2 validate-only receipt v1과 사건 실행 receipt v2를 분리하고 native task를 loader invoke·receipt 검증·상호배타 dispatch를 담당하는 단일 원자 primitive로 한정한다 현재 loader는 case receipt·stdout capture·timeout·non-DEV admission을 구현하지 않음 O-06/O-07 및 후속 구현 전 tasks: [], nexts: [] 유지
2026-08-30 / 최종 복사 view 24개를 machine-addressable local/authority pointer 또는 명시적 future blocking row로 관리한다 evaluator의 drift-control·self-binding 지적 canonical 자산 변경을 묵시적으로 수용하지 않고 activation 차단

Evidence Ledger

Claim/Issue Source or Test Status Notes
S2_00 계약 S_00_SOW.md 조사 중 전체 계약 확인 필요
Stage 2 상하류 경계 stage_2_optimal_update_strategy_v.4.md 조사 중 S2_10/S2_40 handoff 포함
AgentBackend YAML 문법 YAML_Prompts/2. Stage_2/SKILL.md 확인 독립 실행 YAML 구조·code-executor 규칙 적용
배포 자산 Default_Agent/Stage_2_Clean/ 조사 중 manifest/binding/runtime 확인 필요
후보 설계 plans/s2-00-agent-yaml-candidate-a.yml, candidate-b.yml 확인 2개 독립 후보 모두 O-06 OPEN을 보존
Round 1 법률·계약 평가 독립 evaluator 반영 affected-scope·review·slot·relation·route 보강
Round 1 architecture 평가 독립 evaluator 반영 native projection·single receipt·activation·retry·self-binding 보강
Round 2 법률·계약 평가 독립 evaluator 반영 CRITICAL 0, MAJOR 4, MINOR 1; review/slot·explicit relation·receipt profile·활성화 경계 개정
Round 2 architecture 평가 독립 evaluator 반영 CRITICAL 0, MAJOR 6, MINOR 1; native graph·workspace·timeout·self-binding·drift row 개정
최종 YAML 정적 계약 duplicate-key detector + pointer cross-check PASS 24 comparison rows(19 bound, 5 future-blocking), 16+1 ingress, C00→C15, 12/5 output 확인
기존 S2_00 회귀검사 unittest discover tests/s2_00 PASS 38/38 PASS
loader trust-boundary 검사 validate-only loader 호출 PASS WITH PENDING VALIDATED_WITH_PENDING_BINDINGS; production 또는 case invoke 증명 아님

Risks and Failure Modes

  • 정본 workflow YAML과 AgentBackend 실행 YAML을 혼동해 duplicate runtime logic을 만드는 위험
  • DRAFT/DEV release를 production-ready로 오인하는 위험
  • localdocs user/workspace 격리 또는 host loader 경계를 우회하는 위험
  • 조건 분기에서 diagnostic artifact가 누락되거나 두 consumer가 동시에 실행되는 위험

Results and Residual Uncertainty

Stage_2_S2_00.yml을 954행/45,833 bytes/SHA-256 3fbadd9bf48e8d3921b43f766690bf67ad1dd2cd0a8f624d78a9b3223edeeeb7로 생성했다. 이는 S2_00 고정 자산을 가리키는 정적 AgentBackend loader-adapter 계약이다. O-06 native primitive, O-07 signed admission, receipt v2, authenticated workspace mapping, loader timeout, explicit relation adapter, completion seal·detached signature가 닫히지 않아 실행 task와 downstream edge는 의도적으로 비어 있다. 따라서 현 결과는 production-ready 실행 YAML이 아니라 검증 가능한 DRAFT_NOT_EXECUTABLE authoring projection이며, 위 전제들을 모두 충족한 atomic native projection으로 교체·재봉인한 뒤에만 case activation을 주장할 수 있다.