chore: complete tech log product identity

This commit is contained in:
DongHyeonka
2026-08-13 18:53:52 +09:00
parent c2e35dd8ad
commit 002ba3624e
21 changed files with 23 additions and 23 deletions
+1 -1
View File
@@ -3,7 +3,7 @@ name: frontend-quality-gates
on:
push:
branches: [develop]
branches: [main]
tags: ["v*"]
pull_request:
workflow_dispatch:
Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 46 KiB

@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://clean-architecture-frontend.local/schemas/dependency-inventory.schema.json",
"$id": "https://tech-log-frontend.local/schemas/dependency-inventory.schema.json",
"additionalProperties": false,
"properties": {
"dependencies": {
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://clean-architecture-frontend.local/schemas/supply-chain-verification.schema.json",
"$id": "https://tech-log-frontend.local/schemas/supply-chain-verification.schema.json",
"additionalProperties": false,
"properties": {
"dependencyDiff": {
+2 -2
View File
@@ -21,7 +21,7 @@ const ARTIFACT_SCHEMA_DEFINITIONS = Object.freeze([
},
{
relativePath: "schemas/artifacts/dependency-inventory.schema.json",
id: "https://clean-architecture-frontend.local/schemas/dependency-inventory.schema.json",
id: "https://tech-log-frontend.local/schemas/dependency-inventory.schema.json",
schema: dependencyInventoryArtifactSchema,
},
{
@@ -31,7 +31,7 @@ const ARTIFACT_SCHEMA_DEFINITIONS = Object.freeze([
},
{
relativePath: "schemas/artifacts/supply-chain-verification.schema.json",
id: "https://clean-architecture-frontend.local/schemas/supply-chain-verification.schema.json",
id: "https://tech-log-frontend.local/schemas/supply-chain-verification.schema.json",
schema: supplyChainVerificationArtifactSchema,
},
] as const);
+1 -1
View File
@@ -76,7 +76,7 @@ export function renderCiWorkflow(contract: CiGateContract): string {
"",
"on:",
" push:",
" branches: [develop]",
" branches: [main]",
' tags: ["v*"]',
" pull_request:",
" workflow_dispatch:",
+1 -1
View File
@@ -270,7 +270,7 @@ const provenance = {
],
},
runDetails: {
builder: { id: "local:clean-architecture-frontend-template" },
builder: { id: "local:tech-log-frontend" },
metadata: { invocationId: "LOCAL_UNSIGNED" },
},
materials: {
+1 -1
View File
@@ -304,7 +304,7 @@ export async function verifyLocalSupplyChainEvidence(
}
export const LOCAL_EVIDENCE_VERIFIER_ID =
"clean-architecture-frontend-template/local-evidence-verifier";
"tech-log-frontend/local-evidence-verifier";
export const LOCAL_EVIDENCE_VERIFIER_VERSION = "1";
export {
LOCAL_EVIDENCE_POLICY_INPUT_PATHS,
+1 -1
View File
@@ -10,7 +10,7 @@ import {
export const PROVIDER_FUTURE_SKEW_MS = 5 * 60 * 1_000;
export const PROVIDER_MAX_LIFETIME_MS = 2 * 60 * 60 * 1_000;
export const PROMOTION_VERIFIER_ID =
"clean-architecture-frontend-template/promotion-verifier";
"tech-log-frontend/promotion-verifier";
export const PROMOTION_VERIFIER_VERSION = "3";
const sha256 = z.string().regex(/^[a-f0-9]{64}$/u);
+4 -4
View File
@@ -3,7 +3,7 @@ import { INSTALLED_MESSAGE_CATALOGS } from "../../features/installed-feature-mes
const PLATFORM_KO_MESSAGES = {
"common.unavailable": "요청한 문구를 표시할 수 없습니다.",
"common.processing": "처리 중…",
"common.appName": "Frontend Skeleton",
"common.appName": "Tech Log",
"common.noDisplayValue": "표시 정보 없음",
"action.retry": "다시 시도",
"action.reauth": "로그인",
@@ -41,7 +41,7 @@ const PLATFORM_KO_MESSAGES = {
"shell.session.integrationFailed": "연동 필요",
"shell.session.actionFailed": "세션 작업을 완료하지 못했습니다.",
"route.APP_HOME.navigation": "홈",
"route.APP_HOME.title": "Clean Architecture Frontend",
"route.APP_HOME.title": "Tech Log",
"route.EXAMPLES_PLATFORM.navigation": "플랫폼 구성",
"route.EXAMPLES_PLATFORM.title": "플랫폼 구성",
"route.EXAMPLES_UI.navigation": "UI 구성요소",
@@ -158,7 +158,7 @@ export type MessageKey = keyof typeof KO_MESSAGES;
const PLATFORM_EN_MESSAGES = {
"common.unavailable": "This message is unavailable.",
"common.processing": "Processing…",
"common.appName": "Frontend Skeleton",
"common.appName": "Tech Log",
"common.noDisplayValue": "No display value",
"action.retry": "Try again",
"action.reauth": "Sign in",
@@ -196,7 +196,7 @@ const PLATFORM_EN_MESSAGES = {
"shell.session.integrationFailed": "Integration required",
"shell.session.actionFailed": "The session action could not be completed.",
"route.APP_HOME.navigation": "Home",
"route.APP_HOME.title": "Clean Architecture Frontend",
"route.APP_HOME.title": "Tech Log",
"route.EXAMPLES_PLATFORM.navigation": "Platform composition",
"route.EXAMPLES_PLATFORM.title": "Platform composition",
"route.EXAMPLES_UI.navigation": "UI components",
+1 -1
View File
@@ -40,7 +40,7 @@ export default function HomePage() {
<section className="ui-page">
<PageHeader
eyebrow="프로젝트 시작점"
title="Clean Architecture Frontend"
title="Tech Log"
description="도메인을 추가하기 전에 실행 구조와 범용 사용자 경험을 확인할 수 있는 중립적인 스켈레톤입니다."
/>
<div className="readiness-grid" aria-label="구현 준비 상태">
+1 -1
View File
@@ -71,7 +71,7 @@ describe("generic application router", () => {
await screen.findByRole("heading", { name: "UI 구성요소", level: 1 }),
).toBeVisible();
expect(window.location.pathname).toBe("/examples/ui");
expect(document.title).toBe("UI 구성요소 · Frontend Skeleton");
expect(document.title).toBe("UI 구성요소 · Tech Log");
await waitFor(() =>
expect(
screen.getByRole("heading", { name: "UI 구성요소", level: 1 }),
+1 -1
View File
@@ -62,7 +62,7 @@ describe("production runtime application tree", () => {
expect(
await screen.findByRole("heading", {
name: "Clean Architecture Frontend",
name: "Tech Log",
}),
).toBeVisible();
expect(
+1 -1
View File
@@ -3,7 +3,7 @@ import { expect, test } from "../support/browser/strict-browser-test.ts";
test("boots the public app shell", async ({ page }) => {
await page.goto("/");
await expect(page.getByRole("heading", { level: 1 })).toHaveText(
"Clean Architecture Frontend",
"Tech Log",
);
await expect(page.getByRole("navigation", { name: "주요 탐색" })).toBeVisible();
await expect(page.getByRole("main")).toBeVisible();
@@ -228,7 +228,7 @@ describe("reference feature page states", () => {
expect(
await screen.findByRole("heading", {
level: 1,
name: "Clean Architecture Frontend",
name: "Tech Log",
}),
).toBeVisible();
});
@@ -284,7 +284,7 @@ describe("reference feature page states", () => {
expect(
await screen.findByRole("heading", {
level: 1,
name: "Clean Architecture Frontend",
name: "Tech Log",
}),
).toBeVisible();
});
@@ -6,7 +6,7 @@ name: frontend-quality-gates
on:
push:
branches: [develop]
branches: [main]
tags: ["v*"]
pull_request:
workflow_dispatch:
+3 -3
View File
@@ -59,7 +59,7 @@ function passingAssessment(): any {
generatedAt: "2026-08-02T00:00:00.000Z",
status: "PASS" as const,
verifier: {
id: "clean-architecture-frontend-template/local-evidence-verifier",
id: "tech-log-frontend/local-evidence-verifier",
version: "1",
sourceSha256: digest("verifier source"),
},
@@ -1490,7 +1490,7 @@ function syntheticSignedPromotionBundle() {
verifiedAt: "2026-08-02T01:00:00.000Z",
status: "PASS",
verifier: {
id: "clean-architecture-frontend-template/promotion-verifier",
id: "tech-log-frontend/promotion-verifier",
version: "3",
},
run,
@@ -1806,7 +1806,7 @@ async function createArchivedAssessmentFixture(): Promise<{
const assessment = localEvidenceAssessmentArtifactSchema.parse({
...passingAssessment(),
verifier: {
id: "clean-architecture-frontend-template/local-evidence-verifier",
id: "tech-log-frontend/local-evidence-verifier",
version: "1",
sourceSha256: supplyChainDigest(
policyInputs.filter(({ path: policyPath }) => verifierPaths.has(policyPath)),
Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 KiB

After

Width:  |  Height:  |  Size: 392 KiB