You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(orchestration): integration node no longer floods the parent epic + panel preview deep-links (aws-samples#247 UX.16 + UX.17)
Live-caught on the ABCA-301 fan-out epic: the synthetic integration node
has NO Linear sub-issue of its own, so its work spilled THREE standalone
comments onto the PARENT epic — '🤖 Starting integration…', '🔗 PR
opened: aws-samples#191', '🖼️ Preview screenshot' — a comment stream that violates
the locked 'one maturing panel, no comment stream' spec and 100%
duplicates what the panel already shows (Integration row ✅ + Combined PR
+ Combined preview). Separately, the panel's combined preview embedded the
image but had no clickable link to the running combined deploy.
UX.16 — stop the flood (two emitters):
- agent: prompt_builder._channel_prompt_addendum now returns '' when
channel_metadata has no linear_issue_id. The integration node is the
only Linear task without one (orchestration-release omits it on
purpose), so the agent no longer gets the 'post Starting/PR-opened to
Linear' instructions → no groping onto the parent. Real sub-issues are
unaffected (they have linear_issue_id).
- screenshot pipeline: persistScreenshotUrl now returns whether the deploy
task is an integration node (read from the UpdateItem ALL_NEW
channel_metadata.orchestration_sub_issue_id — no extra Get), and the
processor SKIPS the standalone Linear screenshot comment for it. The
GitHub PR comment still posts (load-bearing on the PR); the panel embed
is the only Linear surface for the combined result.
UX.17 — panel preview deep-link:
- persist screenshot_preview_url (the live Vercel/Netlify deploy URL the
shot was captured from) alongside screenshot_url; thread it through
resolveCombinedScreenshotUrl → upsertEpicPanel → renderEpicPanel.
- the panel's combined preview is now a clickable linked image
([](preview)) + an 'Open the combined preview'
link. Falls back to the plain image when no preview URL is known. The
preview URL is payload-derived → parens percent-encoded (markdown
breakout defense, same as the screenshot comment renderers).
Tests: agent test_linear_integration_node_gets_no_addendum (+ existing
linear test now carries linear_issue_id); processor 'persists BOTH urls'
+ 'integration node deploy persists but posts NO standalone Linear
comment'; renderEpicPanel deep-link + paren-encode + fallback; reconciler
#57 test extended to assert the deep-link. Also refreshed 8 stale
postRollup mocks to the merged LinearPostResult {ok} contract (merge
left them returning bare booleans → 5 pre-existing reds, now green).
cdk:compile clean; agent suite 1116 green.
0 commit comments