commvita
Connected care platform
Platform & architecture

From feedback to fix, in near real time

A button on every page, triage in the open, and an AI channel that turns a labelled bug into a reviewed pull request. What runs on its own today, and why one step is still a person.

Live vs demonstrated: Live — real, API-backed platform logic (wired end-to-end today) Demonstrated — representative control surface with seeded data / illustrative UI mock-up
© 2026 Commvita Digital Health Solutions Ltd. All rights reserved.

1 A button on every page

Every screen in commvita has a Feedback button in its top bar. Press it and a short form opens with the page you were on already filled in. You give it a title, pick a category, describe what happened, and send. That’s the whole of the user’s job.

The Submit Feedback dialog with a title, a category set to bug report, a description, the page location filled in automatically and the submitter’s name
The form: title, category, description, and the page filled in for youCaptured from the running system, build B-692 · demonstration data

The categories are the ones that matter to a platform team: a bug, a feature request, a roles issue where someone can’t reach what they should, and a training need where the system is fine and the person needs showing. Each item gets a reference, a priority and a status, and the page it came from travels with it, so nobody has to ask “where were you when this happened?”

2 Triage, in the open

Feedback lands in an administration screen where the platform team reviews it. An item moves from new to under review, then to approved, resolved or rejected. When it’s approved a backlog reference is recorded against it, so the person who raised it can be told which build it landed in.

The Feedback Administration screen listing four items with reference, submitter, category, priority, title, page, date and status, and headline counts of total, new, open and resolved
Four items, four categories, four states. The page they came from is on the rowCaptured from the running system, build B-692 · demonstration data

Triage is done by a person, and we’d rather say that plainly than dress it up. A reviewer reads the item, re-tags the category if the submitter picked the wrong one, sets the priority, and decides. Rejections carry a note. Nothing is silently closed.

3 The AI channel: from a labelled issue to a proposed fix

From the moment an approved bug becomes a labelled issue in the code repository, the rest can run without a person typing. A pipeline picks up any issue labelled as a bug, hands the title and description to an AI coding agent with the codebase in front of it, and asks for the root cause and a targeted fix.

1

An issue is labelled “bug”

That label is the trigger. Today a member of the platform team applies it after triage, with the feedback reference in the issue. That’s the manual step in “semi-manual”.

2

The agent reads the code and writes a fix

It works on a branch named for the issue, is told to make targeted changes only and add nothing beyond what the fix requires, and is confined to the application code.

3

A pull request opens, linked to the issue

If the agent changed anything, it commits and opens a pull request that closes the issue. If it changed nothing, no pull request is made and the issue stays open for a person.

4

A person reviews, and the build gates run

The pull request carries a checklist: changes scoped to the bug, no side effects on clinical logic or patient data, tests pass, a human engineer approved. The same thirty build checks and five thousand tests run on it as on any other change.

5

Merge, build, register

Once merged it ships in the next build, the fix is written into the build register with its reasoning, and the feedback item’s backlog reference points at it.

The agent never merges its own work. The pipeline has permission to open a pull request and nothing more. Every generated fix is marked as generated, and the review checklist singles out clinical logic and patient data handling for a human read. On a health platform that is the only acceptable shape for automated fixing: fast to propose, slow to accept.

4 Why it’s semi-manual today, and what would change that

The pipeline is built. The join between the feedback screen and the issue tracker isn’t. A reviewer approves an item and raises the labelled issue by hand, which takes a minute and is the deliberate control point.

Closing that gap is a small piece of work, and we haven’t done it on purpose. Feedback arrives from real users on real pages, and some of it describes a roles problem or a training need that no code change would fix. Pushing every item straight into an AI channel would generate pull requests for things that aren’t bugs. The classification step is where a person earns their keep, and we’d rather keep a human there until the triage itself is reliable enough to trust.

What the platform could do next, and hasn’t, is have the configured AI provider suggest a category and a theme for each new item, with a plain fallback when no provider is set. That’s on the enhancement list and it isn’t built, so it isn’t claimed here. When it is, the reviewer’s job becomes confirming a suggestion instead of reading from cold, and the label can follow approval automatically.

5 What “fixed” means here

A fix on this platform isn’t a line changed. It’s a line changed, a test that would have caught it, and a note in the build register saying what was wrong and why it was wrong. That discipline applies to a fix an agent proposes as much as to one a founder writes.

The build register is why the loop closes. Every build records what changed and the reasoning, and where a defect turned out to be one of a class the platform has met before, it says so and names the earlier instance. A quarter of the register’s entries describe a defect class recurring, which is the kind of fact you only learn if you write everything down. The help guide for the page regenerates on the next build, and the build check fails if a page’s source changed and its guide didn’t.

The honest edges. The feedback shown here is seeded: four items on the demonstration estate. The pipeline runs on the code repository, and its output on this platform to date has been exercised on issues raised by the team, not by external users. And there is no automatic path from an approved feedback item to a labelled issue; a person makes that link.

Where it lives in commvita

SurfaceRouteWhat it doesStatus
Feedback buttonevery pageTitle, category, description, page captured automatically● Live
Feedback administration/feedback-adminReview, re-tag, prioritise, approve, reject, backlog reference● Live
Feedback API/feedbackCreate, list, update, message thread● Live
AI bug-fix pipelinecode repositoryLabelled issue to reviewed pull request● Live, triggered by hand
© 2026 Commvita Digital Health Solutions Ltd. All rights reserved. Human review on every generated changeNon-SaMD