Commit Graph

919 Commits

Author SHA1 Message Date
Andy Smith 8e795f183d Update system message to highlight verbs 2025-07-24 13:42:19 -05:00
Jason Zimdars dfb6198e94 Merge branch 'main' into web-push
* main: (50 commits)
  Regenerate fixtures
  Let summaries know about collections
  Regenerate fixtures
  More tweaks
  Regenerate fixtures after tweaking prompt
  Fix model selection (I had broken it!)
  Some prompt refinements
  Some of us have basecamp.com email addresses
  Update nokogiri and thor to addres CVEs
  Fix tests
  Format
  Move model options to helper
  Tidy up the admin tool for prompts
  Extract methods
  Format
  Default to the current summary
  Make models selectable
  Add an animated effect for the generating state
  Remove debug
  Wrap them both in the container so the generating state looks right
  ...
2025-07-23 11:50:35 -05:00
Jorge Manrubia f3fa324f09 Let summaries know about collections 2025-07-23 16:54:39 +02:00
Jorge Manrubia c082a1b1f5 More tweaks 2025-07-23 13:15:49 +02:00
Jorge Manrubia c8c297a75e Fix model selection (I had broken it!) 2025-07-23 13:10:47 +02:00
Jorge Manrubia 49518692bb Some prompt refinements 2025-07-23 13:04:41 +02:00
Jorge Manrubia 94ba4f6074 Some of us have basecamp.com email addresses 2025-07-23 12:50:07 +02:00
Jorge Manrubia fc1ff7bf5e Fix tests 2025-07-23 12:21:20 +02:00
Jorge Manrubia 90ddadea5c Format 2025-07-23 12:04:18 +02:00
Jorge Manrubia c0b385b19b Tidy up the admin tool for prompts 2025-07-23 11:55:44 +02:00
Jorge Manrubia f32e89c277 Format 2025-07-23 11:43:10 +02:00
Jorge Manrubia c3ae05833e Make models selectable 2025-07-23 11:02:34 +02:00
Jason Zimdars f413e19508 Prefer Account.sole 2025-07-22 22:45:23 -05:00
Jorge Manrubia 5322ce2afb Add comment's context for each card too 2025-07-22 22:43:01 +02:00
Jorge Manrubia e1ab4ec13c Use 4o for now, it's just better for summarizing and conversation
It's more expensive, going with the best and we'll tune later
2025-07-22 22:34:12 +02:00
Jorge Manrubia 662f6dffe8 Use gpt-4.1 for now, several prompt refinements 2025-07-22 21:32:10 +02:00
Jorge Manrubia fd0484176c Format 2025-07-22 18:59:10 +02:00
Jorge Manrubia e87ed26f75 Add tests 2025-07-22 18:45:07 +02:00
Jorge Manrubia 6aca86c87a Forgot to rename this 2025-07-22 18:31:52 +02:00
Jorge Manrubia 13b20d43c8 Refine prompt 2025-07-22 18:13:44 +02:00
Jorge Manrubia ca640b5b45 Remove (not used) 2025-07-22 15:39:40 +02:00
Jorge Manrubia 26089f77b7 Remove unused column and rename contents => content 2025-07-22 15:23:39 +02:00
Jorge Manrubia 8f6e81a687 Only summarize today if there are at least 10 events
https://3.basecamp.com/2914079/buckets/37331921/todos/8877635813#__recording_8879434338
2025-07-22 15:04:55 +02:00
Jorge Manrubia 6ba1884fb0 Fix: summaries where failing to generate with filters 2025-07-22 14:59:38 +02:00
Jorge Manrubia 0397327442 Avoid links to comments for now 2025-07-22 14:40:59 +02:00
Jorge Manrubia 6d26195bc7 Add a debug prompt endpoint so that we can play with the prompts live 2025-07-22 14:33:34 +02:00
Jorge Manrubia 89a9e7f32c Tweak prompt for trying to avoid liks like "card 1234" 2025-07-22 12:28:05 +02:00
Jorge Manrubia 9c6f1354c4 Broadcast and show summaries on the fly 2025-07-22 12:26:32 +02:00
Jorge Manrubia 053ae76312 Tweak prompt 2025-07-22 12:06:56 +02:00
Jorge Manrubia 7cd459f2b8 AI Summaries: basic abstractions, functional version 2025-07-22 11:57:39 +02:00
Jason Zimdars 0afc738d19 Whitespace 2025-07-21 20:11:03 -05:00
Jason Zimdars 2593fe2221 DRY 2025-07-21 19:58:11 -05:00
Jason Zimdars 97022be929 Clean up 2025-07-21 19:01:48 -05:00
Jason Zimdars c3b946c961 Design flow for enabling push and the various status that go with it 2025-07-21 18:27:31 -05:00
Jason Zimdars a6e9e51071 Merge branch 'main' into web-push
* main: (28 commits)
  Clean up the /scripts directory
  Prevent recursion when invoking AI
  Bump sqlite3 from 2.7.2 to 2.7.3
  Port over Jeremy's fix for slow uploads
  .gitignore log files and portfolio's local storage
  Drop Current.account and just use Account.sole
  Use the utf8-patched mysql driver
  Call blob.preview for previewable attachments
  Make sure the image variants we use are preprocessed
  Add /user command
  Make sure it doesn't infer custom abbreviations when matching user names
  Script to load prod db in development
  Update Signup to use the queenbee_id for the tenant name
  Bump cache version
  Make sure it uses latest bundler to prevent error due to mismatch
  Invalidate cache
  Update ruby
  Update bundler to prevent error on lower version
  Update bundler to prevent error on lower version
  Resolve stages
  ...
