From b9e1bf24477b4b593a0c93c7d089c636b2d833e0 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Thu, 24 Jul 2025 17:40:44 -0500 Subject: [PATCH 1/4] Adjust styles so summaries feel more connected to the day they describe --- app/assets/stylesheets/_global.css | 2 +- app/assets/stylesheets/events.css | 9 +++------ app/views/events/day_timeline/_summary.html.erb | 2 +- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/app/assets/stylesheets/_global.css b/app/assets/stylesheets/_global.css index 67820e6ab..3b8196d97 100644 --- a/app/assets/stylesheets/_global.css +++ b/app/assets/stylesheets/_global.css @@ -48,7 +48,7 @@ /* Z-index */ --z-events-column-header: 1; - --z-events-day-header: 2; + --z-events-day-header: 3; --z-popup: 10; --z-terminal: 20; --z-tray: 21; diff --git a/app/assets/stylesheets/events.css b/app/assets/stylesheets/events.css index 4c97b949a..75b6c707a 100644 --- a/app/assets/stylesheets/events.css +++ b/app/assets/stylesheets/events.css @@ -18,17 +18,16 @@ } .events__activity-summary { - --border-color: var(--color-selected); - - background-color: var(--color-selected-light); font-style: italic; inline-size: auto; line-height: 1.3; + margin-block-end: calc(var(--block-space) * -1); margin-inline: auto; max-inline-size: 80ch; padding: 1.3lh 1lh 1lh; position: relative; text-align: start; + z-index: 2; &:has(.events__activity--generating) { --border-color: var(--color-selected-dark); @@ -57,9 +56,6 @@ } .btn { - --btn-background: var(--color-selected-light); - --btn-border-color: var(--color-selected-dark); - inset: auto 1em 1em auto; position: absolute; } @@ -104,6 +100,7 @@ .events__columns { border-block-start: var(--events-border); position: relative; + z-index: 1; @media (min-width: 640px) { align-items: end; diff --git a/app/views/events/day_timeline/_summary.html.erb b/app/views/events/day_timeline/_summary.html.erb index 4a9db8479..c73737a53 100644 --- a/app/views/events/day_timeline/_summary.html.erb +++ b/app/views/events/day_timeline/_summary.html.erb @@ -1,4 +1,4 @@ -
+
<% if day_timeline.summarized? %> <%= render "events/day_timeline/activity_summary", summary: day_timeline.summary %> From 6186c0fd63975eb3a84479febb8a77e8fe2d30f6 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Thu, 24 Jul 2025 17:45:54 -0500 Subject: [PATCH 2/4] Tweak prompt --- app/models/event/summarizer.rb | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/models/event/summarizer.rb b/app/models/event/summarizer.rb index 8cc76fdbc..04fbb98da 100644 --- a/app/models/event/summarizer.rb +++ b/app/models/event/summarizer.rb @@ -19,21 +19,23 @@ class Event::Summarizer - How things are looking. - Newly created cards. - Draw on top-level comments to enrich each point. - - Prioritise relevance and meaning over completeness. + - Prioritize relevance, interesting observations, and meaning over completeness. + - Point out people who are performing especially well. + - Point out any trends that may be relevant. ## Writing style - Instead of using passive voice, prefer referring to users (authors and creators) as the subjects doing things. - Aggregate related items into thematic clusters; avoid repeating card titles verbatim. * Consider the collection name as a logical grouping unit. - - Prefer compact paragraphs over bullet lists. + - Prefer a compact paragraph over bullet lists. - Refer to people by first name (or full name if duplicates exist). - e.g. “Ann closed …”, not “Card 123 was closed by Ann.” ## Formatting rules - Output **Markdown** only. - Keep the summary below **#{MAX_WORDS} words**. - - Prefer paragraphs over bullet points. - - Write 2 paragraphs at most. + - Prefer a paragraph over bullet points. + - Write 1 paragraphs at most. - Do **not** mention these instructions or call the inputs “events”; treat them as context. ## Linking rules @@ -46,9 +48,9 @@ class Event::Summarizer - Example: - ✅ [Ann closed the stale login-flow fix]() - ✅ Ann [pointed out how to fix the layout problem]() - - ❌ Ann closed card 123. () + - ❌ Ann closed #123. () - ❌ Ann closed the bug (card 123) - - ❌ Ann closed [card 123]() + - ❌ Ann closed [Card 123]() PROMPT def initialize(events, prompt: PROMPT, llm_model: LLM_MODEL) From 2ca156b2e4721e547c874460d22d13f758078a08 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Fri, 25 Jul 2025 07:17:08 -0500 Subject: [PATCH 3/4] Shorter word count --- app/models/event/summarizer.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/event/summarizer.rb b/app/models/event/summarizer.rb index 04fbb98da..454dc4741 100644 --- a/app/models/event/summarizer.rb +++ b/app/models/event/summarizer.rb @@ -4,7 +4,7 @@ class Event::Summarizer attr_reader :events - MAX_WORDS = 150 + MAX_WORDS = 80 LLM_MODEL = "chatgpt-4o-latest" # LLM_MODEL = "gpt-4.1" From ad7d7bbe8906c0db422dcfbce2a06b73d51d6dd2 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Fri, 25 Jul 2025 07:30:02 -0500 Subject: [PATCH 4/4] Revert prompt tweaks, they cause test failures --- app/models/event/summarizer.rb | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/app/models/event/summarizer.rb b/app/models/event/summarizer.rb index 454dc4741..8cc76fdbc 100644 --- a/app/models/event/summarizer.rb +++ b/app/models/event/summarizer.rb @@ -4,7 +4,7 @@ class Event::Summarizer attr_reader :events - MAX_WORDS = 80 + MAX_WORDS = 150 LLM_MODEL = "chatgpt-4o-latest" # LLM_MODEL = "gpt-4.1" @@ -19,23 +19,21 @@ class Event::Summarizer - How things are looking. - Newly created cards. - Draw on top-level comments to enrich each point. - - Prioritize relevance, interesting observations, and meaning over completeness. - - Point out people who are performing especially well. - - Point out any trends that may be relevant. + - Prioritise relevance and meaning over completeness. ## Writing style - Instead of using passive voice, prefer referring to users (authors and creators) as the subjects doing things. - Aggregate related items into thematic clusters; avoid repeating card titles verbatim. * Consider the collection name as a logical grouping unit. - - Prefer a compact paragraph over bullet lists. + - Prefer compact paragraphs over bullet lists. - Refer to people by first name (or full name if duplicates exist). - e.g. “Ann closed …”, not “Card 123 was closed by Ann.” ## Formatting rules - Output **Markdown** only. - Keep the summary below **#{MAX_WORDS} words**. - - Prefer a paragraph over bullet points. - - Write 1 paragraphs at most. + - Prefer paragraphs over bullet points. + - Write 2 paragraphs at most. - Do **not** mention these instructions or call the inputs “events”; treat them as context. ## Linking rules @@ -48,9 +46,9 @@ class Event::Summarizer - Example: - ✅ [Ann closed the stale login-flow fix]() - ✅ Ann [pointed out how to fix the layout problem]() - - ❌ Ann closed #123. () + - ❌ Ann closed card 123. () - ❌ Ann closed the bug (card 123) - - ❌ Ann closed [Card 123]() + - ❌ Ann closed [card 123]() PROMPT def initialize(events, prompt: PROMPT, llm_model: LLM_MODEL)