An added member's welcome lets them set their first password
A member an administrator adds has no password, so the plain WELCOME's Sign in button led nowhere. Send WELCOME_SET_PASSWORD instead when the account has no pas...
My Bill β an organization owner's own bill from the seller's ledger
GET /api/security/pos/my-billing answers the owner's state (current, due, overdue), open invoices, the estimated next renewal, past invoices, the seller's remit...
Mark the adverse-action clock's Spring constructor, so SecurityService boots
With a second (test) constructor and neither marked, Spring looked for a no-argument one and the new pods crashlooped; the older pods kept serving.
Pricing, capital and servicing policy tabs load before a first version is published
GET **************** built its body with Map.of("active", <active or null>, "history", ...). Map.of refuses null, so for any organization that had not published...
Read one SI decision for its review trail
GET **************** what the SI decided, why, how sure it was, the stage and function, the gate's result, and the loan it is on β only for a decision on one of...
Name loans by borrower and loan number from their loan-file ids
GET **************** (at most 200): borrower name and loan number (the application id) for each, staff only, own-loans aware. For the consoles that only hold lo...
Find a loan by borrower name or loan number
GET **************** β up to 20 (max 50) of the org's applications whose loan number starts with the digits typed or whose borrower's first, last or preferred n...
A person's denial starts the ECOA notice clock, when the lender tracks it
Only an automated-underwriting decoder armed the 30-day adverse-action clock, so a loan a person denied in Kamo never showed a notice owed on the Adverse Action...
An edit never creates an older loan in the external MLOS
Any successful write under /mortgage-apps/{uid} queues an outbound sync, and a loan with no link was then created in the provider whatever its age β so editing ...
The KamoUniverse Assistant skill's client always makes a personal Alexa link
A second Alexa skill (custom only, so Alexa voice profiles work) links through Kamo OAuth client iot.alexa.assistant (same IOT_ALEXA purpose, same vendor redire...
Every automatic MLOS email and loan change waits for the lender's switch
A lender running its loans in another loan origination system (Harmony with Arive) must not have Kamo writing to its borrowers or changing its loans on top of t...
A terminated SI set back to Active is re-hired as the same SI (TPSIREHIRE)
Owner 2026-10-28: terminated SIs are re-activatable like people. Active on a terminated SI's status now runs AiLifecycleService.rehire after the rest of the sav...
An empty PKCE pair is no PKCE, so Google Home can link without it
kamo-login forwards parameters the client did not send as empty strings; the authorize check took "" as a challenge and told Google (require_pkce off, sends no ...
Google Home account linking β an IOT_GOOGLE principal provider and Google's redirect URIs
IOT_GOOGLE is the Alexa voice-link provider with assistant GOOGLE on I-A1/I-A2 (one link table in IoTService). The client admin takes a Google Cloud project id ...
An SI may act through its higher-up's own account on their authenticated order
TPONBEHALF (owner 2026-10-28), the NO INSUBORDINATION RULE extended: on an authenticated direct order, the SI may use everything the requester can do under thei...
A short member session for the member speaking on an Alexa link, and voice turns as order references
Voice Assistant R3: POST **************** {orgId, memberId, linkId, grantId} -> {***, expiresAt} (X-Internal-Auth = IOT_INTERNAL_AUTH_SECRET). Minted only for a...
Enforce own-loan access; Team Members default to their own loans
MLOS endpoints now tell apart members who see all of the organization's loans (View Mortgage Pipeline, or god mode) from members who hold only View Own Mortgage...
The Alexa consent carries whose link it is, the place and "What can Alexa use?" to IoTService
Voice Assistant program (P1-6, P2-8, P5-3): LinkChoice gains ownerKind (ORG | MEMBER), siteId and grantChoice, shape-checked here and judged by IoTService; the ...
Owner and administrator changes follow one set of rules; another member's avatars are theirs
Leadership (OrgLeadershipService): - GET/PATCH **************** for the profile page. - PATCH .../access owner changes go through the same rules (an administrat...
Name the status endpoints' caller lookup so the endpoint ratchet sees it
Terminate an SI from its status, status counts, no deletes on /account
- An SI's Terminated status runs the SI retire lifecycle after the rest of the save (runs stopped, phone line, seat and licence released, credential and ses...
The endpoint ratchet sees the patient-SMS relay's internal-auth guard
**************** flagged **************** and .receipt (29e22ca7) as endpoints that resolve no session. They are server-to-server (VOIPService -> SecurityServic...
Members holding the Administrator role can edit its rights
PUT /api/security/roles/{id} routes the Administrator role's rights through **************** BEFORE any other write so a refused save writes nothing. Only a cal...
Loan officer and investor pickers for the Mortgage Lending reports, proven on the fleet's Hibernate
- mortgageLoanOfficers: members assigned as loan officer on at least one of the organization's deals (narrower than every member, so the picker lists names th...
Seed the ten Mortgage calculator rights from CALC_SIMPLE
Whoever can open the calculator today finds Calculator -> Mortgage on the boot that adds CALC_MORTGAGE_* (shared-lib 1ae01ae8); each is then granted or withdraw...
A meeting line a signed-in supervisor said is an order the Tool Plane may lend on (meet:<turn id>)
TPMEETAUTH (owner order 2026-10-26): in Kamo Meet a signed-in supervisor's request is their direct order (No Insubordination union). The Tool Plane verifies the...
An order may be a teammate's proven email or a request they confirmed in Kamo
The Tool Plane now verifies orders given by a teammate's own email (email:<folder>/<uid> or the wake's email:<mailbox>|<folder>|<uid>) and by a request the memb...
A generated personality keeps everything the SI already holds
Only an earlier generation's items, named by id and still marked as drafted, are replaced; a configure-assistant draft or a person's item stays, and a generated...
Apply a generated personality to an SI's own charter, around what people set
Voice realism VR2, owner decision D2: every SI gets a unique, job-fit personality, generated from its own work. kamoai-service drafts it; this internal endpoint...
Pipeline loans opened in Arive carry Arive's creation time, not the import's
Never push a stage to the external MLOS that the sync itself wrote
The Arive import walks a loan through Kamo's pipeline one step at a time; the 20s sync tick saw each half-walked status as a Kamo change and sent it to Arive, r...
Never send exception text (SQL included) to the browser
BaseLosController.error() put e.getMessage() in every 500 body; the pipeline page showed a full JDBC statement. The exception now goes to the log under a short ...
Pipeline reads retry on a Yugabyte read restart instead of failing the page
"We couldn't load the pipeline (JDBC β¦ Restart read required)" appeared at random while the Arive import was writing loans. The deal and loan list reads are pur...
Kamo holds every Arive loan, at the status Arive really has it
- import and inbound events adopt every loan β open, funded, adverse or archived β instead of only "active" ones - no per-loan Get Loan or crmReferenceId stam...
Retry the import's progress write on a Yugabyte read restart
The first live import stalled at RUNNING after page 1: saving the connection loads the org's domains, Yugabyte answered 40001, and the failure write hit the sam...
Mirror every loan application to the market's external MLOS, both ways
Arive and MeridianLink connect to the MORTGAGE (MLOS) market instead of a lead market, and sync loan applications instead of leads. - LoanLosSyncService: queue...
Billing write service starts again β the constructor keeps its @Autowired
The terminology commit inserted the code-checker field between @Autowired and the constructor, so the annotation moved onto the field and Spring found three una...
Coded terminology β RxNorm, ICD-10-CM, CVX and HCPCS loaded from their publishers; pickers, real code checks, and the ONC high-priority interaction screen
Loaders (ehr.terminology): RxNorm Current Prescribable Content (NLM, MD5 verified against NLM's page; **************** drug->ingredient resolved through compone...
Patients can be texted and e-mailed from the chart β consent first, reminders, video visits, recall messages
- One consent-gated door **************** for chart messages, reminders, video links, recall messages and confirmation replies: the patient's own consent per ...
Electronic prescribing through Weno Exchange EZ Integration
- ErxTransport vendor seam (UnconfiguredErxTransport default, WenoErxTransport first network) - Practice eRx account (MANAGE_EHR_SETTINGS): network, TEST/LIVE w...
837P claim files for hand upload, 999/277CA acknowledgements and 835 ERA review and posting
No clearinghouse contract exists, so practices upload X12 files to a portal by hand. This builds that path end to end: - 837P (005010X222A1) for one or many re...
Billing can read a patient's desk payments and reprint a receipt
Voiding a desk payment needs MANAGE_CLAIMS or POST_INSURANCE_PAYMENTS, but listing them and reading a receipt needed BOOK_APPOINTMENTS β a biller could void a p...
Room-and-start passes the request so visit grants are audited with the caller
Visits and notes a practice can run on β safe autosave contract, walk-ins, documents, printouts
Notes - Reads return the current text (original after addenda), author/cosigner names and exact id keys; GET /notes/{id} re-reads one note, audited. - Only th...
Front-desk registration tier, contact details, MRN assignment, search, coverage writes
- **************** members holding CREATE_PATIENTS, EDIT_PATIENT_DEMOGRAPHICS, BOOK_APPOINTMENTS or MANAGE_CLAIMS open a patient's REGISTRATION record without...
A patient's care gaps carry the measure's name and when it was computed
The chart's care-gap card shows 'Breast Cancer Screening', never a measure id, and keeps the newest result per measure.
Chart write paths β allergies/NKDA/review, problems, visit diagnoses, vitals, outside meds, results and review; order loop closure fixes
- ChartEntryController/Service: add allergy (reaction, severity, criticality, onset), record NKDA, mark allergy list reviewed (ClinicalListReview), **********...
A front desk that runs a real clinic day
- Practice clock (practice time zone, else the organization's): every day window is the practice's, never UTC; settings + rooms endpoints (/schedule/practice)...
Real refusals, break-glass review decisions, honest claim sending, hand-keyed EOBs
- EhrRuleViolationException: a business-rule refusal (unsigned note at close, double booking, not the author/cosigner, self-cosign, already signed, restrict...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