2025-07-21 11:03:56 -05:00
Jorge Manrubia 2cd4dd8709 Prevent recursion when invoking AI
This can result in stack overflow errors for missing commands.

https://fizzy.37signals.com/5986089/collections/7/cards/1135

Follow up to https://github.com/basecamp/fizzy/pull/766
2025-07-21 10:25:26 +02:00
Mike Dalessio 8e13ce5b78 Drop Current.account and just use Account.sole
I had reintroduced this in dacb53b8 after David removed it in
6bbf68a4, but now I agree we don't need it.

Also, fix a CORS error when trying to redirect a user to an untenanted
path after login (see
https://fizzy.37signals.com/5986089/collections/2/cards/1032).
2025-07-20 13:00:09 -04:00
Mike Dalessio ef6198d394 Make sure the image variants we use are preprocessed
to avoid implicitly creating a variant during a GET to a read replica,
which will raise an exception and cause the image to fail to load.

This feels pretty brittle, to be honest, and we'll need to be careful
in the future about creating and using new variants; we will probably
need to backfill the new variant for existing images because we can't
guarantee that they will be created implicitly/lazily if the GET lands
on the replica.

ref: https://fizzy.37signals.com/5986089/collections/7/cards/942
2025-07-18 15:43:31 -04:00
Jorge Manrubia 39c7a54ad6 Add /user command
The LLM was relying on it. Having it missing resulted in a stack overflow error!

https://fizzy.37signals.com/5986089/collections/7/cards/1135
2025-07-18 17:59:02 +02:00
Jorge Manrubia 921db25646 Make sure it doesn't infer custom abbreviations when matching user names 2025-07-18 17:31:19 +02:00
Mike Dalessio 15876b8762 Update Signup to use the queenbee_id for the tenant name
and not the subdomain. This change should have been in #665
2025-07-18 10:11:10 -04:00
Jorge Manrubia 16abcf2049 Bump cache version 2025-07-18 14:32:04 +02:00
Jorge Manrubia c144ef68cb Invalidate cache 2025-07-18 14:14:40 +02:00
Jorge Manrubia d9b2a49892 Resolve stages 2025-07-18 12:47:03 +02:00
Jorge Manrubia a1e3835eb8 Prevent 500 when running /search with empty string 2025-07-18 10:55:36 +02:00
Jorge Manrubia 44873e8ac4 More refinements 2025-07-18 06:50:13 +02:00
Jorge Manrubia d81568ff57 Filter by stage id, much better collection filtering 2025-07-18 05:50:22 +02:00
Jason Zimdars 4330cb4071 Ensure notifications link to the correct account 2025-07-17 22:20:16 -05:00
Jorge Manrubia b30bc85f4e Rework prompt to make it less ambiguous and better overall 2025-07-18 05:11:08 +02:00
Jason Zimdars 045460cd60 Revert "Use urls"
This reverts commit 74b5ac4244.
2025-07-17 20:12:06 -05:00