oto/agent-ops/rules/project/domain/core/rules.md
toki be1b139c25 sync: to agentic-framework v1.1.3 + add framework domain rule
- add update-domain-rule skill to common
- add framework domain rule (lib/framework/)
- update core domain to include lib/oto/application.dart
- update domain mapping table in rules.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 12:23:11 +09:00

1.6 KiB

core

목적 / 책임

파이프라인 실행 전 단계에서 YAML 파싱, Jenkins 환경 변수 합성, 태그 치환을 담당하는 공통 인프라 레이어다. Application 싱글턴이 전체 빌드 흐름을 오케스트레이션한다.

포함 경로

  • lib/oto/application.dart — 싱글턴 오케스트레이터 (BuildType enum, 빌드 진입점)
  • lib/oto/core/ — 태그 시스템, 데이터 합성, 정의 데이터
  • lib/oto/utils/ — 공통 유틸리티 (Mattermost 등 재사용 헬퍼)

제외 경로

  • lib/oto/pipeline/ — 실행 흐름 (core 처리 이후)
  • lib/oto/commands/ — 커맨드 구현체 (core 결과물을 소비)

주요 구성 요소

  • TagSystem (tag_system.dart) — <!namespace.key> 읽기 / <@namespace.key> 쓰기 태그 처리
  • DataComposer (data_composer.dart) — YAML + Jenkins env → DataCommand 리스트 변환
  • DefinedData (defined_data.dart) — 내장 YAML 템플릿 (빌트인 정의)
  • MattermostSender / MattermostData (utils/mattermost/) — 공통 알림 헬퍼

유지할 패턴

  • 태그 치환은 반드시 TagSystem을 통해 처리
  • 태그 전체 문자열이면 원본 타입 유지, 부분 삽입이면 toString() 변환 원칙 유지

다른 도메인과의 경계

  • pipeline: DataComposer가 DataCommand 리스트 생성을 완료한 후 Pipeline이 실행 시작
  • command: 커맨드 실행 중 쓰기 태그(<@...>) 처리는 TagSystem에 위임

금지 사항

  • core에서 외부 시스템(Git, Jenkins API 등)을 직접 호출하지 않는다
  • 커맨드별 파싱 로직을 DataComposer에 넣지 않는다