diff --git a/agent-ops/.version b/agent-ops/.version index 258b768..2ac243d 100644 --- a/agent-ops/.version +++ b/agent-ops/.version @@ -1 +1 @@ -1.1.154 +1.1.155 diff --git a/agent-ops/rules/common/_templates/test-env-rules-template.md b/agent-ops/rules/common/_templates/test-env-rules-template.md index 66cca94..c336d32 100644 --- a/agent-ops/rules/common/_templates/test-env-rules-template.md +++ b/agent-ops/rules/common/_templates/test-env-rules-template.md @@ -1,15 +1,15 @@ --- -test_env: +test_env: last_rule_updated_at: --- -# 테스트 규칙 +# 테스트 규칙 **현재 문서를 반드시 끝까지 정독하고 작업한다. 다 읽지 않고 즉각 작업은 금지한다.** ## 공통 규칙 -- 테스트/검증은 이 파일을 기준으로 판단한다. +- 테스트/검증은 이 파일을 기준으로 판단한다. - 작업 완료 검증은 변경 범위 기준으로 선택한다. - 필수 검증을 실행하지 못하면 차단 사유로 보고한다. - 최종 보고에는 실행 명령, 결과, 생략 사유, 남은 위험을 남긴다. @@ -18,17 +18,22 @@ last_rule_updated_at: ## 기본 환경 - host: -- port: +- repo root: +- sync 기준: - runtime: - package manager: -- docker: - external service: -- model endpoint: - credential: +## 프리플라이트 + +- plan 작성 시 필수 검증이 현재 checkout을 벗어나 원격 runner, 외부 서비스, Docker/code-server, emulator/device, 공유 장기 runtime을 사용하면 먼저 테스트 환경 프리플라이트를 계획에 기록한다. +- 테스트 환경 프리플라이트에는 runner, repo root/workdir, branch/HEAD/dirty 상태, local 변경과 원격 source 동기화 여부, binary/artifact 경로와 필요한 help/version 출력, config path, runtime identity, port/process 상태, 외부 host, OS/arch 가정을 포함한다. +- 프리플라이트에서 dirty/divergent checkout, stale artifact, 잘못된 identity, missing command, closed port, host OS 불일치, source 미동기화가 확인되면 plan은 먼저 setup/sync/rebuild 단계를 만들거나 blocker로 보고한다. + ## 라우팅 -- / / : `agent-test//.md` +- / / : `agent-test//.md` ## 라우팅 규칙 diff --git a/agent-ops/rules/common/philosophy.md b/agent-ops/rules/common/philosophy.md index b1b41f7..f7273c5 100644 --- a/agent-ops/rules/common/philosophy.md +++ b/agent-ops/rules/common/philosophy.md @@ -53,7 +53,7 @@ - 그룹 간 연결은 사용자 명령, 런타임 이벤트, 또는 판별 가능한 파일 상태로만 한다. - 구현 작업 그룹은 `plan`과 `code-review`의 PLAN/CODE_REVIEW 루프를 소유한다. - 로드맵 그룹은 `create-roadmap`과 `update-roadmap`의 문서 작성, 의미 판단, 배치 제안, file-based fallback 갱신 흐름을 소유한다. -- Phase/Milestone 상태 전환, 구현 잠금 동기화, archive 이동, 완료 이벤트 반영처럼 결정적으로 판별 가능한 action은 NomadCode Core 또는 런타임이 있으면 그쪽 책임으로 둔다. +- Phase/Milestone 상태 전환, 구현 잠금 동기화, archive 이동, 완료 이벤트 반영처럼 결정적으로 판별 가능한 action은 Core/MCP 또는 런타임이 있으면 그쪽 책임으로 둔다. - `code-review`가 남긴 PASS 완료 이벤트를 로드맵에 반영할지, 언제 반영할지는 런타임이 판단하고 Core/MCP action이 있으면 그쪽으로, 없으면 `update-roadmap` file-based fallback 흐름으로 넘긴다. - cross-project 잠금이나 `.agent-roadmap-sync` 같은 workspace-level 상태는 로드맵 그룹, Core, 런타임의 공동 경계다. `plan`과 `code-review`에 의존성 동기화 규칙을 넣지 않는다. - 새 스킬을 만들기 전에 기존 그룹의 자연스러운 입력, 상태 전환, 후처리 지점에 넣을 수 있는지 먼저 본다. 다만 다른 그룹 경계를 침범해야 하면 런타임 이벤트로 분리한다. diff --git a/agent-ops/skills/common/agent-contract/SKILL.md b/agent-ops/skills/common/agent-contract/SKILL.md index b254647..82a8bbd 100644 --- a/agent-ops/skills/common/agent-contract/SKILL.md +++ b/agent-ops/skills/common/agent-contract/SKILL.md @@ -20,7 +20,7 @@ description: agent-contract index와 제공/소비 계약 문서를 생성하거 ## 입력 -- `contract-id`: 계약 식별자, 예: `iop.openai-compatible-api` (필수) +- `contract-id`: 계약 식별자, 예: `billing.public-api` 또는 `auth.session-events` (필수) - `mode`: `provided` 또는 `consumed` (필수) - `contract-path`: 계약 원문 경로 또는 외부 source 경로 (필수) - `trigger-conditions`: 계약 문서를 읽어야 하는 조건 목록 (필수) diff --git a/agent-ops/skills/common/create-test/SKILL.md b/agent-ops/skills/common/create-test/SKILL.md index a9ceee9..7563bb5 100644 --- a/agent-ops/skills/common/create-test/SKILL.md +++ b/agent-ops/skills/common/create-test/SKILL.md @@ -49,6 +49,7 @@ description: agent-test 환경 rules.md와 도메인/검증 시나리오별 테 - [ ] 테스트 명령 확인을 위해 프로젝트의 대표 설정 파일을 가볍게 확인한다. 예: `package.json`, `Makefile`, `pyproject.toml`, `go.mod`, `Cargo.toml`, `docker-compose*.yml`, `.github/workflows/**`. - [ ] `agent-ops/rules/common/_templates/test-env-rules-template.md`를 읽는다. - [ ] `agent-ops/rules/common/_templates/test-case-rule-template.md`를 읽는다. +- [ ] 프로젝트에 `agent-test/_templates/env-rules-template.md` 또는 `agent-test/_templates/test-profile-template.md`가 있으면 해당 프로젝트 템플릿을 공통 템플릿보다 우선한다. - [ ] `agent-test//rules.md` 존재 여부를 확인한다. - [ ] `agent-test//rules.md`가 있으면 읽고 missing / blank-skeleton / structured-incomplete / usable 중 하나로 분류한다. - [ ] 도메인 baseline과 추가 생성 대상 `agent-test//*.md`의 존재 여부를 확인하고, 있으면 blank-skeleton / structured-incomplete / usable 중 하나로 분류한다. @@ -56,7 +57,7 @@ description: agent-test 환경 rules.md와 도메인/검증 시나리오별 테 ## 실행 절차 1. **환경 rules 생성** - - `agent-test//rules.md`가 없으면 `test-env-rules-template.md` 형식으로 만든다. + - `agent-test//rules.md`가 없으면 프로젝트 `agent-test/_templates/env-rules-template.md`가 있을 때는 그 형식으로 만들고, 없으면 공통 `test-env-rules-template.md` 형식으로 만든다. - `agent-test//rules.md`가 구조적 blank/skeleton이면 기존 구체 값을 보존한 채 빠진 frontmatter, 정독 필수 문구, 필수 섹션, baseline 라우팅 영역만 보완한다. - usable한 기존 env rules는 덮어쓰지 않고 라우팅 추가가 필요한 경우에만 최소 수정한다. - 제목은 `# 테스트 규칙`으로 쓴다. @@ -74,7 +75,7 @@ description: agent-test 환경 rules.md와 도메인/검증 시나리오별 테 - 도메인은 새로 발명하지 않는다. 도메인 매핑이나 domain rule에서 확인되지 않은 이름은 `project-wide`로 기록한다. 3. **도메인/검증 시나리오별 문서 생성** - - 생성 대상 문서가 없으면 `agent-test//.md`를 `test-case-rule-template.md` 형식으로 만든다. + - 생성 대상 문서가 없으면 프로젝트 `agent-test/_templates/test-profile-template.md`가 있을 때는 그 형식으로 만들고, 없으면 공통 `test-case-rule-template.md` 형식으로 만든다. - 대상 문서가 이미 있고 usable하면 덮어쓰지 않는다. - 대상 문서가 구조적 blank/skeleton이면 기존 구체 값을 보존한 채 빠진 frontmatter와 필수 섹션을 보완한다. - frontmatter에는 `test_profile`, `domain`, `verification_type`, `last_rule_updated_at`을 채운다.