Skip to content

docs(skills): an unevaluable hook condition aborts the write (#4775) - #4883

Merged
os-zhuang merged 1 commit into
mainfrom
claude/v17-rc2-release-docs-tozg2l
Aug 3, 2026
Merged

docs(skills): an unevaluable hook condition aborts the write (#4775)#4883
os-zhuang merged 1 commit into
mainfrom
claude/v17-rc2-release-docs-tozg2l

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

Third pass of the rc.2 catch-up, after #4877 (release page) and #4881 (docs sweep run 5): the same window applied to skills/ and .claude/skills/.

Skills matter more than prose here — they are what an AI author reads before emitting metadata, and #4001 closed the whole authorable surface in this window, so a stale skill now produces metadata that hard-fails at parse.

The sweep came back almost clean

Checked all 10 published skills and the 3 internal ones against the window's retirements and behaviour changes. Already correct, updated by the PRs that changed them:

The has(vars.picked) in objectstack-automation is over a flow variable, not a declared record field — that is the "was this written at all" use #4763 explicitly leaves untouched. Not a finding.

One finding

skills/objectstack-data/references/data-hooks.md had been updated for #4770 and #4784 but never for #4775, and closed the condition section with:

An undeclared key (a typo) stays unevaluable: the condition is logged at WARN and treated as false.

That is exactly the behaviour #4775 replaced. An unevaluable condition now aborts the operation.

Wrong in the dangerous direction for an AI-authoring reference: it tells an author a typo is a soft failure. It also silently downgraded the two bullets immediately above it — previous is unbound on inserts and on multi: true writes, and has() is not a null guard — from "this breaks your write" to "this quietly disables your hook". Both are now write-failing mistakes, which is what makes those bullets load-bearing rather than stylistic.

Replaced with a callout carrying the #4775 rule, the reason the two outcomes had to split (a before* guard swallowed into false lets writes through; an audit hook swallowed into false drops records — opposite failures from one collapsed outcome), and the practical authoring consequence.

Verification

  • node scripts/check-doc-authoring.mjs — 215 files clean

Docs-only; releases nothing.


Generated by Claude Code

skills/objectstack-data/references/data-hooks.md had been updated for #4770
and #4784 but still closed with the pre-17 failure mode — an undeclared key
leaves the condition "logged at WARN and treated as false". #4775 replaced
that: an unevaluable condition now aborts the operation.

This is the AI-authoring reference for hooks, so the stale sentence pointed
the wrong way on the axis that matters — it told an author a typo is a soft
failure, and it downgraded the two bullets above it (previous is unbound on
inserts and multi:true writes; has() is not a null guard) from "this breaks
your write" to "this quietly disables your hook".

Swept the rest of skills/ and .claude/skills/ against the same rc.2 window;
nothing else was stale.

Docs-only; releases nothing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AaegKY1Y7GqTb8CKMm5GLC
@vercel

vercel Bot commented Aug 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Aug 3, 2026 1:08pm

Request Review

@github-actions github-actions Bot added size/s documentation Improvements or additions to documentation tooling labels Aug 3, 2026
@os-zhuang
os-zhuang added this pull request to the merge queue Aug 3, 2026
Merged via the queue into main with commit 55e7cec Aug 3, 2026
18 checks passed
@os-zhuang
os-zhuang deleted the claude/v17-rc2-release-docs-tozg2l branch August 3, 2026 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/s tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants