Repository navigation
feat(portfolio): reconcile source evidence and refresh 2026 projects and UX - #34
writingdeveloper wants to merge 13 commits into
Conversation
The hire page and the about timeline each carried a claim the record does not support. The timeline merged two CTO roles into one five-year ItemBox entry running to 2026; ItemBox closed in October 2025, and the 2021-2024 half was GEOMEC. Split them, and give ItemBox the numbers the repositories actually show: nine engineers across Korea and Vietnam, a 20-module NestJS/TypeORM backend with 300 REST endpoints, 58 controllers, 55 entities and ~72k lines of TypeScript. Two smaller corrections travel with it. "5+ years owning engineering as a CTO" was 4 years 9 months, so it now reads "nearly five years across two companies". The site spelled the name "Si Hyeong Lee" while the resume and LinkedIn use "Sihyeong Lee" - a recruiter comparing the three reads that as two people, so the public surfaces (messages, JSON-LD, llms.txt) now use one spelling. LICENSE and the historical planning docs keep theirs. The hire page also never said "US permanent resident, no sponsorship required", which is the quietest reason a US employer skips a candidate. It says it now, in both languages, and the working style is stated as fully remote rather than remote-first. employment-positioning.test.ts and seo.test.ts assert these strings verbatim, so both move with the copy.
The ItemBox timeline copy carried raw commit, endpoint, controller and entity counts (857 of 2,458 commits, 300 REST endpoints, 58 controllers, 55 entities, ~72k lines of TypeScript). Those were pulled from the resume for reading as filler rather than evidence, and the site was about to put them back. Rewrote both locales to match the resume: what was owned and built, not how many of it there were. Also replaced the em dashes across the timeline copy with periods, colons and middots, and switched the title separators to the middot the Korean titles already use. Adds a test so neither regression can come back through the site copy. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LY9haZyJhdQfT45Jamnzrq
…e-evidence-20261011
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Linux GitHub CI read-back (2026-10-11 PT): Run 38205649337 has completed. PASS: checkout, clean |
|
Follow-up on 2026-10-12 PT — AI usage itself is now table stakes. Pushed commit Source-backed positioning, not an AI-tool slogan
Final local QA on MAIN 4080 / Next.js 16.4.0: clean source state, TypeScript/ESLint/Prettier PASS, 233 unit tests / 24 files PASS, evidence and 3 résumé hashes PASS, EN/KO 11/11 post parity, production build PASS, Chromium EN/KO × desktop/mobile × dark/light 8/8 PASS, both navigation suites PASS. Screenshots reviewed under ignored Still blocked: |
|
GitHub Linux CI read-back for the AI-era positioning commit |
|
New source-backed engineering incident case study shipped to draft PR #34 at commit Why this case matters when AI coding is common: It demonstrates user-visible failure reproduction, state authority design, persistence-before-acknowledgement, stale-writer conflict behavior, and measurable QA, not model/tool-name proficiency.
Release gates remain: This DevDeck 1.37.8 is a validated unreleased candidate, not two physical PCs or multi-day field tests. PR #33's upstream |
|
Final CI read-back for commit |
|
2026-10-13 PT production audit + verified content-refresh readback for commit dc7cf1b. Source findings and precise edits
Validation and release gate
Detailed evidence: |
|
Integrated security base and current release-candidate read-back (2026-10-13 PT), head |
Summary
This draft integrates existing 4080 MAIN local portfolio work with GitHub main rather than rewriting the site from scratch. It is stacked on security draft #33 (
fix/next-security-lockfile-20261011), so the Next.js/lockfile fix must pass its separate audit gate first.portfolio-reconcile-20261011. Reconciled five content/test merge conflicts against current GitHub main689354e.Verified locally on 4080 MAIN, October 11 PT
npm ciafter integrating Next.js 16.4.0..qa/portfolio/performance-20261011.json; public /en/projects uncompressed HTML 509,187 bytes and candidate 484,503 bytes. Different hosts/builds/compression and inventories; no field performance or deployment gain claimed..qa/portfolio/. Review notes:docs/reviews/2026-10-11-live-site-refresh-audit.md.HARD RELEASE BLOCKER — do not auto-merge or deploy
GitHub draft #33 inherits the unpatched
bracesHigh vulnerability (GHSA-vfj7-8cjw-p6xm);npm auditstill returns nonzero. No compatible upstream patched version verified, andnpm audit fix --forceis unsafe for Keystatic. Seedocs/reviews/2026-10-11-next-braces-dependency-gate.md. Neither audit nor production rollout is complete.Additionally, résumé content and updated project evidence require editorial/security review before public release, particularly because the public production PDF URL currently returns HTTP 404. Deployment and post-deploy MIME/hash/link verification remain FOLIO-36, not part of opening a draft PR.
Plane: FOLIO-34, FOLIO-36, FOLIO-45 security gate, FOLIO-46 curation, FOLIO-47 UX, FOLIO-48 performance.
No force-push, GitHub main merge, or Vercel production deployment was performed here.