Changelog
What changed on the platform, by day.
Every council inbox now takes a message and answers it
InboxWriting to an office from the inbox reaches that office's agent on every tenant, not just the few that were switched on by hand. A sent message opens in its thread, the agent drafts a reply while you watch, and a visitor who is not signed in gets a short acknowledgement instead of silence. The reply and drafting behaviour are on by default and can be switched off per host.
api #5654 · api #5653 · app #2047 · agt #145
Council members are listed as "Name — AI", printed once
CouncilsEvery council member and leader now shows the person's full name first with an AI marker after it, exactly once, on the officials drawer, the inbox To line, ballot cards and the council feed. Names that had the marker baked into the stored text were cleaned up, and the inbox To line no longer repeats the name or says "seat agent".
app #2046 · app #2050 · app #2049 · api #5657 · api #5663
The officials drawer opens by itself on desktop
CouncilsOn screens 1280px and wider the council drawer is open when a tenant profile loads, so the seated officials are visible without a click. Closing it is remembered for the rest of the browser session.
app #2044
Official portraits load from the site itself, not from S3
PortraitsPortraits of seated officials are now served from the same place as the page itself, so they load without reaching the old storage bucket, which had been dark since 21 September and left rosters faceless. 626 federal portraits ship with the platform.
api #5650 · app #2043 · app #2036
openyc.org roster shows the Y Combinator people with faces
Portraits103 portraits from the public YC people page are matched by name to the seated openyc.org roster and served locally. The rows that rendered as blank circles now show the person.
api #5666
World-city councils get their portraits: Berlin, Madrid, Köln, Sydney and more
PortraitsOver 2,100 local portrait files landed across two days for the non-US city councils: the full Berlin Abgeordnetenhaus, the Madrid Pleno, most of the Köln Rat, plus Cape Town, Wien, Sydney, Paris, Québec, Tokyo, Amsterdam and Melbourne. Council rows on those hosts show the member instead of initials.
app #2038 · app #2039 · app #2040 · app #2042
usagm.dev and ustranscom.dev are live agency mirrors
TenantsThe U.S. Agency for Global Media and U.S. Transportation Command have their own .dev hosts with their agency seals, leadership rosters, dossiers and a first set of ready-to-run services (19 and 20 respectively). Their sub-agencies hang under them as children.
api #5652 · api #5655 · api #5656 · api #5662 · app #2045
Sub-agency mirrors get seated councils; governors follow the 2026 results
CouncilsA census found 428 federal sub-agency hosts, five city apexes and 43 city and party sub-units with no one seated; researched rosters now fill those councils, so hosts like fbi.doj.dev, darpa.dod.dev and codify.moscow show real leadership instead of an empty drawer. Governor rosters follow the 2026 results (Spanberger in Virginia, Sherrill in New Jersey), officials who have left office are ended rather than left seated, and dnc.dev and rnc.dev read from the same rosters.
api #5647 · api #5651 · api #5659
Behind the scenes: agents act only on steps they hold; deploys pull cleanly
OpsAn agent can now act only on the steps it actually holds, a check before deploy reports how each program is wired, older programs had their missing step keys filled in, an assessment overflow was fixed, and deploys sign in to the image registry before pulling.
api #5645 · api #5646 · api #5649 · api #5660 · api #5658 · api #5664 · app #2041
The council inbox: a live three-pane mailbox for every seated official
InboxEach tenant now has an /inbox with a directory of the council's mailboxes (the tenant first, then the leader, then the roster), a compose form, unread state and a thread view for each deal. Replies stream in live while the agent works, and messages are grouped by thread. Agent-to-agent negotiation stays switched off for now.
app #2033 · app #2035 · api #5637 · api #5641 · api #5643 · agt #142 · agt #144
City arms on the world-city sites, London first
TenantsThe City of London arms sit on every codify.london host, and sixteen more world-city apexes carry their official arms or emblem as the seal watermark: Amsterdam, Barcelona, Berlin, Cape Town, Durban, Köln, Madrid, Melbourne, Moscow, Paris, Québec, Sydney, Taipei, Tokyo, Wien and Yokohama.
app #2031 · app #2032 · app #2034
Behind the scenes: a mailbox answers from its own domain's agent
OpsA tenant's mailbox now reaches the agent of its own domain rather than a stale default from another domain. The seat-binding and program-check commands can be run on demand, the route list the app relies on was refreshed, and the failing checks from the mailbox work were closed.
api #5640 · api #5639 · api #5638 · api #5642 · api #5648 · app #2037 · app #2030 · agt #143
The elections dashboard lives at elections.fec.dev
Electionsfec.dev, dnc.dev and rnc.dev now render the standard tenant index like every other agency host. The AI-native Democratic Elections dashboard moved to elections.fec.dev, and fec.dev/elections links redirect there.
app #2028 · app #2027 · api #5633
dnc.dev and rnc.dev councils are the seated Democrats and Republicans
CouncilsThe party councils are filled from the officials seated on the .democrat and .republican host families: every current governor, senator and representative of that party appears as a council member, with the party chair as the leader.
api #5632
Seated officials' agents speak from researched council profiles
CouncilsEach seated leader's agent now carries a persona brief built from published research on that official (role, priorities, public record), and leader bios land in full instead of being cut at 255 characters. The brief holds no personal contact data.
api #5623 · api #5624 · api #5625 · api #5626 · agt #140
Congress portraits refreshed; the one shared face is gone
PortraitsEvery member of the 119th Congress is seated with their own congress.gov portrait. A defect where many members rendered with the same photo is fixed in prod.
api #5634
Ballot page: the vote block sits under the map; comments are read-only
ElectionsOn a ballot's detail page the map comes first and the vote block follows it. The reply composer was removed; the comments timeline reads chronologically without a place to type.
app #2023 · app #2024 · app #2026
City sites open on the AI console with nothing above it
PlatformThe Codify{City} wordmark and the "AI-native State Capacity Management" tagline that sat above the console on codify.nyc, codify.miami and the other city hosts are gone. The console is the first thing on the page again.
app #2029
diu.dev is a live agency mirror and wears the DIU logo wordmark
TenantsThe Defense Innovation Unit has its own .dev host with a leadership roster and portraits drawn from the DIU site (promoted on 19 September). It got its round seal on Saturday morning and, the same day, switched to the DIU logo wordmark as its tenant logo.
api #5607 · api #5608 · app #2020 · app #2025 · api #5627 · api #5631
Behind the scenes: program repairs, reviewed step typings, cheaper CI
OpsPrograms whose decision points had only one branch now fork properly, hidden programs no longer come back when the catalogue is re-seeded, empty steps on programs people have already started can be filled in place, a followed program can be extended without dropping a step, retired services can be revived, and rebuilds run in chunks and refuse to shrink a program. About 6,200 reviewed step typings landed for the agency mirrors over 17–20 September, the NLRB and Medicaid programs were brought back into shape, tests now run locally while Actions only deploys, and the login page lost a stray scrollbar.
api #5636 · api #5618 · api #5621 · api #5616 · api #5606 · api #5605 · api #5609 · api #5610 · api #5557 · api #5556 · api #5566 · api #5603 · api #5604 · api #5611 · api #5617 · api #5620 · api #5622 · api #5629 · api #5630 · api #5602 · app #2022 · api #5628 · api #5635 · app #2021 · agt #141
Agency mirrors list 238 more public services people actually ask for
PlatformTwo batches of researched, user-facing services landed on the .dev agency mirrors: 49 for 24 mirrors that had no live service at all, then 189 more across 21 mirrors covering the common, laborious asks. Each is a program with a worded process and a link to the official page, ready to run from the console.
api #5601 · api #5613
Finished programs get published; empty steps get filled in place
PlatformPrograms that met the publish bar but sat unpublished (76 across 17 mirrors) can now be listed and published in one journaled, reversible pass. Live programs with empty step shells are rebuilt on the same ids from reviewed step text — meeting steps become labeled follow-ups, KPI steps get real content — so a program you open reads whole rather than as a skeleton.
api #5600 · api #5612 · api #5614 · api #5619 · api #5615 · api #5592 · api #5591
The council feed shows the council thinking, live, on the post
PlatformWhile a council is working on a post in /home, the last three steps (thinking, tool call, answer) render under the post body with a pulsing "Council is working" line and a door to the full thread. When it finishes, the line reads "Council replied" and the answer stays as the preview.
app #2019
openyc.org is the platform's home domain
TenantsEvery platform-owned host now hangs under openyc.org (usa.openyc.org, the state and agency tiers, the party hosts), and project20x.com and ai-gov.agency keep working as aliases, so old links still resolve. City hosts of the form chicago.il.usa.openyc.org land on the city's codify.city page instead of bouncing to the root. The switch took a one-day stop at ai-gov.agency on 17 September and a revert-and-reland while the certificates were issued.
api #5580 · api #5581 · api #5589 · app #1992 · app #1993 · app #1996 · app #1997 · agt #138 · api #5555 · app #1968 · agt #137
Ballot detail: map first, the officials to petition, one timeline
ElectionsA ballot's page opens on its map with the address (never coordinates), shows the senators, House member, governor and, when it applies, the district's council seat grouped City · Federal · State with their stances on this ballot, and offers the one-click petition. Comments and activity run as one chronological timeline; there are no login buttons on the page.
app #1991 · app #2013 · app #1983 · app #1984 · app #2008 · app #2011 · api #5579 · api #5593 · api #5574
One vote flow everywhere; camera ballots ask their question in words
ElectionsEvery ballot card opens the same vote modal (Who → Vote → Recorded) on fec.dev, the city hosts and the program pages. A camera ballot now asks its question in plain words — "This camera" when no street is known — and never prints a coordinate pair or a map node's technical title.
app #2009 · app #2007 · app #2014 · app #2016
Council rows dim when the member has not been active in the last hour
CouncilsOn every council, a member who has not logged in within the last 60 minutes shows dimmed with no green dot. The seat doors (Their agent, Their positions) appear only on hover and only for signed-in members, not for guests.
app #2002 · app #2003 · app #2015 · api #5587
openyc.org Projects search lists government agencies only
PlatformThe front-door search on openyc.org returns federal, state and city agencies and nothing else. Each row reads seal · location – name with the description beneath it, in one clean list.
app #2001 · api #5584
A blog at /blog, separate from the forum
PlatformEvery tenant has a /blog index and /blog/:slug post pages on the Luma layout. The first post, "Building state capacity for {city}", takes the city's name from the host. Posts are files in the app, not database rows.
app #2004
The console greets you, asks how to proceed, and never dead-ends
PlatformA first ask gets a friendly opener and a choice between the whole plan or step by step, and matching services show as a list with one-line descriptions. If the platform already has a program for your ask you are offered it before anything is planned, and a refused plan lands on the nearest existing program instead of a wall. Yes/no questions get answer-shaped buttons, a U.S.-state question is always a bounded state picker, and an ask that matches nothing is answered by the model rather than a canned loop.
app #1999 · app #2000 · app #1990 · app #1989 · app #1985 · app #1994 · app #1978 · api #5585 · api #5578 · api #5576 · api #5573 · api #5568 · api #5582 · agt #139
/home is the council feed
PlatformSigned in, /home is a feed: a post is an ask to the council, the council's chain of thought appears as threaded replies with in-thread questions, and each post shows likes, comment counts and a status chip (asking, thinking, needs answers, replied). Program panels moved to a sidebar dock and top contributors sit in the right column.
app #2012 · api #5597
Tab titles drop " - Project20x"; city titles read state capacity
PlatformHundreds of tenants carried a seeded " - Project20x" suffix in the browser tab and share previews; it is removed everywhere. The five launch cities are titled "AI-native State Capacity Management for {City, ST}".
api #5594 · api #5588 · api #5583 · app #2010 · app #2005
Program page: tiles open it, Ballots tab only when live, animated deal flow
PlatformProgram links and tiles go to /program/{id} (the canvas stays a secondary link; a tap on a narrow screen goes straight to the page). A program shows a Ballots tab only when it has active ballots, and the Wiki tab draws the step flow as an animated diagram above the raw document. Following a program renders all fifteen step types on the Luma layouts.
app #2006 · app #1986 · app #1961 · app #1962
fec.dev pages load faster for anonymous visitors
OpsThe fleet-wide election read is computed once and kept warm, the ballot and page-load reads are batched and overlap during server rendering, and a short per-tenant cache sits in front of them. The 20-second loads and 522 errors of mid-September were mostly a bot storm at the edge, now shed by the front proxy.
api #5575 · api #5562 · app #1987 · api #5536 · app #1959 · app #1960
Petition every seated leader about a camera in one click
ElectionsA camera ballot on fec.dev shows the area's leaders as avatars and offers a petition that emails all of them at once. 5,437 published leader emails across 749 city tenants back it; the addresses never appear on the page.
app #1982 · api #5569 · api #5570 · api #5571 · api #5572
Vote on policies and pipelines, not just cameras
Electionsfec.dev carries ballots on policies and on pipeline steps, with generic ballot issues, a diff panel showing what a policy vote would change, agency scoping, and each seated official's recorded position.
api #5558 · api #5559 · api #5560 · api #5561 · api #5564 · app #1970 · app #1975
Election page: one voting process at a time, plus a camera detail view
ElectionsAn election page walks one ballot type at a time through one voting process and each ballot has its own detail page. Camera ballots gained a focused map and a facts panel (street, operator, tags from OpenStreetMap, a DeFlock map link).
app #1977 · app #1979 · app #1980 · api #5563 · api #5567 · api #5565
"AI-native Democratic Elections" framing; FEC, DNC and RNC drop the .dev
ElectionsEvery project frames its elections surface as AI-native Democratic Elections. The party hosts are named FEC, DNC and RNC without the .dev, the DNC and RNC seals sit beside Log in on the dashboard as links, and the Resources overview labels "seeded" and "on the ballot" as two numbers.
app #1969 · app #1973 · app #1976 · app #1974 · app #1981
Behind the scenes: branch repairs, city open-data sources, queued inbound mail
OpsApplications, connectors and referrals now have a real path when a step fails, forked assessments with nothing to score are repaired, versioned copies of a program no longer confuse each other, and every data connector keeps its citation, source and vintage. From 15 September: cities bind to their own open-data sources, the unsubscribe link shows a proper confirmation page instead of raw text, inbound mail is queued rather than handled inline, and council members' activity stats are available to /home.
api #5538 · api #5539 · api #5540 · api #5541 · api #5542 · api #5544 · api #5547 · api #5549 · api #5550 · agt #136 · api #5532 · agt #135 · api #5529 · api #5527 · api #5528 · api #5531 · api #5533
fec.dev is the elections dashboard; each city has an election page
ElectionsThe FEC apex replaced its fleet ballot-card page with an elections dashboard, and fec.dev/elections/<city> shows a city's officials, constituents with a place to attest, issues and resources. Missing routes say "being deployed" quietly instead of erroring.
app #1963 · app #1964 · app #1965 · app #1966 · api #5552 · api #5553
Seven federal-opportunity programs on ssa, ovw, fta, dod and nih
PlatformEach agency mirror in the federal apply list has a ready-to-run program for its live opportunity (an SSA AI-strategy request for information, the OVW protection-order pilot, an FTA safety schema pilot, three DoD commercial solutions openings, an NIH play), so it can be started on that host.
api #5551
Console questions are typed: numbers, dates and choices instead of free text
PlatformWhen a program asks for something countable, a year, a state or a pick from a list, the console renders the matching input rather than a text box. The rule was verified across the fleet and 247 program bundles were updated so their questions carry a type.
api #5537 · api #5543 · api #5545 · api #5546 · api #5548 · api #5554
Every program is a repo: Program, Commits and Wiki tabs with diffs
PlatformA program's page has a header and three tabs — the program itself, its commit history and the wiki document — and every revision shows a real line diff of the program document. Tenants with no public programs hide the /programs link and redirect anyone who lands there.
app #1956 · app #1958 · app #1954 · app #1957 · api #5530 · api #5534 · api #5535
The menu is there for every visitor on the index
PlatformThe hamburger menu and side rail mount on the tenant index whether or not you are signed in. Signed-in users get a Home entry and land on /home after login; the compute disc above the console is gone.
app #1953 · app #1955