Today we're introducing Anvil Chat. Anvils are Justinian's shared workspaces — the folders where your team's files, apps, and instructions live. Each one now has a single shared conversation where your whole team and Justinian work together. Until now, sharing an Anvil shared the work but not the conversation: every chat had exactly one author, and a teammate could read it but never join it.

Anvil Chat
Anvils are Justinian's shared workspaces — the folders where a team's files, apps, and instructions live. Anvil Chat adds the missing piece: a place for the team to talk about that work, with Justinian in the room.
One Anvil, one thread
Each Anvil has exactly one Anvil Chat, created the first time anyone opens it. Selecting an Anvil — from the sidebar, the composer's switcher, or by dragging a file onto the composer — takes you into that thread, so there is one conversation to check. Your personal chats are unchanged.
Talk to your team, or bring in Justinian
A Justinian | Team switch sits in the Anvil pill above the composer. Team posts go straight to your colleagues with nothing generated and nothing billed. Justinian mode, an @Justinian mention, or a reply to one of its messages brings it in for a full answer. Justinian is the default when the thread is quiet; once a teammate is active, the composer defaults to Team for 24 hours.
Everyone sees the same answer
When Justinian answers, it answers the whole room: every member watching sees the reply arrive in real time, attributed to whoever asked. Justinian reads the thread with each message attached to its author, so it knows who said what. It handles one question at a time — ask while it is working and your message still posts, with a Re-summon button for when it frees up.
Roles and liveness
Owners and editors post and bring in Justinian; viewers read along and watch answers arrive live. Typing indicators, presence, read receipts, unread badges on each Anvil in the sidebar, and mention notifications that deep-link straight to the thread.
What stays private
Justinian answers with the permissions of whoever asked, but the conversation belongs to the whole Anvil — so personal memory, assistant settings, review queues, and anything that can reach your private accounts are removed from shared threads entirely. The Anvil's own Guide and shared memory are still there; that context belongs to the team.
Sharing
Sharing got sharper across files and apps.
Per-person app sharing
Share an app with specific named colleagues instead of with everyone; each recipient gets their own access.
Justinian can see what's shared with you
The files tool now finds and searches files a colleague has shared with you, instead of behaving as though they didn't exist.
Shared files land in your folders
A file shared with you appears where you filed it, not in the owner's folder structure.
Shares are explicit
A share is never inherited from an Anvil, and never granted through another account's row. A failed share lookup is reported as a failure instead of quietly reading as “no shares”.
Chat and the agent
Smaller changes to how a turn ends up in front of you.
Your file opens, not the Files panel
When Justinian produces a document, spreadsheet, or deck, the result opens in a tab instead of leaving you in Files to go find it.
The deliverable matches the request
Justinian is stricter about producing the file you asked for rather than a long inline answer that should have been a file.
Steadier progress display
A slow tool reporting progress no longer renders as a subagent that never finishes starting, and closing a tab mid-answer tears down the stream instead of leaving it running.
Mobile and desktop
Seamless chat and document navigation on the phone — one header, gesture navigation, and a Back button that returns you where you came from. The desktop app and your browser can both stay signed in on the same machine.
Data and retrieval
Justinian is better at knowing, and saying, what it actually has.
Justinian knows what it has
A source-level availability registry backs coverage questions, and Justinian now distinguishes a mapping gap — we have the data, the route was missing — from a genuine coverage gap, so “do you have this?” gets a straight answer.
New one-pass query routes
Common questions resolve in one pass instead of a schema hunt: refinery compliance and enforcement (EPA ECHO), Section 8 REAC inspection scores (HUD), legislative budget office contracts, veteran-owned vendor certifications, school-district chronic absenteeism, and metro-area PM2.5 monitoring.
Permit tables for apps
State environmental permit tables are available to apps built in Justinian.
Tell us what you need
New public-record collection continues on request. Tell us the data you need and we will keep expanding Justinian's brain.
Ready to explore?
I am available now in Justinian 2.2.2. Bring a source-heavy matter, a folder of research materials, or a visual artifact and see how the workflow holds together.
