# Graph Report - juzi (2026-10-12) ## Corpus Check - 66 files · ~4,184,136 words - Verdict: corpus is large enough that graph structure adds value. ## Summary - 1188 nodes · 2566 edges · 83 communities (66 shown, 17 thin omitted) - Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 179 edges (avg confidence: 0.53) - Token cost: 0 input · 0 output ## Graph Freshness - Built from commit: `7518dc23` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). ## Community Hubs (Navigation) - face-api.js - 线上闭环测试(不含真实微信授权) - app.js - skin-score.js - i - n - .runAndExtendWithFaceDetections - Box - admin.js - __awaiter - AgeGenderNet - lib/accounts.js - server.js - files - FaceLandmarks68 - .runAndExtendWithFaceDetection - 巨子测肤 · 1'me 在线肌肤测试 — UI 设计规范 - extractFaces - 1'me 在线肌肤测试 H5 - head-pose.js - build_fixtures.py - disposeUnusedWeightTensors - ComputeAllFaceDescriptorsTask - facepp-skinanalyze(旷视皮肤分析专业版调用技能) - 巨子测肤 · 1'me 语音播报内容设计文档 V1.0 - mobile-select.iife.min.js - wi - gen_voice.py - C - face-api.js 本地化依赖(h5/vendor/faceapi/) - ui-20261009/manifest.json - browser-failures.mjs - FaceMatcher - build-fixture.py - DetectSingleFaceLandmarksTask - ao - UI 外发版 10.09 图片资源 - FaceLandmark68Net - UI交互界面调整 - .predictAgeAndGender - test/accounts.js - export_psd_assets.py - .loadFromDisk - start-local.sh - PredictAllAgeAndGenderWithFaceAlignmentTask - PredictAllFaceExpressionsWithFaceAlignmentTask - recommendation.js - report-persistence.mjs - mobile-select/README.md - call_skinanalyze_3view.sh - 护理建议(全量文本,按需求摘抄) - UI 对齐 10.09 设计稿:调研与实施计划 - extractFaceTensors - report-ui.js - regression.js - .dispose - call_skinanalyze.sh - NeuralNetwork - 提交前 Review(2026-10-11) - e2e-browser.mjs - account-client.js - k - wechat-browser.mjs - ui-20261009.mjs - analyze-timeout.js - misans/README.md - .draw - production-loop.mjs - build_report_copy.py - TinyYolov2 - drawFaceExpressions - .toString - isValidNumber - 线上微信登录部署记录 - ComputeSingleFaceDescriptorTask - PredictAllFaceExpressionsTask ## God Nodes (most connected - your core abstractions) 1. `__awaiter()` - 59 edges 2. `__generator()` - 59 edges 3. `n()` - 37 edges 4. `r()` - 35 edges 5. `t()` - 33 edges 6. `i()` - 33 edges 7. `C()` - 32 edges 8. `toNetInput()` - 27 edges 9. `e()` - 22 edges 10. `loadRecords()` - 20 edges ## Surprising Connections (you probably didn't know these) - `loadRecords()` --indirect_call--> `it()` [INFERRED] h5/js/admin.js → h5/vendor/faceapi/face-api.js - `bind()` --indirect_call--> `a()` [INFERRED] h5/js/admin.js → h5/vendor/faceapi/face-api.js - `detectFrame()` --indirect_call--> `d()` [INFERRED] h5/js/app.js → h5/vendor/faceapi/face-api.js - `vizCompose()` --indirect_call--> `rh()` [INFERRED] h5/js/app.js → h5/vendor/faceapi/face-api.js - `vizCompose()` --indirect_call--> `w()` [INFERRED] h5/js/app.js → h5/vendor/faceapi/face-api.js ## Import Cycles - None detected. ## Communities (83 total, 17 thin omitted) ### Community 0 - "face-api.js" Cohesion: 0.02 Nodes (35): cn(), computeReshapedDimensions(), createBrowserEnv(), createFileSystem(), createNodejsEnv(), dr(), en(), FaceDetection() (+27 more) ### Community 1 - "线上闭环测试(不含真实微信授权)" Cohesion: 0.25 Nodes (7): 发现并修复, 可复现命令, 已通过的检查, 线上闭环测试(不含真实微信授权), 结论, 话术及仓库同步, 验证边界 ### Community 2 - "app.js" Cohesion: 0.06 Nodes (74): applyMirror(), armNudge(), beginDetect(), bindBackdropClose(), busyWithFlow(), captureFromVideo(), checkStill(), closeOverlay() (+66 more) ### Community 3 - "skin-score.js" Cohesion: 0.12 Nodes (45): acneGrade(), buildViewModel(), calcAcne(), calcContour(), calcSens(), calcSmooth(), calcTone(), calcWrinkles() (+37 more) ### Community 4 - "i" Cohesion: 0.09 Nodes (42): a(), bf(), cf(), d(), da(), dn(), DrawBox(), drawContour() (+34 more) ### Community 5 - "n" Cohesion: 0.11 Nodes (37): ae(), b(), be(), bi(), ce(), de(), e(), Ef() (+29 more) ### Community 7 - "Box" Cohesion: 0.10 Nodes (11): Box(), extendWithFaceDescriptor(), extendWithFaceDetection(), extendWithFaceLandmarks(), FaceLandmarks(), FaceRecognitionNet(), isWithFaceDetection(), isWithFaceLandmarks() (+3 more) ### Community 8 - "admin.js" Cohesion: 0.21 Nodes (28): ageText(), api(), bind(), closeDetail(), collectFilters(), dimsHtml(), doRetry(), dSec() (+20 more) ### Community 9 - "__awaiter" Cohesion: 0.14 Nodes (13): __awaiter(), extendWithFaceExpressions(), extractAllFacesAndComputeResults(), extractSingleFaceAndComputeResult(), fetchImage(), fetchJson(), fetchNetWeights(), fetchOrThrow() (+5 more) ### Community 10 - "AgeGenderNet" Cohesion: 0.05 Nodes (31): AgeGenderNet(), conv(), conv$1(), convDown(), convLayer(), convLayer$1(), convNoRelu(), convWithBatchNorm() (+23 more) ### Community 11 - "lib/accounts.js" Cohesion: 0.17 Nodes (19): atomic(), body(), cookie(), cookies(), crypto, fs, json(), login() (+11 more) ### Community 12 - "server.js" Cohesion: 0.08 Nodes (49): accounts, appendRecord(), callFacepp(), CRED, csvCell(), DATA_DIR, displaySkinAge(), dumpRaw() (+41 more) ### Community 13 - "files" Cohesion: 0.12 Nodes (15): files, analyze-fail, analyzing, countdown-321, hint-far, hint-front, hint-hold, hint-near (+7 more) ### Community 14 - "FaceLandmarks68" Cohesion: 0.19 Nodes (3): FaceLandmarks5(), FaceLandmarks68(), getCenterPoint() ### Community 15 - ".runAndExtendWithFaceDetection" Cohesion: 0.33 Nodes (5): allFacesMtcnn(), allFacesSsdMobilenetv1(), allFacesTinyYolov2(), detectAllFaces(), DetectSingleFaceTask() ### Community 16 - "巨子测肤 · 1'me 在线肌肤测试 — UI 设计规范" Cohesion: 0.15 Nodes (12): 1. 基准与尺寸换算, 2. 色彩规范, 3. 字体规范, 4. 组件切图(assets/svg/), 5. 图片素材(assets/images/,共 15 张), 6. 页面清单(design/ 下有整屏 PNG 预览), 7. 目录结构, 8. 还原建议 (+4 more) ### Community 17 - "extractFaces" Cohesion: 0.19 Nodes (19): awaitMediaLoaded(), bufferToImage(), createCanvas(), createCanvasFromMedia(), extractFaces(), extractImagePatches(), getContext2dOrThrow(), getEnv() (+11 more) ### Community 18 - "1'me 在线肌肤测试 H5" Cohesion: 0.05 Nodes (33): 10.09 新版 H5 实施与验收, 按确认项实现, 文档未定义部分的实施口径, 素材再生成, 验证命令, 产品推荐规则:肤龄基准与边界调整, 决策顺序, 后台与前端一致性 (+25 more) ### Community 19 - "head-pose.js" Cohesion: 0.33 Nodes (8): assertPoints(), check(), clamp(), dist(), estimate(), makeFrontal(), makeSide(), midpoint() ### Community 20 - "build_fixtures.py" Cohesion: 0.40 Nodes (9): build_case1(), build_case2(), build_truth(), col(), dump(), main(), parse_value(), set_path() (+1 more) ### Community 21 - "disposeUnusedWeightTensors" Cohesion: 0.06 Nodes (33): boxPredictionLayer(), decodeBoxesLayer(), depthwiseConvLayer(), disposeUnusedWeightTensors(), extractorsFactory$3(), extractorsFactory$5(), extractorsFactory$7(), extractorsFactory$9() (+25 more) ### Community 23 - "facepp-skinanalyze(旷视皮肤分析专业版调用技能)" Cohesion: 0.20 Nodes (9): 1. 凭据(统一管理), 2. 标准调用模板(全可选参数,每次都带), 2b. 三视图调用模板(正脸 + 双侧脸 → 下颌线), 3.1 本轮踩过的坑(务必避复), 3. 三维度 × 6 分类 P/S 计算(2026-09-26 生效,取代旧六维), 4. 产品分组公式, 5. Excel 报告铁律(必须遵守), 6. 其他 Agent 调用约定 (+1 more) ### Community 24 - "巨子测肤 · 1'me 语音播报内容设计文档 V1.0" Cohesion: 0.22 Nodes (8): 1. 音频格式约定(已定), 2. 播报清单(14 条), 3. 播放策略(前端已实现侧约定), 4. 生成验收, A. 步骤引导(进入每个拍照步骤时播,与屏幕步骤文案一致), B. 姿态提示(实时检测不通过时播,同一提示 4 秒内不重复), C. 拍摄与流程, 巨子测肤 · 1'me 语音播报内容设计文档 V1.0 ### Community 25 - "mobile-select.iife.min.js" Cohesion: 0.20 Nodes (16): _arrayLikeToArray(), _arrayWithHoles(), _arrayWithoutHoles(), _classCallCheck(), _createClass(), _defineProperties(), h(), _iterableToArray() (+8 more) ### Community 26 - "wi" Cohesion: 0.20 Nodes (12): Ci(), Ei(), Fi(), Ii(), ki(), pe(), Qt(), ri() (+4 more) ### Community 27 - "gen_voice.py" Cohesion: 0.30 Nodes (11): ndarray, Path, gen_countdown(), main(), normalize_clip(), 倒计时单独按字生成再拼接,避免「三、二、一」整句被读成播报腔、与提示音气质漂移。 与提示音共用同一 speaker + instruct;句间留约…, 裁掉过长首尾静音,保留 ≤150ms 边沿,避免提示显迟钝。, 响度归一 −16 LUFS + 转 MP3 48k CBR mono 22050Hz。 (+3 more) ### Community 28 - "C" Cohesion: 0.08 Nodes (33): bn(), Bo(), C(), cd(), cl(), co(), eo(), fn() (+25 more) ### Community 29 - "face-api.js 本地化依赖(h5/vendor/faceapi/)" Cohesion: 0.29 Nodes (6): face-api.js 本地化依赖(h5/vendor/faceapi/), 为什么本地化, 文件清单与体积, 来源与版本, 用法, 许可证 ### Community 30 - "ui-20261009/manifest.json" Cohesion: 0.33 Nodes (5): assets, document_size, layers, pages, source ### Community 33 - "build-fixture.py" Cohesion: 0.60 Nodes (4): main(), 递归缩放 result 内全部坐标:{left,top,width,height} 矩形与 {x,y} 点,与原数据同为整数。, scale_coords(), to_data_url() ### Community 36 - "ao" Cohesion: 0.33 Nodes (6): ao(), Do(), io(), oo(), so(), To() ### Community 37 - "UI 外发版 10.09 图片资源" Cohesion: 0.40 Nodes (4): UI 外发版 10.09 图片资源, 前端素材对应, 文件位置, 重新导出 ### Community 38 - "FaceLandmark68Net" Cohesion: 0.17 Nodes (3): FaceLandmark68Net(), PredictSingleAgeAndGenderWithFaceAlignmentTask(), PredictSingleFaceExpressionsWithFaceAlignmentTask() ### Community 39 - "UI交互界面调整" Cohesion: 0.40 Nodes (4): 1meAI测肤旷视UI问题反馈, UI交互界面调整, 交互, **设计** ### Community 40 - ".predictAgeAndGender" Cohesion: 0.28 Nodes (4): extendWithAge(), extendWithGender(), PredictAllAgeAndGenderTask(), PredictSingleAgeAndGenderTask() ### Community 41 - "test/accounts.js" Cohesion: 0.22 Nodes (9): assert, create, fs, http, os, path, ReportUI, SkinScore (+1 more) ### Community 42 - "export_psd_assets.py" Cohesion: 0.70 Nodes (4): bounds(), layer_at(), main(), save_image() ### Community 43 - ".loadFromDisk" Cohesion: 0.29 Nodes (3): ComposableTask(), getModelUris(), TinyFaceDetector() ### Community 44 - "start-local.sh" Cohesion: 0.50 Nodes (3): HOST, PORT, start-local.sh script ### Community 47 - "recommendation.js" Cohesion: 0.38 Nodes (6): assert, check(), missing, raw, SS, UI ### Community 48 - "report-persistence.mjs" Cohesion: 0.29 Nodes (6): child, dataRoot, fx, h5, ReportUI, require ### Community 53 - "护理建议(全量文本,按需求摘抄)" Cohesion: 0.10 Nodes (19): 5\.1 轮廓(紧塑力), 5\.2 皱纹(紧塑力), 5\.3 肤色(透亮感), 5\.4 平滑度(透亮感), 5\.5 水分(透亮感), 5\.6 泛红(稳韧力), 5\.7 痘痘(稳韧力), 6\.1 轮廓 (+11 more) ### Community 54 - "UI 对齐 10.09 设计稿:调研与实施计划" Cohesion: 0.11 Nodes (17): 1. 结论和依据, 2. 统一比较口径, 3. 逐页差异和调整内容, 4. 报告数据如何接到新 UI, 5. 登录与“我的报告”的真实能力缺口, 6. 原稿中需要整理的内容, 7. 实施顺序与交付物, 8. 验收定义 (+9 more) ### Community 55 - "extractFaceTensors" Cohesion: 0.29 Nodes (3): DetectAllFaceLandmarksTask(), extractFaceTensors(), isTensor3D() ### Community 56 - "report-ui.js" Cohesion: 0.90 Nodes (4): build(), count(), fill(), numeric() ### Community 57 - "regression.js" Cohesion: 0.60 Nodes (5): diffCtx(), loadJSON(), main(), okNum(), okStr() ### Community 58 - ".dispose" Cohesion: 0.16 Nodes (12): extractBoundingBoxes(), getSizesForScale(), iou(), nonMaxSuppression(), nonMaxSuppression$1(), normalize$1(), rescaleAndNormalize(), scale() (+4 more) ### Community 61 - "NeuralNetwork" Cohesion: 0.06 Nodes (28): createFaceDetectionNet(), createFaceRecognitionNet(), createMtcnn(), createSsdMobilenetv1(), createTinyFaceDetector(), createTinyYolov2(), extractConvParamsFactory(), extractFCParamsFactory() (+20 more) ### Community 62 - "提交前 Review(2026-10-11)" Cohesion: 0.40 Nodes (4): 仍需公网/业务确认, 已发现并修复, 提交前 Review(2026-10-11), 验证 ### Community 63 - "e2e-browser.mjs" Cohesion: 0.29 Nodes (4): EXPECTED, fails, pageErrors, pwRoot ### Community 64 - "account-client.js" Cohesion: 0.90 Nodes (4): browser(), init(), read(), request() ### Community 65 - "k" Cohesion: 0.13 Nodes (16): ba(), ca(), fa(), gn(), k(), kn(), pa(), tt() (+8 more) ### Community 66 - "wechat-browser.mjs" Cohesion: 0.40 Nodes (4): createAccounts, h5, require, root ### Community 68 - "analyze-timeout.js" Cohesion: 0.20 Nodes (7): assert, end, fs, path, source, start, vm ### Community 71 - "production-loop.mjs" Cohesion: 0.50 Nodes (3): artifacts, errors, samples ### Community 77 - "drawFaceExpressions" Cohesion: 0.50 Nodes (3): drawFaceExpressions(), FaceExpressions(), isWithFaceExpressions() ### Community 78 - ".toString" Cohesion: 0.50 Nodes (3): FaceMatch(), la(), pr() ### Community 79 - "isValidNumber" Cohesion: 0.33 Nodes (5): bgrToRgbTensor(), Dimensions(), isValidNumber(), isValidProbablitiy(), isWithGender() ### Community 80 - "线上微信登录部署记录" Cohesion: 0.29 Nodes (6): 初次部署时的凭据查找记录(现已由用户提供), 初次部署的线上检查(历史结果), 后续更新:已配置真实凭据, 已执行, 用户确认加入白名单后的复测, 线上微信登录部署记录 ## Knowledge Gaps - **183 isolated node(s):** `source`, `document_size`, `pages`, `assets`, `layers` (+178 more) These have ≤1 connection - possible missing edges or undocumented components. - **17 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ - **Why does `k()` connect `k` to `face-api.js`, `app.js`, `i`, `n`, `lib/accounts.js`?** _High betweenness centrality (0.061) - this node is a cross-community bridge._ - **Why does `r()` connect `n` to `face-api.js`, `i`, `AgeGenderNet`, `server.js`, `.toString`, `wi`, `C`?** _High betweenness centrality (0.050) - this node is a cross-community bridge._ - **Why does `renderReport()` connect `app.js` to `k`, `n`?** _High betweenness centrality (0.047) - this node is a cross-community bridge._ - **Are the 24 inferred relationships involving `n()` (e.g. with `newRecordId()` and `ae()`) actually correct?** _`n()` has 24 INFERRED edges - model-reasoned connections that need verification._ - **Are the 27 inferred relationships involving `r()` (e.g. with `handleExport()` and `handleRecordsQuery()`) actually correct?** _`r()` has 27 INFERRED edges - model-reasoned connections that need verification._ - **Are the 7 inferred relationships involving `t()` (e.g. with `renderReport()` and `e()`) actually correct?** _`t()` has 7 INFERRED edges - model-reasoned connections that need verification._ - **What connects `source`, `document_size`, `pages` to the rest of the system?** _183 weakly-connected nodes found - possible documentation gaps or missing edges._