LLM WikiAccess-protected knowledge portal

WIKI

Labrador Platform (k8s, data-platform, scrapers, sqlmodel)

AI Summary Purpose Capture durable knowledge about the Labrador data platform how its four repos interact, the labrador sqlmodel queue refactor the most reusable engineering result , and the AI automated PR review system. Key points Four re

경로ai/wiki/projects/labrador-platform.md
카테고리Project
태그#ai-agent #ai-review #airflow #cicd #crawler #etl #infra #kubernetes #labrador #mysql #platform #portfolio #project #projects #security #wiki

# Labrador Platform (k8s, data-platform, scrapers, sqlmodel)

AI Summary

Purpose:

repos interact, the labrador-sqlmodel queue refactor (the most reusable engineering result), and the AI automated PR-review system.

Key points:

labrador-scrapers (ETL components built on that base, packaged as Docker images), labrador-data-platform (Airflow DAGs that run those images via DockerOperator/KubernetesPodOperator and load GatheringDB/DistributionDB), and k8s (Helm/scripts to install Airflow on Kubernetes with gitSync of DAGs).

on a kubeadm + Weave Net + Metrics Server cluster, dev/prod selected by a single PROFILE (namespaces airflow-dev vs airflow).

RecordUpdater did one SELECT per record (N+1), had unbounded recursion, per-batch schema inspection, and a qsize/empty race. It was replaced by a single INSERT ... ON DUPLICATE KEY UPDATE UPSERT path (RecordUpdater removed, ~220 lines deleted), bounded recursion (MAX_RECURSION_DEPTH=10), and atomic get_nowait() queue draining.

git diff (filtered, chunked for context limits) to Claude 3.5 Sonnet and posts review comments via Bitbucket REST API v2, as a first-pass filter to cut human-reviewer load.

Relevant when:

sqlmodel queue/UPSERT behavior, or on CI PR automation.

Do not read full document unless:

Linked documents:

insert·update count log shared by the crawler-lib-* library crawlers)

Open Questions

implementation and inline-comment support were still pending in the source note. Needs confirmation of production state.

in use for different contexts.

Details

Repo interactions

BaseRecord from labrador-sqlmodel.

and pushed to the devlabrador registry.

DockerOperator / KubernetesPodOperator on schedule and load results into GatheringDB / DistributionDB (MySQL family); data-quality checks happen here.

PV/PVC, Docker-in-Docker). gitSync pulls DAGs from Bitbucket.

K8s install flow

Helm on the node.

PV/PVC → (dev only) local-path-provisioner → dind service → Helm chart (KubernetesExecutor, gitSync, NodePort). dev uses airflow-dev namespace + local storage; prod uses airflow.

labrador-sqlmodel queue refactor (durable engineering result)

Old design (queueing.py): a TransactionManager fed RecordInserter (bulk_save_objects) and RecordUpdater consumer threads. Problems found:

one SELECT each → network round-trips and connection-pool pressure.

risk.

Refactor:

dropped); all records go through one path using insert(Model).values(...).on_duplicate_key_update(...) — a single native MySQL/MariaDB UPSERT (DB-specific, intentional).

qsize/empty checks.

multithreading.

AI automated PR review

(*.lock, images, dist/), chunk per file for the Claude context window.

(bugs, security, inefficient queries) — not summaries — answering in Korean.

Inline Comment is a harder follow-up).

logic; sends only the diff to cut API cost.

연결 문서

ProjectVulnerability Collection (OSV + OS Package Trackers)

AI Summary Purpose Capture durable design knowledge for collecting open source and OS package vulnerabilities from multiple upstream sources OSV, Alpine secdb, Debian Security Tracker, Ubuntu CVE Tracker and normalizing them into the compan

airflowcicdcollectioncrawler
ProjectLicense Collection & Analysis

AI Summary Purpose Capture durable knowledge about the open source license data pipeline license compatibility data, license DB ization, and the AI based license analysis redesign. Key points Three evolutionary stages over time 1. 2021 Lice

ai-reviewairflowcicdcollection
ProjectHome Server & Personal DevOps Homelab

AI Summary Purpose Capture durable knowledge about the personal home server self hosted Nextcloud, Google Drive mount and the Mac Mini DevOps homelab k3s + ArgoCD + GitHub Actions + AI PR review . Key points Self hosting stack Docker Nextcl

ai-agenthomeinfrakubernetes
ConceptCrawler Collection-Count Log (product/version insert·update)

AI Summary Purpose Define the shared per batch "collection count" log format emitted by the library crawlers crawler lib {golang,php,ruby,swift,dotnet} and how the insert vs update counts are derived. One parser handles all five crawlers. K

collectionconceptconceptscount
IndexProjects Index

AI Summary Purpose Index for ai/wiki/projects the durable, AI facing source docs for work and personal engineering projects. Key points Each entry below links to one project doc with purpose, problems, approach, decisions, tech, and status.

ai-reviewairflowcicdcrawler