Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/torchnative-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ on:
- cron: "0 5 * * 1" # weekly, Monday 05:00 UTC
# workflow_dispatch and schedule only fire once this file is on the default branch (main), which
# develop reaches through the release PR. Until then, push to ci/torchnative to run it on demand
# (e.g. git push origin develop:ci/torchnative). This work branch triggers it once for a first run.
# (e.g. git push origin develop:ci/torchnative).
push:
branches: [ci/torchnative, work/torchnative-ci]
branches: [ci/torchnative]

permissions:
contents: read
Expand Down
19 changes: 14 additions & 5 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,20 @@ build caches, model weights, `node_modules`) into every worktree is how 86 workt

| Branch | Who writes to it |
|---|---|
| `work/<topic>` | You. All work happens here. |
| `develop` | Merged into from work branches after verification. Never commit to it directly. |
| `feat/<topic>` | You. All work happens here. Never name a branch `work/...`. |
| `develop` | Merged into from `feat/` branches after verification. Never commit to it directly. |
| `release` | **CI only.** Not a standing branch: CI regenerates it from every push to `develop`, in the main-only file layout, and opens the PR into `main`. It may not exist. Never write to it. |
| `main` | **Pull request from `release` only.** Never push or merge to it directly. |

Only `main`, `develop` and `release` are standing branches. A `feat/` branch lives until its pull
request merges: merge with `gh pr merge --rebase --delete-branch`, then delete the local branch and
its worktree. Periodically delete every remote and local branch already merged into `develop`.
Pull requests here are rebase-merged, so `git branch --merged` does not see them: check the branch's
pull request instead (`gh pr list --head <branch> --state merged`). An unmerged branch older than a
few days is either landed or reported, not left. Branches named `release-*` (e.g. `release-cnu`) are
preserved snapshots: keep them. Never force-push a pushed branch; to rebase after a push, push the
result to a new `feat/` branch.

`main` carries a reduced layout: of the Markdown files, only `README.md` stays at the repository
root, and `docs/` keeps only its subdirectories (no Markdown files directly under `docs/`).
CI runs `tools/release/sync-release.sh` (`.github/workflows/release-sync.yml`) to produce that layout; do not hand-edit `release` or `main`.
Expand All @@ -63,7 +72,7 @@ Every new feature goes through an issue and a pull request:
1. Before starting, search the repository's issues (`gh issue list --state all --search "<keywords>"`).
2. If no issue covers the work, open one (`gh issue create`) stating what and why, and the
completion criterion — which tests must pass.
3. Work on a `work/<topic>` branch, push every commit, and open a pull request into `develop`
3. Work on a `feat/<topic>` branch, push every commit, and open a pull request into `develop`
whose body contains `Closes #<number>`.
4. Merge into `develop` through that pull request (`gh pr merge`), not by a local merge, so the
issue is linked.
Expand Down Expand Up @@ -274,6 +283,6 @@ files should simply be written with LF. `docs/build/` is tracked (an exception i
| `docs/<topic>/` | any | Every other document lives in a topic subdirectory, never directly in `docs/`. |

`README.md` and `docs/locale/README_ko.md` must not link to develop-only files (`AGENTS.md`,
`CLAUDE.md`, `PROJECT.md`, `docs/INTENT.md`, `docs/SPEC.md`); those links are dead on `main`.
`PROJECT.md`, `docs/INTENT.md`, `docs/SPEC.md`); those links are dead on `main`.

`CLAUDE.md` contains exactly `@AGENTS.md` and nothing else.
There is no `CLAUDE.md`: Claude Code reads `AGENTS.md` directly. Do not add one.
1 change: 0 additions & 1 deletion CLAUDE.md

This file was deleted.

3 changes: 2 additions & 1 deletion PROJECT.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,8 @@ python3 docs/guide/check_guide.py # 가이드 사이트 검사
- **개발 방식**: 의도 기반 스펙 주도 개발 + 테스트 주도 개발. INTENT → SPEC → 테스트(적색 확인) → 코드.
- **문서 배치**: `main` 에는 루트의 `README.md` 와 `docs/` 하위 디렉터리만 남는다.
README 는 develop 전용 파일(AGENTS, PROJECT, INTENT, SPEC)에 링크하지 않는다.
- **`CLAUDE.md`** 는 `@AGENTS.md` 한 줄만 둔다.
- **`CLAUDE.md` 는 두지 않는다**(2026-10-03). Claude Code 가 `AGENTS.md` 를 직접 읽는다.
- **브랜치**: 작업 브랜치는 `feat/<topic>`. `main`·`develop`·`release`(와 보존용 `release-*`)만 상시 브랜치로 두고, 머지된 브랜치는 머지 때 `--delete-branch` 로, 그 밖에는 주기적으로 지운다.
- **토치 버전**: `pyproject.toml` 에서 torch 계열에 버전을 고정하지 않는다 (Windows 는 cu128 인덱스).
- **서빙 구조 (2026-10-02)**: 근거와 위험은 [`docs/serving/engine.md`](docs/serving/engine.md) 에 있다.
- 의미 없는 다중 백엔드를 걷어내고 **단일 서빙 시스템**으로 간다. GGUF·BIN·GPTQ 런타임과
Expand Down
Loading