Changelog

What we shipped, when. Newest first.

Update — 2026-08-22

22 August 2026

22 August 2026

More Club Insights reports each month

  • The standard Club Insights allowance increases from 6 to 30 whole-club

reports per calendar month, plus a separate 30-report allowance for every active programme. Clubs with a deliberately customised allowance keep that same per-scope limit.

  • The standard pause between Club Insights reports is reduced from five minutes

to ten seconds, making it practical to compare several report types in one session. Existing non-standard per-club cooldowns remain unchanged.

  • Club owners can now run genuinely programme-specific reports. Membership,

attendance, trials, capacity, data quality and attributable communications are filtered to the selected programme before analysis. Saved reports retain and display their original scope and can be filtered by programme.

A clearer identity for AI tools

  • Actions that call AI now use a consistent purple-to-hot-pink treatment with

a flowing border and a quicker hover response. The motion becomes static for people who have reduced motion enabled.

  • Club Insights keeps its existing reporting layout while its report actions

carry the new AI identity. Report generation now also uses the same full-screen build, completion tick and failure acknowledgement as activity drafting, with report-specific language and reduced-motion support.

  • Smart Planning's activity drafting assistant now has a distinct AI panel,

with matching actions from requesting the assistant through applying a draft.

  • Adding an activity now separates manual entry from AI drafting into two clear

tabs. Applying an AI draft returns the coach to the populated activity form for review.

  • AI drafting now collects the session goal, section, duration, age and ability

range, available space and equipment before making a request. A successful request returns one complete first draft; the flow no longer asks for a second, allowance-consuming clarification.

  • AI activity drafts can now match the completed content against the club's

existing tag library. Suggested tags are shown before use and are preselected for review without creating new tags or sharing member information. The club's tag names and IDs stay inside AllSorted; the AI returns only generic coaching signals that are screened and matched locally in the same request.

  • Known-person screening now distinguishes a contextual name reference from an

ordinary coaching word that happens to match somebody's name. For example, “for Hall” remains blocked while “down the hall” no longer produces a false warning.

  • While that draft is built, a full-screen purple Build treatment races through

the brief, progression and coach-language stages over rapid interlinking waves, accelerating violet-to-hot-pink chevrons and rising light bubbles. Every request completes the visual beat before a success tick or failure mark appears, then fades away to reveal the result or error. Reduced-motion preferences receive the same state changes without movement.

  • Full-screen AI motion now travels from right to left. Buttons that open the

build screen give pointer users a brief, subtle burst of four-point stars; the full-screen takeover waits for that burst to finish instead of covering it immediately. The build screen now has faster waves and a denser mix of varied arrows and bubbles. Reduced-motion and keyboard use remain free of the decorative lead-in.

  • Club Insights now labels new, open and saved reports with their persisted

Whole club or programme scope, and makes that scope clear before a report is generated.

  • Claude-assisted voice-note actions and parser badges use the same visual

language, making it clear when AI is involved and when a free parser was used.

Simpler Smart Planning navigation

  • Multi-programme clubs now see the programme lens immediately beside **Add

activity. When All programs is selected, it reads Choose programme** so the disabled activity action has an obvious next step.

  • Overview, Activities and Coverage now use the same compact glass-tab style as

the rest of AllSorted, while the redundant Back to overview action has been removed.

  • Activity creation, CSV import and archived activities now live together in

the page header. The activity library promotes its attention and complete views, with session sections using the familiar sliding segmented control.

  • The Overview stays focused on planning readiness and health. Upcoming

timetable entries remain in the register and are no longer duplicated here.

  • New activities now move through five short, clearly labelled steps with Back

and Next actions. The final action reviews the activity before creation, and the existing Quick add route remains available.

  • If recommended planning details are missing, saving now explains exactly what

is incomplete and offers two explicit choices: review the first relevant step or save the usable activity as it is.

  • Choosing to review missing activity details now opens the first relevant step,

