RC2026

Product Engineering

·
APR–SEP 2026

AgentRamp

Policy, training and knowledge platform for a US state human-services agency: AI-suggested policy edits with an audit trail, a cited caseworker assistant and reviewed training modules.

Artifacts

Stack

Product EngineeringReact + HonoAI Review WorkflowsCited Assistant UXAccessibility

The Product

Illustrations
AgentRamp · Policy StudioIllustration · placeholder content
01

An edit is suggested

Policy block · § 4.2 Reporting changes

Households must report a change in size within 30 days within 10 days of the change, and the agency re-verifies income before the next benefit month.

AI suggestionEdit 14 of 18awaiting decision

Suggestions appear as tracked changes in the block, beside the analysts already editing it.

02

Why, and on what authority

Reasoning

The block still uses the 30-day window. The cited rule shortens the reporting period for household changes to 10 days.

Cited regulation
§ 12.3(b) · Reporting requirements open
“…shall report changes in household composition no later than 10 days after the change occurs…”

The reason and the passage it rests on travel with the edit; the passage is highlighted a click away.

03

Decide, then publish

Accept DenyEdit 14
Audit trail
  • Edit 12Accepted10:41
  • Edit 13Denied · note kept10:44
  • Edit 14Accepted10:52
Changes decided17 / 18
Publish v8unlocks at 18/18
Illustration: an AI-suggested edit, its reasoning and cited regulation, the decision on the record, and a Publish that only unlocks once every change is decided.
AgentRamp · ClaraIllustration · placeholder content
01

An answer with its sources

A household just added a member. Do we re-verify income?

Yes. A change in household size triggers income re-verification before the next benefit month1. A verbal report is enough to start it 2.

streamed · 2.1 s
Sources
  • 1 Eligibility manual · § 12.3
  • 2 Verification guide · p. 4

Clicking a citation opens and highlights the cited block.

02

The follow-up stays grounded

And if the new member is a student?

Student earnings count unless the student is under 18 or enrolled at least half-time 1.

sources carried over open source document

The sources of one answer stay attached to the next question, so a follow-up doesn’t drift to a different document.

End of session
★★★★★rated 4 / 5
03

A hard case goes to a person

Escalate to supervisor
Supervisor queue · North region
3 waiting1 claimed
  • E-204112 min Claimed
  • E-203926 minClaim
  • E-203641 minClaim

An escalation waits in its region’s queue until one supervisor claims it; the transcript opens for them, and every read is logged.

Illustration: an answer with clickable citations, a follow-up that keeps the same sources, and an escalation waiting in a regional supervisor queue.
AgentRamp · Learning HubIllustration · placeholder content
01

The author keeps editing

Module · Reporting household changes
Draft v4editing
  • Slides12 (was 11)
  • Job aid1 page
  • Quiz8 questions · pass 80%
Content changed. Earlier approvals were reset: 0 of 2.

Any substantive edit after approval, to the content or the narration, sends the module back through review.

02

Reviewers approve exactly this

Review · v4
  • Policy reviewerapproved
  • Training leadpending
Approvals1 / 2
quiz preview passes Publish

Review needs a pass rate set and a working quiz preview before it starts; Publish unlocks at 2 of 2.

03

Learners see the snapshot

Published · v3
lockedassigned to 42 learners
  • Slides11
  • Job aid1 page
  • Quiz8 questions · pass 80%
unchanged while v4 is in draftrepublish blocked when nothing changed

The published version stays exactly as approved, with its own thumbnail, until a new version clears review.

Illustration: an edit after approval resets the approval, reviewers approve exactly what ships, and learners keep seeing the published snapshot while the next draft is edited.

Synopsis

AgentRamp is an enterprise policy, training and knowledge platform for US state human-services agencies. Policy staff keep the agency's policy manual mapped to the federal regulations it implements and review AI-suggested edits to it in Policy Studio; caseworkers ask Clara, an assistant that answers from the agency's own policies and documents; supervisors oversee those conversations; and training authors turn policy changes into modules that learners complete in the Learning Hub.

From April to September 2026 I was one of two engineers on the vendor team building the application for a US state human-services agency. I owned Policy Studio's review and publishing flow and the collaborative editor underneath it, the Clara chat experience and its supervisor tools, Learning Hub review and publishing, notification delivery, role-based access and the accessibility pass. The Policy Studio and Clara work shipped in the agency's July and August 2026 production releases; the Learning Hub work followed a client walkthrough in September.

Everything on this page is described at product level. The illustrations use made-up placeholder content; no client data, screenshots or names appear.

Architecture

System Layers

Policy Studio

Where policy staff work. A policy is a set of blocks mapped to the regulations they implement. AI-suggested edits appear as tracked changes with their reasoning and cited regulation beside them; several people edit the same policy at once with live cursors, comments and an edited-by trail; version history keeps every published version and reopens one for the next cycle.

Iglobe

Clara

The caseworker assistant. Answers stream in with numbered citations that open the cited passage, the sources of an answer stay attached to follow-up questions, caseworkers rate answers and the session, and hard questions go to a regional supervisor queue. Answer generation runs in AgentRamp's core platform; I built the chat, the citations, the oversight tools and the analytics around it.

IIcpu

Learning Hub + Training Studio

Training authors generate quizzes, job aids and slides from policy sources, edit them in Office formats in the browser, and send modules for review. Learners only ever see a published, approved version.

IIIlayers

Application backend (Hono)

A Node.js service on PostgreSQL that fronts AgentRamp's core platform. It owns the editorial workflow and its state machine, the collaboration server, access control, Clara sessions and analytics, and notification delivery.

IVserver

Delivery and operations

