Skip to content

v1.0.4 — Snapshot stability

Choose a tag to compare

@NeoGolightly NeoGolightly released this 26 Apr 23:24
· 7 commits to main since this release

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_PAT is 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-time ToolSearch round-trip per MCP-family per session.
  • F8 — Host-tool prerequisites (yq mikefarah ≥4.x, jq, python3 stdlib only, bash 4+/zsh) declared in both SKILL.md §0. New scripts/check-host-deps.sh verifier (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_tokens cap 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-level jq paths enumeration 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_only mode (cdf_extract_figma_file option)
  • Generic @formtrieb/tokens-mcp@2.0.0 (path-parameter, non-DS-specific) — supersedes the F11 jq-paths fallback recipe
  • libraries.linked walker output bug fix
  • Bash-script deletion (scripts/extract-to-yaml.sh retirement)
  • 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.x and @formtrieb/cdf-mcp@1.7.x unchanged
  • .mcp.json still 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.