Skip to main content

WLBS Behavior Graph Scanner - static + dynamic curvature analysis for Python/JS codebases

Project description


๐Ÿ”ฌ wlbs-scan

Stop fixing the wrong file.

wlbs-scan tells Claude exactly where the bug lives โ€”
before it wastes 10 attempts on the symptom.


PyPI Python License Benchmark Patent


English ย ยทย  ไธญๆ–‡ Chinese



The Problem in One Picture

 Test fails in:   rbac.py      โ† Claude edits here. Again. Again. Again.
 Bug lives in:    roles.py     โ† one import hop upstream. Never touched.
Without wlbs-scan                    With wlbs-scan
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€         โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
[attempt 1]  edit rbac.py   โœ—        wlbs advisory:
[attempt 2]  edit rbac.py   โœ—          ๐Ÿ“ symptom    โ†’  rbac.py
[attempt 3]  edit rbac.py   โœ—          โšก root cause  โ†’  roles.py  ฮบ=0.876
[attempt 4]  edit rbac.py   โœ—
[attempt 5]  edit rbac.py   โœ—        [attempt 1]  edit roles.py  โœ“  FIXED

๐Ÿ“Š Benchmark โ€” March 2026

5 tasks. Heldout filenames had zero overlap with training โ€” no memorization possible.

Baseline (symptom-first) wlbs-scan
Tasks solved 0 / 5 5 / 5
Success rate 0% 100%
Avg attempts to fix 2.0 1.0
First-try root-cause accuracy 33% 100%

Heldout tasks used fresh filenames (policy_grid, rule_sheet, calc_panel) โ€” never seen in training. Works on cross-file bugs (1 hop upstream) and same-file bugs alike.

โ–ถ See a real advisory output
wlbs advisory ยท heldout_rule_widget
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  Symptom file   :  widget_entry.py
  Suggested fix  :  rule_sheet.py   โ† upstream, 1 hop
  Confidence     :  0.876

  Reasoning:
    ยท symptom in widget_entry; upstream candidate rule_sheet 1 hop away
    ยท rule_sheet historical lift: 0.660 โ†’ 1.000
    ยท routing policy confidence: 0.750

  Result: โœ“ fixed in 1 attempt
          (baseline: 3 attempts, still failed)
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

โšก Works With Claude โ€” 3 Commands

# 1. Install
pip install wlbs-scan

# 2. Scan your project
wlbs bug

# 3. Get advisory โ†’ paste into Claude
wlbs fix

Claude now knows which file to open first. Not the symptom. The cause.


๐Ÿš€ How It Works

wlbs-scan builds a live risk map from your real failure history, mapped onto the import graph.

  your codebase
       โ”‚
       โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚  dependency graph   โ”‚  โ† import relationships between files
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
             โ”‚  test failure signal
             โ”‚  propagates upstream
             โ”‚  ฮ”ฮบ = ฮฑ ยท ฮป^d
             โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚            risk map                     โ”‚
  โ”‚                                         โ”‚
  โ”‚   roles.py    ฮบ = 0.876   โšก singularity โ”‚  โ† fix this
  โ”‚   rbac.py     ฮบ = 0.312                 โ”‚
  โ”‚   utils.py    ฮบ = 0.091                 โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
             โ”‚
             โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚   wlbs advisory     โ”‚  โ†’ paste into Claude
  โ”‚   "Open roles.py    โ”‚
  โ”‚    first. ฮบ=0.876"  โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Every file gets a curvature score ฮบ โˆˆ [0, 1]. When a test fails, the signal travels upstream through the import graph with exponential decay by hop distance. A singularity (ฮบ โ‰ฅ 0.75, sustained) = structural fragility, not a random fluke. Fix it now.


๐ŸŽฏ Features

Feature
๐Ÿ—บ๏ธ Risk map ฮบ score + singularity flag for every file
๐Ÿ” Root-cause routing Points to the source, not the symptom
๐Ÿค– Claude-ready advisory One command โ†’ exact file for Claude to fix first
๐Ÿ“ˆ Continual learning Gets smarter with every test run
๐Ÿ”— Dependency-aware backprop Failure signals travel the import graph
๐Ÿ”ฅ Singularity detection Early warning on structurally fragile files
๐ŸŒ Shared experience (Pro) Patterns distilled from community bug-fix sessions
๐Ÿšฆ CI gate Block merges on singularity detection
๐Ÿ“Š Heatmap dashboard (Pro) Visual risk surface of your whole codebase

