fix: prevent dictionary false positives + add tunnel-doctor WSL/Go findings

transcript-fixer:
- Add common_words.py safety system (blocks common Chinese words from dictionary)
- Add --audit command to scan existing dictionary for risky rules
- Add --force flag to override safety checks explicitly
- Fix substring corruption (产线数据→产线束据, 现金流→现现金流)
- Unified position-aware replacement with _already_corrected() check
- 69 tests covering all production false positive scenarios

tunnel-doctor:
- Add Step 5A: Tailscale SSH proxy silent failure on WSL
- Add Step 5B: App Store vs Standalone Tailscale on macOS
- Add Go net/http NO_PROXY CIDR incompatibility warning
- Add utun interface identification (MTU 1280=Tailscale, 4064=Shadowrocket)
- Fix "Four→Five Conflict Layers" inconsistency in reference doc
- Add complete working Shadowrocket config reference

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
daymade
2026-03-21 15:56:38 +08:00
parent d4634cb00b
commit a496c91cae
12 changed files with 1596 additions and 44 deletions

View File

@@ -37,12 +37,24 @@ def create_argument_parser() -> argparse.ArgumentParser:
dest="add_correction",
help="Add correction"
)
parser.add_argument(
"--force",
action="store_true",
default=False,
help="Force --add even when safety checks detect risks (common word, substring collision)"
)
parser.add_argument(
"--list",
action="store_true",
dest="list_corrections",
help="List all corrections"
)
parser.add_argument(
"--audit",
action="store_true",
dest="audit_dictionary",
help="Audit all active corrections for false positive risks (common words, short text, substring collisions)"
)
# Correction workflow
parser.add_argument(