update domain rules and project rules

This commit is contained in:
toki 2026-06-24 09:41:05 +09:00
parent 810532a097
commit 3db6cd5b39
9 changed files with 27 additions and 20 deletions

View file

@ -1,7 +1,7 @@
---
domain: agent
last_rule_review_commit: 99cc06767f82a32a9106f3a483bce2b6aeed5872
last_rule_updated_at: 2026-06-13
last_rule_review_commit: 810532a097c1309cd28d7130d8a33bcc779c96e4
last_rule_updated_at: 2026-06-24
---
# agent
@ -16,6 +16,7 @@ OTO Server에 CLI 기반 runner agent를 등록하고, agent config 파싱, prot
- `apps/runner/lib/cli/commands/command_agent.dart``agent run --config <path>` CLI 표면과 오류 출력
- `apps/runner/lib/oto/agent/` — agent config, runner, OTO Server 등록/job client, remote run executor, legacy iop Edge compatibility client, generated protobuf 런타임 코드
- `apps/runner/assets/script/shell/oto_agent_bootstrap.sh` — Linux agent 다운로드, server config 생성, background 실행 bootstrap
- `apps/runner/assets/script/powershell/oto_agent_bootstrap.ps1` — Windows agent 다운로드, server config 생성, background 실행 bootstrap
## 제외 경로
@ -49,7 +50,7 @@ OTO Server에 CLI 기반 runner agent를 등록하고, agent config 파싱, prot
- `EdgeEndpoint` / `EdgeRegistrationClient` / `_OtoIopClient` — legacy iop Edge compatibility 경로. 기본 runner 경로에서는 `OtoServerSocketRegistrationClient`를 사용
- `apps/runner/lib/oto/agent/oto/*.pb*.dart``proto/oto/runner.proto` generated Dart protobuf 코드
- `apps/runner/lib/oto/agent/iop/*.pb*.dart` — legacy `iop/runtime.proto` generated protobuf 코드
- `oto_agent_bootstrap.sh` — agent config 파일 생성, 권한 설정, background 실행 bootstrap
- `oto_agent_bootstrap.sh` / `oto_agent_bootstrap.ps1` — agent config 파일 생성, 권한 설정, background 실행 bootstrap
## 유지할 패턴
@ -65,8 +66,8 @@ OTO Server에 CLI 기반 runner agent를 등록하고, agent config 파싱, prot
- `property.artifacts` 선언은 `name`/`path` map list만 허용하고, artifact path도 workspace confinement를 통과해야 한다.
- RegisterResponse/JSON 변환은 `RegistrationResult`에 모아 accepted/rejected와 runner id/alias 추출을 한 곳에서 처리한다.
- generated protobuf 파일은 직접 수정하지 않고 원본 proto와 생성 절차를 확인해 재생성한다.
- bootstrap 스크립트는 `--server-url`과 optional `--socket-url`을 기본 인자로 사용하고 legacy `--edge-url`도 server URL로 받는다.
- bootstrap 스크립트는 `--release-base-url`에 https만 허용하고, 생성한 config 파일은 `chmod 600`을 유지한다.
- bootstrap 스크립트는 `--server-url`과 optional `--socket-url`을 기본 인자로 사용한다. Linux shell bootstrap은 legacy `--edge-url`도 server URL로 받는다.
- bootstrap 스크립트는 `--release-base-url`에 https만 허용하고, 생성한 config 파일은 Linux에서 `chmod 600`, Windows에서 현재 사용자 ACL 제한을 유지한다.
- legacy iop Edge 경로는 `edge_registration_client.dart` 안에 격리하고, 기본 production runner 경로에서 직접 import하지 않는다.
- agent 변경 후 `dart analyze`와 agent 관련 테스트(`apps/runner/test/oto_agent_*`, `apps/runner/test/oto_server_connection_smoke_test.dart`, 필요 시 `apps/runner/test/oto_iop_connection_smoke_test.dart`)를 확인한다.

View file

@ -1,7 +1,7 @@
---
domain: cli
last_rule_review_commit: 99cc06767f82a32a9106f3a483bce2b6aeed5872
last_rule_updated_at: 2026-06-13
last_rule_review_commit: 810532a097c1309cd28d7130d8a33bcc779c96e4
last_rule_updated_at: 2026-06-24
---
# cli
@ -25,6 +25,7 @@ last_rule_updated_at: 2026-06-13
- `apps/runner/lib/cli/commands/command_catalog.dart` — 등록된 OTO 커맨드 catalog 출력 명령
- `apps/runner/lib/cli/commands/command_validate.dart` — YAML 구조/의미 검증 명령
- `apps/runner/lib/cli/commands/command_template.dart` — 템플릿 출력
- `apps/runner/lib/cli/commands/command_version.dart``--version` / `-v` 버전 출력 명령
- `apps/runner/lib/cli/commands/command_start.dart` — 시작/중지 커맨드
- `apps/runner/lib/cli/commands/command_install.dart` — 설치/제거 명령
- `apps/runner/lib/cli/commands/install/` — PATH 등록 등 설치 보조 로직
@ -41,7 +42,8 @@ last_rule_updated_at: 2026-06-13
- `apps/runner/lib/cli/commands/scheduler/` — 스케줄러 실행/등록/OS별 백그라운드 처리 (`scheduler` 도메인)
- `apps/runner/lib/oto/agent/` — agent 설정, OTO Server 등록/job 통신, legacy iop Edge compatibility (`agent` 도메인)
- `apps/runner/lib/oto/core/output_port.dart` — runner 출력 포트 추상화 (`core` 도메인)
- `apps/runner/assets/script/shell/oto_agent_bootstrap.sh` — agent 설치/실행 bootstrap (`agent` 도메인)
- `apps/runner/assets/script/shell/oto_agent_bootstrap.sh` — Linux agent 설치/실행 bootstrap (`agent` 도메인)
- `apps/runner/assets/script/powershell/oto_agent_bootstrap.ps1` — Windows agent 설치/실행 bootstrap (`agent` 도메인)
- `apps/runner/assets/template/` — 커맨드 실행 중 사용하는 템플릿 (`command` 도메인)
## 주요 구성 요소
@ -57,6 +59,7 @@ last_rule_updated_at: 2026-06-13
- `CommandStart` / `CommandStop` — 백그라운드 서비스 시작/중지 명령 표면
- `CommandConstant` — OS별 설치 경로 계산
- `CommandTemplate` — 템플릿 출력
- `CommandVersion``--version` 출력. `CLI.start()`에서 `-v``--version`으로 정규화한다
- `CommandManager` — CLI 커맨드 등록 관리
- `RegistPath` — OS별 PATH 등록/해제
- `CliRunnerOutputPort` / `setCliOutputLogHandler()``Application.build()` 출력 포트를 CLI 출력과 log handler에 연결

