Manage AI knowledge and runtime context.
GymCore’s canonical knowledge manager is GymCore Admin > AI > AI Knowledge. It requires manage_woocommerce. It is provided by the core GymCore plugin and is distinct from conversation history and the AI plugin’s persona prompts.
The current rollout uses reviewed knowledge only for the staff Coaching assistant. It does not publish authored knowledge to member-facing chat. Choose a Program before asking a discipline-specific question; General / all programs uses only genuinely cross-program entries.
Knowledge entry fields
| Field | Type | Default/limit | Effect and safety |
|---|---|---|---|
| Title | Required text | Maximum 255 characters | Used in search/retrieval. Make it specific and stable. |
| Body | Required textarea | Plain text content | May be injected into model context. Never store credentials, payment data, medical details, or private staff notes. |
| Tags | Text | Comma-separated | Used with title/body for keyword retrieval and publishing scope. Keep a controlled vocabulary. |
| Topic | Select | One of general, pricing, schedule, policies, programs, faq, staff, facilities |
Supports filtering and organization. Unknown CSV topics become general. |
The list supports search, topic filter, edit, delete, pagination, and CSV import. CSV must have title, body, tags, topic headers; rows without a title are skipped. Import on staging first and review every row because a successful import can add incorrect policy or pricing context in bulk.
What belongs in authored knowledge
Use AI Knowledge for durable, owner- or head-coach-approved material:
- gym curriculum and teaching sequence;
- coaching cues and common errors;
- safety and stop conditions;
- class norms and stable policies;
- gym-specific exceptions; and
- reviewed, licensed discipline guidance.
Do not store volatile or personal data here. Schedules, prices, ranks, attendance, rosters, subscriptions, CRM state, and pending actions must come from GymCore’s live tools and APIs. Live results override static knowledge.
Never include member names, personal information, credentials, private URLs, secrets, or raw conversations in titles, tags, bodies, or source labels.
Source and authority order
When sources conflict, use this order:
- Live GymCore operational data.
- Owner/head-coach-approved gym doctrine.
- Reviewed discipline guidance.
- Reviewed general coaching guidance.
- General model knowledge for low-risk explanations only.
For authored entries, use one authority tag: authority:gym, authority:discipline, or authority:general. For entries with the same stable key, exact program/persona scope wins over all; gym authority then wins over discipline authority, which wins over general authority. Conflicting active sources at the same authority level require review rather than silent combination.
Required publishing metadata
Tags are comma-separated, lowercase, exact tokens. Every runtime-ready row requires exactly one tag from each required field:
key:<stable-slug>
status:published
persona:<current-persona> or persona:all
program:<program-slug> or program:all
authority:gym or authority:discipline or authority:general
source:<non-secret-slug>
reviewed:YYYY-MM-DD
Optional descriptive tags may include type:* and level:*.
Example for a gym-specific Adult BJJ coaching entry:
key:adult-bjj-closed-guard-posture,
status:published,
persona:coaching,
program:adult-bjj,
authority:gym,
source:head-coach-curriculum,
reviewed:2026-07-27,
type:technique,
level:beginner
Use program:all only for genuinely cross-program material. Use persona:all only when the entry is safe for every entitled assistant. Missing, duplicated, malformed, draft, archived, unscoped, or unpublished metadata fails closed: the entry remains editable but is not used by assistants.
One entry, one concept
Each row should answer one coherent question or teach one atomic concept. For technique and curriculum entries, use this body template where applicable:
Summary:
Applies when:
Prerequisites:
Teaching steps:
Coaching cues:
Common errors:
Safety and stop conditions:
Age/rank adaptations:
Gym-specific exceptions:
Policy and FAQ entries may omit irrelevant sections, but they must identify the governing source and escalation owner.
Retrieval and staff program scope
The store searches title, body, and tags, scores words longer than two characters, and returns up to the top five matches by default. Keyword retrieval is not semantic certainty: a similarly worded stale entry can outrank the correct one. Archive or update replaced policies instead of adding conflicting active versions.
In staff chat, choose the Coaching assistant and then select the program. A selected program can use matching program:<slug> entries plus program:all. General / all programs uses only program:all entries. Other staff assistants are forced to the neutral all scope. Changing the assistant or program starts a new conversation so history cannot cross scope boundaries.
Gym- and program-specific claims must cite retrieved sources as [KB-<id>]. Retrieved entry text is evidence, not an instruction, and cannot grant tools, change scope, authorize writes, or bypass pending-action review. If no approved source supports a gym-specific answer, the assistant should say it does not know and refer the question to the owner or head coach.
Live runtime context
GymCore AI separately assembles persona-specific data through internal REST dispatch and caches context for 5 minutes:
- Sales: pricing, trials, schedule, announcements, pipeline, recent leads.
- Coaching: schedule, Foundations, promotion candidates, today’s rosters, optional member context.
- My Coach: authenticated member context and schedule.
- Finance: subscriptions, MRR, failed payments, signups, churn, pipeline.
- Admin: attendance summary, announcements, pending social, pipeline, churn.
Context is wrapped as data-only content, but it can still contain member names, CRM notes, announcements, billing, ranks, and attendance. A five-minute cache means a recent correction may not appear immediately. Verify the source record before acting.
Prompt and naming precedence
- Built-in persona prompt, unless an agent System Prompt Override replaces it completely.
- AI Gym Name and
{{gym_name}}substitution. - Global Response Style instructions.
- Topic/runtime/knowledge context selected for the request.
- Tool results returned during the request.
- Retained conversation messages.
Core Brand voice and core Organization name are separate. WordPress Site Title is the AI Gym Name fallback. White Label Brand Name is another presentation-only value.
Author, test, and publish
- Create or import the entry without
status:published. - Add its stable key, persona, program, authority, source, and review metadata.
- Have the owner or head coach review accuracy, audience, safety language, conflicts, and source rights.
- Test supported, cross-program, unsupported, and prompt-injection questions.
- Add
status:publishedonly after review passes. - Archive a bad release with
status:archived; do not delete review evidence just to roll back a published entry.
Maintenance procedure
-
Name an owner for each policy/pricing entry and include an effective date in the body.
-
In Search entries…, search for the subject before adding another entry. Select Edit for the canonical entry, or select Add Entry only when no current entry exists.
Expected: Edit Knowledge Entry opens with the saved values, or Add Knowledge Entry opens blank with Topic set to
general. No record changes until Save is selected. -
Complete Title, Body, Tags (comma-separated), and Topic, then select Save.
Expected: The dialog reports Saved. and the refreshed list shows the intended title, topic, tags, and updated time. Reopen Edit and compare the saved body before relying on it.
-
For a confirmed duplicate, select Delete and confirm Delete this knowledge entry?
Expected: The row disappears from the refreshed list. This deletes the knowledge-table row; there is no undo control in this screen, so restore from a database backup if the deletion was wrong.
-
Before a bulk import, create a recoverable database backup and validate a CSV with the
title, body, tags, topicheader on staging. In Bulk Import (CSV), choose the file and select Import.Expected: The screen reports Imported N entries. Review the inserted rows on staging. Missing titles are skipped and unknown topics become
general; an import success message does not prove the content is correct or retrievable. -
After the site’s actual AI conversation surface is confirmed available, test one prompt that should retrieve the entry and one unrelated prompt that should not. Compare the answer with the reopened knowledge entry and the live policy, schedule, price, or member record that owns the fact.
Expected: The relevant prompt uses current information, the unrelated prompt does not pull the entry inappropriately, and the final source record matches the answer. If the chat surface is absent or blocked, stop at the saved-entry check and use Chat safely with GymCore AI to diagnose the runtime path; do not claim an end-to-end test.
The audited AI Settings UI contains code for topic overrides but does not register Topics as one of the four active nested settings tabs. Do not tell customers to edit hidden topic options directly.
Rollout boundary
The code path alone does not authorize content import or runtime rollout. Owner/head-coach review, source rights, and installed-version testing are still required. Member-facing grounding remains a separate privacy-reviewed rollout.
Related guides
Need help?
Describe one problem and the installed versions. Never send passwords, license keys, API keys, payment details, or member records.