[中] 分析缓存键不含模型与算法版本

Open Beginner friendly
#31 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
68/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
python
Domain
desktop

Research direction

Start in windows/birdlock/core/analysis.py: read ANALYSIS_VERSION, then follow how Analyzer.fingerprint builds the key consumed by ProxyCache. Decide whether to hash the model weight files into that key or add a release-time check that the constant was bumped; the audit thread suggests either is acceptable. Done looks like swapping weights without touching the version constant causing existing projects to re-analyse instead of serving the old cache, verified by reopening a project and observing a fresh analysis pass.

Written by the indexing model from the issue text.

Description

位置:windows/birdlock/core/analysis.py(ANALYSIS_VERSION;缓存键见 Analyzer.fingerprint / ProxyCache)

现象:缓存键由素材指纹决定,算法/模型更新需要手工提升 ANALYSIS_VERSION。若发布流程没有强制在模型更新时提升版本,升级后会继续复用旧缓存,用户不点「重新识别」就看不到模型改进。

复现:替换模型权重但不改版本常量,打开已有工程观察是否重新分析。

建议:把模型文件 SHA256 或版本写进缓存键;或在发布检查里校验版本提升。

来源:2026-11-15 全仓只读审计,PR #7 未包含此项。 未在 Windows 实机复现,复现路径由代码审计推得。

Dominant language
Swift
Stars
2
Forks
2
Avg merge
1h 11m
Merged PRs (30d)
2

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from cyandee/BirdLock

All issues in cyandee/BirdLock

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.