Skip to content

Latest commit

 

History

History
11 lines (9 loc) · 2.76 KB

File metadata and controls

11 lines (9 loc) · 2.76 KB

AGENTS.md — AgentOppa 자기 불변식 (always-on · 바운드)

AgentOppa repo 자신에 적용되는 횡단 불변식만. 바운드: 새 항목이 예산(줄/바이트, ccc-memory가 강제)을 넘기려 하면 → 하나를 validator로 기계화해 빼거나 둘을 합쳐라(append 금지). 기계화 가능한 규칙은 여기가 아니라 해당 scripts/validate.mjs로. self-harden 스킬이 이 파일의 게이트키퍼다.

  • 크로스툴 동일 품질 — 모든 컴포넌트는 Claude·Codex 양쪽에서 동작한다. 갈리는 지점만 도구별로 분기. 헬퍼 스크립트는 Node 빌트인(zero-dep(= 외부 패키지 의존 0), 크로스OS).
  • 작업 사이 상태는 커밋된 문서로 넘긴다 — 앞 단계가 남긴 문서를 다음 단계가 받는다. 전용 실행기를 따로 만들지 않는다 (그래서 resume·병렬이 공짜).
  • 지속 메모리 = project-committed(= 프로젝트 repo에 커밋해 함께 굴리는 것) — 머신로컬·user-scope(= 그 사용자 계정에만 저장돼 repo로 안 따라옴) 저장 거부. 상시 로딩은 최소, 상세는 references/로 (3층 점진 로딩).
  • 프레임워크 ≠ 콘텐츠; 콘텐츠 안에서도 재사용 Core ≠ 프로젝트 구현 — AgentOppa(Maker)의 규격(references/)만 AgentOppa가 싣는다(도메인 무관·고정). 콘텐츠는 둘로 갈린다: 워크플로우·인터페이스 = 유저의 재사용 Core(.agentoppa/, 값 안 박음 → 1급 재사용 자산), 프로젝트별 구현·바인딩 = .harness/<하네스>/(하네스 이름별 네임스페이스 — 여럿 공존, 실행은 루트 .harness-main/HARNESS_MAIN이 고른 1개). AgentOppa는 Core를 짓는 능력만 싣고 콘텐츠(Core든 구현이든)는 안 싣는다. 견본은 examples/, 절대 안 섞는다.
  • core/engine ↛ disposable(= 통째로 버려도 되는) 콘텐츠 — 엔진·프로세스 컴포넌트는 샘플(examples/)을 의존 참조하지 않는다. 의존은 한 방향(샘플→프레임워크)이고 적을수록 좋다 — 통째로 빼도 프레임워크는 멀쩡해야 한다. (경로-링크 형태는 ccc-plugin 검증기가 기계 강제; 산문 형태는 이 always-on 줄이 잡는다.)
  • git: 커밋은 현재 브랜치(보통 main)에 직접 — 커밋용 브랜치를 따로 만들지 않는다(명시 요청 없을 때). 하네스 기본 'default 브랜치면 분기'를 이 repo에선 끈다.
  • 작업 끝엔 체크리스트로 보고 — 긴 산문 말고: ✅ 한 일 / ⬜ 남은 일 / 📌 NOTICE, 각 항목 한 줄 리뷰. ⬜는 실제 액션할 일만 — 정보·주의·전제(예: "다음 세션 적용", "배포 아님")는 ⬜ 아니라 📌로(할 일과 안내를 안 섞는다). 이 repo 마무리 형식.