diff --git a/public/locales/en/common.json b/public/locales/en/common.json
index faaa78c..89fd3b9 100644
--- a/public/locales/en/common.json
+++ b/public/locales/en/common.json
@@ -212,13 +212,25 @@
"uri": "https://github.com/voidzero-dev/vite-plus",
"role": "Contributor",
"period": "2026.08",
- "summary": "Contributing to vite-plus, the toolchain from VoidZero (the team behind Vite and Vitest), a Rust · TypeScript hybrid. I traced a shell-integration gap where the working-directory flag was dropped, fixed it on the Rust side, and covered it with snapshot tests before it merged.",
- "stack": ["Rust", "Shell"],
+ "summary": "Contributing to vite-plus, the toolchain from VoidZero (the team behind Vite and Vitest), a Rust · TypeScript hybrid. Started with a merged shell-integration fix on the Rust side; now working on the vite-task task runner's cache on the TypeScript side, alongside issue analysis and PR review across both repos.",
+ "stack": ["Rust", "TypeScript", "Shell"],
"projects": [
{
"title": "Shell integrations",
"details": [
- "Generated shell wrappers didn't recognize a vp env use that followed the global -C
flag (-C · -C · -C=), so the environment change never applied to the current shell session; fixed in setup.rs. Also made vpr completions preserve the working-directory option across zsh, Fish, Nushell, and PowerShell, and pinned the four shells' integration templates with snapshot tests (#2508, issue #2056)."
+ "Generated shell wrappers didn't recognize a vp env use that followed the global -C flag (-C · -C · -C=), so the environment change never applied to the current shell session; fixed in setup.rs. Also made vpr completions preserve the working-directory option across zsh, Fish, Nushell, and PowerShell, and pinned the four shells' integration templates with snapshot tests. Review rounds added set -u/NO_UNSET hardening of the generated scripts and a PowerShell type-safety fix, each covered by executable regression tests (#2508, issue #2056)."
+ ]
+ },
+ {
+ "title": "Task runner cache (vite-task)",
+ "details": [
+ "Tracked bulk env queries were validated against the full unfiltered environment, so per-run CI variables such as ACTIONS_ORCHESTRATION_ID invalidated the cache on every GitHub Actions run. Extended the existing untrackedEnv contract to bulk queries — filtered when recording and validating, served unchanged — with unit and e2e snapshot coverage (vite-task#693, in review, maintainer-filed issue vite-task#505)."
+ ]
+ },
+ {
+ "title": "Analysis & review",
+ "details": [
+ "Root-caused the task runner not exposing npm lifecycle env to package.json scripts and showed why a vite-plus-side fix can't reach cache-enabled tasks (vite-task#692). Reviews on vite-plus surfaced the same env-fingerprint filtering silently stripping the proposed lifecycle-env fix (#2385) and three verified edge cases in the Oxlint/Oxfmt config migration (#2483)."
]
}
]
diff --git a/public/locales/ko/common.json b/public/locales/ko/common.json
index da3e763..ce2c190 100644
--- a/public/locales/ko/common.json
+++ b/public/locales/ko/common.json
@@ -212,13 +212,25 @@
"uri": "https://github.com/voidzero-dev/vite-plus",
"role": "Contributor",
"period": "2026.08",
- "summary": "Vite·Vitest를 만든 VoidZero의 툴체인 vite-plus(Rust · TypeScript 하이브리드)에 기여. 쉘 통합이 작업 디렉토리 플래그를 놓치던 문제를 찾아 Rust 쪽에서 고치고 스냅샷 테스트로 덮어 병합했습니다.",
- "stack": ["Rust", "Shell"],
+ "summary": "Vite·Vitest를 만든 VoidZero의 툴체인 vite-plus(Rust · TypeScript 하이브리드)에 기여. 쉘 통합 수정(Rust)이 병합됐고, 지금은 태스크 러너 vite-task의 캐시(TypeScript)를 고치면서 두 저장소에 걸친 이슈 분석과 PR 리뷰를 병행합니다.",
+ "stack": ["Rust", "TypeScript", "Shell"],
"projects": [
{
"title": "쉘 통합",
"details": [
- "생성되는 쉘 래퍼가 전역 -C 플래그(-C · -C · -C=) 뒤에 오는 vp env use를 인식하지 못해 환경 변경이 현재 쉘 세션에 적용되지 않던 문제를 setup.rs에서 수정. vpr 자동완성도 zsh · Fish · Nushell · PowerShell에서 작업 디렉토리 옵션을 보존하도록 맞추고, 네 쉘의 통합 템플릿을 스냅샷 테스트로 고정 (#2508, 이슈 #2056)"
+ "생성되는 쉘 래퍼가 전역 -C 플래그(-C · -C · -C=) 뒤에 오는 vp env use를 인식하지 못해 환경 변경이 현재 쉘 세션에 적용되지 않던 문제를 setup.rs에서 수정. vpr 자동완성도 zsh · Fish · Nushell · PowerShell에서 작업 디렉토리 옵션을 보존하도록 맞추고, 네 쉘의 통합 템플릿을 스냅샷 테스트로 고정. 리뷰 과정에서 생성 스크립트의 set -u/NO_UNSET 안전성 보강과 PowerShell 타입 안전성 수정을 더하고 실행 가능한 회귀 테스트로 덮음 (#2508, 이슈 #2056)"
+ ]
+ },
+ {
+ "title": "태스크 러너 캐시 (vite-task)",
+ "details": [
+ "추적 대상 환경 변수 일괄 조회가 필터링 전의 전체 환경으로 검증돼, GitHub Actions에서 실행마다 바뀌는 변수(ACTIONS_ORCHESTRATION_ID 등)가 캐시를 매번 무효화하던 문제. 기존 untrackedEnv 계약을 일괄 조회로 확장해 기록·검증은 필터링하고 반환값은 그대로 유지, 단위·e2e 스냅샷 테스트 포함 (vite-task#693 리뷰 중, 메인테이너가 등록한 이슈 vite-task#505)"
+ ]
+ },
+ {
+ "title": "분석·리뷰",
+ "details": [
+ "태스크 러너가 package.json 스크립트에 npm 생명주기 환경 변수를 노출하지 않는 문제를 근본 원인까지 분석하고, vite-plus 쪽 수정만으로는 캐시 활성 태스크를 덮지 못하는 이유를 정리 (vite-task#692). vite-plus 리뷰에서는 제안된 수정이 환경 지문 필터링에 조용히 걸러지는 문제(#2385)와 Oxlint·Oxfmt 설정 마이그레이션 PR의 검증된 엣지 3건(#2483)을 확인"
]
}
]
diff --git a/src/components/Affiliation/Affiliation.tsx b/src/components/Affiliation/Affiliation.tsx
index d5584ba..73aae7e 100644
--- a/src/components/Affiliation/Affiliation.tsx
+++ b/src/components/Affiliation/Affiliation.tsx
@@ -76,23 +76,28 @@ function GitHubMark() {
}
/** Turn #123 references into repo links. GitHub's /issues/N redirects to
- * the pull request when the number is a PR, so one path covers both. */
+ * the pull request when the number is a PR, so one path covers both.
+ * A repo-qualified ref like other-repo#123 links into that sibling repo
+ * of refBaseUri's org, mirroring GitHub's cross-repo reference syntax. */
function linkifyRefs(text: string, refBaseUri?: string) {
if (!refBaseUri) return text;
- const parts = text.split(/(#\d+)/g);
+ const parts = text.split(/([A-Za-z][\w.-]*#\d+|#\d+)/g);
if (parts.length === 1) return text;
return parts.map((part, index) => {
- const match = /^#(\d+)$/.exec(part);
- return match ? (
+ const match = /^([A-Za-z][\w.-]*)?#(\d+)$/.exec(part);
+ if (!match) return part;
+ const [, repo, number] = match;
+ const baseUri = repo
+ ? refBaseUri.replace(/\/[^/]+$/, `/${repo}`)
+ : refBaseUri;
+ return (
{part}
- ) : (
- part
);
});
}
diff --git a/submission/KihwanKim_CV.pdf b/submission/KihwanKim_CV.pdf
index a29bbc7..257c866 100644
Binary files a/submission/KihwanKim_CV.pdf and b/submission/KihwanKim_CV.pdf differ
diff --git a/submission/KihwanKim_CV_and_Portfolio.pdf b/submission/KihwanKim_CV_and_Portfolio.pdf
index cb9621f..b9e1e11 100644
Binary files a/submission/KihwanKim_CV_and_Portfolio.pdf and b/submission/KihwanKim_CV_and_Portfolio.pdf differ
diff --git a/submission/KihwanKim_CareerDescription_KR.pdf b/submission/KihwanKim_CareerDescription_KR.pdf
index 30d9d63..975524b 100644
Binary files a/submission/KihwanKim_CareerDescription_KR.pdf and b/submission/KihwanKim_CareerDescription_KR.pdf differ
diff --git a/submission/KihwanKim_Portfolio.pdf b/submission/KihwanKim_Portfolio.pdf
index 92649c1..9e99e16 100644
Binary files a/submission/KihwanKim_Portfolio.pdf and b/submission/KihwanKim_Portfolio.pdf differ
diff --git a/submission/career-description.html b/submission/career-description.html
index 8840dcb..c2b8f9b 100644
--- a/submission/career-description.html
+++ b/submission/career-description.html
@@ -23,7 +23,7 @@
}
@page {
size: A4;
- margin: 16mm;
+ margin: 16mm 16mm 13mm;
}
body {
font-family: 'Apple SD Gothic Neo', 'Pretendard', 'Noto Sans KR',
@@ -142,8 +142,8 @@
margin-top: 6px;
}
footer {
- margin-top: 14px;
- padding-top: 8px;
+ margin-top: 8px;
+ padding-top: 5px;
border-top: 1px solid var(--line);
color: var(--grey);
font-size: 8.5pt;
@@ -437,7 +437,12 @@
>,
이슈 #2056).
+ >). 태스크 러너 vite-task에서는 CI의 실행별 환경 변수가 캐시를 매번
+ 무효화하던 문제를 untrackedEnv 계약 확장으로 수정 (#693
+ 리뷰 중).
diff --git a/submission/fde/KihwanKim_FDE_CV.html b/submission/fde/KihwanKim_FDE_CV.html
index 58ba525..0b4669c 100644
--- a/submission/fde/KihwanKim_FDE_CV.html
+++ b/submission/fde/KihwanKim_FDE_CV.html
@@ -194,6 +194,7 @@ vite-plus — Contri
- Fixed a shell-integration gap in Rust where the global working-directory flag (-C) was dropped before the env command, so the change never reached the current shell; kept it consistent across zsh, Fish, Nushell, and PowerShell and pinned the templates with snapshot tests (#2508)
+ - In the vite-task task runner, bulk env queries were validated against the unfiltered environment, so per-run CI variables broke caching on every GitHub Actions run; extended the untrackedEnv contract to bulk queries with unit and e2e coverage (#693, in review)
diff --git a/submission/fde/KihwanKim_FDE_CV.pdf b/submission/fde/KihwanKim_FDE_CV.pdf
index fad0436..7344dbb 100644
Binary files a/submission/fde/KihwanKim_FDE_CV.pdf and b/submission/fde/KihwanKim_FDE_CV.pdf differ