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:

FieldLab page saysCorrect
DepartmentSchool of Integrated TechnologyDepartment of AI
Lab nameGIST AILABAILAB, one word — never “AI Lab”
M.S.2021.09 – presentcompleted 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 Head relation 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.scss are self-contained; resume.scss carries a @media print block 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.css renders a bare <dl> as a grid with a 27px gap (hence display: block on .cv-skills), and the sidebar sets white-space: nowrap, which clipped the long institution name (hence the li.author__desktop rule in _sass/layout/_sidebar.scss).
  • _includes/author-profile.html was patched to accept author.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.