nexo/agent-ops/roadmap/ROADMAP.md

4.9 KiB

로드맵

전체 목표

nexo는 Mattermost 기반 메시징 코어에서 검증된 서버/푸시 런타임을 계승하되, 제품 표면과 개발 경계는 독립적인 메시징/알림 서비스로 정리한다. 최종 형태는 서버 코어, Flutter 클라이언트, Flutter 플러그인이 한 세트로 움직이며, 여러 앱이 표준화된 메시징 채널과 알림 파이프라인을 사용할 수 있는 서비스다.

Phase 흐름

위에서 아래로 진행된 순서와 예정 흐름을 나타낸다. 완료된 Phase도 로드맵에서 제거하지 않고, archive의 Phase 문서로 연결한다. 검토중 또는 진행중 Phase는 계획 Phase보다 위에 두어, 아래로 갈수록 미래 작업에 가까워지게 정렬한다. 스케치 Phase는 아직 구현 가능한 계획이 아니므로 계획 Phase보다 아래에 둔다.

  • [진행중] 제품 기반 정리
    • 경로: agent-ops/roadmap/phase/product-foundation/PHASE.md
    • 요약: nexo의 독립 제품 정체성, 모노레포 구조, 검증 가능한 런타임 기준선을 고정한다.
  • [계획] 메시징 런타임 표준화
    • 경로: agent-ops/roadmap/phase/messaging-runtime/PHASE.md
    • 요약: 플러그인과 서버가 공유할 메시징/알림 계약, 테스트, 앱별 사용 채널 모델을 정리한다.
  • [스케치] 독립 서비스화
    • 경로: agent-ops/roadmap/phase/independent-service/PHASE.md
    • 요약: Mattermost 호환 코어를 유지하되 제품 표면, 운영 방식, 불필요 기능을 nexo 목적에 맞게 분리한다.

로딩 정책

  • 일반 작업에서는 agent-ops/roadmap/ROADMAP.md를 매번 읽지 않는다.
  • 기능 추가, 구조 변경, 스킬 추가/수정, 문서 구조 변경 작업을 수행할 때는 agent-ops/roadmap/current.md를 먼저 읽는다.
  • current.md는 현재 작업 위치가 아니라 활성 Phase와 활성 Milestone 후보 목록이다.
  • current.md에는 개인별 현재 작업 위치나 완료 상태를 기록하지 않는다.
  • current.md의 활성 Phase는 agent-ops/roadmap/phase/<phase-slug>/PHASE.md를 가리킨다.
  • current.md의 활성 Milestone은 agent-ops/roadmap/phase/<phase-slug>/milestones/<milestone-slug>.md를 가리킨다.
  • current.mdagent-ops/roadmap/archive/** 경로를 활성 항목으로 포함하지 않는다.
  • 요청 내용, 현재 브랜치, 변경 파일, 관련 코드 경로를 보고 가장 관련 있는 활성 Phase와 Milestone 문서를 같은 세션에서 1회 읽는다.
  • 활성 Phase 또는 Milestone 밖의 작업이면 이 문서의 Phase 흐름을 확인하고 사용자에게 진행 또는 전환 여부를 확인한다.
  • 이 문서는 로드맵 생성/갱신, Phase 전환, Phase 추가/수정, 전체 구조 변경 요청이 있을 때만 읽는다.
  • 상세 작업은 각 Milestone 문서의 기능으로 관리한다. 검증이 필요한 기능만 같은 Task 안에 검증:으로 통합한다.
  • [스케치] Phase/Milestone은 방향성, 문제의식, 후보 범위, 미정 질문을 기록하는 컨셉 상태이며 구현 계획 생성 대상이 아니다.
  • [스케치] 항목은 승격 조건을 정리해 [계획]으로 전환한 뒤 구현 계획을 만든다.
  • 모든 기능 Task와 Task 안에 명시된 검증이 충족된 Milestone은 먼저 [검토중]으로 두고, 사용자 완료 확인과 archive 승인을 받은 뒤 [완료]로 전환한다.
  • 완료된 Phase는 agent-ops/roadmap/archive/phase/<phase-slug>/PHASE.md로 이동하고, 하위 Milestone도 같은 archive Phase scaffold 아래에 둔다.
  • 진행중 Phase 안에서 완료된 Milestone은 활성 Phase 문서에 짧은 링크를 남기고, 상세 문서는 agent-ops/roadmap/archive/phase/<phase-slug>/milestones/로 이동한다.
  • archive PHASE.md는 Phase 자체가 완료 또는 폐기될 때만 만들며, 진행중 Phase의 완료 Milestone만 archive된 경우 archive Phase 디렉터리에 milestones/만 있을 수 있다.
  • agent-ops/roadmap/archive/**는 일반 작업에서 읽지 않는다. 과거 완료 내용, 완료 근거, 복원, 비교가 필요한 경우에만 ROADMAP.md 또는 PHASE.md의 archive 링크를 따라가서 읽는다.
  • 아카이브된 Phase/Milestone 문서는 최신 템플릿이나 스킬 규약에 맞춰 재포맷하지 않는다.
  • 선택된 Milestone의 구현 잠금 섹션이 없거나 상태가 잠금이면 코드 구현, agent-task 구현 계획 생성, 세부 API/파일 구조 확정을 시작하기 전에 현재 요청에 직접 영향을 주는 결정 필요 항목만 확인한다.
  • 현재 요청과 직접 관련 없는 미정 항목은 잠금 상태로 남겨도 되며, 기존 구조/도메인 rule/플랫폼 관례로 정할 수 있는 작업은 표준선으로 기록하고 진행할 수 있다.
  • Milestone 전체에서 사용자만 결정할 항목이 더 이상 없고 에이전트가 표준선에 따라 실행하면 구현 잠금 상태를 해제로 둔다.