focuses the first incomplete control and outlines every missing field or choice group with a clear NEEDS DETAIL marker. The marker clears as soon as that detail is completed, while tabs with remaining gaps stay visibly marked.

  • The AI activity brief keeps its essential questions visible and places age,

ability, space, equipment and writing preferences under Optional context. Smart Planning actions now use the same bold button typography as the rest of AllSorted.

  • AI activity fields now use a consistent violet/pink border and a brighter

matching focus glow instead of the standard cyan treatment. Duration remains constrained to 1–120 minutes but can be cleared temporarily while typing a replacement such as 7 or 20.

  • The activity-drafting privacy note now explains the boundary in club-friendly

language and uses the assistant's purple visual treatment instead of appearing as a warning.

  • Optional activity context now has a purple-to-pink gradient header while its

expanded form remains on a neutral surface for readability.

  • Manual activity steps and their navigation actions now use AllSorted's bold,

uppercase button treatment, including clearer actions such as NEXT: WHO IT SUITS.

  • Manual activity text areas now grow with longer coaching copy, including

AI-drafted safety notes, while keeping a bounded scroll fallback for unusually long content. Buttons and selectors across Smart Planning now consistently use AllSorted's bold control typography.

  • The first AI activity draft now offers an optional one-minute programme

profile for the club's activity, terminology, coaching approach and standing priorities. Clubs can continue without it; once saved, the safe programme context is added automatically to every future draft and remains editable or can be reset after confirmation.

  • That one-time profile now identifies itself as the setup form, updates its

activity name as the club changes the activity or vertical, and uses a clear Save profile for future drafts completion action.

  • The completed draft's Use this draft action now sits on the right, matching

the review flow's forward-action placement.

Update — 2026-08-21

21 August 2026

21 August 2026

Safer unattended register closure

  • Automatic register closure is now dark by default, excludes demo and

suspended clubs, and records whether a coach supplied any human attendance evidence. Completely untouched sessions are closed without inventing Absence rows and system-closed registers are excluded from attendance, capacity and retention reporting.

  • Platform owners now have an Automatic register review screen for safely

retrying closures that exhausted their background attempts. A historical failure no longer prevents the worker from draining unrelated due sessions.

More reliable Club Insights

  • Large reports now explain that a shorter date range is needed instead of

failing with a generic server error.

  • Provider timeouts are durably recorded as unknown outcomes with conservative

usage evidence. Once that state is safely settled, the customer can start a fresh attempt without becoming trapped behind the old idempotency key.

  • If club data changes while a previous request key is being retried, the old

key is now released and the next attempt starts from the latest safe data.

  • The prototype upgrade now removes the old immutable triggers before its

compatibility backfills, including when prototype runs and usage already exist.

Smart Planning and grading

  • Smart Planning now opens the activity editor directly from its prominent

Add an activity actions, explains that activities include reusable drills, games and exercises, and uses the club accent palette throughout Coverage.

  • Smart Planning now pages large activity, progression and roster evidence

completely, and excludes trial pseudonyms from UUID-only progression-score reads. Plans no longer silently lose evidence at the first 1,000 rows.

  • The Smart Planning trust authority now stops quickly when a production table

lock cannot be obtained instead of waiting indefinitely during deployment.

  • Starter-pack installation now uses a durable programme-scoped operation, so

simultaneous browser tabs converge on one install. Conflicting existing tag meanings are explained for correction instead of causing an endless retry.

  • The grading operations journey now follows each club's assessment and member

terminology instead of displaying martial-arts-specific wording.

Club intelligence and register improvements prepared

19 August 2026

What's new

Action Centre checks stay honest when a source is unavailable

  • The staff Action Inbox now loads through one authenticated, club-scoped

snapshot instead of coordinating many browser reads. If one source cannot be checked, the available actions remain useful and the affected source is named instead of being presented as an empty result.

  • Unread inbound SMS replies now appear as action items and open the member