Azure throughout: container apps behind a front door, managed PostgreSQL, blob storage and email delivery, with pipelines promoting develop to QA to production. Vitest suites in the shared, API and web packages, database-backed tests and Playwright.

Vdatabase

Core Engineering

Field Notes
01.

Reasoning and citation for every AI edit

Reviewers decide on tracked changes in regulated text, so each suggested edit shows why the model proposed it and the regulation it rests on, with the cited passage highlighted a click away. Before this, most of the reasons the model produced never reached the review screen: on a 56-block policy, the reasons shown to reviewers went from 26 to 53, with none missing.

02.

Accept, deny, and publish only when every change is decided

Each edit is accepted or denied on the record. A denial is sent back to the core platform and kept as a comment, so a denied edit can't quietly reappear, including after a reload. The workflow is a state machine: an illegal jump, such as publishing a draft nobody reviewed, is refused, and Publish only unlocks once every change has a decision, with denials counting as decisions. A window in which a reviewer's decisions could be lost after suggestions were regenerated was closed.

03.

Version history and the next edit cycle

Every published version is kept, a published policy can be reopened for the next cycle, and a reviewer can see what changed between versions. Suggestion generation moved to a background job the screen polls, so a long model call no longer holds a request open and a finished suggestion drops into the page as a single block.

04.

Collaborative policy editing

Several analysts edit one long policy at the same time, with live cursors, tracked changes, AI suggestions as diff marks, comments in place and an edited-by chip, and drafts survive reloads and tabs. The first version doubled a policy's content on every reload because the editor seeded the shared document before its first sync; seeding only after sync fixed it. Viewers see the policy without the suggestions, and unauthorized connections are rejected before any document state loads.

05.

Clara: cited answers, sticky sources, feedback

Streaming answers with clickable numbered citations that open, expand and highlight the cited block. The sources of one answer stay attached to the next question, so follow-ups stay grounded in the same documents, and source documents open from the Sources panel. Thumbs feedback on answers, an end-of-session rating, and archived chats.

06.

Supervisor oversight and analytics

Escalations park unassigned in their region's queue until a supervisor claims them, two supervisors can't claim the same one, and queue depth shows per region. Four role tiers set who may read whose transcripts, every transcript view is logged, and a region-first analytics dashboard drills down to individual caseworkers and exports CSV.

07.

Learning Hub review and publishing

A module's approvals are tied to its content: a substantive edit after approval resets the approval, a module can't be republished when nothing changed, and the published version stays exactly as approved while the author keeps editing the next draft. Review also needs a quiz pass rate set before it starts. Earlier, one authoring flow produced quizzes, job aids and slides, editable in Office formats in the browser and generated into the agency's own branded templates. The review and publishing rules came out of a client walkthrough in September; the fixes shipped within about a week.

08.

Notifications, access control and accessibility

Workflow, comment and Clara events email the right people exactly once, retries back off, and after an outage a backlog of stale 'immediate' mail is suppressed rather than sent late. Access to policy content is decided server-side from the policy's current workflow status. A WCAG 2.1 AA conformance pass added contrast tokens, visible focus, reduced motion, a skip link, landmarks, live regions and keyboard-operable tables; manual assistive-technology QA was still recommended afterwards.

Execution Flow

Dispatch
Execution Trace6 steps
01

A regulation changes

Policy Radar lists the incoming source and the policies and blocks it affects; an analyst triages it from the inbox and opens the impacted block directly.

02

AI suggests edits

Suggestion generation runs as a background job. Each suggestion arrives as a tracked change in the block, with the reasoning and the cited regulation beside it.

03

Reviewers decide

Each edit is accepted or denied on the record, with comments in place. Denials go back to the core platform and stay in the trail; a denied edit does not come back.

04

Publish unlocks

Once every change has a decision, the workflow allows publishing. The new version joins the history, and the policy can be reopened for the next cycle.

05

Caseworkers ask Clara

Answers cite the published policy and the knowledge library, follow-ups keep the sources, and a hard case goes to a supervisor's regional queue.

06

People are notified

Workflow, comment and escalation events become emails that are delivered once, with retries, and held back if an outage has made them stale.

Complete✓ OK
Reflections
Outcomes
  • “The reason has to travel with the edit. Reviewers accept or deny what they can see; surfacing each suggestion's reasoning and citation more than doubled the reasons reaching them (26 to 53) and changed how review happened.
  • “Make illegal states unreachable, not just unlikely. A workflow state machine that refuses bad transitions, and a Publish that only unlocks when every change is decided, removed a whole class of half-published policies.
  • “A denial is data. Sending denials back to the platform and keeping them as comments is what made a denied edit stay denied after a reload.
  • “Approvals belong to the content, not to the module. Resetting approval on substantive edits and freezing the published snapshot is what lets authors keep working without leaking drafts to learners.
  • “Walk through it with the client. The September walkthrough produced the Learning Hub fixes within about a week, and most of them were things no ticket had captured.
Next Steps
  • Measure in production: the review and Clara work shipped with design budgets rather than before-and-after latency numbers.
  • Land the remaining notification families and the assignment lifecycle (due soon, overdue, withdrawn), which were built but not merged when the engagement wound down.
  • Follow the accessibility conformance pass with manual assistive-technology testing.

One Last Thing

The core challenge: A state agency's policy manual is regulated text that caseworkers act on every day. When an AI proposes edits to it, the staff who own the policy have to see why each edit was proposed and which regulation it rests on, decide every edit on the record, and never publish a half-reviewed version. The same bar applies downstream: a caseworker assistant has to show its sources and hand hard cases to a supervisor, and training modules must only reach learners once reviewers have approved exactly what learners will see.

✦Built with
intention

More from the Archive

View All