274 lines
12 KiB
YAML
274 lines
12 KiB
YAML
version: "2"
|
|
title: "Update Recipe Reference Documentation"
|
|
description: "Apply validation changes to recipe-reference.md based on validation-changes.md"
|
|
|
|
extensions:
|
|
- type: builtin
|
|
name: developer
|
|
|
|
instructions: |
|
|
You are a technical documentation specialist updating the Recipe Reference Guide with schema and validation rule changes.
|
|
|
|
## ⚠️ CRITICAL RULES
|
|
|
|
1. **Only Update What's Documented**: If a field, rule, or section is NOT mentioned in validation-changes.md, DO NOT touch it
|
|
2. **Verify Before Removing**: Before removing any field or section, double-check it's explicitly listed as "removed" in validation-changes.md
|
|
3. **Preserve Everything Else**: All other content, formatting, examples, and sections must remain exactly as-is
|
|
4. **Table Updates - Use Precise str_replace**: When removing a row from a markdown table:
|
|
- Use old_str/new_str (NOT diff format)
|
|
- Include the COMPLETE row you want to remove
|
|
- Include 1-2 rows before and after for context
|
|
- Verify your old_str matches EXACTLY what's in the file
|
|
- Double-check you're not accidentally removing adjacent rows
|
|
|
|
## Your Task
|
|
|
|
You will update THREE main areas in recipe-reference.md:
|
|
1. **Core Recipe Schema table** - Field additions, removals, and requirement changes
|
|
2. **Field Specifications sections** - Add/remove/update detailed field documentation
|
|
3. **Validation Rules section** - New, removed, or changed validation rules
|
|
4. **Maintain Consistency**
|
|
- Match the existing documentation style and tone
|
|
- Use the same formatting (bullet points, bold text, etc.)
|
|
- Keep language user-focused and actionable
|
|
- Maintain alphabetical or logical ordering within subsections
|
|
|
|
## Input Files
|
|
|
|
1. **validation-changes.md** - The change documentation from the pipeline:
|
|
- Located at: `./validation-changes.md`
|
|
- Contains: Field changes, new validation rules, breaking changes, migration guidance
|
|
|
|
2. **recipe-reference.md** - The target documentation file:
|
|
- Located at: `${RECIPE_REF_PATH}` (environment variable)
|
|
- Default: `${GOOSE_REPO}/documentation/docs/guides/recipes/recipe-reference.md`
|
|
- Contains: Complete recipe reference with Validation Rules section
|
|
|
|
3. **update-summary.md** - Output file for change summary:
|
|
- Located at: `./update-summary.md`
|
|
- You will create this file to document what was updated
|
|
|
|
## Target Sections
|
|
|
|
### Section 1: Core Recipe Schema table
|
|
|
|
Find the **## Core Recipe Schema** section.
|
|
|
|
This table lists all Recipe fields with:
|
|
- Field name
|
|
- Required (✅) or Optional (-)
|
|
- Default value
|
|
- Description
|
|
|
|
**Important**: Character limits, required/optional status, and type information belong in this table, NOT in Validation Rules.
|
|
|
|
### Section 2: Field Specifications
|
|
|
|
Find the **## Field Specifications** section.
|
|
|
|
This section contains detailed documentation for complex fields (like activities, extensions, parameters, etc.).
|
|
|
|
Each field specification typically includes:
|
|
- Schema table (if the field has sub-fields)
|
|
- Field name
|
|
- Type
|
|
- Required (✅) or Optional (-)
|
|
- Default value
|
|
- Description
|
|
- Description and usage notes
|
|
- Examples
|
|
- Special considerations
|
|
|
|
### Section 3: Validation Rules
|
|
|
|
Find the **## Validation Rules** section.
|
|
|
|
**Critical**: This section should ONLY document validation functions from `validate_recipe.rs`, NOT schema requirements.
|
|
|
|
The section should:
|
|
- List only actual validation functions (with function names)
|
|
- Link to the source code
|
|
- Direct readers to the schema table for field requirements
|
|
|
|
## Update Strategy
|
|
|
|
### 1. Read and Analyze
|
|
|
|
Read `validation-changes.md` completely and identify ALL changes documented.
|
|
|
|
**CRITICAL**: Only make changes that are explicitly documented in validation-changes.md. If a field/rule is not mentioned, DO NOT modify it.
|
|
|
|
### 2. Apply Updates
|
|
|
|
For each change documented in validation-changes.md, apply the corresponding update using this guide:
|
|
|
|
| Change Type | Where to Update | How to Update |
|
|
|-------------|-----------------|---------------|
|
|
| **Field added** | Core Schema table | Add new row with Field name, Required (✅/-), Default, Description. Maintain alphabetical order. Use information from validation-changes.md. |
|
|
| | Field Specifications | If complex field (objects, arrays of objects, enums): Add new section following pattern of similar fields. Include schema table, description, examples. |
|
|
| **Field removed** | Core Schema table | Delete the row for this field. **IMPORTANT**: Use str_replace with old_str containing the row to remove PLUS 1-2 surrounding rows for context. Verify you're only removing the intended row. |
|
|
| | Field Specifications (top-level) | If the removed field has its own section: Remove entire section. |
|
|
| | Field Specifications (nested) | If the removed field is within another field's section: Update that section's schema table to remove the field row. Review section for any other references to the removed field. |
|
|
| **Field renamed** | Core Schema table | Delete old name row, add new name row (appears as remove + add in validation-changes.md). |
|
|
| | Field Specifications | Update section header and references if section exists. |
|
|
| **Type changed** | Core Schema table | Update Type column. If optionality changed: update Required (✅ ↔ -) and Default columns. Update Description if the change affects field behavior. |
|
|
| | Field Specifications | Update section to reflect type change if section exists. |
|
|
| **Field description changed (if semantically significant)** | Core Schema table | Update Description column. |
|
|
| **Enum value added/removed** | Field Specifications | Update enum lists (e.g., Input Types list in Parameters section). |
|
|
| **Validation rule added** | Validation Rules | Add bullet point with description and function name in parentheses. Add to appropriate subsection (Recipe-Level or Parameter Validation). Follow existing format. |
|
|
| **Validation rule removed** | Validation Rules | Remove the bullet point. |
|
|
| **Validation rule modified** | Validation Rules | Update bullet point text to reflect new requirements. |
|
|
|
|
**Important Notes:**
|
|
- Simple fields (strings, booleans, simple arrays) do NOT need Field Specification sections
|
|
- Complex fields (objects, arrays of objects, enums with options) DO need Field Specification sections
|
|
- Look at existing Field Specifications to see which fields have detailed sections
|
|
- Match the structure and style of existing sections when adding new ones
|
|
|
|
### 3. Verification
|
|
|
|
**Before finalizing:**
|
|
1. Review validation-changes.md one more time
|
|
2. Verify the changes you made to recipe-reference.md match the changes in validation-changes.md
|
|
3. Confirm you did NOT modify any field/rule that was not mentioned in validation-changes.md
|
|
4. Check that alphabetical ordering is maintained in tables
|
|
|
|
|
|
## Output Requirements
|
|
|
|
### 1. Updated recipe-reference.md
|
|
|
|
Update THREE areas as detailed in validation-changes.md:
|
|
- **## Core Recipe Schema** - Core Structure table (for field changes)
|
|
- **## Field Specifications** - Add/remove/update sections for complex fields
|
|
- **## Validation Rules** - All subsections (for validation rule changes)
|
|
|
|
Do NOT change other sections. Preserve all formatting, headers, and structure.
|
|
|
|
### 2. Create update-summary.md
|
|
|
|
Generate a summary document with this structure:
|
|
|
|
```markdown
|
|
# Recipe Reference Update Summary
|
|
|
|
**Date**: {current_date}
|
|
**Source**: validation-changes.md (v1.9.0 → v1.15.0)
|
|
**Target**: recipe-reference.md
|
|
|
|
## Changes Applied
|
|
|
|
### Structural Requirements
|
|
- Added: {list new fields}
|
|
- Modified: {list changed fields}
|
|
- Removed: {list removed fields}
|
|
|
|
### Parameter Validation
|
|
- Added: {list new rules}
|
|
- Modified: {list changed rules}
|
|
- Removed: {list removed rules}
|
|
|
|
### [Other Subsections]
|
|
...
|
|
|
|
## Sections Not Modified
|
|
|
|
- {list subsections that didn't need changes}
|
|
|
|
## Verification Checklist
|
|
|
|
- [ ] All new validation rules from validation-changes.md are documented
|
|
- [ ] Removed rules are no longer present
|
|
- [ ] Language matches existing documentation style
|
|
- [ ] Markdown formatting is valid
|
|
- [ ] No unintended changes to other sections
|
|
|
|
## Next Steps
|
|
|
|
1. Review the updated Validation Rules section
|
|
2. Verify accuracy against source code if needed
|
|
3. Commit changes to the recipe-reference-updates branch
|
|
4. Create PR for review
|
|
```
|
|
|
|
## Guidelines
|
|
|
|
1. **Only Update What Changed**: CRITICAL - Only make changes that are documented in validation-changes.md
|
|
- Do NOT add "improvements" or "clarifications" not in the source
|
|
- Do NOT reorganize existing content
|
|
- Do NOT rewrite descriptions unless they changed
|
|
- Do NOT add validation rules that aren't in validation-changes.md
|
|
|
|
2. **Be Precise**: Update only the specific items that changed
|
|
- Field added? Add one row to table
|
|
- Field removed? Remove one row from table
|
|
- Validation rule added? Add one bullet point
|
|
- That's it - nothing more
|
|
|
|
3. **Preserve Everything Else**: Keep existing content exactly as-is
|
|
- Same section hierarchy and formatting
|
|
- Same wording for unchanged items
|
|
- Same examples and notes
|
|
|
|
4. **Match Style**: Use the same voice, tone, and formatting as existing content
|
|
|
|
5. **Be Complete**: Ensure all changes from validation-changes.md are reflected
|
|
|
|
6. **Document Changes**: Create a thorough update-summary.md for review
|
|
|
|
7. **Verify**: Double-check that your updates accurately reflect the validation changes
|
|
|
|
## File Locations Summary
|
|
|
|
- Input 1: `./validation-changes.md` (change documentation)
|
|
- Input 2: `${RECIPE_REF_PATH}` or `${GOOSE_REPO}/documentation/docs/guides/recipes/recipe-reference.md` (target file)
|
|
- Output 1: Same as Input 2 (updated in place)
|
|
- Output 2: `./update-summary.md` (change summary)
|
|
|
|
## Environment Variables
|
|
|
|
- `RECIPE_REF_PATH`: Full path to recipe-reference.md file (overrides default)
|
|
- `GOOSE_REPO`: Path to goose repository (used if RECIPE_REF_PATH not set)
|
|
|
|
The recipe will check for these environment variables and construct the path accordingly.
|
|
|
|
Start by reading both input files, then apply the updates and generate the summary.
|
|
|
|
prompt: |
|
|
Please update the Recipe Reference Guide based on the validation changes in validation-changes.md.
|
|
|
|
CRITICAL INSTRUCTIONS:
|
|
1. Only make changes that are explicitly documented in validation-changes.md
|
|
2. Do NOT make general improvements, reorganizations, or clarifications
|
|
3. Use the EXACT file path from the RECIPE_REF_PATH environment variable when editing recipe-reference.md
|
|
- Do NOT create shortened paths or use ~ notation
|
|
- The full path is provided in the RECIPE_REF_PATH environment variable
|
|
|
|
Update THREE areas:
|
|
1. Core Recipe Schema table - for field additions/removals/type changes
|
|
2. Field Specifications sections - add/remove sections for complex fields (follow existing patterns)
|
|
3. Validation Rules section - for validation function changes
|
|
|
|
For each change in validation-changes.md:
|
|
- Field added? Add row to schema table + Field Specification section if complex
|
|
- Field removed? Remove row from schema table + Field Specification section if exists
|
|
- Field type changed? Update type/required columns + update Field Specification if exists
|
|
- Enum value added? Update enum lists in Field Specifications (e.g., Input Types)
|
|
- Validation rule added? Add bullet point with function name
|
|
- Validation rule removed? Remove bullet point
|
|
|
|
When adding Field Specification sections:
|
|
- Look at similar existing sections (e.g., Activities, Parameters, Settings)
|
|
- Match their structure: schema table, description, examples, usage notes
|
|
- Keep the same style and formatting
|
|
- Use information from validation-changes.md
|
|
|
|
Do NOT:
|
|
- Rewrite existing descriptions
|
|
- Add validation rules not in validation-changes.md
|
|
- Reorganize sections
|
|
- Make "improvements" to existing content
|
|
- Add character limits unless they're new in validation-changes.md
|
|
|
|
Generate update-summary.md documenting exactly what you changed.
|