๐Ÿ’ป Quick Start

1. Install

pip install wlbs-scan

No extra dependencies. Works fully offline. Python 3.8+.

2. Sign up โ€” free, no password, no credit card

wlbs begin
Email: you@example.com
โœ“  Verification code sent
Code: 482910
โœ“  Account created ยท tier: free
โœ“  Credentials saved to ~/.wlbs/config.json
โœ“  pytest plugin configured automatically

Run: wlbs bug

Credentials auto-saved. Run wlbs begin again on any new machine to sign back in.

3. Scan your project

wlbs bug
# or a specific directory:
wlbs bug src/
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
  wlbs-scan v0.6.3  ยท  312 nodes  ยท  1 singularity โšก
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
  RISK        ฮบ       FAIL  FIX   NODE
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  HIGH  0.821  โšก        4    1   auth.RBACManager
  HIGH  0.774  โš          2    0   db.Session
  MED   0.631             1    1   api.router
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

โšก = singularity (structural โ€” fix urgently)
ฮบ โ‰ฅ 0.75 = HIGH   ฮบ โ‰ฅ 0.55 = MED

4. Get the fix advisory โ€” paste into Claude

wlbs fix
  auth.RBACManager  ฮบ=0.821
  โ†’ Open auth/permissions.py first (upstream, 1 hop)
  โ†’ grant() silently fails when roles=None โ€” KeyError suppressed
  โ†’ Related: db.Role, auth.policy

5. Auto-record test results

wlbs . --pytest tests/

Every pass and fail is recorded automatically. The risk map improves with every run.


๐Ÿ“‹ All Commands

Command What it does
wlbs begin Sign up + auto-configure pytest
wlbs bug Scan project, print risk map
wlbs bug src/ Scan a specific directory
wlbs fix Advisory output ready to paste into Claude
wlbs . --pytest tests/ Run tests + auto-record results
wlbs . --history Show what the system has learned
wlbs . --diff Curvature delta since last scan
wlbs . --blame src/foo.py Line-level git attribution for risky files
wlbs . --export-html out.html Visual HTML risk report
wlbs . --watch Re-scan on every file save
wlbs . --lang js Scan JS/TS codebase
wlbs . --ci Exit 1 on singularity (CI gate)
wlbs . --context src/foo.py Resolution-decay context for a file
wlbs . --dashboard Heatmap web UI (Pro)
wlbs . --status Account tier + points balance
wlbs --version Print version

๐Ÿ†“ Free vs Pro

Feature Free Pro ($9.9/mo)
Local risk scan + singularity detection โœ… โœ…
Claude-ready advisory output โœ… โœ…
Auto-record pytest results โœ… โœ…
Local world-line history โœ… โœ…
Fix suggestions Local only โ˜๏ธ Cloud-enhanced
Shared experience library โœ— โœ…
Rule downloads after each session โœ— โœ…
Dashboard (--dashboard) โœ— โœ…
Points earn rate 0.3ร— 0.5ร—

Points: every trace upload earns points. 100 pts = 1 free Pro key (30 days). Resets Dec 31.

Upgrade: email valhuang@kaiwucl.com or WeChat val001813


๐Ÿ”ง CI Integration

# .github/workflows/ci.yml
- name: wlbs risk gate
  run: wlbs . --ci --pytest tests/
  # exits 1 if a singularity is detected โ€” blocks the merge
# .git/hooks/pre-commit
wlbs . --ci

๐Ÿ“„ Research & License

Paper: World-Line Behavior Space: A Unified Framework for Continual Learning and Spatial Root-Cause Attribution ยท arXiv cs.SE/cs.AI ยท March 2026
Patents: CN 2026103746505 ยท CN 2026103756225
Self-validate: python -m wlbs_scan.validate โ€” all 15 paper claims pass on clean install.

BSL 1.1 โ€” free for non-commercial use, research, internal evaluation. Auto-converts to Apache 2.0 on 2029-01-01.


๐Ÿ‘ค Author

Zhongchang Huang (้ป„ไธญๅธธ)
valhuang@kaiwucl.com ยท WeChat: val001813
github.com/val1813/wlbs-cli






