diff --git a/lang-packs/_bundled/g7-module-sirsoft-page-ja/CHANGELOG.md b/lang-packs/_bundled/g7-module-sirsoft-page-ja/CHANGELOG.md
index e3ff53a2..68a94869 100644
--- a/lang-packs/_bundled/g7-module-sirsoft-page-ja/CHANGELOG.md
+++ b/lang-packs/_bundled/g7-module-sirsoft-page-ja/CHANGELOG.md
@@ -4,7 +4,7 @@
형식은 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/)를 따르며,
[Semantic Versioning](https://semver.org/lang/ko/)을 준수합니다.
-## [1.0.1] - 2026-07-01
+## [1.0.1] - 2026-07-06
### Added
diff --git a/lang-packs/_bundled/g7-template-sirsoft-admin_basic-ja/CHANGELOG.md b/lang-packs/_bundled/g7-template-sirsoft-admin_basic-ja/CHANGELOG.md
index 31deaa42..58157976 100644
--- a/lang-packs/_bundled/g7-template-sirsoft-admin_basic-ja/CHANGELOG.md
+++ b/lang-packs/_bundled/g7-template-sirsoft-admin_basic-ja/CHANGELOG.md
@@ -4,7 +4,7 @@
형식은 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/)를 따르며,
[Semantic Versioning](https://semver.org/lang/ko/)을 준수합니다.
-## [1.0.1] - 2026-07-01
+## [1.0.1] - 2026-07-06
### Changed
diff --git a/lang-packs/_bundled/g7-template-sirsoft-basic-ja/CHANGELOG.md b/lang-packs/_bundled/g7-template-sirsoft-basic-ja/CHANGELOG.md
index 86a8c166..35c00761 100644
--- a/lang-packs/_bundled/g7-template-sirsoft-basic-ja/CHANGELOG.md
+++ b/lang-packs/_bundled/g7-template-sirsoft-basic-ja/CHANGELOG.md
@@ -4,7 +4,7 @@
형식은 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/)를 따르며,
[Semantic Versioning](https://semver.org/lang/ko/)을 준수합니다.
-## [1.0.1] - 2026-07-01
+## [1.0.1] - 2026-07-06
### Added
diff --git a/modules/_bundled/sirsoft-page/CHANGELOG.md b/modules/_bundled/sirsoft-page/CHANGELOG.md
index e082f21b..3658727c 100644
--- a/modules/_bundled/sirsoft-page/CHANGELOG.md
+++ b/modules/_bundled/sirsoft-page/CHANGELOG.md
@@ -4,7 +4,7 @@
형식은 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/)를 따르며,
[Semantic Versioning](https://semver.org/lang/ko/)을 준수합니다.
-## [1.0.1] - 2026-07-01
+## [1.0.1] - 2026-07-06
### Fixed
diff --git a/modules/_bundled/sirsoft-page/resources/js/__tests__/layouts/admin-page-layouts.test.ts b/modules/_bundled/sirsoft-page/resources/js/__tests__/layouts/admin-page-layouts.test.ts
index 021addee..b7afa8bd 100644
--- a/modules/_bundled/sirsoft-page/resources/js/__tests__/layouts/admin-page-layouts.test.ts
+++ b/modules/_bundled/sirsoft-page/resources/js/__tests__/layouts/admin-page-layouts.test.ts
@@ -292,7 +292,7 @@ describe('admin_page_list.json', () => {
expect(findById(adminPageList, 'published_false')).toBeNull();
});
- // ─── F2: 모바일 검색 저장/읽기 저장소 정합 (이슈 #424) ───
+ // ─── F2: 모바일 검색 저장/읽기 저장소 정합 ───
/**
* responsive.portable 등 반응형 오버라이드 내부까지 순회하며 id 로 노드를 찾는다.
@@ -350,7 +350,7 @@ describe('admin_page_list.json', () => {
expect(inputChange?.params?.target).not.toBe('global');
});
- // ─── C1·C2·C5: 시맨틱 클래스 정리 (이슈 #424) ───
+ // ─── C1·C2·C5: 시맨틱 클래스 정리 ───
it('[C1] 검색바 안 필드 셀렉트는 pill(select-composite), 툴바 발행/정렬/개수는 테두리(border+bg-white) — 이커머스 목록 관행', () => {
// 관행(이커머스 shipping_policy/order/product 목록): 검색바 내부 필드 셀렉트 = pill,
@@ -772,7 +772,7 @@ describe('admin_page_form.json', () => {
expect(uploaders[0].props.apiEndpoints.reorder).toContain('route?.id');
});
- // ─── UI 검토 M1·M6 회귀 차단 (이슈 #424) ───
+ // ─── UI 검토 M1·M6 회귀 차단 ───
it('[M1-a] 검증에러 제목 클래스가 공백으로 분리됨 (font-medium + text-danger-soft, 병합 클래스 금지)', () => {
// 회귀 배경: "font-mediumtext-danger-soft" 처럼 공백 없이 붙으면 두 클래스 모두 무효
@@ -1024,7 +1024,7 @@ describe('admin_page_detail.json', () => {
expect(cellStr).toContain('sirsoft-page.admin.page.detail.versions.field_labels');
});
- // ─── UI 검토 M2·M3·M4·M5 회귀 차단 (이슈 #424) ───
+ // ─── UI 검토 M2·M3·M4·M5 회귀 차단 ───
it('[M5] onError 메시지 바인딩이 $error 가 아닌 error 컨텍스트 변수를 사용함 (엔진 onError context 키는 error)', () => {
// 회귀 배경: 엔진은 onError 콜백 컨텍스트를 `error` 키로 제공(ActionDispatcher).
diff --git a/modules/_bundled/sirsoft-page/src/Console/Commands/PlaywrightSeedPage.php b/modules/_bundled/sirsoft-page/src/Console/Commands/PlaywrightSeedPage.php
index 5922d8d1..ccebf538 100644
--- a/modules/_bundled/sirsoft-page/src/Console/Commands/PlaywrightSeedPage.php
+++ b/modules/_bundled/sirsoft-page/src/Console/Commands/PlaywrightSeedPage.php
@@ -12,7 +12,7 @@ use Modules\Sirsoft\Page\Models\PageAttachment;
/**
* Playwright E2E 용 페이지 도메인 시드 커맨드.
*
- * 미발행 페이지 관리자 미리보기(#424-15) E2E 를 위해 고정 슬러그의 미발행/발행 페이지와
+ * 미발행 페이지 관리자 미리보기 E2E 를 위해 고정 슬러그의 미발행/발행 페이지와
* 첨부를 발급하여 stdout 에 JSON 으로 반환한다. 재실행 시 동일 슬러그를 물리 삭제 후 재생성해
* 멱등성을 보장한다 (페이지·첨부는 hard delete 모델).
*
diff --git a/modules/_bundled/sirsoft-page/src/Listeners/SeoPageCacheListener.php b/modules/_bundled/sirsoft-page/src/Listeners/SeoPageCacheListener.php
index 1855946d..41d4d060 100644
--- a/modules/_bundled/sirsoft-page/src/Listeners/SeoPageCacheListener.php
+++ b/modules/_bundled/sirsoft-page/src/Listeners/SeoPageCacheListener.php
@@ -35,7 +35,7 @@ class SeoPageCacheListener implements HookListenerInterface
'method' => 'onPageChange',
'priority' => 20,
],
- // 버전 복원도 콘텐츠(title/content/seo_meta) 변경이므로 수정과 동일하게 무효화 (이슈 #424-14)
+ // 버전 복원도 콘텐츠(title/content/seo_meta) 변경이므로 수정과 동일하게 무효화
'sirsoft-page.page.after_restore' => [
'method' => 'onPageChange',
'priority' => 20,
diff --git a/modules/_bundled/sirsoft-page/src/routes/api.php b/modules/_bundled/sirsoft-page/src/routes/api.php
index c41e1e29..789afd0e 100644
--- a/modules/_bundled/sirsoft-page/src/routes/api.php
+++ b/modules/_bundled/sirsoft-page/src/routes/api.php
@@ -105,9 +105,6 @@ Route::prefix('admin/attachments')->middleware(['auth:sanctum', 'throttle:600,1'
->middleware('permission:admin,sirsoft-page.pages.update')
->name('reorder');
- // 다운로드/미리보기는 공개 hash 라우트(pages/attachment/*)로 단일화 —
- // 썸네일
·다운로드는 토큰을 실을 수 없어 인증 라우트에 물리면 401 로 깨진다.
-
// 첨부파일 삭제
Route::delete('/{id}', [PageAttachmentController::class, 'destroy'])
->middleware('permission:admin,sirsoft-page.pages.update')
@@ -125,12 +122,12 @@ Route::prefix('admin/attachments')->middleware(['auth:sanctum', 'throttle:600,1'
*/
// optional.sanctum: Bearer 토큰이 있으면 인증, 없으면 guest로 통과
Route::prefix('pages')->middleware(['optional.sanctum', 'throttle:600,1'])->name('pages.')->group(function () {
- // 공개 첨부파일 다운로드 (해시 기반) - /{slug} 보다 먼저 등록
+ // 첨부 다운로드 (해시 기반, 발행 상태에 따라 컨트롤러에서 접근 제어) - /{slug} 보다 먼저 등록
Route::get('/attachment/{hash}', [PublicPageAttachmentController::class, 'download'])
->where('hash', '[a-zA-Z0-9]{12}')
->name('attachment.download');
- // 공개 첨부파일 이미지 미리보기 (해시 기반, inline)
+ // 첨부 이미지 미리보기 (공개 - 토큰 없는
직접 GET 을 위해 권한 체크 없이 이미지만 제공)
Route::get('/attachment/{hash}/preview', [PublicPageAttachmentController::class, 'preview'])
->where('hash', '[a-zA-Z0-9]{12}')
->name('attachment.preview');
diff --git a/modules/_bundled/sirsoft-page/tests/Feature/Admin/PageControllerTest.php b/modules/_bundled/sirsoft-page/tests/Feature/Admin/PageControllerTest.php
index 7a60b6e4..125b6162 100644
--- a/modules/_bundled/sirsoft-page/tests/Feature/Admin/PageControllerTest.php
+++ b/modules/_bundled/sirsoft-page/tests/Feature/Admin/PageControllerTest.php
@@ -1299,7 +1299,7 @@ class PageControllerTest extends FeatureTestCase
}
/**
- * 버전 복원 시 페이지 상세 SEO 캐시가 무효화되는지 확인 (이슈 #424-14)
+ * 버전 복원 시 페이지 상세 SEO 캐시가 무효화되는지 확인
*
* 복원은 title/content/seo_meta 를 이전 버전으로 되돌리므로 수정과 동일하게
* 검색봇용 SEO 캐시를 갱신해야 한다. 복원 전 상세 URL 캐시를 적재한 뒤 복원하면
@@ -1349,7 +1349,7 @@ class PageControllerTest extends FeatureTestCase
}
/**
- * 버전 복원 후 새 버전이 생성되고 기존 버전 이력이 모두 보존되는지 확인 (이슈 #424-14, 검수항목 3·4)
+ * 버전 복원 후 새 버전이 생성되고 기존 버전 이력이 모두 보존되는지 확인 (검수항목 3·4)
*
* 복원은 다음 버전 번호로 새 스냅샷을 만들며, 복원 대상을 포함한 기존 버전 이력을
* 삭제하지 않고 그대로 보존해야 한다.
diff --git a/modules/_bundled/sirsoft-page/tests/Feature/User/PublicPageControllerTest.php b/modules/_bundled/sirsoft-page/tests/Feature/User/PublicPageControllerTest.php
index 74252a1a..0fd947eb 100644
--- a/modules/_bundled/sirsoft-page/tests/Feature/User/PublicPageControllerTest.php
+++ b/modules/_bundled/sirsoft-page/tests/Feature/User/PublicPageControllerTest.php
@@ -119,7 +119,7 @@ class PublicPageControllerTest extends FeatureTestCase
$response->assertStatus(404);
}
- // ─── 미발행 페이지 관리자 미리보기 (#424-15) ────────
+ // ─── 미발행 페이지 관리자 미리보기 ────────
/**
* 페이지 조회 권한(pages.read) 관리자는 미발행 페이지를 미리볼 수 있는지 확인
diff --git a/modules/_bundled/sirsoft-page/tests/Playwright/specs/user/unpublished-admin-preview.spec.ts b/modules/_bundled/sirsoft-page/tests/Playwright/specs/user/unpublished-admin-preview.spec.ts
index 23547d2f..d5f78bf4 100644
--- a/modules/_bundled/sirsoft-page/tests/Playwright/specs/user/unpublished-admin-preview.spec.ts
+++ b/modules/_bundled/sirsoft-page/tests/Playwright/specs/user/unpublished-admin-preview.spec.ts
@@ -1,5 +1,5 @@
/**
- * 미발행 페이지 관리자 미리보기 (#424-15).
+ * 미발행 페이지 관리자 미리보기.
*
* @scenario viewer=guest, viewer=member, viewer=other_admin, viewer=page_reader, published=published, published=unpublished
* @effects page_reader_admin_previews_unpublished_page_with_200,
@@ -39,7 +39,7 @@ const NOT_FOUND_TEXT = /페이지를 찾을 수 없습니다|Page Not Found/;
const UNPUBLISHED_TITLE = '미발행 미리보기 대상';
const PUBLISHED_TITLE = '발행 대조군';
-test.describe('미발행 페이지 관리자 미리보기 (#424-15)', () => {
+test.describe('미발행 페이지 관리자 미리보기', () => {
test('페이지 조회 권한 관리자는 미발행 페이지를 미리보고 배너가 노출된다', async ({
page,
pageReadToken,
diff --git a/modules/_bundled/sirsoft-page/tests/Unit/Listeners/SeoPageCacheListenerTest.php b/modules/_bundled/sirsoft-page/tests/Unit/Listeners/SeoPageCacheListenerTest.php
index c0bec93f..1db416af 100644
--- a/modules/_bundled/sirsoft-page/tests/Unit/Listeners/SeoPageCacheListenerTest.php
+++ b/modules/_bundled/sirsoft-page/tests/Unit/Listeners/SeoPageCacheListenerTest.php
@@ -40,7 +40,7 @@ class SeoPageCacheListenerTest extends ModuleTestCase
$this->assertArrayHasKey('sirsoft-page.page.after_create', $hooks);
$this->assertArrayHasKey('sirsoft-page.page.after_update', $hooks);
$this->assertArrayHasKey('sirsoft-page.page.after_delete', $hooks);
- // 버전 복원도 SEO 캐시 무효화가 필요하다 (이슈 #424-14: 복원 후 봇에 복원 전 버전 잔존 회귀 방지)
+ // 버전 복원도 SEO 캐시 무효화가 필요하다 (복원 후 봇에 복원 전 버전 잔존 회귀 방지)
$this->assertArrayHasKey('sirsoft-page.page.after_restore', $hooks);
$this->assertEquals('onPageChange', $hooks['sirsoft-page.page.after_create']['method']);
diff --git a/modules/_bundled/sirsoft-page/tests/Unit/Services/PageServiceTest.php b/modules/_bundled/sirsoft-page/tests/Unit/Services/PageServiceTest.php
index 6505bd71..6ee8ca29 100644
--- a/modules/_bundled/sirsoft-page/tests/Unit/Services/PageServiceTest.php
+++ b/modules/_bundled/sirsoft-page/tests/Unit/Services/PageServiceTest.php
@@ -402,7 +402,7 @@ class PageServiceTest extends ModuleTestCase
}
/**
- * allowUnpublished=true 이면 미발행 페이지도 반환하는지 확인 (#424-15 미리보기)
+ * allowUnpublished=true 이면 미발행 페이지도 반환하는지 확인 (미리보기)
*/
public function test_get_published_page_by_slug_returns_draft_when_preview_allowed(): void
{
diff --git a/modules/_bundled/sirsoft-page/tests/scenarios/page-unpublished-admin-preview.yaml b/modules/_bundled/sirsoft-page/tests/scenarios/page-unpublished-admin-preview.yaml
index 4b56eafb..66ee4eb1 100644
--- a/modules/_bundled/sirsoft-page/tests/scenarios/page-unpublished-admin-preview.yaml
+++ b/modules/_bundled/sirsoft-page/tests/scenarios/page-unpublished-admin-preview.yaml
@@ -1,5 +1,5 @@
# audit:allow test-scenario-coverage reason: |
-# 본 매니페스트는 미발행 페이지 관리자 미리보기(#424-15) 단일 결함의 권한 × 발행상태
+# 본 매니페스트는 미발행 페이지 관리자 미리보기 단일 결함의 권한 × 발행상태
# cross product 를 기록한다. viewer(guest/member/other_admin/page_reader) × published
# (published/unpublished) 8케이스 중 "미리보기 허용" 은 page_reader × unpublished 단 1조합이며,
# 나머지는 기존 동작(발행=200 공개 / 미발행=404) 유지다. 실제 회귀 가드는 test_files 의
@@ -11,7 +11,7 @@
feature: 미발행 페이지 관리자 미리보기 (권한자만 사용자 화면 노출 + 미리보기 배너 + 첨부 admin URL)
description: |
- #424-15: 미발행 페이지는 관리자여도 사용자 화면(/page/{slug})에 접근할 수 없던 결함을 수정한다.
+ 미발행 페이지는 관리자여도 사용자 화면(/page/{slug})에 접근할 수 없던 결함을 수정한다.
게이트 정책:
- 비로그인·일반 회원: 미발행 페이지 → 404 유지 (비공개).
diff --git a/templates/_bundled/sirsoft-admin_basic/CHANGELOG.md b/templates/_bundled/sirsoft-admin_basic/CHANGELOG.md
index 094d317d..913eab99 100644
--- a/templates/_bundled/sirsoft-admin_basic/CHANGELOG.md
+++ b/templates/_bundled/sirsoft-admin_basic/CHANGELOG.md
@@ -4,7 +4,7 @@
형식은 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/)를 따르며,
[Semantic Versioning](https://semver.org/lang/ko/)을 준수합니다.
-## [1.0.1] - 2026-07-01
+## [1.0.1] - 2026-07-06
### Changed
diff --git a/templates/_bundled/sirsoft-basic/CHANGELOG.md b/templates/_bundled/sirsoft-basic/CHANGELOG.md
index f0065872..74e80093 100644
--- a/templates/_bundled/sirsoft-basic/CHANGELOG.md
+++ b/templates/_bundled/sirsoft-basic/CHANGELOG.md
@@ -4,7 +4,7 @@
형식은 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/)를 따르며,
[Semantic Versioning](https://semver.org/lang/ko/)을 준수합니다.
-## [1.0.1] - 2026-07-01
+## [1.0.1] - 2026-07-06
### Added