Live Change Log

See what we're building, in real-time. Every feature, fix, and improvement shipped across the platform.

17,965
Total Changes
4,632
Features
4,554
Fixes
32
Projects
Filter by project
All Projects17,965AIService112APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService383InitializerService300KBService74KlusterServices547MCPGatewayService43MediaService462RAGService61SecurityService1,526TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,588kamo-login319kamo-marketing588kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,325kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs228Feature4,632Fix4,554Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
August 27, 2026
Docskamo-login

FreePBX is deprecated (Decision 4 revised)

No migration and no permanent coexistence. KamoPBX stays on k3m1 whose host netns is empty, so it needs none of FreePBX's ports and no shutdown is required. Des...

Kamo·2w ago
Docskamo-internal

Plan SW6a, and split SW6 into three

The spec calls SW6 'wire the finished UI', which assumed a backend existed to wire to. ServiceJob, ServiceVisit and ServiceLineItem's new columns have zero runt...

kamo·2w ago
Docskamo-login

KamoPBX implementation plans (programme + 9 phases)

Decomposed into one plan per phase; a single plan would not produce working software until the end. Full bite-sized TDD detail: Phase 0 infrastructure gate ...

Kamo·2w ago
Docskamo-login

Record KamoPBX decisions — KAZOO confirmed, k3m1 placement, ACDc, Tier 3 rebrand

Six open questions answered: 1. KAZOO is the route; hardware owned, so cost framing removed entirely. 2. One node/cluster now, three later — CouchDB q=8 from da...

Kamo·2w ago
Docskamo-internal

Close out SW5

Six departures. The sharpest: the task-book proxy could not be copied from the quotes proxy, which exports PATCH and no PUT — a verbatim copy would have made ev...

kamo·2w ago
Docskamo-internal

BaseLosController's unauthorized()/forbidden() do exist

A task brief told an implementer those helpers were invented and did not exist. requireOrgId genuinely does not; those two do, declared protected static on Base...

kamo·2w ago
Docskamo-login

Record the enum-ordering trap the PBX rollout hit

Seeding a catalog row whose pricing_model is a new enum value makes that row unreadable to any service still on an older shared-lib, and getCatalog loads every ...

Kamo·2w ago
Docskamo-internal

Restore SW4's close-out, lost to a stale working-tree edit

The previous commit edited the on-disk copy of this plan, which predated the Shipped section — that section was appended to a scratchpad copy and landed from th...

kamo·2w ago
Docskamo-internal

Applying DDL opens a 40001 window — watch it, do not restart

Bumping a catalog version leaves pooled JDBC connections holding the old one and the next query through each fails SQLState 40001, which Hibernate does not retr...

kamo·2w ago
Docskamo-login

Design per-extension PBX billing

Kamo·2w ago
August 26, 2026
Docskamo-login

Handoff for per-extension PBX billing

Kamo·2w ago
Docskamo-internal

Close out SW4

Nine departures. The two that matter most: this plan's own Self-Review asserted a type was consistent across three places, and it was consistent and wrong; and ...

kamo·2w ago
Docskamo-internal

QuoteConversionResult.orderUid is a String, not a UUID

Order extends BaseEntity, whose id is a Long — only Quote, QuoteOption and QuoteLineItem extend BaseUuidEntity. The plan declared UUID and its own Self-Review a...

kamo·2w ago
Docskamo-internal

SW4's dictionary keys land in the dictionary repo

Task 6a's file list named kamo-internal/messages/en.json, which is gitignored and cannot be committed. The step's prose was right; the list was not.

kamo·2w ago
Docskamo-internal

Plan SW5, the flat-rate task book

The spec's premise that no line carries a labour duration went stale hours ago — SW3 landed labourMinutes and taskCode on ServiceLineItem, and the javadoc on ta...

kamo·2w ago
Docskamo-login

Plan per-mailbox billing and the personal-mailbox backend

Plans B and C of 3. Self-review closed five gaps: nothing set mail_cost_mode, nothing server-side stopped a billing group buying mail add-ons, the invoice mailb...

Kamo·2w ago
Docskamo-login

Correct the spec — StorageAutoExpandSweep already exists

The spec claimed no server-driven-quantity reconciler existed to reuse and listed the storage auto-expand columns as dead. Both false: the sweep reads them nigh...

Kamo·2w ago
Docskamo-login

Design per-mailbox e-mail billing and add-on gating

Bills e-mail by the mailbox rather than the seat, gates provider choice on the add-on that covers it, and attributes each mailbox to the billing group that shou...

Kamo·2w ago
Docskamo-internal

Define SW4's behaviour for a market-less quote

Task 1 made create() read marketUid but did not backfill, so every quote that exists today still has a null market. The converter must fall back to PurchaseLine...

kamo·2w ago
Docskamo-internal

SW4's billing choice is per-org configuration

Owner's call, and the right one: a maintenance contractor bills each period, a capital-equipment installer bills the term up front. Either hard-coded choice cha...

kamo·2w ago
Docskamo-internal

Plan SW4, quote to order conversion

Five defects, not the spec's three. The converter deliberately does NOT mint a Commitment: processOrderPaid returns immediately when one exists, so hand-creatin...

kamo·2w ago
Docskamo-internal

Record what the chat switcher column left undone

Ordered by what would hurt most if left alone. The first entry is the one worth from MediaService's, which was not looked at — five of the switcher's six bucket...

kamo·2w ago
Docskamo-internal