๐Ÿ”ฌ wlbs-scan

ๅˆซๅ†ไฟฎ้”™ๆ–‡ไปถไบ†ใ€‚

wlbs-scan ็ฒพ็กฎๅ‘Š่ฏ‰ Claude ่ฏฅๅŽปๅ“ช้‡Œๆ‰พ bug โ€”โ€”
ไธๅ†ๆตช่ดน 10 ๆฌกๅฐ่ฏ•ไฟฎ็—‡็Šถๆ–‡ไปถใ€‚


PyPI Python


ไธ€ๅผ ๅ›พ่ฏดๆธ…้—ฎ้ข˜

 ๆต‹่ฏ•ๆŠฅ้”™ไฝ็ฝฎ๏ผš   rbac.py     โ† Claude ๅœจ่ฟ™้‡Œไธ€้้ๆ”น๏ผŒๆ”นไธๅฅฝ
 Bug ็œŸๆญฃๅœจ๏ผš    roles.py    โ† ไธŠๆธธไธ€่ทณ๏ผŒไปŽๆฅๆฒกไบบ็œ‹ๅฎƒ
ๆฒกๆœ‰ wlbs-scan                        ๆœ‰ wlbs-scan
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€         โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
[็ฌฌ1ๆฌก]  ๆ”น rbac.py   โœ—               wlbs ๅปบ่ฎฎ๏ผš
[็ฌฌ2ๆฌก]  ๆ”น rbac.py   โœ—                 ๐Ÿ“ ็—‡็Šถๆ–‡ไปถ  โ†’  rbac.py
[็ฌฌ3ๆฌก]  ๆ”น rbac.py   โœ—                 โšก ๆ นๅ› ๆ–‡ไปถ  โ†’  roles.py  ฮบ=0.876
[็ฌฌ4ๆฌก]  ๆ”น rbac.py   โœ—
[็ฌฌ5ๆฌก]  ๆ”น rbac.py   โœ—               [็ฌฌ1ๆฌก]  ๆ”น roles.py  โœ“  ไฟฎๅฅฝไบ†

๐Ÿ“Š ๅŸบๅ‡†ๆต‹่ฏ• โ€” 2026ๅนด3ๆœˆ

5ไธชไปปๅŠก๏ผŒHeldout ๆ–‡ไปถๅไธŽ่ฎญ็ปƒ้›†้›ถ้‡ๅ  โ€” ไธๅฏ่ƒฝ้ ่ฎฐๅฟ†ไฝœๅผŠใ€‚

ๅฏน็…ง็ป„๏ผˆsymptom-first๏ผ‰ wlbs-scan
ไปปๅŠกๅฎŒๆˆๆ•ฐ 0 / 5 5 / 5
ๆˆๅŠŸ็އ 0% 100%
ๅนณๅ‡ไฟฎๅคๅฐ่ฏ•ๆฌกๆ•ฐ 2.0 1.0
้ฆ–ๆฌกๅ‘ฝไธญๆ นๅ› ๅ‡†็กฎ็އ 33% 100%

Heldout ไปปๅŠกๅ…จ็”จ่ฎญ็ปƒ้›†ไปŽๆœชๅ‡บ็Žฐ็š„ๆ–ฐๆ–‡ไปถๅ๏ผˆpolicy_gridใ€rule_sheetใ€calc_panel๏ผ‰ใ€‚่ทจๆ–‡ไปถ bug๏ผˆไธŠๆธธ1่ทณ๏ผ‰ๅ’ŒๅŒๆ–‡ไปถ bug ๅ‡ๆˆๅŠŸใ€‚ไธๆ˜ฏ่ƒŒ็ญ”ๆกˆ๏ผŒๆ˜ฏ็œŸๆญฃๅญฆไผšไบ†ใ€‚