conversation directly. Read state remains separate for each staff member; message text and phone numbers are not included in the inbox snapshot.

  • The dashboard no longer turns failed cancelled-Direct-Debit, contactability,

member-reply or accident-draft checks into reassuring zeroes. It identifies incomplete checks and reserves “All clear” for a fully available result.

No database migration or provider configuration is required for this change.

Smart Planning is safer to preview, revise and reuse

  • Plans now keep an immutable revision history, so a regeneration, drill swap,

note change, template change or restore can be reviewed without losing the prior version.

  • Coaches can preview a regeneration and compare it before saving. A class,

roster or setup change after preview is detected instead of saving content they did not see.

  • Planning defaults to everyone expected at the class. Coaches may deliberately

plan for those marked Present/Late once the register has attendance, while a partly marked register can no longer silently shrink the plan.

  • Planning configuration and generation now fail clearly when required data is

unavailable, rather than presenting an empty result as genuine advice.

  • Effective custom permissions control every human Smart Planning change.
  • Programme-specific starter drills stay with their programme; genuinely

generic club drills remain reusable across programmes.

  • Planning responses retain aggregate roster counts and change fingerprints

without exposing member identities.

AllSorted owners can compare club adoption and report usage

  • The existing platform-admin navigation now includes a dedicated Insights

workspace. It is isolated from every club-owner and member surface.

  • Portfolio exceptions appear first, followed by adoption measures, a

filterable per-club health table and platform-only Club Insights usage.

  • The view distinguishes staff accounts from member records, counts only

canonically finalised registers and explains why a club needs attention or is considered quiet.

  • Platform owners can compare Club Insights report requests, durable provider

calls, input and output token counts, recorded provider cost and last use by club. These internal cost figures remain absent from the club-owner report workspace.

  • Seven, 30 and 90-day views load through the super-admin-only server route.

Failed or malformed reads are shown as unavailable and are never converted to convincing zeroes.

Club Insights is easier to use and revisit

  • Club owners now move between two clear views: New report and **Saved

reports**. Previously completed reports can be reopened without spending another report allowance.

  • The monthly allowance increases from 6 to 30 reports. Existing clubs still

using the former default move to 30; deliberate per-club overrides remain unchanged.

  • The report screen explains exactly why a report cannot run, and keeps the

customer workspace focused on club decisions rather than provider costs.

Registers close automatically after 24 hours

  • An unlocked class register becomes eligible for automatic finalisation 24

elapsed hours after its scheduled session end and is picked up by a bounded ten-minute recovery job.

  • Existing Present and Late marks are preserved. Missing expected members are

recorded as Absent before the register is sealed, while closures are ignored and both recurring and pinned ad-hoc sessions are supported.

  • Automatic locks have explicit system provenance instead of being attributed

to a staff member. Retry and review work is visible in Platform Health.

  • The register Health view now separates Here now from **Expected — not

here**, including health notes for trials and ad-hoc/catch-up attendees.

  • If the complete medical summary cannot be confirmed, Health now says it is

unavailable and offers a retry instead of showing a false all-clear. A last complete list is retained only for the same roster and is clearly labelled.

Recipient lists fail safely before a message is sent

  • Messages no longer converts a failed or malformed recipient read into a

zero-person audience. The last complete list stays visible where available, while current reachability totals and sending remain paused until Retry has confirmed a fresh complete snapshot.

Smart Planning supports calmer class delivery

  • Coaches review a plan or start the lesson from the primary controls; context,

printing, history and detailed feedback sit in a compact More menu.

  • Regeneration now opens a section-by-section preview. The current version and

coach notes stay untouched until the coach confirms, and an earlier version can be compared or restored without deleting history.

  • The register explains whether a plan reflects the expected group or those

currently present, including trials and catch-up attendees. A roster change suggests a new preview but never silently replaces an in-use plan.

  • Planning language and starter equipment follow the selected class programme.

Coaches can add their club's own equipment, and one programme never inherits another programme's terminology or kit assumptions.

  • One-tap plan ratings make the learning loop quick, while section detail,

