fix(posts): consultant round-2 convergence (v1.2)
Deploy / build (push) Successful in 36s

01 payments (EN+ZH)
- idempotency gate is now a whitelist: only PENDING and a late-settled
  EXPIRED may enter fulfilment. Checking only for FULFILLED left the whole
  PROCESSING window open to a second queue push (consultant finding).
- k-of-n -> two-tier: both chassis anchors (SMBIOS board UUID + CPU
  architectural signature) matching is sufficient; if one anchor changed,
  every auxiliary digest must match. Aux dimension moved off the volatile
  OS GUID onto permanent NIC MAC.
- FSM diagram: RETRY_QUEUE branches from PROCESSING, not FULFILLED

02 comfyui covers (EN+ZH)
- subscribe the WebSocket BEFORE queue_prompt, settimeout(120),
  try/finally ws.close(), /history fallback on timeout: fixes the
  lost-terminal-frame hang and the per-image socket leak
- document Pillow half-wave rectified Laplacian (offset=0 clamps negative
  responses to 0) and why a signed float kernel would not work here
- replace the unverifiable "89 covers in 48 minutes" with the filesystem
  evidence: 216 assets (108 banner+OG pairs) inside a 25.9-min window
- ZH: drop the colloquial imperative; add self-bootstrapping note

03 traefik yaegi (ZH)
- the .traefik.yml contract paragraph and scoreThreshold 120 had only
  landed in the EN file; both now applied to ZH
- <summary> line counts corrected 29 -> 30 in both languages (verified
  programmatically for all eight code blocks)

layout
- standing provenance note in the site footer (sanitised client
  identifiers / production thresholds), per consultant Q7 ruling
This commit is contained in:
hoelee committed 2026-10-29 14:18:52 +08:00
1 parent a7077a3a1d
commit bfcf61c7ea
8 files changed
+123 -50

No files matched your search

@@ -120,10 +120,16 @@ plugins-local/
└── ...
```
该目录下的 `.traefik.yml` 清单属于同一份契约:其中的 `import` 字段指向加载器将要清洗取末段
的那个模块路径,`displayName` 与 `type` 又必须与动态配置中的引用一致。清单里的 import 路径
与源码的 `package` 声明只要有一处不一致,产生的错误与本文的连字符陷阱完全相同——都是那句
语焉不详的 `symbol not found`。所以这两处必须一起核验,而不是一个一个单独去试。
<details class="tech-deep-dive">
<summary>🔍 查看修正后的动态 Traefik 中间件配置示例(YAML 摘录,29 行)</summary>
<summary>🔍 查看修正后的动态 Traefik 中间件配置示例(YAML 摘录,30 行)</summary>
```yaml
# 示例脱敏配置 —— 生产环境实际阈值不同
http:
middlewares:
botfilter:
@@ -134,7 +140,7 @@ http:
requireAccept: true
browserValidation: true
temporaryBanMinutes: 15
scoreThreshold: 100
scoreThreshold: 120
blockedPaths:
- /.env
- /.git