โ–ถ ๆŸฅ็œ‹็œŸๅฎž็š„ advisory ่พ“ๅ‡บ
wlbs ๅปบ่ฎฎ ยท heldout_rule_widget ไปปๅŠก
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  ็—‡็Šถๆ–‡ไปถ   :  widget_entry.py
  ๅปบ่ฎฎๆฃ€ๆŸฅ   :  rule_sheet.py   โ† ไธŠๆธธ๏ผŒ่ท็ฆป 1 ่ทณ
  ็ฝฎไฟกๅบฆ     :  0.876

  ๆŽจ็†ไพๆฎ๏ผš
    ยท ็—‡็Šถๅœจ widget_entry๏ผŒไธŠๆธธๅ€™้€‰ rule_sheet ่ท็ฆป 1 ่ทณ
    ยท rule_sheet ๅކๅฒ lift๏ผš0.660 โ†’ 1.000
    ยท ่ทฏ็”ฑ็ญ–็•ฅ็ฝฎไฟกๅบฆ๏ผš0.750

  ็ป“ๆžœ๏ผšโœ“ 1 ๆฌกไฟฎๅคๅฎŒๆˆ
        ๏ผˆๅฏน็…ง็ป„๏ผš3ๆฌก๏ผŒไปๆœชไฟฎๅฅฝ๏ผ‰
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

โšก ้…ๅˆ Claude ไฝฟ็”จ โ€” ไธ‰ๆกๅ‘ฝไปค

# 1. ๅฎ‰่ฃ…
pip install wlbs-scan

# 2. ๆ‰ซๆ้กน็›ฎ
wlbs bug

# 3. ่Žทๅ–ๅปบ่ฎฎ โ†’ ็ฒ˜็ป™ Claude
wlbs fix

Claude ็Žฐๅœจ็Ÿฅ้“่ฏฅๅ…ˆๆ‰“ๅผ€ๅ“ชไธชๆ–‡ไปถไบ†ใ€‚ไธๆ˜ฏ็—‡็Šถๆ–‡ไปถ๏ผŒๆ˜ฏๆ นๅ› ๆ–‡ไปถใ€‚


๐Ÿš€ ๅŽŸ็†

wlbs-scan ๆŠŠไฝ ็œŸๅฎž็š„ๅคฑ่ดฅๅކๅฒๆ˜ ๅฐ„ๅˆฐไพ่ต–ๅ›พไธŠ๏ผŒๅปบ็ซ‹ๅฎžๆ—ถ้ฃŽ้™ฉๅ›พใ€‚

  ไฝ ็š„ไปฃ็ ๅบ“
       โ”‚
       โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚      ไพ่ต–ๅ›พ         โ”‚  โ† ๆ–‡ไปถไน‹้—ด็š„ import ๅ…ณ็ณป
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
             โ”‚  ๆต‹่ฏ•ๅคฑ่ดฅไฟกๅท
             โ”‚  ๅ‘ไธŠๆธธไผ ๆ’ญ
             โ”‚  ฮ”ฮบ = ฮฑ ยท ฮป^d
             โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚              ้ฃŽ้™ฉๅ›พ                     โ”‚
  โ”‚                                         โ”‚
  โ”‚   roles.py    ฮบ = 0.876   โšก ๅฅ‡็‚น        โ”‚  โ† ไฟฎ่ฟ™้‡Œ
  โ”‚   rbac.py     ฮบ = 0.312                 โ”‚
  โ”‚   utils.py    ฮบ = 0.091                 โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
             โ”‚
             โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚    ็ป™ Claude ็š„ๅปบ่ฎฎ  โ”‚  โ†’ ็›ดๆŽฅ็ฒ˜็ป™ Claude
  โ”‚   "ๅ…ˆๆ‰“ๅผ€ roles.py  โ”‚
  โ”‚    ็ฝฎไฟกๅบฆ 0.876"    โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆฏไธชๆ–‡ไปถๆœ‰ไธ€ไธชๆ›ฒ็އ ฮบ โˆˆ [0, 1]ใ€‚ๆต‹่ฏ•ๅคฑ่ดฅๆ—ถไฟกๅทๆฒฟ import ๅ›พๅ‘ไธŠๆธธไผ ๆ’ญ๏ผŒๆŒ‰่ทณๆ•ฐๆŒ‡ๆ•ฐ่กฐๅ‡๏ผˆฮ”ฮบ = ฮฑ ยท ฮป^d๏ผ‰ใ€‚ๅฅ‡็‚น๏ผˆฮบ โ‰ฅ 0.75๏ผŒๆŒ็ปญๅคš่ฝฎ๏ผ‰= ็ป“ๆž„ๆ€ง่„†ๅผฑ๏ผŒ็ซ‹ๅณไฟฎใ€‚


