Skip to content

Commit 1d207b7

Browse files
committed
feat(interrupt-rotation): clarify required work vs reference views
Make it visually clear which dashboard sections the person on Interrupt must handle. Group the mandatory sections under an "Action required" header and move the informational sections under a collapsed "For reference" zone. Since new community PRs are no longer accepted, demote the Community PRs section to a read-only, informational view with a banner stating no action is required. Disambiguate the "Confirmed bugs without a reproducible script" help text: a "reproducible script" means a runnable repro committed to st-issues or the agent wiki, not the "Reproducible Code Example" snippet that most issues carry from the bug-report template. This resolves recurring confusion about why issues with a code snippet still appear in the list. Also apply Streamlit design guidance: drop heavy dividers, use Material Symbols icons over emojis, sentence casing, and lighter captions for empty states.
1 parent c01e9ec commit 1d207b7

1 file changed

Lines changed: 22 additions & 26 deletions

File tree

app/interrupt_rotation.py

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,6 @@ def render_issue_action_items(selected_since: date, selected_refresh_nonce: int)
225225
"Assignees": st.column_config.ListColumn("Assignees"),
226226
},
227227
)
228-
st.divider()
229228

230229
st.subheader(
231230
"Issues that need triage",
@@ -270,11 +269,10 @@ def render_issue_action_items(selected_since: date, selected_refresh_nonce: int)
270269
"Author": st.column_config.TextColumn("Author"),
271270
},
272271
)
273-
st.divider()
274272

275273
st.subheader(
276274
"Issues missing feature label",
277-
help="Every issue is expected to have atleast one `feature:{the_feature}` or `area:{the_area}` label.",
275+
help="Every issue is expected to have at least one `feature:{the_feature}` or `area:{the_area}` label.",
278276
)
279277
missing_labels_df = action_items["missing_labels_issues"]
280278
if missing_labels_df.empty:
@@ -292,12 +290,11 @@ def render_issue_action_items(selected_since: date, selected_refresh_nonce: int)
292290
"Labels": st.column_config.ListColumn("Labels"),
293291
},
294292
)
295-
st.divider()
296293

