Skip to content

groundtruth: tighten waba-template-author against Sent docs snapshot#19

Merged
sent-dm merged 1 commit into
devfrom
batch2/unit-7-waba-tmpl-gt
May 19, 2026
Merged

groundtruth: tighten waba-template-author against Sent docs snapshot#19
sent-dm merged 1 commit into
devfrom
batch2/unit-7-waba-tmpl-gt

Conversation

@sent-dm
Copy link
Copy Markdown
Contributor

@sent-dm sent-dm commented May 19, 2026

Scope

Align the waba-template-author skill, its three references, and its linter against the Sent docs snapshot at references/_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 Sent CreateTemplateRequest shape (body.content + body.variables[], header.type enum, buttons[].type enum, channels, sandbox); drop LOCATION as a Sent header type.
  • references/waba-template-examples.md — rewrite every utility, marketing, and authentication example to conform to the real Sent CreateTemplateRequest shape (no more components[] array; uses body.content + named body.variables[] with type: text|number|date + example).
  • references/template-rejection-playbook.md — add grounding header; document BUSINESS_005 (422 when sending against a PENDING/REJECTED Sent template); explicitly call out that Meta-side PAUSED is not reflected in Sent's template status (sends fail per-message on webhooks/activities while the template status stays put); cross-reference sent-skills:messaging-performance-analyzer for 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-format and button-type enum validation aligned with the Sent CreateTemplateRequest enums; require url on URL buttons and phone_number on PHONE_NUMBER buttons; warn (not fail) on Cloud-API-only OTP buttons. Existing good/bad fixtures still exit 0 / 1 respectively.

Test plan

  • bash scripts/validate-skills.sh → 8/8 OK
  • python 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

- 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>
@sent-dm sent-dm merged commit 9f78e67 into dev May 19, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant