fix(ai-skills): drop invalid section_header subtitle from cookbook + stubs
Codex stop-time review flagged the new ab-v3 composite cookbook recipes calling add_section_header_v0 with a `subtitle` arg the tool doesn't accept (silently dropped at runtime today, but teaches live models to emit invalid shapes). The same bug was in the dry-run stub fixtures. Split each header into add_section_header_v0(title) + add_body_text_v0(content) — semantically what the ab-v3 briefs ask for, and reinforces the multi-tool chaining the cookbook now teaches. Also fills in the missing required `number` arg on the onboarding recipe's final completed step card (schema requires it even when completed=true renders a check instead of the number).
This commit is contained in:
parent
bac47be301
commit
c2252f2172
|
|
@ -463,7 +463,8 @@ add_setting_row_v0({ parent_id: "<page>", title: "Email digest", leading_icon: "
|
|||
### Team / members list (avatars + pending invitations)
|
||||
|
||||
```
|
||||
add_section_header_v0({ parent_id: "<page>", title: "Members", subtitle: "5 people" })
|
||||
add_section_header_v0({ parent_id: "<page>", title: "Members" })
|
||||
add_body_text_v0({ parent_id: "<page>", content: "5 people" })
|
||||
add_member_row_v0({ parent_id: "<page>", name: "Sarah Lee", subtitle: "sarah@acme.com", initial: "S", trailing: { kind: "role_badge", value: "Owner" } })
|
||||
add_member_row_v0({ parent_id: "<page>", name: "Marcus Chen", subtitle: "marcus@acme.com", initial: "M", trailing: { kind: "role_badge", value: "Admin" } })
|
||||
add_member_row_v0({ parent_id: "<page>", name: "Aiko Tanaka", subtitle: "aiko@acme.com", initial: "A", trailing: { kind: "role_badge", value: "Editor" } })
|
||||
|
|
@ -477,7 +478,8 @@ add_invite_row_v0({ parent_id: "<page>", email: "leon@acme.com", role: "Editor",
|
|||
### Audit / activity feed (N log entries under a header)
|
||||
|
||||
```
|
||||
add_section_header_v0({ parent_id: "<panel>", title: "Recent activity", subtitle: "Last 24 hours" })
|
||||
add_section_header_v0({ parent_id: "<panel>", title: "Recent activity" })
|
||||
add_body_text_v0({ parent_id: "<panel>", content: "Last 24 hours" })
|
||||
add_activity_log_v0({ parent_id: "<panel>", actor: "Sarah Lee", action: "approved the production deploy", timestamp: "2h ago", icon: "check", tone: "success" })
|
||||
add_activity_log_v0({ parent_id: "<panel>", actor: "Marcus Chen", action: "uploaded final-mockups.zip", timestamp: "3h ago", icon: "upload", tone: "info" })
|
||||
add_activity_log_v0({ parent_id: "<panel>", actor: "Aiko Tanaka", action: "invited jordan@acme.com to the workspace", timestamp: "5h ago", icon: "user-plus", tone: "info" })
|
||||
|
|
@ -501,7 +503,7 @@ add_body_text_v0({ parent_id: "<page>", content: "Three steps to a smarter walle
|
|||
add_step_card_v0({ parent_id: "<page>", number: 1, title: "Create your account", description: "Use your email and a strong password to sign up. No credit card required." })
|
||||
add_step_card_v0({ parent_id: "<page>", number: 2, title: "Connect your bank", description: "Link your account in seconds. We use 256-bit encryption to keep your data safe." })
|
||||
add_step_card_v0({ parent_id: "<page>", number: 3, title: "Set your goals", description: "Tell us what you want to save for — we'll do the rest." })
|
||||
add_step_card_v0({ parent_id: "<page>", title: "You're all set", description: "You're ready to use the app. Tap below to continue.", completed: true })
|
||||
add_step_card_v0({ parent_id: "<page>", number: 4, title: "You're all set", description: "You're ready to use the app. Tap below to continue.", completed: true })
|
||||
```
|
||||
|
||||
### Pricing section (3 tiers, middle one featured)
|
||||
|
|
|
|||
|
|
@ -130,14 +130,16 @@ const FIXTURES: Record<string, string> = {
|
|||
// These are the only stubs that produce >1 op_tool block; obvious
|
||||
// prompts still emit 1 by default.
|
||||
'dashboard-settings-page-composite|T': [
|
||||
'<op_tool>{"name":"add_section_header_v0","arguments":{"title":"Notifications","subtitle":"Choose what you want to be alerted about."}}</op_tool>',
|
||||
'<op_tool>{"name":"add_section_header_v0","arguments":{"title":"Notifications"}}</op_tool>',
|
||||
'<op_tool>{"name":"add_body_text_v0","arguments":{"content":"Choose what you want to be alerted about."}}</op_tool>',
|
||||
'<op_tool>{"name":"add_setting_row_v0","arguments":{"title":"Email digest","subtitle":"Daily summary at 9am","leading_icon":"bell","trailing":{"kind":"switch","on":true}}}</op_tool>',
|
||||
'<op_tool>{"name":"add_setting_row_v0","arguments":{"title":"Push notifications","subtitle":"All channels","leading_icon":"phone","trailing":{"kind":"switch","on":true}}}</op_tool>',
|
||||
'<op_tool>{"name":"add_setting_row_v0","arguments":{"title":"Direct messages","subtitle":"Mentions only","leading_icon":"message-circle","trailing":{"kind":"switch","on":false}}}</op_tool>',
|
||||
'<op_tool>{"name":"add_setting_row_v0","arguments":{"title":"Critical alerts","subtitle":"Always on","leading_icon":"alert-triangle","trailing":{"kind":"switch","on":true}}}</op_tool>',
|
||||
].join('\n'),
|
||||
'dashboard-team-people-page-composite|T': [
|
||||
'<op_tool>{"name":"add_section_header_v0","arguments":{"title":"Members","subtitle":"5 people"}}</op_tool>',
|
||||
'<op_tool>{"name":"add_section_header_v0","arguments":{"title":"Members"}}</op_tool>',
|
||||
'<op_tool>{"name":"add_body_text_v0","arguments":{"content":"5 people"}}</op_tool>',
|
||||
'<op_tool>{"name":"add_member_row_v0","arguments":{"name":"Sarah Lee","subtitle":"sarah@acme.com","initial":"S","trailing":{"kind":"role_badge","value":"Owner"}}}</op_tool>',
|
||||
'<op_tool>{"name":"add_member_row_v0","arguments":{"name":"Marcus Chen","subtitle":"marcus@acme.com","initial":"M","trailing":{"kind":"role_badge","value":"Admin"}}}</op_tool>',
|
||||
'<op_tool>{"name":"add_member_row_v0","arguments":{"name":"Aiko Tanaka","subtitle":"aiko@acme.com","initial":"A","trailing":{"kind":"role_badge","value":"Editor"}}}</op_tool>',
|
||||
|
|
@ -150,7 +152,8 @@ const FIXTURES: Record<string, string> = {
|
|||
'<op_tool>{"name":"add_filter_group_v0","arguments":{"title":"Brand","options":[{"label":"Nike","count":32},{"label":"Adidas","count":28},{"label":"Patagonia","count":15,"selected":true},{"label":"Arc Teryx","count":9}]}}</op_tool>',
|
||||
].join('\n'),
|
||||
'dashboard-audit-feed-composite|T': [
|
||||
'<op_tool>{"name":"add_section_header_v0","arguments":{"title":"Recent activity","subtitle":"Last 24 hours"}}</op_tool>',
|
||||
'<op_tool>{"name":"add_section_header_v0","arguments":{"title":"Recent activity"}}</op_tool>',
|
||||
'<op_tool>{"name":"add_body_text_v0","arguments":{"content":"Last 24 hours"}}</op_tool>',
|
||||
'<op_tool>{"name":"add_activity_log_v0","arguments":{"actor":"Sarah Lee","action":"approved the production deploy","timestamp":"2h ago","icon":"check","tone":"success"}}</op_tool>',
|
||||
'<op_tool>{"name":"add_activity_log_v0","arguments":{"actor":"Marcus Chen","action":"uploaded final-mockups.zip","timestamp":"3h ago","icon":"upload","tone":"info"}}</op_tool>',
|
||||
'<op_tool>{"name":"add_activity_log_v0","arguments":{"actor":"Aiko Tanaka","action":"invited jordan@acme.com to the workspace","timestamp":"5h ago","icon":"user-plus","tone":"info"}}</op_tool>',
|
||||
|
|
|
|||
Loading…
Reference in a new issue