๐ŸŽฏ ๆ ธๅฟƒๅŠŸ่ƒฝ

ๅŠŸ่ƒฝ
๐Ÿ—บ๏ธ ้ฃŽ้™ฉๅ›พ ๆฏไธชๆ–‡ไปถ็š„ ฮบ ๅˆ†ๅ€ผ + ๅฅ‡็‚นๆ ‡่ฎฐ
๐Ÿ” ๆ นๅ› ่ทฏ็”ฑ ๅฎšไฝไธŠๆธธๆ นๆบ๏ผŒไธๆ˜ฏไธ‹ๆธธ็—‡็Šถ
๐Ÿค– Claude ไธ“ๅฑžๅปบ่ฎฎ ไธ€ๆกๅ‘ฝไปค๏ผŒๅ‘Š่ฏ‰ Claude ๅ…ˆๆ‰“ๅผ€ๅ“ชไธชๆ–‡ไปถ
๐Ÿ“ˆ ๆŒ็ปญๅญฆไน  ๆฏๆฌกๆต‹่ฏ•่‡ชๅŠจๆ›ดๆ–ฐ๏ผŒ่ถŠ็”จ่ถŠๅ‡†
๐Ÿ”— ไพ่ต–ๆ„Ÿ็Ÿฅไผ ๆ’ญ ๅคฑ่ดฅไฟกๅทๆฒฟ import ๅ›พไผ ๆ’ญ
๐Ÿ”ฅ ๅฅ‡็‚นๆฃ€ๆต‹ ็ป“ๆž„ๆ€ง่„†ๅผฑๆ–‡ไปถๅ†ๆฌกๅดฉๆމไน‹ๅ‰้ข„่ญฆ
๐ŸŒ ๅ…ฑไบซ็ป้ชŒๅบ“ (Pro) ็คพๅŒบ็œŸๅฎž bug ไฟฎๅค็ป้ชŒๆ็‚ผ็š„่ง„ๅˆ™
๐Ÿšฆ CI ้—จๆŽง ๆฃ€ๆต‹ๅˆฐๅฅ‡็‚นๆ—ถ้˜ปๆ–ญๅˆๅนถ
๐Ÿ“Š ็ƒญๅŠ›ๅ›พ Dashboard (Pro) ไปฃ็ ๅบ“้ฃŽ้™ฉ้ขๅฏ่ง†ๅŒ–

๐Ÿ’ป ๅฟซ้€Ÿๅผ€ๅง‹

1. ๅฎ‰่ฃ…

pip install wlbs-scan

ๆ— ้ขๅค–ไพ่ต–ใ€‚ๆœฌๅœฐๆ‰ซๆๅฎŒๅ…จ็ฆป็บฟใ€‚Python 3.8+ใ€‚

2. ๆณจๅ†Œ โ€” ๅ…่ดน๏ผŒๆ— ๅฏ†็ ๏ผŒๆ— ไฟก็”จๅก

wlbs begin
Email: ไฝ ็š„้‚ฎ็ฎฑ@example.com
โœ“  ้ชŒ่ฏ็ ๅทฒๅ‘้€
Code: 482910
โœ“  ่ดฆๅทๅทฒๅˆ›ๅปบ ยท tier: free
โœ“  ๅ‡ญ่ฏไฟๅญ˜่‡ณ ~/.wlbs/config.json
โœ“  pytest ๆ’ไปถๅทฒ่‡ชๅŠจ้…็ฝฎ

่ฟ่กŒ๏ผšwlbs bug

ๅ‡ญๆฎ่‡ชๅŠจไฟๅญ˜ใ€‚ๆขๆ–ฐๆœบๅ™จๅ†่ท‘ไธ€ๆฌก wlbs begin ๅณๅฏ้‡ๆ–ฐ็™ปๅฝ•ใ€‚

3. ๆ‰ซๆ้กน็›ฎ

wlbs bug
# ๆˆ–ๆŒ‡ๅฎš็›ฎๅฝ•๏ผš
wlbs bug src/
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
  wlbs-scan v0.6.3  ยท  312 ไธช่Š‚็‚น  ยท  1 ไธชๅฅ‡็‚น โšก
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
  ้ฃŽ้™ฉ         ฮบ      ๅคฑ่ดฅ  ไฟฎๅค  ่Š‚็‚น
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  HIGH  0.821  โšก       4    1   auth.RBACManager
  HIGH  0.774  โš         2    0   db.Session
  MED   0.631            1    1   api.router
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

