Record links, who wrote each version, readable history, supervisor reads, app gate
A restored version now comes back deciphered, with its links and editor: the editor saves that answer straight back as the note's body, so the ciphertext it use...
Hand a retiring AI member's open tasks to its supervisor (SP02 TASK_HANDOFF)
POST **************** behind the KamoAI secret (KamoaiInternalAuthFilter: 503 unset, 403 mismatch, constant-time). One transaction per task; Inbox tasks move to...
Fold lead_task into tasks — idempotent, encrypted, one row per transaction
The task API — mine, search, create into an Inbox, change, finish, link
A status list with no status in it (status=,) reads as the default instead of reaching the query builder as an empty filter; blank linkKind/linkRef are absent l...
Tasks across lists — create, reassign and move, status, delete, links
A move re-seals the task's words under its own label, since the fallback key is the list owner's and the move changes the owner. A due time sent again unchanged...
Tasks carry status, priority, due, assignee and links; the Inbox keeps its rules
Task notifications after commit, and the org-change signal for internal writes
Who a task can be given to, who supervises whom, and the names tasks show
The SP06 schema — tasks, links, comments, Inbox, note links and authorship
The checklist API, with prerequisites the server enforces
/api/checklists: list, get, create, update, delete, duplicate, reset, clear-done, sequence ("do in order"), clear links, and per task add, edit, tick/untick, se...
Count the marketing site's page views, on the article or on the page
KBService now answers the view counter kamo-marketing shows at the foot of every page. Two endpoints, both {"views": n} with the view just counted included: ...
Say which locales each public article is really translated into
The marketing site's sitemap now lists every language version of every help-center, documentation and API-reference article, and each article page names the oth...
Lock the shared sweeps, and run two pods
Every @Scheduled sweep here whose effect is shared now takes a named distributed lease through SingletonTaskRunner before it does anything, so it runs once acro...
Serve the scripts an agent reads on a call
/api/kb/sales-scripts, gated on the two new rights. Reads take VIEW_SALES_SCRIPTS or MANAGE_SALES_SCRIPTS, writes take MANAGE. SessionHelper.hasRight fails clos...
Related articles, and a public path that keeps the tree
Three things, all reaching the same page. Related articles. KbArticleRelationService owns the symmetric "see also" links: list, set, suggest, and a clear that ...
Enforce the audience chips on every human read
The composer has always offered an author three chips under "Visible to" — Members, Team Members, Public. They were written to the row and indexed into Qdrant s...
Serve, provision and protect the two master notes
GET /api/notes/master answers both and provisions whichever is missing. PUT /api/notes/master/org writes "Our Master Note", addressed by organisation rather tha...
Serve what the knowledge console reads, and fix what it never could
Four endpoints the rebuilt knowledge base needs, and three facts the API was unable to state. GET /api/kb/pins returned a Page of pin ROWS, and KbArticlePin.ar...
Carry a note's rich-text / plain-text mode through the API
Create honours the requested mode and defaults to rich, matching the editor a note is created in. Update is null-guarded like every other field on that endpoint...
Point at YugabyteDB and use PostgreSQLDialect
CockroachDB has been replaced by YugabyteDB. Connection strings move from cockroachdb-public:26257 to yb-tserver-service:5433, and the Hibernate dialect from **...
Add async translation for KB articles, add locale-aware public article APIs
Add unauthenticated public endpoints for KB articles
Add KbPublicArticleController with endpoints for the marketing site to fetch published articles where aiVisibleToPublic=true, without requiring OTK authenticati...
Support AI visibility toggles in KB article create/update
Accept aiEnabled and visibility flags in create/update endpoints. Handle AI toggle changes by publishing delete events when AI is disabled, triggering re-indexi...
Add notes management with RAG integration
Move notes CRUD from SecurityService to KBService. Add note encryption, NATS event publishing for RAG pipeline, and AI processing toggle support. Notes with AI ...
Add unpublish endpoint for KB articles
Add POST /articles/{guid}/unpublish that sets status back to DRAFT and publishes a kb.article.unpublished NATS event so RAGService can remove the article from t...
Add org-level resource management and article-media linking APIs
Rewrite KbMediaService/Controller for org-level media CRUD with paginated listing, search, metadata update, and soft delete. Add article-media link/unlink/sync ...
Scaffold KBService - Knowledge Base article CRUD, versioning, review workflow, media upload, NATS events
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.
