Roadmap

What is being built.

Every implementation plan in the repositories. A plan starts with its first ticked step and ends with its last one, both read from git.

In progress. 3

Up next. 14 not started

Laravel 12 to 13 UpgradeMove the application and all eight native modules from Laravel 12 to Laravel 13 in place, keeping git history, submodules, tooling and behaviour unchanged.APP36 stepsPest 5, PHPUnit 13 and the Module Suites Under AnalysisMove the test toolchain to Pest 5 and PHPUnit 13, install pestphp/pest-plugin-phpstan, and put the eight module test suites back under static analysis, with the PHPStan baseline regenerated against the new surface.APP18 stepsVector search owned by the AI moduleOne switch (features.embeddings.enabled) and one source (the AI module) for the model, dimensions and similarity of vector search; Core keeps no search.vector.* setting and runs keyword search when AI gives it no profile.COREAICMS+124 stepsSAO ingest correlation rules, reprocessing, recurrence and deploy containmentoperator correlation rules replace the logs fan-out, unmatched events can be reprocessed, a recurring signal comments on its open ticket, environments know their deployed commit (pushed or probed), and SAO tells whether a fix commit is inside each environment's commit.SAO63 stepsAggregate route and widget tool (backend)Add the aggregate CRUD route (sums, averages, time series, top-N with "Others", previous-period comparison) under the caller's permissions, make summarize use the same engine, and let the in-app assistant emit validated kpi/chart/graph objects through a show_widget tool.COREAI69 stepsModule scaffolding generatormodule:make creates a module with the complete Laraplate scaffolding, as an internal (official) or a custom module, from one revisable prompt form, and one Core test keeps every official module on the same scaffolding.CORESAO37 stepsCore Version Actor ResolutionA version row is attributed to the explicit actor of its version set, else the signed-in user, else the system service account, else nobody.CORE19 stepsShop Auctions Slice 1: DomainThe auction domain in Modules/Shop: schema, immutable records, the price rule, the ledger chain, commitments, the lifecycle and the audit. No HTTP route, no Filament page, no notification.SHOP51 stepsAI module: evaluation gate in CI, run observability, provider hygienemake the AI module's quality measurable and reachable. The evaluation baselines that already exist run on every pull request. Every model call leaves a technical record (tokens, latency, outcome) without storing content. A provider defect is removed.APP26 stepsCore MCP server, phase 1 (read-only)an external LLM client (Claude Desktop or Code, ChatGPT, a custom agent) reads Laraplate over the Model Context Protocol, as a fourth HTTP surface, under one real user's permissions and ACL. Phase 1 is read-only, as the spec decided.APP29 stepsContent reportsanyone who sees a published content, media, comment or contributor reports it to the staff with a reason from a list. The staff works on cases grouped per item and resolves them. Reasons the staff elects can request the item's deletion through Core approvals, where the installation turned approvals on. A privacy report becomes an erasure request.APP23 stepsRight to erasure and exclusions for contents and mediawhat is removed from an instance stays removed. A force delete of a content or a media removes its derived copies, keeps its snapshot as evidence for a configurable time and writes an exclusion that blocks imports and restores. A privacy request, decided by a person, removes every copy including history. Reports can request deletions where the installation turned approvals on.APP51 stepsContent Translation search_textAdd a DB-maintained, per-translation search_text plain-text column on cms_contents_translations so embeddings include the body (not just the title) and a future DB keyword/FTS search can reach translated text.CMSCORE13 stepsPersistent User MemoryGive the assistant cross-session memory of the user: a per-user store of durable facts, extracted at the existing summarize hook, deduped/superseded/expired, and injected into the assistant prompt on later conversations as a bounded set ranked by relevance to the current question. Identified users speaking for themselves only: the guest principal and any impersonated session are excluded from memory on both the write and the read path.AI36 steps

Delivered. 96

October 202648 delivered
September 202633 delivered
August 202610 delivered
July 20263 delivered
June 20262 delivered