[delight] User Experience Analysis Report - 2026-08-12 #52308
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Delight. A newer discussion is available at Discussion #52735. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Executive Summary
Today's analysis focused on:
docs/src/content/docs/guides/open-telemetry.mdx,docs/src/content/docs/patterns/orchestration.md)smoke-checkout-pr-dispatch.md,outcome-collector.md)pkg/workflow/runtime_validation.go)Overall Quality: Professional overall, with one clear inconsistency in error messaging that reduces actionability.
Key Finding:
validateExpressionSizesinpkg/workflow/runtime_validation.goproduces two different error messages for the same failure condition — one with an actionable remediation tip, one without — creating an inconsistent troubleshooting experience.Quality Highlights ✅
Example 1: Well-structured OpenTelemetry guide
docs/src/content/docs/guides/open-telemetry.mdxlogSpanAPI reference table with types and defaults, and concrete debugging commands (gh aw logs,jqsnippets) that reflect real troubleshooting workflows.logSpanis non-fatal and never throws. Export failures are surfaced asconsole.warn." — this proactively sets expectations about failure behavior, which builds trust.Example 2: Actionable validation errors (partial)
pkg/workflow/runtime_validation.gorun:blocks..."). The container/package validation errors (lines 244, 304) follow a consistent "Fix the following issues:\n\n...\n\nEnsure: 1... 2... 3..." checklist format that is easy to scan.Improvement Opportunities 💡
High Priority
Opportunity 1: Inconsistent expression-size error guidance
pkg/workflow/runtime_validation.gokeycan be extracted (line 86), the message includes "Consider chunking the content or using artifacts instead." When no key is found (line 89), that same actionable suggestion is dropped entirely.key == ""branch so both messages give equivalent actionable guidance.Medium Priority
Opportunity 2: Thin "Passing Correlation IDs" section
docs/src/content/docs/patterns/orchestration.mdtracker_id(string) and include it in worker outputs (e.g., writing it into a Project custom field)." No YAML/frontmatter example is given, unlike every other section in this document (which all include fenced code examples).tracker_idflows from orchestrator to worker; without it they must infer the syntax from unrelated sections.dispatch-workflow/call-workflowYAML snippet showingtracker_idpassed as an input, consistent with the format used in the "Dispatch Workers" and "Call Workers" sections above it.Files Reviewed
Documentation
docs/src/content/docs/guides/open-telemetry.mdx- Rating: ✅docs/src/content/docs/patterns/orchestration.md- Rating:Workflow Messages
.github/workflows/smoke-checkout-pr-dispatch.md- Rating: ✅.github/workflows/outcome-collector.md- Rating: ✅Validation Code
pkg/workflow/runtime_validation.go- Rating:Metrics
🎯 Actionable Tasks
Here are 2 targeted improvement tasks, each affecting a single file:
Task 1: Add actionable remediation to unkeyed expression-size error
File to Modify:
pkg/workflow/runtime_validation.goCurrent Experience
In
validateExpressionSizes(around lines 84–91), when a YAML line exceeds the 21KB expression size limit and akeycan be extracted, the error includes a remediation suggestion. When no key can be extracted, the fallback error message omits that suggestion entirely:Quality Issue
Design Principle: Trust and Reliability — error messages should be consistently actionable regardless of which code path produces them.
Users who trigger the unkeyed branch receive a dead-end error with no suggested fix, while users on the keyed branch get concrete guidance for the identical underlying problem (an oversized expression value).
Proposed Improvement
Add the same remediation clause to the
elsebranch so both messages end with actionable guidance.Before:
After:
Why This Matters
gh aw compile, so any workflow with an oversized inline expression will hit one of these two paths.Success Criteria
pkg/workflow/runtime_validation.goonlyScope Constraint
pkg/workflow/runtime_validation.goTask 2: Add a concrete example to the "Passing Correlation IDs" section
File to Modify:
docs/src/content/docs/patterns/orchestration.mdCurrent Experience
The "Passing Correlation IDs" section (near line 360) is a single sentence with no code example, unlike the "Dispatch Workers" and "Call Workers" sections directly above it, which both include fenced YAML examples:
Quality Issue
Design Principle: Documentation Quality — practical examples that reflect real use cases; consistent visual hierarchy across sections.
Proposed Improvement
Add a short YAML snippet showing
tracker_idpassed viadispatch-workflow, matching the style of the preceding sections.Before:
After:
Why This Matters
Success Criteria
docs/src/content/docs/patterns/orchestration.mdonlyScope Constraint
docs/src/content/docs/patterns/orchestration.mdAll reactions