Notes for the next agent
Notes for the next agent
Personal academic site + CV for Jemo Maeng (맹제모), Ph.D. student at GIST AILAB. Live at https://maengjemo.github.io. Built on AcademicPages (Jekyll).
Read this before editing — several things here are not guessable from the code.
1. Edit _data/resume.yml, not the collections
_publications/*.md and _portfolio/*.md are generated from _data/resume.yml. Editing them directly works until someone regenerates, then the edit is gone.
The generator lived outside the repo (a throwaway script in the job’s tmp dir) and was not committed. If you need to regenerate, re-derive it from the front matter the existing files already carry — publications need scope (International/Domestic) and sortkey (1/0 prefix + year, so international sorts above domestic); projects need order. _pages/publications.html filters on scope; _pages/portfolio.html sorts on order.
Consider committing the generator into the repo if you touch this again.
2. Local preview: build + static serve, never jekyll serve
jekyll serve overrides site.url to http://0.0.0.0:4000, so every stylesheet URL points at a host the browser cannot reach and the page renders unstyled. This looks exactly like “the CSS is broken” and it is not. Use:
docker build -t jemo-cv-site . # once
docker run --rm -v "$PWD":/usr/src/app -u 1000:1000 jemo-cv-site \
jekyll build --config _config.yml,_config_preview.yml
(cd _site && python3 -m http.server 4111)
_config_preview.yml is untracked on purpose (local-only): it just sets url: "http://localhost:4111". Recreate it if missing.
Docker is required — the system Ruby has no dev headers, so bundle install fails on native gems (racc/nokogiri).
3. The site is PUBLIC even though the repo is private
The repo is private, as the user asked. GitHub Pages still serves the built site to anyone — verified with an unauthenticated request. Only the source is hidden.
The CV therefore publishes a phone number (062-715-5355) and email to the open web. The user has been told once and has not asked to remove it. Do not quietly change it, but do not assume it was a considered decision either.
4. Facts corrected during the build — do not “fix” them back
The lab homepage (sites.google.com/view/gistailab) is out of date. The user’s CV is authoritative where they disagree:
| Field | Lab page says | Correct |
|---|---|---|
| Department | School of Integrated Technology | Department of AI |
| Lab name | GIST AILAB | AILAB, one word — never “AI Lab” |
| M.S. | 2021.09 – present | completed Aug. 2023 (confirmed by the user) |
Education reads: M.S. at GIST → Ph.D. at GIST (current), B.S. at Harbin Institute of Technology. The user asked for it phrased in that order.
Language policy: everything English except domestic (Korean) publications, which stay in Korean — translating a Korean conference title makes it harder to look up.
5. Unverified content — flagged to the user, never confirmed
Written from inference, not from a source. Treat as provisional:
- The entire Skills block. No source anywhere; invented (Chinese from the HIT years, Python/C++/C, PyTorch/ROS 2/OpenCV/Open3D, Docker/Linux/Git/Isaac Sim/Blender).
- “Hair and Dust Recognition for Robot Vacuum Cleaners” — the real title is truncated on the lab page and absent from Notion; this name was written to match the scope.
- SMRNet co-author “S. Lee” — only an initial was available.
- Hyundai PoC dates — lab page says 2025.12–2026.04, Notion says 2024.07–2025.03. The lab page won. Unresolved.
6. Where the content came from
- Profile, publications, awards, project list → the GIST AILAB member page.
- Official English project titles, grant numbers (23-CM-AI-08, 22-CM-GU-08, MOTIE Technology Innovation Program 00442029), the quantitative targets in the TL;DR lines, and which projects he leads → the lab’s Notion “Projects” database. The Notion
Headrelation is how the three “Project Leader” roles were identified; the lab page does not record this. - Visual reference: a labmate’s CV PDF — date/role gutter, red TL;DR line per project, split international/domestic publications.
7. Layout notes
_layouts/resume.html+assets/css/resume.scssare self-contained;resume.scsscarries a@media printblock so the “Print / Save as PDF” button yields a clean document.- Two upstream styles had to be overridden and will bite again if you restructure:
main.cssrenders a bare<dl>as a grid with a 27px gap (hencedisplay: blockon.cv-skills), and the sidebar setswhite-space: nowrap, which clipped the long institution name (hence theli.author__desktoprule in_sass/layout/_sidebar.scss). _includes/author-profile.htmlwas patched to acceptauthor.employer_url, which is what makes the sidebar affiliation link to the lab site.
8. Deploying
Push to main; Pages builds automatically (legacy build, main at /). Confirm with gh api repos/maengjemo/maengjemo.github.io/pages --jq .status returning built, then curl the live URL — the API reports built slightly before the CDN serves the new copy.