โšก = ๅฅ‡็‚น๏ผˆ็ป“ๆž„ๆ€ง๏ผŒ็ซ‹ๅณไฟฎ๏ผ‰
ฮบ โ‰ฅ 0.75 = HIGH   ฮบ โ‰ฅ 0.55 = MED

4. ่Žทๅ–ๅปบ่ฎฎ โ€” ็›ดๆŽฅ็ฒ˜็ป™ Claude

wlbs fix
  auth.RBACManager  ฮบ=0.821
  โ†’ ๅ…ˆๆ‰“ๅผ€ auth/permissions.py๏ผˆไธŠๆธธไพ่ต–๏ผŒ่ท็ฆป 1 ่ทณ๏ผ‰
  โ†’ grant() ๅœจ roles=None ๆ—ถ้™้ป˜ๅคฑ่ดฅ๏ผŒKeyError ่ขซๅž
  โ†’ ็›ธๅ…ณ่Š‚็‚น๏ผšdb.Role, auth.policy

5. ่ท‘ๆต‹่ฏ•ๆ—ถ่‡ชๅŠจ่ฎฐๅฝ•

wlbs . --pytest tests/

ๆฏๆฌกๆต‹่ฏ•็ป“ๆžœ่‡ชๅŠจ่ฎฐๅฝ•๏ผŒ้ฃŽ้™ฉๅ›พๆŒ็ปญๆ›ดๆ–ฐ๏ผŒ่ถŠ็”จ่ถŠๅ‡†ใ€‚


๐Ÿ“‹ ๅ…จ้ƒจๅ‘ฝไปค

ๅ‘ฝไปค ๅŠŸ่ƒฝ
wlbs begin ๆณจๅ†Œ + ่‡ชๅŠจ้…็ฝฎ pytest
wlbs bug ๆ‰ซๆ + ้ฃŽ้™ฉๅ›พ
wlbs bug src/ ๆ‰ซๆๆŒ‡ๅฎš็›ฎๅฝ•
wlbs fix ็”Ÿๆˆๅฏ็›ดๆŽฅ็ฒ˜็ป™ Claude ็š„ไฟฎๅคๅปบ่ฎฎ
wlbs . --pytest tests/ ่ท‘ๆต‹่ฏ• + ่‡ชๅŠจ่ฎฐๅฝ•
wlbs . --history ๆŸฅ็œ‹ๅญฆไน ๅކๅฒ
wlbs . --diff ๆ›ฒ็އๅ˜ๅŒ–ๅฏนๆฏ”
wlbs . --blame src/foo.py ่กŒ็บง git ๅฝ’ๅ› 
wlbs . --export-html out.html HTML ๅฏ่ง†ๅŒ–ๆŠฅๅ‘Š
wlbs . --watch ๆ–‡ไปถๅ˜ๅŒ–ๆ—ถ่‡ชๅŠจ้‡ๆ‰ซ
wlbs . --lang js ๆ‰ซๆ JS/TS ้กน็›ฎ
wlbs . --ci ๅฅ‡็‚นๆ—ถ exit 1๏ผˆCI ้—จๆŽง๏ผ‰
wlbs . --context src/foo.py ่ฏฅๆ–‡ไปถ็š„ๅˆ†่พจ็އ่กฐๅ‡ไธŠไธ‹ๆ–‡
wlbs . --dashboard ็ƒญๅŠ›ๅ›พ Web ็•Œ้ข (Pro)
wlbs . --status ่ดฆๆˆท็งฏๅˆ†ไฝ™้ข
wlbs --version ๆ‰“ๅฐ็‰ˆๆœฌๅท

๐Ÿ†“ ๅ…่ดน็‰ˆ vs Pro