297294
st.subheader(
298295
"Confirmed bugs without a priority",
299296
help="""
300-
Every confirmed bug is expected to be labled with a `priority:P{0,1,2,3,4}` label.
297+
Every confirmed bug is expected to be labeled with a `priority:P{0,1,2,3,4}` label.
301298
302299
### P0
303300
@@ -353,7 +350,6 @@ def render_issue_action_items(selected_since: date, selected_refresh_nonce: int)
353350
"Author": st.column_config.TextColumn("Author"),
354351
},
355352
)
356-
st.divider()
357353

358354
st.subheader(
359355
"Open Dependabot PRs",
@@ -379,7 +375,6 @@ def render_issue_action_items(selected_since: date, selected_refresh_nonce: int)
379375
"Created": st.column_config.DatetimeColumn("Created", format="distance"),
380376
},
381377
)
382-
st.divider()
383378

384379
st.subheader(
385380
"Issues waiting for team response",
@@ -493,7 +488,9 @@ def render_confirmed_bugs_without_repro(selected_since: date, selected_refresh_n
493488
help="""
494489
Confirmed bugs (`status:confirmed` & `type:bug`) created in the selected timeframe that don't have a reproducible script.
495490
496-
This isn't a requirement for all issues. If the issue is not easily reproducible via the [streamlit/st-issues](https://github.com/streamlit/st-issues) app, you can skip this step.
491+
**"Reproducible script" here means a runnable repro committed by the team**, either a `gh-<issue-id>` folder in [streamlit/st-issues](https://github.com/streamlit/st-issues) or an `issues/<issue-id>/repro_app.py` in the agent wiki. It does **not** mean the "Reproducible Code Example" snippet in the issue body - most issues have that from the bug-report template, so it doesn't count here.
492+
493+
**Reviewing this list is required during your rotation.** Adding a reproducible script itself is best-effort: if a bug isn't easily reproducible via the [streamlit/st-issues](https://github.com/streamlit/st-issues) app, it's fine to skip writing a script, but you should still confirm the bug is triaged and prioritized correctly.
497494
498495
**How to add a new repro case to [streamlit/st-issues](https://github.com/streamlit/st-issues):**
499496
1. [Create a new folder in `issues`](https://github.com/streamlit/st-issues/new/main/issues) with this naming pattern: `gh-<GITHUB_ISSUE_ID>`.
@@ -596,13 +593,19 @@ def render_community_pr_action_items(selected_since: date, selected_refresh_nonc
596593
refresh_nonce=selected_refresh_nonce,
597594
)
598595

596+
st.info(
597+
"We no longer accept new community PRs. The views below are read-only and "
598+
"informational - no action is required from the person on Interrupt.",
599+
icon=":material/info:",
600+
)
601+
599602
st.subheader(
600603
"Community PRs missing labels",
601604
help="Every community PR is expected to be labeled with a `change:*` and `impact:*` label.",
602605
)
603606
missing_labels_prs_df = action_items["missing_labels_prs"]
604607
if missing_labels_prs_df.empty:
605-
st.success("Congrats, everything is done here!", icon="🎉")
608+
st.caption("Nothing to show right now.")
606609
else:
607610
st.dataframe(
608611
missing_labels_prs_df,
@@ -615,7 +618,6 @@ def render_community_pr_action_items(selected_since: date, selected_refresh_nonc
615618
"Labels": st.column_config.ListColumn("Labels"),
616619
},
617620
)
618-
st.divider()
619621

620622
st.subheader(
621623
"Community feature PRs needing product approval labels",
@@ -628,7 +630,7 @@ def render_community_pr_action_items(selected_since: date, selected_refresh_nonc
628630
)
629631
prs_needing_approval_df = action_items["prs_needing_approval"]
630632
if prs_needing_approval_df.empty:
631-
st.success("Congrats, everything is done here!", icon="🎉")
633+
st.caption("Nothing to show right now.")
632634
else:
633635
st.dataframe(
634636
prs_needing_approval_df,
@@ -641,7 +643,6 @@ def render_community_pr_action_items(selected_since: date, selected_refresh_nonc
641643
"Labels": st.column_config.ListColumn("Labels"),
642644
},
643645
)
644-
st.divider()
645646

646647
st.subheader(
647648
"Community PRs ready for review",
@@ -652,15 +653,12 @@ def render_community_pr_action_items(selected_since: date, selected_refresh_nonc
652653
- Has both `change:*` and `impact:*` labels
653654
- No blocking labels (`do-not-merge`, `status:needs-product-approval`, `status:awaiting-user-response`)
654655
655-
These PRs are ready for code review and can be prioritized for technical feedback.
656-
657-
Before reviewing, its recommended to approve and run the CI (check that the code doesn't contain obvious
658-
security issues) and assign Copilot for an automated review.
656+
This view is informational only - no action is required. It is shown for visibility into existing open community PRs.
659657
""",
660658
)
661659
community_prs_ready_df = action_items["community_prs_ready_for_review"]
662660
if community_prs_ready_df.empty:
663-
st.success("Congrats, everything is done here!", icon="🎉")
661+
st.caption("Nothing to show right now.")
664662
else:
665663
st.dataframe(
666664
community_prs_ready_df,
@@ -701,27 +699,25 @@ def render_community_pr_action_items(selected_since: date, selected_refresh_nonc
701699
# fetches overlap instead of running one after another on the main thread.
702700
render_ci_metrics(since, refresh_nonce)
703701

704-
with st.expander("**🔄 Helpful Processes**"):
702+
with st.expander("Helpful processes", icon=":material/menu_book:"):
705703
st.markdown("""
706704
- [Issues on Community Cloud](https://www.notion.so/snowflake-corp/Streamlit-OS-Issues-Community-Cloud-dfa2c315cafd434081166f33077c3eb2)
707705
- [Evaluating Memory Leaks in Streamlit](https://www.notion.so/snowflake-corp/Evaluating-Memory-Leaks-in-Streamlit-2af7170bb41680ed8634dbd5ee414f57)
708706
""")
709707

710-
st.header("Action Items")
708+
st.header(":material/checklist: Action required")
711709

712710
render_issue_action_items(since, refresh_nonce)
713-
st.divider()
714711

715712
render_flaky_tests(since, refresh_nonce)
716-
st.divider()
717713

718714
render_monitored_repo_prs(refresh_nonce)
719-
st.divider()
720715

721716
render_confirmed_bugs_without_repro(since, refresh_nonce)
722-
st.divider()
723717

724-
render_reported_bugs(since, refresh_nonce)
725-
st.divider()
718+
st.header(":material/visibility: For reference")
719+
st.caption("Informational views only. No action is required from the person on Interrupt.")
720+
with st.expander("Show reference views", expanded=False):
721+
render_reported_bugs(since, refresh_nonce)
726722

727-
render_community_pr_action_items(since, refresh_nonce)
723+
render_community_pr_action_items(since, refresh_nonce)

0 commit comments

Comments
 (0)