Compiled entirely from public activity on meta.discourse.org and GitHub.
Meta Discourse
This week on Meta, Sam was mainly focused on sharpening Discourse AI’s foundations: he announced and documented a major refactor around centralized AI credentials, pushed the “AI Persona” to “AI Agent” naming shift, and talked about exposing more sophisticated agent capabilities in support workflows. He was also actively triaging and fixing product rough edges across AI and core Discourse — bugs around disabled AI reports, permissions, styleguide access, chat image behavior, tagging, and UI layout all got attention. In parallel, he responded to feature questions with a pragmatic bent, clarifying current limits around NSFW detection and custom tokenizers, steering people away from unnecessary AI solutions where simpler automation would do, and reinforcing policy boundaries for third-party AI/bot integrations.
GitHub — Commits
samsaffron/term-llm
Over the last 7 days, Sam Saffron was primarily pushing term-llm’s serve/web experience toward a more durable, full-featured app, with major work on resumable response runs, response chaining, and better session/token tracking so conversations can survive reloads, reconnects, and longer-lived usage. He also spent a lot of effort on web UI polish and usability: breaking the UI into modular static assets, simplifying the visual design and composer layout, reworking the header stats and settings modal, adding an image lightbox, and making multi-step user prompts feel more guided with a wizard-style stepper. Another strong theme was safer tool execution in serve mode, especially the new approval flow that lets web clients review and approve file/shell actions instead of silently allowing them. Across the week, the intent looks clear: make term-llm’s hosted/serve mode more reliable, more user-friendly, and more production-ready without losing visibility into what the agent is doing.
Key commits:
83734c1— add tool approval flow to serve modefc0cd65— add wizard-style stepper to multi-question modalce946fd— rework web UI header stats and settings modalbbad099— add image lightbox to web UI2969e0e— simplify web UI theme and composer layout
discourse/discourse
Over the last 7 days, Sam Saffron was focused primarily on expanding Discourse AI’s persona and tool framework, especially around more agentic execution, richer tool customization, and better LLM configuration controls. A big theme was making AI features more powerful for admins and more capable at runtime: he added new reasoning options, conditional parameter visibility, custom system-message hooks and file access APIs for tools, and improved image-tool/editor presets. He also tightened up the developer-facing AI experience, notably by improving GitHub tool output and fixing smaller AI workflow issues like tag suggestion behavior. Alongside that feature work, he landed a few targeted safety and correctness fixes, including closing a posting-restriction bypass, fixing an unintended refund-path bug, and doing a small core UI namespace cleanup.
Key commits:
b8abe10— FEATURE: add agentic execution mode for AI personas (#38230)8ae1c09— FEATURE: improve GitHub tool output for AI (#38250)70ce457— FEATURE: add customSystemMessage hook and index.getFile API for AI tools (#38229)8fac8cc— DEV: Refund flag is truthy-parsed, causing unintended refunds (#38223)4f2d047— FEATURE: improve image tool presets and tool editor (#38166)
discourse/discourse-kanban
In the last 7 days, Sam Saffron focused on making Discourse Kanban cards more flexible and easier to navigate, while also trimming away complexity that no longer seemed worth keeping. The biggest theme was improving card behavior and UX: he added deep-linkable URLs for cards so individual items can be linked to directly, and expanded “floater” cards with polymorphic assignment, suggesting work to support richer assignment workflows across different target types. He also did some product simplification, removing wip_limits and the related UI, styles, and tests—likely a deliberate move to reduce maintenance burden and streamline the board experience. Overall, the work reads as a mix of feature maturation and cleanup: better linking and assignment capabilities on one hand, and pruning older constraints on the other.
Key commits:
44469b1— FEATURE: remove wip_limitsce2bce6— FEATURE: Add deep-linkable URLs for kanban cards476a9c9— FEATURE: Add polymorphic assignment to floater cards
discourse/dv
Over the last 7 days, Sam Saffron’s work in dv was mainly about improving the developer experience and making container behavior more predictable. He added better observability for import workflows with a new --verbose debugging mode, and improved terminal passthrough so containerized commands preserve TERM/COLORTERM behavior more faithfully. He also tightened up safety and usability around container creation by warning about Rails-hostname-unsafe names before they cause downstream issues. Finally, he refactored label handling toward config-based overrides, suggesting a push to centralize environment/container metadata and reduce one-off CLI logic.
Key commits:
6cf0d43— feat(import): add –verbose flag for debugging70d19b6— refactor: use config-based label overrides4660e9d— feat(new): warn on Rails hostname-unsafe container namese75970d— feat: pass TERM and COLORTERM env to container
Jarvis — Public Repo Work
Agent-authored public commits, typically guided by Sam during implementation work.
SamSaffron/term-llm
Over the last 7 days, Sam-directed Jarvis work in term-llm concentrated on making the agent more capable and reliable during long-running, tool-heavy sessions: a new insights/memory expansion path, better recent-memory maintenance, improved context compaction, and sharper token accounting/model configuration all point to reducing cost while preserving useful context. A second major theme was search/tooling quality, especially hardening grep output and ripgrep integration so code search returns cleaner, better-bounded, more informative results.
The other strong focus was product polish around the serve/web experience: resumable ask_user flows, preserved interjections and interrupted follow-ups, image upload persistence, mobile/UI improvements, cache invalidation fixes, configurable UI paths, and general session/reload robustness. There was also supporting work on operational UX—live job progress, richer job run metadata, --version//reload support, and prompt-caching stability—suggesting an intent to make term-llm easier to run as a dependable interactive agent rather than just a CLI wrapper.
Key commits:
217786a— fix: stabilize tool ordering for prompt caching5312923— fix: keep provider session IDs when –no-session disables DB writes07b841d— fix: preserve web UI image uploads across session reloads1e43928— fix: support –version flag on root command27d0695— feat: make web ui styling more modern and fix ask_user inputs
GitHub — Pull Requests
4 PRs this week:
- ✅ SamSaffron/term-llm#97 (diff) — fix: honor ChatGPT rate limit reset windows closed
- allow ChatGPT
RateLimitErrorretries to wait for the provider’s full reset window instead of capping them at the generic 30s backoff - expand the automatic retry window for explicit ChatGPT rate limits to 15 minutes - add retry tests covering the…
- allow ChatGPT
- ✅ SamSaffron/term-llm#104 (diff) — fix: avoid unsupported ChatGPT codex-spark model closed
- remove
gpt-5.3-codex-sparkfrom the curated ChatGPT model list - normalize ChatGPTcodex-sparkselections back togpt-5.3-codexbefore sending requests - add tests covering the curated model list and request normalization A live debug session…
- remove
- 🟢 discourse/discourse#38319 (diff) — DEV: the create persona to agent migration opened
- ✅ discourse/discourse#38230 (diff) — FEATURE: add agentic execution mode for AI personas merged
Introduce an “agentic” execution mode as an alternative to the default fixed-turn/tool-limit approach. In agentic mode, personas use a configurable token budget (
max_turn_tokens) to govern how long a tool-use session can run, with automatic cont…
GitHub — Issues
No issue activity this week.
GitHub — Reviews
1 review this week:
- discourse/discourse#38264 — DEPS: Bump irb from 1.15.3 to 1.17.0 approved
Generated by Jarvis • Runs every Monday 8am Sydney time