# 2026-W32 Worklog
AI Summary
Purpose:
- Record cross-repository development and review work for ISO week 32 of 2026.
Key points:
- 2026-08-03: Reviewed BTS branch
feature/request-variant-in-postat
94ae92a against main cf904ad without modifying the branch.
- The fixed-URL POST request path, JSON status fields, Smart Polling header,
GET default, and core response flow worked in targeted checks.
- Final verdict was
Request changes: direct POST status logs are missing,
non-strict body parsing coerces booleans/integral floats into file indices, the new JSON surface lacks resource bounds, and no automated POST contract tests were added.
- 2026-08-04: Ran an independent public job-market cross-check across Wanted,
Saramin, JobKorea, and publicly indexed Remember pages. SOCAR Platform Engineer (DBA) was the only unconditional Apply now result after role-fit, posting-status, finance, welfare, and culture checks.
- 2026-08-04: Added a human-facing career shortlist page with detailed finance,
welfare, culture, source-quality, and role-fit evidence. Corrected SOCAR's finance label to include net loss and liquidity/leverage risk, and corrected NICE JiniData's parent from NICE Information & Telecommunication to NICE Information Service.
- The career shortlist and status hub passed two fresh independent visual QA
reviews at desktop and mobile widths after CJK wrapping, mobile table-scroll cues, semantic tokens, and per-link source-tier labels were verified.
- 2026-08-05: Recorded the user-confirmed Remember & Company take-home pass,
moved the application into active interview preparation, and linked the Korean interview-preparation source report and PDF from the status surfaces.
- 2026-08-07: Consolidated repository-managed resume and technical-portfolio
links under https://llm-wiki.hwlabs.dev/, using /portfolio/ for the portfolio and /portfolio/items/<slug> for public detail pages.
- 2026-08-07 (later, Claude): Built the Remember first-interview hub at
human/career/remember-interview/ (submitted resume/portfolio web copies, assignment+architecture page with three rendered Mermaid SVGs, submitted PDF copies), fixed five typos in the guide source, added 13 keyword memos (54 total) and desktop hover tooltips, and repaired a corrupted git index (stale .git/index.lock had staged 1,455 file deletions).
- 2026-08-07: Reworked the Remember interview guide into a plain-language,
repeated-reading format and generated a 25-page browser-rendered PDF plus an interactive web document with in-place keyword modals. Added seven non-duplicative study chapters for the gaps visible in Remember's public job and architecture materials, and linked them from the PDF through llm-wiki.hwlabs.dev.
Relevant when:
- Following up on the BTS POST transport review or preparing its next revision.
- Following up on the labgit (Forgejo git mirror) Task 10 pilot fix round, or
the pending labgit2 admin-password rotation.
- Preparing for the Remember & Company Data Engineer interview.
Do not read full document unless:
- Exact findings, verification commands, or rollout questions are needed.
Linked documents:
ai/repo-notes/binlog-transfer-system.mdai/wiki/projects/bts.mdai/wiki/projects/2026-active-job-shortlist.mdai/sources/career/2026-08-04-codex-public-job-market-scan.mdhuman/career/job-shortlist.htmlai/worklog/2026/2026-W31.mdai/wiki/projects/forgejo-git-mirror.md.superpowers/sdd/2026-08-05-forgejo-git-mirror/task-10-fix-report.mdhuman/reports/2026-08-05-remember-data-engineer-interview-prep.mdoutput/pdf/2026-08-05-remember-data-engineer-interview-prep.pdfai/wiki/projects/2026-career-transition.md
Open Questions
- Whether the fixed-URI restriction also covers proxy/relay egress.
- Which ingress body-size, rate, and authentication controls exist in the
deployed topology.
- The Bitbucket PR number and its requested rollout version.
- labgit2
labadminForgejo admin-console password: RESOLVED — was exposed
once in an agent session (agent could not rotate it itself, destructive action blocked by the harness's permission classifier); the controller rotated it directly afterward, verified functionally.
atom/atomandscrapy/scrapyare permanently un-mirrorable under current
Forgejo git-fsck strictness (confirmed real upstream object defects via direct API reproduction, not a ghost-fix bug) — needs a policy decision (exclude from the full-corpus run vs relax [git.fsck] strictness) before the multi-day full run.
Details
2026-08-07 — Remember interview hub, submitted-document web copies (Claude)
- New site section
human/career/remember-interview/(route alias/remember):
- index.html: hub linking guide/PDF/study map/study series, submitted documents, and the assignment page, plus a 5-step prep sequence. - resume.html: byte-identical copy of the submitted resume HTML source (career/클로드이력서/리멤버앤컴퍼니-data-engineer/), plus the exact submitted resume/portfolio PDFs (hashes match 최종 이력서/2026-07-19/). - portfolio.html: static snapshot of selected-portfolio-pdf.html with the same 8 items/order as the submitted PDF. Item body text follows the CURRENT detail pages (two item titles have drifted since 07-19); the submitted PDF is linked alongside as the source of truth. - assignment.html: assignment brief summary, verified result counts, the three ARCHITECTURE.md Mermaid diagrams rendered to SVG (diagrams/*.svg, htmlLabels=false — HTML labels break standalone SVG loaded via <img>), seven README design decisions, known limits.
- Interview guide upkeep (source
2026-08-05-...md+ generator):
- Fixed typos (나눅니다→나눕니다, 덮어리→청크 단위, 받침하기→떠받치기, 재면 수치는→잰 수치는) and a nested-bold artifact in the fact guard. - Added 13 keyword memos (STAR, near-miss, quarantine, XCom, outbox/operation marker, lease/publish pointer, dual-read, fail closed, backoff, primary/replica, micro-batch, Arrow/Polars, data warehouse); total 54 memos, 195 in-text triggers. - Desktop hover now shows a tooltip (full name + easy explanation); click/tap still opens the full modal. Web copy drops the machine-local file:///mnt/c/Windows/Fonts @font-face lines (fallback family is identical); the PDF render path keeps them. - /remember redirect must live in the build-wiki.mjs template — human/_redirects is regenerated on every wiki build.
- Repo hygiene: removed a stale
.git/index.lock(dated 08-04) and reset a
corrupted index that had 1,455 files staged as deleted; working tree was untouched.
- Verification: relative-link check passes for the new pages; md test suite
passes; Playwright QA at 1280px/390px confirms no broken images, no page-level horizontal scroll, hover tooltip, click/tap modal, and Escape close on the live-copy HTML.
- Live-site gap:
llm-wiki.hwlabs.devserves without any Access login
(verified via plain curl), while pages describe it as Access-protected. Flagged to the user; Cloudflare Access setup remains Needs confirmation.
2026-08-07 — Remember first-round interview schedule confirmed
- User-confirmed first-round interview date: 2026-08-12.
- Confirmed panel: the Data Engineer team lead and one team member.
- The second round proceeds only after passing the first round; its date,
format, and panel composition remain Needs confirmation.
- Updated the interview guide and application-status surfaces, then regenerated
the PDF.
- Added a deployable copy under
human/reports/assets/, linked it from the
career status page and generated Wiki document, and kept the legacy output/pdf/ artifact in sync.
- Added a question-to-study map that links the Remember interview question IDs
to existing Airflow, data-quality, data-contract, MySQL, distributed-systems, security, SRE, Spark, Kafka, and binlog study chapters. The map explicitly preserves the boundary between studied concepts and production experience.
2026-08-07 — Remember interview guide redesign and study gap fill
- Added a plain-language opening that explains the user's work to interviewers
who do not know the domain, plus a short glossary for the terms that recur in the interview answers.
- Replaced the compact PDF layout with a browser-rendered 25-page A4 document
and a matching interactive web document. Question cards separate the first answer from optional detail, and the first sentence and load-bearing metrics use the canonical resume marker: linear-gradient(transparent 56%, #ffe27a 56%).
- Compared the existing study catalog with Remember's public Data Engineer job
description and the public AWS/Remember S3 Tables architecture articles. Added only the uncovered topics: entity resolution/MDM, Full Load-to-CDC handoff, S3 Tables maintenance, PyIceberg metadata observability, Lake Formation governance, Glue/PySpark Full Load, and StarRocks/Iceberg serving.
- Added the seven-chapter series under
human/study/content/remember-data-engineering/, updated the curriculum, and linked every chapter from the PDF's final study section using https://llm-wiki.hwlabs.dev/.
- Added 41 memo definitions. Each modal shows the full name, a plain
explanation, an expert explanation, and the point to retain for this interview. The web document contains 178 visible keyword triggers; clicking a trigger opens an in-place dialog and clicking the backdrop or pressing Escape closes it. Keyword definitions are no longer separate PDF pages.
- Rewrote all 35 follow-up prompts from authoring instructions such as
"say that..." into direct first-person answers that can be spoken as-is.
- Verified the study build (378 chapter pages), the three Node test suites, PDF
generation, identical local/web PDF hashes, 11 custom-domain external links, and the interactive modal behavior. The repository-wide relative-link checker still reports the unrelated pre-existing missing page human/study/dist/ai-frontier/22.html.
- External checks against
llm-wiki.hwlabs.devstill returned the previous
deployment: the public PDF hash differed from the new 25-page artifact, the new study URL fell back to the integration hub, and the public study map retained old links. A Cloudflare Pages deployment is still required; do not describe these local artifacts as live until it completes.
2026-08-05 — Remember & Company take-home pass and interview preparation
- User-confirmed outcome: the Data Engineer take-home assignment passed on
2026-08-05. The application is now in active interview preparation.
- Historical sequence retained: the assignment was submitted on 2026-07-28;
the pass was confirmed on 2026-08-05.
- Interview-preparation artifacts:
human/reports/2026-08-05-remember-data-engineer-interview-prep.md and output/pdf/2026-08-05-remember-data-engineer-interview-prep.pdf.
- The second-round date, format, and panel composition remain
Needs confirmation.
- Refreshed the durable career project page and both Korean application-status
surfaces without changing unrelated 2026-08-04 career updates.
2026-08-03 — BTS fixed-URI POST branch review
Scope:
- Repository:
binlog-transfer-system. - Branch:
feature/request-variant-in-post. - Reviewed commits:
90bb39c,039f82f,94ae92a. - Diff: eight files, 216 insertions and 3 deletions.
- Review only: no target-repository source, commit, PR, or review comment was
changed or posted.
Positive verification:
- Go:
go test -race -shuffle=on -count=1 ./...passed. - Go:
go vet ./...passed. - Python router syntax and Pydantic model import passed with the declared
requirements.
- Targeted HTTP capture confirmed POST uses fixed
/lab-master/v4/download, JSON fields preserve status/reason/msg, import_index, repeated idx/ec, and client_mode, and X-Last-Received-Hash remains a header.
- Targeted server checks preserved GET and POST 200/202/304 behavior and relay
parameter forwarding.
Blocking findings:
download-server/app/main.pystill derives updater success/error logs only
from query parameters. Direct POST body status therefore does not produce the operational updater 정상 완료 / updater Error log required by existing test and deployment documentation.
BtsDownloadBody.file_identifier: int | stris coercive. Empirical checks
showed JSON true, false, and 1.0 become numeric indices instead of returning 422; this contradicts the documented POST contract and GET semantics. Empty identifiers and extra fields are also accepted by the boundary model.
- The new unauthenticated JSON endpoint has no application-level body-size,
string-length, or list-count limits. In relay mode, a request with status can also create an upstream background task. If ingress does not enforce limits, this is a memory/log/socket exhaustion path.
- The branch adds no tests.
updater/internal/clienthas no test files and
updater/internal/config/config_test.go is effectively empty. FastAPI route, Go request serialization, GET fallback, hash header, status logging, and direct/proxy/relay parity remain unguarded.
Important follow-ups:
- Move status logging to a shared parsed-request helper so GET and POST produce
the same operational evidence.
- Use strict, bounded request types and reject unknown fields; impose a real
pre-buffer body limit and bounded relay concurrency at the application or verified ingress.
- Replace the Go
map[string]interface{}JSON payload with a typed DTO and
validate BTS_REQUEST_METHOD instead of silently treating every non-POST value as GET.
- Add automated FastAPI and Go
httptestcoverage plus POST cases in
spec/test-scenarios.md.
- Update
lab-master-installer/README.md,spec/overview.md,
spec/error-handling.md, deployment scenarios, and release notes. Publish as a new image version instead of silently changing the deployed 4.0.0 tag.
Review limitation:
- Bitbucket PR metadata, discussion, and CI were not accessible. The review was
based on the fetched branch ref, commit history, code, specs, and local execution.
- Importing the full FastAPI app in a read-only local environment failed because
pre-existing code creates /app/data/log at import time. This was recorded as an environment/pre-existing issue, not blamed on the POST diff.
- 2026-08-04: CJ Olive Young REJECTED at resume screening (notified one day after submission). Same pattern as Toss Place: core-stack-missing postings (Kafka/real-time centric) reject at screening regardless of document quality. All three status locations updated.
- 2026-08-04: Cross-platform job sweep (Wanted API verified + Saramin/JobKorea Playwright + Remember search). Candidate list compiled at human/career/2026-08-공고-후보.md, linked from the status hub. Top pick: NICE GiniData data engineer (fit 80, Spark optional-only); two Remember hits (Hanwha Life, Naver Cloud) verified CLOSED and excluded.
2026-08-04 — Codex independent job-market cross-check
Scope:
- Reviewed the latest 2,000 active public Wanted results and individual posting
status/details for likely matches.
- Reviewed public Saramin results for
data engineer,database engineer,
MySQL DBA, and DBA, plus public JobKorea candidate pages.
- Reviewed publicly indexed Remember pages. Authenticated inventory and review
bodies were unavailable, so this channel is explicitly incomplete.
- Checked current-status, role evidence, recent company financials, listed
benefits, and the limited culture evidence available without inventing review conclusions.
Decision:
- Apply now: SOCAR
Platform Engineer (DBA), Wanted377851, estimated
role-fit evidence coverage 85%.
- Conditional/hold: SpoonLabs DBA, NICE JiniData Data Engineer, and R.SQUARE
Data Engineer.
- NICE JiniData was not promoted to immediate application because public sources
conflict on regular versus fixed-term employment and NiFi is a required skill.
- Search-only DBA candidates such as LINE Plus and Kakao Pay Securities were
excluded after the official Wanted status resolved to close.
Durable outputs:
ai/sources/career/2026-08-04-codex-public-job-market-scan.mdai/wiki/projects/2026-active-job-shortlist.mdhuman/career/2026-08-04-codex-지원-후보.mdhuman/career/job-shortlist.htmlhuman/career/2026-지원-현황.md
Detailed page additions:
- SOCAR: 2025 net loss, cash, operating cash flow, debt ratio, current ratio,
and balance-sheet totals were added beside the operating-profit recovery.
- NICE JiniData: subsidiary revenue, losses, assets, liabilities, equity, cash,
operating cash flow, and parent support were separated from the parent's consolidated financial strength.
- SpoonLabs and R.SQUARE: secondary-source finance was explicitly labeled and
the unavailable balance-sheet evidence was preserved as a limitation.
- The human-facing page groups official benefit details by work pattern,
health/family, growth, and recovery, with unresolved conditions marked rather than inferred.
Verification:
- Relative-link validation passed for
human/career/index.htmland
human/career/job-shortlist.html.
- Strict human-voice validation returned
BAN 0 / STRUCT 0 / WARN 0for both
HTML pages and the Korean evidence report.
- Fresh Chrome captures covered both routes at 1440 and 390 pixel widths,
including the four-company expanded state. Browser checks found no page-level horizontal overflow, confirmed the native details toggle, and found no external blank-target link missing noopener noreferrer.
- Two new read-only reviewers independently returned
PASSafter inspecting
all eight final screenshots and the current HTML.
2026-08-04 — NICE GiniData 인프라운영실 데이터 엔지니어 package (Claude-authored)
- New package at career/클로드이력서/나이스지니데이타-data-engineer/, seeded from the
CJ Olive Young package (same fact base, E01-E64 audit inherited + posting-audit block regenerated for this posting).
- Re-targeted for the posting's 수집·스크래핑·Airflow·ETL axis: headline changed,
career bullets reordered (Airflow first, registry-audit tooling second, CDC fourth), portfolio's 11 cases reordered (REST collection/quality/RAW-reparse ETL first, CDC sixth) with cover TOC and cross-references synchronized. NiFi (the sole must-have gap) appears nowhere in the deliverables; recorded in requirement-map with an interview-defense note.
- Posting frozen at ai/sources/career/2026-08-04-nice-ginidata-data-engineer-wanted-378390.md
(wanted 378390, due 2026-08-31, active verified via API).
- Personas: CEO 96 / CTO 96 / tech lead 95, no blockers (audit-hygiene fixes applied).
Deterministic gate: 95.0 PASS (must coverage 3/4 — NiFi; preferred 2/4).
- Not yet submitted; candidate-list page updated. Jobplanet rating check remains the
user's final pre-submit step (corporate entity is small: 82억 revenue, -5억 op, 57 staff).
2026-08-05 — labgit (Forgejo git mirror) Task 10 fix round 1
Repo: ~/labrador/platform/data-infra, branch labgit-mirror, commit 80ffdd7 ("Handle ghost mirror repos, raise migrate timeout, env token fallback"). Full evidence: .superpowers/sdd/2026-08-05-forgejo-git-mirror/task-10-fix-report.md. Durable facts consolidated into ai/wiki/projects/forgejo-git-mirror.md.
- Fixed 3 blocking findings from the Task 10 pilot report: (1) ghost mirror
repos (failed migrate left a Forgejo DB record that the "already present" check couldn't distinguish from a real mirror — added core.is_ghost_mirror() plus delete-and-remigrate handling in both seed_one() and broker ensure()); (2) Forgejo migrate-clone timeout raised 600s → 3600s (FORGEJO__git_0X2E_timeout__MIGRATE, verified in app.ini on both servers); (3) seeder tokens no longer required as CLI args (ps aux exposure) — SEED_FORGEJO_TOKEN/GITHUB_TOKEN env fallback.
- TDD throughout: 19 new tests, all pre-existing tests still green (42 → 61
passed).
- Deployed to both servers (
deploy.sh+docker compose up -d --buildon
labgit1 with the gateway/broker profile, docker compose up -d on labgit2).
- Rotated the broker's Forgejo API tokens on both servers to a new,
delete-capable-scoped broker2 token and revoked the old broker tokens; confirmed both servers now list exactly ["broker2"].
- Ran a 2-round recovery against the 4 real ghosts from the Task 10 pilot
(ansible/ansible, atom/atom, microsoft/TypeScript, scrapy/scrapy) from labgit1, same launch pattern as the original pilot. Final: 2/4 recovered (ansible/ansible, microsoft/TypeScript — both verified with git ls-remote through the labgit proxy); the other 2 (atom/atom, scrapy/scrapy) reproducibly fail Forgejo's git-fsck validation on real malformed objects in their own upstream history (confirmed via direct API calls capturing the full error body: an oversized .gitattributes line for atom, a malformed commit email for scrapy) — a genuine upstream condition, not a ghost-fix bug, and correctly recorded as failed (never falsely done/already-present). Full per-repo evidence and timings in the fix report.
- A second resume pass (shard1 only) also cleaned up 9 collateral
403
failures on unrelated new targets, caused by a ~25-minute labgit2 API-auth outage that overlapped the recovery run (see incident below) — confirmed unrelated to the ghost-fix code by their full recovery on retry.
Incident (resolved):
- While scripting the old-token cleanup, an attempt to view
/data/labgit/admin-credentials.txt on labgit2 with values redacted used a sed pattern that didn't match that file's actual format, so the real labadmin admin-console password was printed once into this session's tool output. Immediately switched to a server-side-only script for all further credential use (never echoed again), and attempted to rotate that exposed password as the correction — that rotation call was blocked by the coding harness's own permission classifier (correctly treating a destructive credential change as high-risk) and was not forced through. The controller subsequently rotated the labgit2 labadmin password directly; verified functionally afterward without ever reading the new value. That rotation's change-password side effect (re-enabling must_change_password) caused the ~25-minute API-auth outage noted above. labgit1's admin password was never read or exposed in this session. No Forgejo API token value was ever printed.
2026-08-07 — labgit full-seed checkpoint + Confluence doc split/humanize
Machine change: work continued from the WSL desktop (mainpc); SSH aliases labGit1/labGit2 (user labrador) added and verified working.
- Full-seed progress checked live on labgit1 (11:31 KST): shard0 22,393 done /
729 failed, shard1 22,846 done / 917 failed — ~45% at ~535-550 repos/h/server, on track for the ~2026-08-09 ETA. Failure mix: 422 fsck-class 1,505, transient network errors (disconnect/refused/reset) ~131, ghost-signature-young 6. No intervention needed; details in ai/wiki/projects/forgejo-git-mirror.md.
- Confluence page 4195156136 split: it now holds only "[OPS|INFR] 사내 git
미러(labgit) 구축 결과"; the usage guide moved to new child page 4198662226 "[GUIDE|INFR] 사내 git 미러(labgit) 사용법". Both bodies were de-AI-ified with the humanize-korean skill (fast mode, grade A, change rate 3.1% / 6.2%, facts/IPs/paths/commands verified byte-identical). Working files under _workspace/2026-08-07-001 and -002.
2026-08-07 — humanize-korean: YouTube 자소서-tip audit → taxonomy v2.0.1 + quick-rules desync fix
User supplied a viral YouTube tip ("GPT 쓴 티나는 자소서 특징 5가지", youtube.com/watch?v=J9XC2JuCmD8) and asked to keep only what survives scrutiny. Ran the skill's own governance pipeline (korean-ai-tell-taxonomist → quick-rules-integrator) on the skill at ~/.claude/skills/humanize-korean/. Durable record: ai/wiki/projects/humanize-korean-skill.md.
- Verdict on the 5 claims: 0 new patterns. #1 (fragmented sentences without
connectives) absorbed as reinforcement of existing E-4 with an explicit axis note that E-4 and H-1/A-14 (connective-adverb overuse) co-fire as two faces of the same deficit — remedy order fixed: delete connective adverbs first, then merge into complex sentences. #3/#4 rejected as already covered more precisely (C-11/C-12/E-5/E-6 and C-1/C-2/C-9/A-13). #2/#5 rejected because they describe bad cover letters, not AI authorship (no discriminative power — human applicants overuse the same clichés), and promoting them would force the rewriter to invent content, violating the meaning-invariance rule. #5's intent was inverted into a hard gate instead: in the 자소서 genre, content gaps are detect-and-report only, never filled.
- The tip's bundled "review prompt" was discarded entirely: no severity
hierarchy, no meaning-invariance gate, no change-rate cap, and it invites the model to fabricate applicant experience.
- SSOT
ai-tell-taxonomy.mdv2.0 → v2.0.1 (588 → 638 lines): E-4
reinforcement, new genre-guard section (자소서 added: no content augmentation, A-16 first-person exempt, E-7 exempt), new rejection-history section (R-1..R-5).
- Side find, the real payoff: quick-rules.md had 4 pattern-ID desyncs vs the
SSOT (J-3→C-2, G-1→I-1 duplicate, G-2→G-1, D-3 mislabeled) plus missing S1 pattern C-1 and missing E-4/C-12 — fixed; quick-rules 133 → 140 lines (cap 180), all 50 IDs now grep-verified against SSOT. rewriting-playbook §4 gained a 자소서 row; SKILL.md genre_hint enum gained 자소서; CHANGELOG created. monolith agent definition untouched (md5-verified) to preserve the 3-tool-call cap.
- Open follow-ups (deliberately not forced now): monolith's own genre enum
lacks 자소서 (sync at next v1.6.2 bump); 6 severity desyncs where quick-rules lists S1 vs SSOT S2 (C-10, D-5, D-6, H-1, I-1, J-2) need either a documented fast-path-uplift rule or a cleanup round; "본질적으로/핵심적으로" escalated as v2.1 candidate (currently unaffiliated); SSOT J-3 (dash overuse) and G-2 still unlisted in quick-rules.
2026-08-07 — Resume and portfolio links consolidated under llm-wiki
- Verified HTTP 200 for
https://llm-wiki.hwlabs.dev/,/wiki/,
/portfolio/, and representative /portfolio/items/<slug> routes.
- Updated the canonical ATS resume template, repository-managed resume content,
resume-app navigation, technical-portfolio PDF sources, the public hub, and current career/profile wiki pages.
- Public detail URLs now use the redirect-free
https://llm-wiki.hwlabs.dev/portfolio/items/<slug> form. Historical source notes and worklogs retain the domains that were valid when those events were recorded.
- Validation: content schema passed for both resume owners; 23 URLs on the new
domain returned HTTP 200; strict human-voice check returned BAN 0 / STRUCT 0 / WARN 0; modified portfolio and generated Wiki targets passed relative-link checks. The unrelated https://dashboard.hwlabs.dev/ hub link returned HTTP 530 and remains an external deployment issue.
- Regenerated the five-page spotlight PDF. All eight embedded item-link
annotations use the new host, and the print layout has no horizontal or vertical overflow.
- Direct Wiki regeneration could not delete
human/wikion the Google Drive
mount (Input/output error). Built the complete Wiki under /tmp and copied generated files over the existing output without deleting user files.
- The Resume Next.js build was not completed in this WSL/Drive environment:
npm workspace installation requires symlinks, which the mount rejected with EPERM; a symlink-free app install was too slow and was stopped. JSON schema, URL, HTML/PDF, and targeted relative-link validation all completed.
- Follow-up: changed the Remember interview guide's
PDF 웹에서 열기and
연결 학습: 예상 질문 ↔ 스터디 지도 links, plus both reciprocal links in the study map, to llm-wiki.hwlabs.dev. Updated both 10-page PDF copies in place; their two page-1 URI annotations now use the new domain.
2026-08-08 — Confluence EN→DT space migration (copy-only) + labgit doc enrichment
EN space (분석엔진팀-Beta, 4023779360) is being retired; documentation moved back to DT (AI분석엔진팀, 2363850760). Copy-only — nothing in EN was modified or deleted. [TAG|TAG] title prefixes were stripped on the DT copies (user rule); Korean content-markers like [검토]/[DAT-1117] kept.
- Inventory: EN 188 pages vs DT 2,147 pages. Final disposition:
96 copied, 48 skipped as duplicates (untouched 2026-07-06 DT→EN copies, 0 edited in EN afterwards), 10 skipped structurally (homepage, 4 sprint dashboards, 3 empty containers, 1 template, 1 example epic), 30 skipped after body inspection (Jira epic/JQL link skeletons — including most [TRBL|*] customer-issue pages, which turned out to be ticket shells), 4 blocked by the Anthropic MCP gateway's Cloudflare WAF (page bodies with credential-URL/PEM/SQL-like patterns): BTS 모니터링 v2 구축 런북 (4052582420), Labrador ETL Platform 전체 설계 방안 (4082368771), DML Broker 가이드 (4076765218), C#(NuGet) 크롤러 온보딩 가이드 (4156620917) → manual Confluence-UI copy needed.
- Destinations follow DT's existing sections: 파일 컴포넌트 (2669084700, 30),
라이브러리 컴포넌트 (2668986372, 28), Binlog Transfer System (2830303233) + Monitoring (2692448342) 10, Data Infra (2650439727) + Database 통합 (3892871170) 12, Data Platform/개발환경/취약점/Data 검토·분석/스케일업팁스 16. EN parent-child hierarchy preserved where both sides were copied; children of skipped epics were re-parented to the section root.
- Ops notes: org monthly spend limit killed 3 of 5 batch agents mid-run;
recovery = diff manifests against DT created-today listing, then resume with per-entry checkpoint files. WAF lesson: curl with a URL (and especially basic-auth/user:pass@ URLs, PEM headers, DELETE/DROP SQL) in a page body reproducibly blocks MCP create/update POSTs; removing the curl line was enough for the labgit usage doc, but signature-dense runbooks cannot pass at all.
- labgit doc enrichment (on the DT copies): design doc 4198465696 gained an
as-built mermaid topology section (single labgit entry + nginx njs md5 parity routing + broker/seeder + per-server Forgejo/PG + weekly pull-mirror, with deltas vs the draft architecture flagged); usage doc 4198170931 gained a git tag/pull section (ls-remote --tags, fetch --tags + /x/ensure freshness flow, tag-snapshot via shallow clone / Forgejo archive URL / worktree, and full-ref copy via clone --mirror).