From 8d9d236d0864806ac953805d9fe11fbc2c61e3b2 Mon Sep 17 00:00:00 2001 From: toki Date: Thu, 11 Jun 2026 09:09:56 +0900 Subject: [PATCH] update: sync upstream references and project rules --- .gitignore | 3 +++ README.md | 2 +- agent-ops/rules/project/domain/core-service/rules.md | 2 +- agent-ops/rules/project/rules.md | 2 +- apps/mattermost/UPSTREAM.md | 4 ++-- services/core/UPSTREAM.md | 2 +- services/push-proxy/UPSTREAM.md | 4 ++-- 7 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 9cd9b8af..d00db6ed 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,9 @@ agent-ops/rules/private/ agent-test/local/ agent-test/runs/ +# Local upstream staging clones +.upstream/ + # Dart / Flutter .dart_tool/ **/.dart_tool/ diff --git a/README.md b/README.md index ec0229d2..0f836c28 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ Postgres를 host에 publish하지 않고 compose network 내부 `db:5432`로만 - `apps/flutter-test/`는 플러그인 통합 검증용 호스트로만 본다. 제품 앱으로 키우거나 플러그인 내부 동작을 복제하지 않는다. - `apps/mattermost`, `services/core`, `services/push-proxy`는 Mattermost 원본 저장소 clone으로 본다. nexo 소유 앱이나 독자 서버 제품으로 재정의하지 않는다. - 명시적인 업스트림 결정 없이 `services/core/UPSTREAM.md`의 기준선 정보를 바꾸지 않는다. -- 업스트림 작업 clone은 이 저장소 밖의 sibling/external `mattermost/` staging 폴더에 원본 저장소별로 둔다. +- 업스트림 작업 clone은 이 저장소 안의 ignored `.upstream/mattermost/` staging 폴더에 원본 저장소별로 둔다. - 업스트림 저장소는 기록된 branch를 따라간다. `mattermost-mobile`은 `main`, `mattermost`와 `mattermost-push-proxy`는 `master`를 기준으로 하며, branch 변경 시점이나 의도적으로 정한 갱신 시점에 스냅샷을 떠서 이 저장소로 merge 요청한다. - 이 저장소에 들어오는 스냅샷은 원본 저장소별 정확한 commit SHA를 기록한다. - merge 요청은 원칙적으로 업스트림 저장소별로 분리한다. `apps/mattermost`, `services/core`, `services/push-proxy` 스냅샷을 한 요청에 섞지 않는다. diff --git a/agent-ops/rules/project/domain/core-service/rules.md b/agent-ops/rules/project/domain/core-service/rules.md index 16395df3..a5246231 100644 --- a/agent-ops/rules/project/domain/core-service/rules.md +++ b/agent-ops/rules/project/domain/core-service/rules.md @@ -40,7 +40,7 @@ Mattermost 서버 repository clone을 담당한다. `packages/messaging_flutter` - upstream에서 온 구조와 명명은 필요한 경우에만 변경한다. - 제품 특화 변경은 `packages/messaging_flutter` 검증에 필요한 범위로 좁게 유지하고, upstream 재동기화를 방해하지 않게 설명 가능한 단위로 남긴다. -- upstream 작업 clone은 이 저장소 밖의 sibling/external `mattermost/` staging 폴더에 둔다. +- upstream 작업 clone은 이 저장소 안의 ignored `.upstream/mattermost/` staging 폴더에 둔다. - staging clone은 Mattermost server upstream `master`를 따라가며, `master` 변경 시점 또는 의도적으로 정한 refresh 시점에 snapshot을 떠서 이 저장소의 `services/core`로 merge 요청한다. - `services/core` snapshot 반영 시 upstream commit SHA를 `services/core/UPSTREAM.md`에 기록한다. - `services/core` snapshot merge 요청은 앱 또는 push-proxy snapshot과 섞지 않는다. diff --git a/agent-ops/rules/project/rules.md b/agent-ops/rules/project/rules.md index 2ff50b06..76a41099 100644 --- a/agent-ops/rules/project/rules.md +++ b/agent-ops/rules/project/rules.md @@ -35,7 +35,7 @@ Mattermost 원본은 앱, 서버, push 서버 repository clone 단위로 둔다. - `packages/messaging_flutter/`를 제품 중심으로 본다. 앱별 제품 UI와 business logic은 이 저장소가 아니라 패키지를 소비하는 앱의 책임이다. - `apps/flutter-test/`는 플러그인 integration 검증용 앱으로만 본다. 플러그인 integration 검증을 넘는 제품 기능을 키우지 않는다. - `apps/mattermost`, `services/core`, `services/push-proxy`는 Mattermost 원본 repository clone으로 유지한다. nexo 제품 앱이나 독자 서버 제품으로 재정의하지 않는다. -- upstream 작업 clone은 이 저장소 밖의 sibling/external `mattermost/` staging 폴더에 원본 repository별로 둔다. +- upstream 작업 clone은 이 저장소 안의 ignored `.upstream/mattermost/` staging 폴더에 원본 repository별로 둔다. - staging clone은 repository별 기록된 upstream branch를 따라간다. `mattermost-mobile`은 `main`, `mattermost`와 `mattermost-push-proxy`는 `master`를 기준으로 하며, 해당 branch 변경 시점 또는 의도적으로 정한 refresh 시점에 snapshot을 떠서 이 저장소로 merge 요청한다. - 이 저장소에 들어오는 snapshot은 원본 repository별 commit SHA를 기록한다. - merge 요청은 원칙적으로 upstream repository별로 분리한다. 앱, 서버, push-proxy snapshot을 한 요청에 섞지 않는다. diff --git a/apps/mattermost/UPSTREAM.md b/apps/mattermost/UPSTREAM.md index 8ac19e86..a99ea538 100644 --- a/apps/mattermost/UPSTREAM.md +++ b/apps/mattermost/UPSTREAM.md @@ -6,8 +6,8 @@ - Branch: `main` - Snapshot commit: `8e5f8b38e83363a2a1e1a5d72a3c2b9baf99e4e9` - Snapshot date: `2026-05-30` -- Snapshot source: `/config/workspace/mattermost/mattermost-mobile/` -- Snapshot target: `/config/workspace/nexo/apps/mattermost/` +- Snapshot source: `.upstream/mattermost/mattermost-mobile/` +- Snapshot target: `apps/mattermost/` ## Patch Boundary diff --git a/services/core/UPSTREAM.md b/services/core/UPSTREAM.md index 3b3d689d..f46577ba 100644 --- a/services/core/UPSTREAM.md +++ b/services/core/UPSTREAM.md @@ -7,7 +7,7 @@ - Baseline tag: `v11.4.2` - Baseline commit: `bcf511968217cd0f65cbead926e03260bfcd1011` - Snapshot date: `2026-05-30` -- Snapshot source: external `mattermost/mattermost/` staging clone +- Snapshot source: `.upstream/mattermost/mattermost/` - Snapshot target: `services/core/` - Tracked components: Mattermost server and bundled webapp from the same upstream repository snapshot. diff --git a/services/push-proxy/UPSTREAM.md b/services/push-proxy/UPSTREAM.md index 519ca6e7..792e0bb4 100644 --- a/services/push-proxy/UPSTREAM.md +++ b/services/push-proxy/UPSTREAM.md @@ -6,8 +6,8 @@ - Branch: `master` - Snapshot commit: `7852e23b8f7786d7ff1ad5062aa0a9424babd84f` - Snapshot date: `2026-05-30` -- Snapshot source: `/config/workspace/mattermost/mattermost-push-proxy/` -- Snapshot target: `/config/workspace/nexo/services/push-proxy/` +- Snapshot source: `.upstream/mattermost/mattermost-push-proxy/` +- Snapshot target: `services/push-proxy/` ## Current Baseline Choice