activity exclusions and notes remain available when useful.

  • Planning Insights now reports recent use, activity coverage, feedback,

certified generation failures and invalid saved activity locks. Incomplete evidence is shown as unavailable rather than as reassuring zeroes.

Deployment note: apply the complete supabase/_proposed/smart-planning-trust-authority-01.sql unit before this application code, then require the matching read-only postflight to report 11/11 passed. No remote SQL was applied while preparing this change.

Smart Planning now starts with a guided setup

  • Smart Planning opens on a programme-specific readiness view with one clear

next action, required and optional setup checks, and the state of upcoming classes.

  • Neutral starter packs are available for football, dance, gymnastics,

swimming, taekwondo and general activities. They add only missing local content, preserve club-created activities and can be retried safely.

  • Every starter pack now covers the complete six-part planning structure and

is explicitly available across the supported age bands, so a workspace that reports Ready also produces a usable first plan.

  • Starter activities stay within the programme selected by the coach. Existing

legacy activities remain available as general club content.

  • Generated objectives and coach notes use the selected programme's language

instead of martial-arts terminology leaking into other activities.

  • The activity library now has a four-field Quick Add mode, clearer advanced

controls, mobile CSV import, accessible dialogs and protected unsaved work.

  • Planning tags and coverage tools now use neutral language, support mobile

workflows and show honest unavailable or partial-save states with a retry.

Activity setup now leads with the work that needs attention

  • The Activity Library opens on activities that need more planning detail and

names the missing purpose, instructions, duration, variations, age suitability, coach language or safety information directly. Plan-ready activities remain available under All activities.

  • Quick Add stays the primary action. CSV import and archived activities remain

reachable on mobile and desktop through a compact More menu, while the full advanced editor is unchanged.

  • Planning vocabulary is now grouped into terms already used in planning, terms

not used yet and archived terms. Customer-facing categories describe teaching outcomes, physical demand, teamwork and accessibility while preserving the existing stored values and archive safeguards.

No database migration, provider configuration or feature flag is required for this change.

Application errors are easier to recover and diagnose

  • The current Next.js request-error and client-navigation hooks now report

through the existing privacy-scrubbed Sentry boundary.

  • A root-level failure shows a consistent recovery screen instead of the

framework fallback, and raw exception messages are no longer rendered to staff or members.

  • Error capture remains disabled outside production and still requires the

documented Sentry environment configuration before any event is sent.

Reports start with club questions

  • Reports are grouped around growing membership, running classes, protecting

revenue and following up, while the complete report catalogue remains available.

  • Club staff can search, favourite and quickly reopen recent reports without

changing report data or sharing preferences outside their browser.

  • Archived programme filters now show an unavailable notice when their source

read fails instead of quietly appearing to contain no archived programmes.

Trials and enrolments lead with the next action

  • Follow-ups due now open ahead of passive upcoming trials; when no follow-up

is waiting, the pipeline selects the next meaningful stage automatically.

  • A concise action card explains what needs doing, while every funnel stage and

the full history remain one click away.

  • Book a trial is now the clear primary action. New enrolment invitations

and website-form utilities remain available under More.

Grading work now has a clear operational journey

  • Grading sessions and events show one shared **Prepare → Run → Review →

Publish → Complete** journey, including roster, outcome, promotion and certificate counts plus the next safe action.

  • Archived work, missing linked events, incomplete outcomes and unconfirmed or

blocked promotions are called out before publication without changing the existing publish, unpublish or promotion authorities.

  • Required session, event, booking, roster, programme and rank reads now fail

visibly with a scoped retry. A failed refresh keeps the last complete view instead of replacing it with a convincing “No sessions” or “No events” state.

Smart Planning can turn a rough idea into an editable activity draft

  • The Coverage readiness frame now uses the established teal accent surface,

matching the selected Smart Planning navigation in light and dark themes.

  • Coaches may ask for optional writing help when creating or editing an

