83 lines
3.5 KiB
Markdown
83 lines
3.5 KiB
Markdown
# TechLog UI migration baseline
|
||
|
||
## Source provenance
|
||
|
||
- Source path: `/home/donghyeon/workspace/techlog-studio-frontend`
|
||
- Inspected: 2026-08-15 (Asia/Seoul)
|
||
- Git revision/status: unavailable. The supplied source directory is an exported
|
||
checkout with no `.git` metadata; both `git rev-parse HEAD` and
|
||
`git status --short` report that it is not a Git repository. The source path
|
||
and the byte checksums below are the reproducible provenance available for
|
||
this baseline.
|
||
|
||
## Approved copied assets
|
||
|
||
| Source and target-relative path | SHA-256 |
|
||
| --- | --- |
|
||
| `public/favicon.svg` | `e6d2e59b7b5bbb0342e0fb496dfc262decbfe4426bbb7b047aec8d467d1dc6f7` |
|
||
| `public/media/fetch-strategy-boundary.svg` | `b07926823ed77fc200f962a1f64a440e130cefa6bed31144b611612af9b02606` |
|
||
|
||
Only these two SVGs are approved for this baseline. They must remain exact
|
||
byte-for-byte copies of the source assets. The evidence key
|
||
`fetch-strategy-boundary` resolves to `/media/fetch-strategy-boundary.svg`
|
||
with dimensions `1080 × 420`, trigger label `Fetch Join과 Batch Fetch 비교
|
||
다이어그램 크게 보기`, and dialog label `Fetch Join과 Batch Fetch의 페이징 경계
|
||
확대`.
|
||
|
||
## Required dependency pins
|
||
|
||
| Package | Exact version |
|
||
| --- | --- |
|
||
| `pretendard` | `1.3.9` |
|
||
| `@fontsource/ibm-plex-mono` | `5.3.0` |
|
||
| `unified` | `11.0.5` |
|
||
| `remark-parse` | `11.0.0` |
|
||
| `remark-gfm` | `4.0.1` |
|
||
| `remark-directive` | `4.0.0` |
|
||
|
||
No Next.js, Vinext, or Cloudflare package is part of the migration baseline.
|
||
|
||
## Expected route inventory
|
||
|
||
| Layout | Route ID | Path |
|
||
| --- | --- | --- |
|
||
| PUBLIC | `TECH_LOG_HOME` | `/` |
|
||
| PUBLIC | `TECH_LOG_EXPLORE` | `/explore` |
|
||
| PUBLIC | `TECH_LOG_EXPLORE_KIND` | `/explore/:kind` |
|
||
| PUBLIC | `TECH_LOG_CASE` | `/cases/:slug` |
|
||
| PUBLIC | `TECH_LOG_REFERENCE` | `/references/:slug` |
|
||
| PUBLIC | `TECH_LOG_QUESTION` | `/questions/:slug` |
|
||
| PUBLIC | `TECH_LOG_TOPIC` | `/topics/:slug` |
|
||
| PUBLIC | `TECH_LOG_PROJECTS` | `/projects` |
|
||
| PUBLIC | `TECH_LOG_PROJECT` | `/projects/:slug` |
|
||
| PUBLIC | `TECH_LOG_PROJECT_RECORDS` | `/projects/:slug/records` |
|
||
| PUBLIC | `TECH_LOG_PROJECT_DECISIONS` | `/projects/:slug/decisions` |
|
||
| PUBLIC | `TECH_LOG_PROJECT_ACTIVITY` | `/projects/:slug/activity` |
|
||
| PUBLIC | `TECH_LOG_RELEASES` | `/releases` |
|
||
| PUBLIC | `TECH_LOG_RELEASE` | `/releases/:version` |
|
||
| PUBLIC | `TECH_LOG_PROFILE` | `/profile` |
|
||
| PUBLIC | `TECH_LOG_SEARCH` | `/search` |
|
||
| STUDIO | `TECH_LOG_STUDIO_HOME` | `/studio` |
|
||
| STUDIO | `TECH_LOG_STUDIO_DOCUMENTS` | `/studio/documents` |
|
||
| STUDIO | `TECH_LOG_STUDIO_DOCUMENT_NEW` | `/studio/documents/new` |
|
||
| STUDIO | `TECH_LOG_STUDIO_DOCUMENT_EDIT` | `/studio/documents/:id/edit` |
|
||
| STUDIO | `TECH_LOG_STUDIO_DOCUMENT_VALIDATION` | `/studio/documents/:id/validation` |
|
||
| STUDIO | `TECH_LOG_STUDIO_DOCUMENT_PREVIEW` | `/studio/documents/:id/preview` |
|
||
| STUDIO | `TECH_LOG_STUDIO_DOCUMENT_PUBLISH` | `/studio/documents/:id/publish` |
|
||
| STUDIO | `TECH_LOG_STUDIO_PUBLICATIONS` | `/studio/publications` |
|
||
| STUDIO | `TECH_LOG_STUDIO_PUBLICATION_PREVIEW` | `/studio/publications/:publicationEventId/preview` |
|
||
| STUDIO | `TECH_LOG_STUDIO_NOT_FOUND` | `/studio/*` |
|
||
| PUBLIC | `NOT_FOUND` | `*` |
|
||
|
||
## Source stylesheet inventory
|
||
|
||
- `app/globals.css`
|
||
- `app/studio.css`
|
||
- `app/studio-editor.css`
|
||
- `components/studio/workflow.module.css`
|
||
- `components/studio/publication-flow.module.css`
|
||
|
||
The inventories in this document are human review baselines. Automated
|
||
coverage is intentionally limited to the two SVG byte contracts, evidence
|
||
asset lookup behavior, and the package manager's frozen-lockfile verification.
|