ๅŠŸ่ƒฝ ๅ…่ดน็‰ˆ Pro๏ผˆยฅ70/ๆœˆ๏ผ‰
ๆœฌๅœฐ้ฃŽ้™ฉๆ‰ซๆ + ๅฅ‡็‚นๆฃ€ๆต‹ โœ… โœ…
Claude ไธ“ๅฑž advisory ่พ“ๅ‡บ โœ… โœ…
pytest ่‡ชๅŠจ่ฎฐๅฝ• โœ… โœ…
ๆœฌๅœฐไธ–็•Œ็บฟๅކๅฒ โœ… โœ…
ไฟฎๅคๅปบ่ฎฎ ไป…ๆœฌๅœฐ โ˜๏ธ ไบ‘็ซฏๅขžๅผบ
ๅ…ฑไบซ็ป้ชŒๅบ“ โœ— โœ…
่ง„ๅˆ™่‡ชๅŠจไธ‹่ฝฝ โœ— โœ…
็ƒญๅŠ›ๅ›พ Dashboard โœ— โœ…
็งฏๅˆ†่Žทๅ–้€Ÿ็އ 0.3ร— 0.5ร—

็งฏๅˆ†๏ผš ๆฏๆฌกไธŠไผ ่ฝจ่ฟน่‡ชๅŠจๅพ—ๅˆ†๏ผŒ100 ๅˆ†ๅ…‘ๆข Pro key๏ผˆ30 ๅคฉ๏ผ‰๏ผŒๆฏๅนด 12 ๆœˆ 31 ๆ—ฅๆธ…้›ถใ€‚

ๅ‡็บง Pro๏ผš valhuang@kaiwucl.com ยท ๅพฎไฟก val001813


๐Ÿ”ง CI ้›†ๆˆ

# .github/workflows/ci.yml
- name: wlbs ้ฃŽ้™ฉ้—จๆŽง
  run: wlbs . --ci --pytest tests/
  # ๆฃ€ๆต‹ๅˆฐๅฅ‡็‚นๆ—ถ exit 1๏ผŒ้˜ปๆ–ญ PR ๅˆๅนถ
# .git/hooks/pre-commit
wlbs . --ci

๐Ÿ“„ ็ ”็ฉถ & ๅ่ฎฎ

่ฎบๆ–‡๏ผš World-Line Behavior Space: A Unified Framework for Continual Learning and Spatial Root-Cause Attribution ยท arXiv cs.SE/cs.AI ยท 2026ๅนด3ๆœˆ
ไธ“ๅˆฉ๏ผš CN 2026103746505 ยท CN 2026103756225
่‡ช้ชŒ่ฏ๏ผš python -m wlbs_scan.validate โ€” ๅ…จ้ƒจ 15 ๆก paper claim ้€š่ฟ‡ใ€‚

BSL 1.1๏ผš้žๅ•†ไธš็”จ้€”ๅ…่ดน๏ผŒ2029-01-01 ่‡ชๅŠจ่ฝฌไธบ Apache 2.0ใ€‚


๐Ÿ‘ค ่”็ณปไฝœ่€…

้ป„ไธญๅธธ (Zhongchang Huang)
valhuang@kaiwucl.com ยท ๅพฎไฟก๏ผšval001813
github.com/val1813/wlbs-cli

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wlbs_scan-0.6.6.tar.gz (13.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wlbs_scan-0.6.6-py3-none-any.whl (50.5 kB view details)

Uploaded Python 3

File details

Details for the file wlbs_scan-0.6.6.tar.gz.

File metadata

  • Download URL: wlbs_scan-0.6.6.tar.gz
  • Upload date:
  • Size: 13.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for wlbs_scan-0.6.6.tar.gz
Algorithm Hash digest
SHA256 18ececdc2680041b0d4c9dbfd3c64df801fc698835be2ed62cad9c6987814976
MD5 54b35954546aa041e6be95dbe334430a
BLAKE2b-256 1a1b17e9f429261a11caa79de2a985a323b2af1b704f90122ed63eba775ee1df

See more details on using hashes here.

File details

Details for the file wlbs_scan-0.6.6-py3-none-any.whl.

File metadata

  • Download URL: wlbs_scan-0.6.6-py3-none-any.whl
  • Upload date:
  • Size: 50.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for wlbs_scan-0.6.6-py3-none-any.whl
Algorithm Hash digest
SHA256 4e3970f2c0ce37f1b8fc8039c8e915cbd216e107896fdba52c294c56290b6506
MD5 5fcba6682cd6b2a9612414d787961128
BLAKE2b-256 f30a0682f10c764e12c25bcb38df06afe85220f264b2417a1f2bbf6372a3a3b3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page