activity. Luna returns either one fixed, safe clarification or a complete draft for the coach to review; it never creates or saves the activity.

  • The outbound packet contains only programme, activity, age-band and logistics

fields. AllSorted adds no member, household, roster, attendance or health data. Obvious identifiers and text matching a known club person are blocked before an OpenAI call, and the same checks protect returned text.

  • A database-enforced allowance limits each club to 300 AI drafting calls per

Europe/London calendar month. The audit ledger stores lifecycle metadata, token counts and hashes only—never prompts, responses or member details.

Deployment note: this feature is dark until the complete supabase/_proposed/smart-planning-ai-authority-01.sql unit and matching postflight are applied, SMART_PLANNING_OPENAI_API_KEY is configured, and both Smart Planning AI flags are deliberately enabled. store:false is used but is not Zero Data Retention; approve the OpenAI project retention posture before enabling it.

Club Insights trial prepared behind safety controls

18 August 2026

What's new

Club owners can preview aggregate operational insights

  • A new Club Insights workspace prepares four evidence-backed reports for club

health, attendance and capacity, data quality, and next actions.

  • The local demo preview is fixed synthetic data. It does not write report

history, contact a model provider, consume tokens, or create a provider cost.

  • Live generation remains dark until the additive database authority, platform

control, per-club trial setting, dedicated provider key, privacy secret and UI flag have all been reviewed and enabled.

  • Only owners and admins with effective dashboard-report access can open or run

the workspace. Aggregate reads are club-scoped, paged and fail closed.

  • Club references sent for analysis are pseudonymous rather than anonymous;

member names, contact details, free text and row-level records are excluded.

  • The provider's structured-output contract now permits only evidence references

that were actually supplied for the selected report and mirrors the app's non-empty text checks. This prevents a valid paid response being discarded after generation while retaining the independent evidence and privacy gates.

  • Club Insights now presents club-owner decisions rather than provider

mechanics: model names, token costs, spend caps and the raw data packet are no longer shown in the workspace or returned in its customer payload.

  • Each live report now checks that its selected period contains the minimum

useful evidence before reserving an allowance or contacting the analysis provider. When it cannot run, the page explains exactly which club activity is missing and suggests choosing a longer period.

  • Attendance and capacity reports now count only locked, completed registers.

Partially marked registers no longer unlock the report or inflate available- place totals.

  • Previous reports now load without the separate usage-event query, and evidence

references are displayed as plain-language club measures.

  • Payment completeness and renewal reports remain unavailable until their

provider-neutral metrics have separate certification.

Platform owners can review club adoption without opening member records

  • A read-only platform insights snapshot now brings together real-club staff

accounts, member totals, completed registers, assessment publication and outcomes, trial and enrolment lifecycle health, and Club Insights usage.

  • Demo environments are excluded from adoption, token and cost totals. Every

source is paged within an explicit memory ceiling; a failed, incomplete or over-ceiling read is shown as unavailable rather than as a misleading zero.

  • Period activity uses each lifecycle event's own timestamp, while overdue

assessments, trial approvals and follow-ups, enrolment exceptions and stalled report runs are shown from the current unresolved backlog regardless of when they began.

  • The snapshot exposes aggregate counts, lifecycle states and activity times

only. It does not return member, household, contact or provider identities.

Grading certificates now use the grading date

15 August 2026

What's new

Progression and certificates stay anchored to the event

  • Multi-rank progression records now use the grading event date, even when

results are confirmed, corrected, published or regenerated later.

  • Certificate templates can use {event_date} and {event_date_short}. The

existing {date} and {date_short} tags remain compatible and now mean the event date too.

  • Existing source-linked grading histories with a different recorded calendar

date are repaired automatically. Manual progression dates and ranks are not changed.

  • Staff action timestamps remain audit timestamps, so the system still records

when results were entered, confirmed or corrected.

After deployment, regenerate any affected certificates so their stored PDFs use the corrected event date.