View file

@ -1,7 +1,7 @@
---
domain: command
last_rule_review_commit: 99cc06767f82a32a9106f3a483bce2b6aeed5872
last_rule_updated_at: 2026-06-13
last_rule_review_commit: 810532a097c1309cd28d7130d8a33bcc779c96e4
last_rule_updated_at: 2026-06-24
---
# command

View file

@ -1,7 +1,7 @@
---
domain: core
last_rule_review_commit: 99cc06767f82a32a9106f3a483bce2b6aeed5872
last_rule_updated_at: 2026-06-13
last_rule_review_commit: 810532a097c1309cd28d7130d8a33bcc779c96e4
last_rule_updated_at: 2026-06-24
---
# core

View file

@ -1,7 +1,7 @@
---
domain: framework
last_rule_review_commit: 99cc06767f82a32a9106f3a483bce2b6aeed5872
last_rule_updated_at: 2026-06-13
last_rule_review_commit: 810532a097c1309cd28d7130d8a33bcc779c96e4
last_rule_updated_at: 2026-06-24
---
# framework
@ -22,6 +22,7 @@ last_rule_updated_at: 2026-06-13
- `apps/client/pubspec.lock` — Flutter client dependency resolution snapshot
- `apps/client/analysis_options.yaml` — Flutter client analyzer/lint 기준
- `packages/flutter/oto_console/pubspec.yaml` — embeddable console package dependency 선언
- `packages/flutter/oto_console/pubspec.lock` — console package dependency resolution snapshot
- `packages/flutter/oto_console/analysis_options.yaml` — console package analyzer/lint 기준
- `services/core/go.mod` — Go core service dependency 선언
- `services/core/go.sum` — Go core service dependency checksum

View file

@ -1,7 +1,7 @@
---
domain: pipeline
last_rule_review_commit: 99cc06767f82a32a9106f3a483bce2b6aeed5872
last_rule_updated_at: 2026-06-13
last_rule_review_commit: 810532a097c1309cd28d7130d8a33bcc779c96e4
last_rule_updated_at: 2026-06-24
---
# pipeline

View file

@ -1,7 +1,7 @@
---
domain: sample
last_rule_review_commit: 99cc06767f82a32a9106f3a483bce2b6aeed5872
last_rule_updated_at: 2026-06-13
last_rule_review_commit: 810532a097c1309cd28d7130d8a33bcc779c96e4
last_rule_updated_at: 2026-06-24
---
# sample

View file

@ -1,7 +1,7 @@
---
domain: scheduler
last_rule_review_commit: 99cc06767f82a32a9106f3a483bce2b6aeed5872
last_rule_updated_at: 2026-06-13
last_rule_review_commit: 810532a097c1309cd28d7130d8a33bcc779c96e4
last_rule_updated_at: 2026-06-24
---
# scheduler

View file

@ -151,6 +151,7 @@ proto/ # OTO runner/server protobuf contract
| `apps/runner/assets/package/**` | cli | `agent-ops/rules/project/domain/cli/rules.md` |
| `apps/runner/assets/bin/**` | cli | `agent-ops/rules/project/domain/cli/rules.md` |
| `apps/runner/assets/script/shell/oto_agent_bootstrap.sh` | agent | `agent-ops/rules/project/domain/agent/rules.md` |
| `apps/runner/assets/script/powershell/oto_agent_bootstrap.ps1` | agent | `agent-ops/rules/project/domain/agent/rules.md` |
| `apps/runner/assets/script/**` | cli | `agent-ops/rules/project/domain/cli/rules.md` |
| `Makefile` | framework | `agent-ops/rules/project/domain/framework/rules.md` |
| `apps/runner/pubspec.yaml` | framework | `agent-ops/rules/project/domain/framework/rules.md` |
@ -160,6 +161,7 @@ proto/ # OTO runner/server protobuf contract
| `apps/client/pubspec.lock` | framework | `agent-ops/rules/project/domain/framework/rules.md` |
| `apps/client/analysis_options.yaml` | framework | `agent-ops/rules/project/domain/framework/rules.md` |
| `packages/flutter/oto_console/pubspec.yaml` | framework | `agent-ops/rules/project/domain/framework/rules.md` |
| `packages/flutter/oto_console/pubspec.lock` | framework | `agent-ops/rules/project/domain/framework/rules.md` |
| `packages/flutter/oto_console/analysis_options.yaml` | framework | `agent-ops/rules/project/domain/framework/rules.md` |
| `services/core/go.mod` | framework | `agent-ops/rules/project/domain/framework/rules.md` |
| `services/core/go.sum` | framework | `agent-ops/rules/project/domain/framework/rules.md` |