Merge branch 'develop'

This commit is contained in:
HeuJung committed 2026-07-10 20:24:14 +09:00
commit b65c782447
3 files changed
+6 -6

No files matched your search

+2 -2
View File
@@ -76,14 +76,14 @@ G7 의 REST API 는 라우트 `->name()` 규약은 있으나 엔드포인트별
확장 API 문서의 발견성은 이 목차를 통해 확보한다. `api:docgen` 과 코어 인덱스 생성기
(`generate-docs-index.cjs`) 는 확장명을 하드코딩하지 않고
`{modules,plugins}/_bundled/*/docs/api/README.md` 를 **패턴 스캔**해, 코어 README 의 "확장 API 레퍼런스"
표와 CLAUDE.md·AGENTS.md·docs-index 에 자동 편입한다(동적 로딩 원칙 — 코어는 규약과 스캔 패턴만, 확장
표와 AGENTS.md·docs-index 에 자동 편입한다(동적 로딩 원칙 — 코어는 규약과 스캔 패턴만, 확장
이름은 파일 시스템에서 발견). 문서 수·엔드포인트 수는 각 README 의 집계 라인
(`**문서 수**: N · **엔드포인트 수**: M`)에서 읽으므로, 이 라인 형식을 바꾸면 두 스캐너를 함께 갱신한다.
처음 진입하는 개발자/AI 의 도달 경로:
```text
README.md "API 레퍼런스" 또는 CLAUDE.md "API 레퍼런스 진입점" 표
README.md "API 레퍼런스" 또는 AGENTS.md "API 레퍼런스 진입점" 표
→ docs/backend/api/README.md (공통 규약 + 코어 목차 + 확장 목차)
→ {도메인}.md 또는 {확장}/docs/api/README.md
→ 엔드포인트별 파라미터·응답·예시
@@ -13,7 +13,7 @@
* - **국가명 문자열을 하드코딩하지 않는다**("South Korea" 등). 시드 데이터가 바뀌면
* 거짓 실패하고, 무엇보다 "ko 가 아닌 무언가"를 렌더한다는 사실만으로는 회귀를 못 잡는다.
* API 응답에서 그 로케일의 기대값을 **런타임에 도출**해 화면과 대조한다.
* - **로케일 목록을 하드코딩하지 않는다**. 언어는 계속 추가된다(PO 지시). 설치된 언어는
* - **로케일 목록을 하드코딩하지 않는다**. 언어는 계속 추가된다. 설치된 언어는
* `$locales` 에서 읽는다.
* - 회귀(= ko 고정) 판정은 "en 값과 같다" 로는 부족하다. ko 와 en 이 같은 국가(예: 코드
* 폴백)만 골라 보면 통과해 버린다. **ko 값과 다른 국가가 하나라도 있는지** 먼저 확인한
@@ -54,7 +54,7 @@ async function derivedHeaderNames(page: Page): Promise<string[]> {
}
/**
* 설치된 언어의 `{ 코드: 표시명 }` 맵. 하드코딩 금지 — 언어는 계속 추가된다(PO 지시).
* 설치된 언어의 `{ 코드: 표시명 }` 맵. 하드코딩 금지 — 언어는 계속 추가된다.
* 레이아웃의 이름 입력칸 라벨이 쓰는 것과 동일한 출처(`appConfig.localeNames`)를 읽는다.
*/
async function localeDisplayNames(page: Page): Promise<Record<string, string>> {
@@ -17,7 +17,7 @@ use Modules\Sirsoft\Ecommerce\Tests\ModuleTestCase;
* (settings.countries.{code}.name)이 읽기 시점에 보강하고, 운영자가 직접 추가한 국가는
* 운영자가 채운다. 따라서 빈 문자열 키는 제거해 "부재" 로 정규화한다.
*
* 이름을 새로 채우지는 않는다(PO 결정) — 청소만 한다.
* 이름을 새로 채우지는 않는다 — 청소만 한다.
*/
class PruneEmptyShippingCountryNameLocalesTest extends ModuleTestCase
{
@@ -142,7 +142,7 @@ class PruneEmptyShippingCountryNameLocalesTest extends ModuleTestCase
public function test_country_names_are_never_filled_in(): void
{
// PO 결정: 이름을 새로 채우지 않는다. 부재 로케일은 언어팩이 읽기 시점에 보강한다.
// 이름을 새로 채우지 않는다. 부재 로케일은 언어팩이 읽기 시점에 보강한다.
$this->writeSettings([
'default_country' => 'KR',
'available_countries' => [