v1.0.4 — Snapshot stability
Snapshot stability bundle from two real-world Snapshot validation runs. Skill-content + plugin-manifest only release — no @formtrieb/cdf-core / @formtrieb/cdf-mcp version bumps.
8 fixes ship in this wave: 5 mechanical + 3 inhaltliche.
Fixed
- F6 (HIGH) — Tier-detection probe-order bug. Snapshot/scaffold no longer silently defaults to T0 when on-disk Figma caches are absent but
FIGMA_PATis set. New probe-first algorithm: T2 → T1-legacy-cache → T1-modern-probe (cdf_fetch_figma_file) → T0 → halt. Adds Rule B — Capability-Probe Before Default-Fallback as sister-rule to Rule A.
Improved
- F1 — Pre-reading β-strict refactor. SKILL.md §1 in both skills no longer requires upfront Read of the 3 shared/-refs. Each phase-doc / synthesis dispatch declares its
requires:deps in YAML frontmatter, Read at point-of-need. Per-step Read budget drops from 3 (eager) to 0–2 (point-of-need). - L8.5 — Rule-A literal-loophole closed. Paraphrased capability-gap claims ("only partial Variable surface", "REST cache lacks Variables data") now trigger the same tool-survey enforcement as the literal "X NOT enumerable". Rule is structural; positive-obligation trigger-word list provides self-check.
- F4 — Deferred-tool note in
tool-leverage.md§1, documenting one-timeToolSearchround-trip per MCP-family per session. - F8 — Host-tool prerequisites (
yqmikefarah ≥4.x,jq,python3stdlib only, bash 4+/zsh) declared in both SKILL.md §0. Newscripts/check-host-deps.shverifier (exits 0 + versions on success, 1 +MISSING:<tool>+ install hint on first absent dep). - F10 (inhaltliche) — Vocabulary-threshold loosened. Single-set semantically-evident vocabs (
intent,density,progress,orientation,position) and Boolean-as-VARIANT recurring props (selected,open) elevate to top-level vocabularies alongside their interaction-pattern view. Icon-Set heuristic added. - F11 (inhaltliche) — Token-grammar fallback-path depth. Contract 4's 1×
browse_tokenscap binds DS-MCP path only. In the filesystem-walk fallback path (no DS-tokens MCP loaded, but DTCG / Tokens-Studio JSON files on disk), path-leveljq pathsenumeration is encouraged with depth-2 cap. New §4.1 "Token enumeration paths" precedence list + recipes + Components/* heuristic. - F12 (inhaltliche) — T0/T1 walker inventory-counting semantic difference documented (T0 counts every variant-instance; T1 dedupes by COMPONENT id; on the same file these can differ by 5–10×). Snapshot synthesis emits a one-line note when both probes are available.
Deferred to v1.8.0 (companion roadmap)
- Walker
summary_onlymode (cdf_extract_figma_fileoption) - Generic
@formtrieb/tokens-mcp@2.0.0(path-parameter, non-DS-specific) — supersedes the F11 jq-paths fallback recipe libraries.linkedwalker output bug fix- Bash-script deletion (
scripts/extract-to-yaml.shretirement) - Synthesis-as-Code (
cdf_analyze_inventory) replacing the F10 LLM-policy bridge
No package version bumps in v1.0.4
@formtrieb/cdf-core@1.0.xand@formtrieb/cdf-mcp@1.7.xunchanged.mcp.jsonstill pins@formtrieb/cdf-mcp@^1.7.2- Skill-content + plugin-manifest only release
Upgrade for existing installs
claude plugin marketplace update cdf
claude plugin update cdf@cdf
# Fully quit Claude Code (Cmd+Q) and relaunch — closing the window
# is not enough; the MCP launcher needs to reload .mcp.json env.Full changelog
See CHANGELOG.md.