Close out SW3

Thirteen departures from plan. The two that mattered most: OrderLineItem .discountType should never have been a String, and exporting the DDL before applying it...

kamo·2w ago
Docskamo-internal

Correct SW3's ServiceJob imports and pin the PROCUREMENT trap

Task 2 imported dao.beans.account.Account and dao.beans.organization .Organization. The real packages are accounts and orgs — it would not have compiled. Task ...

kamo·2w ago
Docskamo-internal

Correct the SW3 plan's policy-template claim

Task 6 pointed at RetailInventoryPolicy as the implemented member of the policy family to copy an injection shape from. It is never instantiated and never injec...

kamo·2w ago
Docskamo-internal

Plan SW3, the Service Work domain core

ServiceJob 1..N ServiceVisit as a sibling of FulfillmentOrder, a filled ServiceLineItem, the four classification axes, and a status machine that throws instead ...

kamo·2w ago
Docskamo-internal

Close out SW2

Four tasks, five departures from plan. The sharpest: the plan's own restrictionMask snippet filtered out null dayOfWeek, which means 'every day' — it would have...

kamo·2w ago
Docskamo-internal

Correct two errors in the SW2 plan

The rsync recipe used a bare 'rsync -a', which preserves mtimes — a file restored to an earlier version arrives older than the .class already compiled from a la...

kamo·2w ago
Docskamo-internal

Plan SW2, the three calendar repairs

Research corrected the spec on one point: recurrence is not dead at both ends. The UI renders on the calendar page today and silently discards what the member e...

kamo·2w ago
Docskamo-internal

Notification-spine follow-ups, triaged

Deferred items from the 33-task plan, all raised by review and all non-blocking. The whole-branch review's four must-fix findings were fixed and are not listed....

kamo·2w ago
Docskamo-internal

Take the softphone measurements instead of waiting for them

38 calls in the entire history of PHONE_CALL_LOG, 26 in the last 30 days. The drop-then-redial fingerprint finds 4 pairs, all provisioning test calls from April...

kamo·2w ago
Docskamo-internal

Plan Service Work's first rights and the commerce permission gap

Corrects two spec assumptions against real code: no RoleRightType uses **************** (all 36 commerce rights use POS, and the editors filter on exact equalit...

kamo·2w ago
Docskamo-internal

Mark the line window executed

All eight tasks shipped across four repos, with the four deliberate deviations recorded — most importantly that Task 6's call surface was written fresh rather t...

kamo·2w ago
Docskamo-internal

Keep the decision record — 18 rulings and what each costs if wrong

The plan records what shipped; this records why it differs from the plan. Three rulings were themselves corrected by a later review (the Stripe write count went...

kamo·2w ago
Docskamo-internal

The KamoDesktop link is single-use now

The comment claimed a reload re-submits ?data= and restores the session. It no longer does: the link is spent the moment the tab opens it, so it is worthless af...

kamo·2w ago
Docskamo-internal

Stop the plan instructing the money-path bug it was corrected on

Task 8 Step 4 still told the reader to key update/cancel/detach/del with "the current intent in the key". That is the Critical defect the final review reversed:...

kamo·2w ago
Docskamo-internal

Answer the softphone spec's biggest open question

Verified live on the cluster: every FreePBX AOR is max_contacts=1 with remove_existing=yes. That value was set nowhere in any Kamo repo, which is why it had gon...

kamo·2w ago
Docskamo-internal

Mark the softphone guardrails plan executed

Real commit SHAs in place of the placeholder, and 47 steps ticked. A finished plan showing all-unchecked boxes misreads as abandoned work.

kamo·2w ago
Docskamo-internal

Implementation plans for the softphone line window

Two plans, because the spec covers two subsystems and the first ships working software on its own. The guardrails plan is seven tasks that need no new browsing...

kamo·2w ago
Docskamo-internal

Design the softphone line window

A call cannot be moved into a window after it starts — an RTCPeerConnection and its MediaStream are not transferable between browsing contexts, and there is no ...

kamo·2w ago
August 25, 2026
Docskamo-internal

Commit the Dispatch/Service Work program design and its evidence corpus

Both program specs and all 56 research files were untracked and existed only on one disk, while HANDOFF.md tells the next session to read them first. Also reco...

kamo·2w ago
Docskamo-internal

Plan webhook hardening and idempotency across BillingService, shared-library and APIService

Ten tasks, TDD throughout, with the severity restated to what was actually verified: the Stripe fail-open is latent (the secret is present in prod, 38 bytes) an...

kamo·2w ago
Docskamo-internal

Implementation plan for quiet hexheads and the notification spine

33 tasks across five phases whose order is load-bearing: the schema must be run before any service maps a column, the library published before the services buil...

kamo·2w ago
Docskamo-internal

Design for quiet hexheads and the per-surface notification spine

A minimized chat window re-opens itself on every arriving message. The hexhead should absorb it instead — count, thump, stay put — and only a conversation with ...

kamo·2w ago
Docskamo-internal

Plan the website brand scan implementation

kamo·2w ago
Docskamo-internal

Design the website brand scan

Where the /network/create Website field turns into logo, colour and background suggestions on the three branding steps. Records two things that are easy to get...

kamo·2w ago
Docskamo-internal

Correct what the KamoDesktop SSO token's lifetime actually is

The comment called the link "short-lived, single-use" and "5-minute", which is what caused the token expiry to be set as if it were a URL redemption window. It ...

kamo·2w ago

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing