20 Papi-generated tutorials: tested and passing#82
Open
mwunderl wants to merge 17 commits into
Open
Conversation
Generated by Doc Papi pipeline: 1. Papi analyzed service APIs and produced specs 2. Bedrock Nova Pro generated Python scripts 3. Agent container tested each (1-5 attempts until pass) 4. Output validated (real AWS calls confirmed) Services: - EventBridge Scheduler (schedule + group) - Recycle Bin (retention rules) - CodeArtifact (domain + repository) - CodeCommit (repo + files + branches) - Amazon Transcribe (custom vocabulary) - Route 53 (hosted zone + records) - Amazon SES v2 (contact lists) - Amazon GuardDuty (detector + findings) - IAM Access Analyzer (analyzer + findings) - Kinesis Data Firehose (delivery stream + records) - AWS CodePipeline (S3 source + deploy) - CloudWatch Synthetics (canary monitors)
…% pass All 8 previously-failing services now pass with enhanced prompting: - Pinpoint (1 attempt) - Service Catalog (1 attempt) - Image Builder (3 attempts) - Organizations (3 attempts) - CodeBuild (1 attempt) - Forecast (2 attempts) - Inspector2 (1 attempt) - Macie2 (4 attempts) Key: providing a working example + full input specs eliminates all parameter validation errors. The model copies the pattern exactly. Total tutorials on this branch: 20 (12 + 8)
…deCommit) These are the bash equivalents of the Python tutorials, tested and passing in the agent container. CLI scripts follow tutorial-gen rules: - set -euo pipefail - Resource tracking + reverse cleanup - Error handling with check_error() - No --region, no jq - Unique naming with random suffix CLI pass rate: 40% (4/10) vs Python 93% (27/29) Main CLI failure cause: tag syntax varies by service, model guesses wrong flags
…(62% pass rate) Minimal CLI approach (from Python reference, no tags, simple error handling) achieves 62% pass rate vs 30% with full template. Total CLI scripts on this branch: 9 (route53, guardduty, amplify, codecommit, rbin, sesv2, pinpoint, transcribe, scheduler)
…, transcribe) With CLI help in prompt: codeartifact and accessanalyzer pass on FIRST attempt. Manual fixes for firehose (bash syntax), sesv2 (param names), transcribe (phrases vs S3). Total CLI scripts: 14 passing across all services in PR #82. CLI pass rate with help + Python reference: 100% (8/8 targeted services pass)
…e, guardduty, imagebuilder, inspector2, macie2, organizations, route53, servicecatalog, accessanalyzer, transcribe)
Refined scripts now have: - set -e with proper error handling - TEMP_DIR + LOG_FILE - declare -a CREATED_RESOURCES=() with tracking - cleanup_resources() function (reverse order, || true) - trap cleanup_resources EXIT - Step headers with === separators - Unique resource names with random suffix 12/16 scripts pass testing. Remaining 4 need manual fixes: - codeartifact (timing issue between domain/repo creation) - organizations (empty output - needs investigation) - codebuild (CLI syntax in buildspec) - inspector2 (bash conditional syntax)
All 16 scripts now have educational output: - Title banner with service description - Before each command: what it does and why - After each command: result with context - Tutorial complete summary - Logs to file when run interactively (tee with terminal detection) 15/16 pass testing. Output text is reusable as tutorial guidance paragraphs.
Generated from instructive CLI scripts. Each tutorial has: - H1 title + H2 sections (Prerequisites, steps, Clean up, Next steps) - Guidance paragraphs before/after each code block (from script echo text) - Obfuscated example output - Sentence case, present tense, $ prefix on commands
…al={id})
Tagging strategies applied per service:
- inline_kv: scheduler, guardduty, firehose (--tags Key=X,Value=Y)
- inline_kv_lower: codeartifact (--tags key=x,value=y)
- post_create: codecommit, codebuild, codepipeline, imagebuilder, inspector2,
macie2, organizations, pinpoint, route53, servicecatalog, transcribe, rbin
(separate tag-resource call after creation)
All 16 pass testing with tags applied.
Moved to holding/new-tuts-20260518: - ses-v2 (no CLI, no tutorial) - access-analyzer (no CLI, no tutorial) - synthetics (no CLI, no tutorial) - forecast (no CLI, no tutorial) Remaining 16 renumbered sequentially from 088 (first available after main's 087): 088-scheduler, 089-rbin, 090-codeartifact, 091-codecommit, 092-transcribe, 093-route53, 094-guardduty, 095-firehose, 096-codepipeline, 097-pinpoint, 098-servicecatalog, 099-imagebuilder, 100-organizations, 101-codebuild, 102-inspector2, 103-macie2
… CFN prereqs template, remove agent names
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.
Summary
16 getting-started tutorials for AWS services, each with Python SDK script, CLI bash script, and tutorial markdown.
Services
Scheduler, Recycle Bin, CodeArtifact, CodeCommit, Transcribe, Route 53, GuardDuty, Firehose, CodePipeline, Pinpoint, Service Catalog, Image Builder, Organizations, CodeBuild, Inspector2, Macie2
Contents per service
Prerequisites
Scripts that need IAM roles read from
TUTORIAL_ROLE_ARNenvironment variable. Deploy the shared roles stack:Testing
All scripts tested in automated container environment with 5-attempt self-repair.