Support CC 2.1.170 (Fable 5 release)#7
Conversation
Corpus is structurally identical to 2.1.169: 389 prompts, 0 new ids, 0 removed, 0 anonymous. Content changed in only 12 data-* prompts — the claude-api skill docs picking up Claude Fable 5 / Mythos 5 (model catalog adds the Fable tier above Opus at $10/$50 per MTok, 1M ctx; API references, HTTP error codes, token counting, tool-use concepts updated accordingly). Behavioral system prompts, tool descriptions, and reminders are byte-identical. Seeded from our 2.1.169, upstream identifierMap adopted for 306 shared prompts (TWEAKCC_UPSTREAM_JSON). Piebald's 2.1.170 names 346; we name 389. Their 4 extra ids (3 design-sync lib/*.mjs build modules + browser file-upload tool description) are deliberate exclusions in our extractor (documented in validateInput), not coverage gaps. Note: versionBumpReport's matchesCommittedJson requires TWEAKCC_UPSTREAM_JSON in the env to reproduce the upstream-map adoption.
CC 2.1.170 extends the resolver with a Fable branch: when the main model is Fable/Mythos, the auto-mode classifier falls back to the default Opus model (ANTHROPIC_DEFAULT_OPUS_MODEL ?? opus48, with [1m] handling) instead of the main-loop model. Added pattern170 as the first match method (167/156/138 shapes kept as fallbacks) plus a regression test with the real minified 2.1.170 fixture.
…eros fix)
skill-code-review-phase-2-verify-3-state, -recall-biased, and -phase-3-sweep
carried partial identifierMaps, so their pristine stubs rendered ${UNKNOWN_N}.
Surfaced when the Fable-5 override pass left these files pristine. Named from
the binary: P6q=VERIFY_VOTE_DEFINITIONS (3-state vote rubric),
W6q=RECALL_BIASED_RUBRIC (PLAUSIBLE-by-default), Z6q=SWEEP_MISS_CATEGORIES.
Piebald doesn't catalogue these fragments, so the names are ours. JSON
regenerated; report shows UNKNOWN=0, misbind=0, extraction matches committed.
|
Hey @skrabe sorry for going off topic from the PR, but I mentioned you in this issue incase you want to take over the npm package |
|
Heads-up from downstream, evidence only — not asking you to block or rework this PR on it. While gating this branch on our side we ran a duplicate-id scan across the prompts JSONs and found a chronic carryover class that's present in this PR's 1. Three byte-identical duplicate pairs, carried for ~30 releases. Each id appears twice with entries that hash identically (sha256 over the sorted JSON entry):
The same three pairs are already in 2. The same class compounded: 3. Why we're flagging it rather than just shrugging: the ×4 case has two divergent shapes (different piece-sets/identifierMaps) under one id, which makes override binding ambiguous — the same mis-bind/orphan surface Reproduction recipe (any prompts JSON): import json, hashlib, collections
d = json.load(open("data/prompts/prompts-2.1.170.json"))
c = collections.Counter(p["id"] for p in d["prompts"])
for i, n in c.items():
if n > 1:
entries = [p for p in d["prompts"] if p["id"] == i]
hashes = {hashlib.sha256(json.dumps(e, sort_keys=True).encode()).hexdigest()[:12] for e in entries}
print(i, "x", n, "distinct-shapes:", len(hashes))Cost on your side if you pick it up: a dedup/supersede pass in the extractor's carryover (and optionally a dup-id assert in the gate so it can't silently return). Entirely your call on whether/when — the fix is yours; we just had the multi-version diff view handy and didn't want the evidence to go stale after this merges. Happy to share the full per-version scan if useful. |
… PR 7 (#93) (#101) Evidence comment: skrabe/tweakcc-fixed#7 (comment) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
Downstream feature ask — nothing for this PR to do; posting here because issues are disabled. (Separate topic from the dup-id evidence above; keeping pings one-at-a-time.) Ask: make the escape-or-not decision mechanical for override authorsWhether a
Two possible shapes — your architecture call
Happy to prepare a draft PR for whichever you'd pick — or neither; if you'd rather keep the rule in review, that's a fine answer and we'll keep validating on our side. No urgency, nothing here blocks 2.1.170. |
Summary
Support for CC 2.1.170 (the Fable 5 release).
data/prompts/prompts-2.1.170.json: extracted with our extractor, upstream identifierMaps adopted for 306 shared prompts. Corpus is structurally identical to 2.1.169 (389 named, 0 new/removed); content changed only in 12data-*API-doc prompts picking up Fable 5 / Mythos 5 (new tier above Opus, $10/$50 per MTok,thinking:{type:"disabled"}→ 400). We name 389 vs Piebald's 346.autoModeClassifierModelpatch: new match method for the 2.1.170 resolver shape — Anthropic added a Fable branch that falls back to the default Opus model when the main model is Fable/Mythos. Regression test added with the real minified fixture.VERIFY_VOTE_DEFINITIONS,RECALL_BIASED_RUBRIC,SWEEP_MISS_CATEGORIES) whose pristine stubs rendered${UNKNOWN_N}.Test plan
pnpm lint,pnpm test(336 passing incl. 4 new patch tests),pnpm build--applyon a pristine 2.1.170 native install: clean, four zeros,auditMisbinds0, fresh extraction matches committed JSON