The Fredrin changelog
Everything we shipped between September 14, 2026 and September 18, 2026 — page 2 of 18.
New
- Split combined artifacts and activity into two separate sections
- Show machine, model, and effort in admin view by reusing the main app's display logic
- Split artifacts out of Activity into a separate second tab
- Bring Fredrin Cloud to parity with other surfaces (models, agents, shell, etc.)
- Split artifacts out of Activity into a separate second tab
- Cut: code-entry shape gate at ticket finish (≤30 lines, resource, symbols resolve, verified commit), touched files only
- Cut: the feature kind: product-level entries that bridge ticket vocabulary to code; retire docs/features.md and killer-features.md
- Split artifacts out of Activity into a separate second tab
- Cut: docs/concepts becomes a four-kind OKF bundle (code, invariants, traps, observations), one guard, type = directory
- shrink the FREDRIN.md hub and give the ticket procedure its own doors
- Move merge section back to the top of the right side
- Enrich live demo sample data with fuller coverage of running/blocked/review states
- Remove the platform/workspace display from the UI
- Add a loading screen to the chat app while it loads
- Auto-scroll activity tab to the end when opened
- CLI: goals get and goals update, plus GET /api/v1/goals/:goalId
- Retire the guards the census marks retire, fold or orphan
- ticket get serves the top five context pointers on every ticket
- Rework ticket detail UX: chat-only right panel, Activity back on left, scroll-spy horizontal section tabs
- Improve settings UX: add Workspace → General, remove project context notice, move Experimental Features to workspace level, gate Domains to Enterprise
- Guard census: red history, enforcement overlap and trap coverage per guard
- Retire tests of test-tooling: guards keep no unit tests of their own helpers
- Traps spike: pnpm memory:eval --diff scores served pointers against the PR diff; baseline before and after the query strip
- Traps spike: mine invariant candidates from git co-change and hand-label ten
- Finish the subject merges: node service specs and the remaining glob pairs
- Test time budget: gate on the case, not the file
- Strip embedded workflow blocks from the context pack query
- Add OpenCode support
- Make www.fredrin.com primary and redirect fredrin.com to www
- Make the notes app mobile friendly
- Merge the jsdom spec clusters: ~190 files to ~27, one mount per tree
- Delete zero-value assertions: comment-text scans, stylesheet checks, copy pins
- Merge the glob subject clusters: 114 test files to 33
- Runner-owned TMPDIR discards tsx's transpile cache and fails the hard budget on Worker boxes
- Batch the doc, config and harness scans into three subject files
- Test-inflow rules: a ticket adds a case, not a file
- Worker-box throttle: one heavy command at a time, unit lane by default
Fixed
- docs/observations/ is inert, so an observation-only PR skips CI's expensive steps
- scroll an overflowing chat tab strip from a wheel
New
- Add Google Analytics (gtag.js) tag G-29J1MR7MCN to Fredrin
- Serve demo from pre-recorded data and reset it daily
- chart tickets worked on per user
- Compose the build seed by provenance, not by enumerating sections
- Traps: migrate the AGENTS.md rows into docs/traps/ with triggers and a matcher
- Fix error triggered when clicking 'Resume'
- ticket finish returns HTTP 400 and leaves prUrl null; 32s of Worker recovery
- Shrink FREDRIN.md: Workers re-read the 34KB manual on every cold start
- Increase the current limits by 10x
- None workflow produces no unrequested evidence or workflow artifacts
- Traps: PreToolUse hook prints the matching trap before an edit lands
- Fix button UI on mobile
- split the slow tests into their own CI job so the unit lane is measured alone
- Improve Dashboard with trustworthy usage analytics and actionable queues
- Move "Fredrin Cloud" above "Offline" in the list order
- Fix ugly button UI on mobile
- Show Updated timestamp alongside Created and fix Show More/Less placement
- Fix job ending in blocked state instead of completed after automation run
- Remove the "CPU-sum grew" test that is blocking CI
- Browser tests share one Chromium ACROSS processes, or run in one process
- Add a workflows selector to automations
- Add model/effort selection to automation configuration
- Enable "Shared / visible to workspace" by default for remote agents
- Add an explicit “Wait for human answer” option to Workflow items
- Default the experimental setting to disabled in settings
- Log workflow item start and completion events to activities
- Investigate Slack connector: not configured or failing to send messages from automations
- Remove the 'default' button CTA/section
- Change ticket summary default from 'Like im 10' to 'Like im 5'
- default the ticket description to expanded while the ticket is in Backlog (FRED-3DV4BG)
- Restore Fredrin Cloud: currently missing everywhere
- Fix non-functional "Run in parallel" action to prompt for item selection and show parallel status in UI
- process lane takes a file by @process marker, not only by path
- Automations - Summarize team GitHub activity for the daily standup
- glob runner schedules longest-first from remembered durations
- Test time budget: per-file limits, slowest-10 report, CPU-sum ratchet, and the rules doc
- Worker test runs self-update the checked-in agent launcher from inherited installation env
- browser tests share one Chromium, one Tailwind compile and one harness
- Runner-owned TMPDIR: tests cannot leak temp dirs past a run
- Remote worktree GC reclaims unregistered (orphan) worktree folders of finished tickets
Fixed
- collapse unchecked human-answer menu spacing
- retire the mission step-options browser test into a jsdom case; its flake was a second dismissable layer
- stub appSetting in invite-welcome-send.test.ts so it never reaches a real database
- mint the run's scratch directory under /tmp on macOS so socket tests fit sun_path (FRED-38I6ID)
- a guard that writes a global forfeits the batch, and the shard reverts the write
New
- Make the ADR significance gate binding at `ticket finish` (routine diff + new ADR → refuse, explain, let the Worker fix in-session)
- Build Fredrin dashboard app with user activity feed, configurable-timeframe ticket stats, and graphs
- retrieval knobs are options, benchmark gets a holdout, and a /memory-dream skill runs the loop
- Fix CI on main
- Make Slack messaging free-form across channels with optional status alerts
- run the test suite on pull requests again
- Improve the UI of the new event creation experience in the calendar
- historical decisions never seed the context pack; match floors the live heir (FRED-59IN6U)
- Remove the redundant top prompt section from the page
- seed BM25 scores ~750-char windows with path tokens, node = best window
- Simplify the Automations UI/UX
- Make CI pass without a running database by removing the live-DB requirement from DB checks
- Show 'minimal' workflow selection in ticket even when nothing is checked
- Remove top "design variation" section and redundant Prompt section message
- Always show the kickstart/blank prompt popup while a project board has no tickets
- Fix + button next to Workspace showing onboarding popup instead of new project flow
- Reposition the "Less" button next to the Created timestamp row
- Fix stale git worktree garbage collection filling up remote agent disk space
- Remove the board event and metric features
- Manage multiple named platform workflows in Admin
- Reduce excessive padding in ticket popup to follow UX best practices
- Record actual Worker models for CLI-default runs
- Make switching between app tabs instant
- Simplify report-to-ticket flow to create a single fix ticket instead of a goal plus tickets
- Fix DESIGN.md and unify product form typography and control sizing
- Make the report generation prompt configurable
- Reduce token overhead when workflow is None
- Add option to spawn a Shell on remote machines, not just agents
- Add 3-option new project creation popup with 10 design variations
Fixed
- land the Agent tab on the newest terminal output, not the top (FRED-2GA486)
- make Rename work in Automations and re-point two guards main broke
- keep the branch-health bar from freezing on a stale red
- repair the Build gate on main
- Use None for new branch CI repair tickets
New
- Add 3-option new project creation popup with 10 design variations
- Apply approved Ghost pair to New Session and dropdown controls
- Keep the model displayed next to the machine it runs on when "more" is pressed
- the ticket panel's Workflow section is a read-only record
- Default new tickets to no workflows instead of minimal
- the ai synthesis button is backwards. when on it should be brighter than when it is off. but its seems backwards pls investigate and fix
- Add 3-option new project creation popup with 10 design variations
- Normalize font sizing across all options in the ticket detail view
- Add a Directory Listing kickstart template
- Kickstart themes should build immediately with no workflow items set
- Remove duplicate verification check section and add hover tooltip with description
- Show runs-on/models section next to assignee in minimized state
- Show ticket name in the goal's finished tasks list
- After paying for a Team, land on "Your team is ready" and invite the seats you bought
- Simplify Cloud option in chat app New menu to match other remote agents
- Investigate and fix the single test that fails across all tickets
- Default the landing page to dark theme
- Ticket Not Running-Kicked User out of terminal
- each agent-box worktree owns its Postgres database
- Fix CI on main
- the Activity view opens on the newest activity
- Redesign the share / copy section UI/UX
- move Artifacts and Activity into the chat panel's Activity tab
- a create from the composer no longer opens the new ticket
- Editing a saved report is an API + CLI surface, not a new capability
- Redesign the calendar new-event popup with a simple, minimalistic, modern UI
- state a ticket's runtime configuration on the build panel
- toggle between raw and rendered markdown in the Code app
- A staging-paired agent updates itself from production and ping-pongs forever, eating claimed jobs
- a process app restarts when its directory changes, and keeps its address
- Code belongs in CORE_PILLAR_KEYS: un-gate it from Experimental
Fixed
- a Mission tick pins the ticket's workflow source
- stub server actions in the editor key-map browser fixture
- installation-upgrade test writes bundle files 0o600, not umask-dependent
New
- Show avatar profile menu with logout in top nav when logged in
- Sync calendar app events one-way to Google Calendar
- Gate Manage Apps, Marketplace, Build Your Own Apps, and non-core apps behind Experimental mode
- Fix 409 API error preventing tickets from moving to review
- Machine-local env fallback for app secrets
- Root-level notes don't appear in the Folders pane until you open the "Notes" folder
- Claude can't create tickets
- Investigate error that persists after previous fix attempts
- Open Notes app to the last viewed note
- Add admin controls to toggle which apps are visible in the live app
- Root-level notes don't appear in the Folders pane until you open the "Notes" folder
- Broker runs one app from many directories
- a process app's install belongs to one member, derived from their own checkout
- Make notes linkable and shareable with other users
- Fix false "Lima Fredrin VM is no longer paired" message in activity log
- replace landing walkthroughs with current local product footage
- sandboxed process custom apps with app-scoped keys, and pnpm dev:stack
- Repair the decision log and the four docs that now describe a rule we do not have
Fixed
- align CI guards with experimental app eligibility
- the notes v1 spec's fake DB lacks the AppSetting table the app switch reads
- remove expanded Notes folder borders
- repair main CI fixtures and the undeclared /notes surface
- four process-app defects: relay, restart, dev command, unset secret
- carry every projected column in the authored-apps Prisma fixture
- resume notarized releases after transient failures
- repair a group-writable ~/.fredrin instead of crash-looping the agent
This is what a board of agents shipping in parallel looks like. Free to start on macOS, Windows and Linux.