groundtruth: tighten waba-template-author against Sent docs snapshot#19
Merged
Conversation
- references/waba-template-categories.md: add grounding header, document Sent's three categories (UTILITY/MARKETING/AUTHENTICATION) and three statuses (APPROVED/PENDING/REJECTED, no PAUSED), and replace the Cloud-API submission shape with Sent's CreateTemplateRequest schema (body.content + body.variables, header.type enum, button.type enum, channels, sandbox). Drop LOCATION as a Sent header type. - references/waba-template-examples.md: rewrite every utility, marketing, and authentication example to the real Sent CreateTemplateRequest shape. - references/template-rejection-playbook.md: add grounding header, document BUSINESS_005 (send against PENDING/REJECTED template), and call out that Meta-side PAUSED is not reflected in Sent's template status; cross-ref sent-skills:messaging-performance-analyzer for post-approval diagnosis. - SKILL.md: tighten Unverified-claims (drop PAUSED + schema items now confirmed in the snapshot, keep external Meta policy caveat), strengthen the PAUSED rationalization, and fix the documented Sent status set. - scripts/lint_waba_template.py: add header-format and button-type enum validation aligned with Sent's CreateTemplateRequest; require url on URL buttons and phone_number on PHONE_NUMBER buttons; warn on Cloud-API-only OTP buttons. Existing good/bad fixtures still exit 0/1 respectively. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Scope
Align the
waba-template-authorskill, its three references, and its linter against the Sent docs snapshot atreferences/_inputs/sent-docs-v3-2026-05-19.md(Template Models + Business-logic error codes sections).Changes
references/waba-template-categories.md— add grounding header; document Sent's three categories (UTILITY/MARKETING/AUTHENTICATION) and three statuses (APPROVED/PENDING/REJECTED, no PAUSED); replace the Cloud-API submission example with the real SentCreateTemplateRequestshape (body.content+body.variables[],header.typeenum,buttons[].typeenum,channels,sandbox); dropLOCATIONas a Sent header type.references/waba-template-examples.md— rewrite every utility, marketing, and authentication example to conform to the real SentCreateTemplateRequestshape (no morecomponents[]array; usesbody.content+ namedbody.variables[]withtype: text|number|date+example).references/template-rejection-playbook.md— add grounding header; documentBUSINESS_005(422 when sending against aPENDING/REJECTEDSent template); explicitly call out that Meta-sidePAUSEDis not reflected in Sent's template status (sends fail per-message on webhooks/activities while the template status stays put); cross-referencesent-skills:messaging-performance-analyzerfor post-approval send diagnosis.SKILL.md— tighten the Unverified-claims block (drop the PAUSED + schema items now confirmed in the snapshot; replace the schema-recheck item with a pointer to the snapshot; keep the external Meta-policy caveat). Strengthen the PAUSED rationalization. Fix the documented Sent status set to match the snapshot.scripts/lint_waba_template.py— add header-formatand button-typeenum validation aligned with the SentCreateTemplateRequestenums; requireurlon URL buttons andphone_numberon PHONE_NUMBER buttons; warn (not fail) on Cloud-API-onlyOTPbuttons. Existing good/bad fixtures still exit 0 / 1 respectively.Test plan
bash scripts/validate-skills.sh→ 8/8 OKpython skills/waba-template-author/scripts/lint_waba_template.py skills/waba-template-author/scripts/fixtures/utility_good.json→ exit 0 ("OK")python skills/waba-template-author/scripts/lint_waba_template.py skills/waba-template-author/scripts/fixtures/utility_bad.json→ exit 1 (existing placeholder-order + promo warnings)🤖 Generated with Claude Code