What the assistant can answer
Everything the assistant does begins with one decision: which of 23 kinds of question is this? That one decision decides the model, how carefully it is told to stick to the facts, the length limit, the wording it is given to work from, which live data it sees, and which chart, table or set of cards can appear under the answer. Nothing else about the question is used.
How the kind of question is chosen
PTRS turns your question into a numeric fingerprint and compares it to a fingerprint of each of the 23 kinds, taking the closest match if it is close enough.
Below that threshold, or if the fingerprinting service cannot be reached, in which case PTRS stops trying for two minutes, PTRS falls back to matching words from a list for each kind and adding up how many matched.
The default, in every fallback path, is an attendance question. An empty question, an unrecognised question, and a question asked while the fingerprinting service is down are all answered as though they were about attendance.
The 23 kinds of question
Twenty-three is the real count of distinct kinds PTRS sorts a question into, each with its own model, wording and typical live data. An older count of 16 circulated in project documentation and undercounts it. Seen in PTRS
A stronger and a faster model are both configured. With PTRS running its own local models, the stronger and faster ones are two different sizes of the same open model family; with the outside service selected, they are that service's larger and smaller models.
| Kind of question | Model | How careful | Length limit | Live data it is given | Panel |
|---|---|---|---|---|---|
| A plain-English data question | Stronger | Strict | 2048 | the list of record types it may read, and the quoting rule | none |
| A compliance report | Stronger | Some room | 4096 | per-site latest score, the average, open alerts by severity | the credential table, safety ranking or compliance report |
| Structuring an incident report | Stronger | Some room | 2048 | 30-day incident totals by type and severity, the OCCL backlog | incidents-with-follow-ups or the OCCL status panel |
| A grant report | Stronger | Some room | 4096 | members, programs, 30-day meals, an aggregate headcount | the funder attendance report |
| A regulation question | Stronger | Some room | 2048 | the 5 closest loaded passages | none |
| Classifying an incident | Faster | Strict | 512 | the same incident totals | the incident summary, comparison or OCCL panel |
| Pulling structured facts out of text | Faster | Strict | 512 | three organisation-wide counts | none |
| Drafting a note to a guardian | Faster | A little room | 1024 | three organisation-wide counts | none |
| An attendance summary | Faster | A little room | 512 | per-site live headcount, capacity, use rate, a 5-day trend | seven different panels, see below |
| Reading the tone of a message | Faster | Strict | 256 | three organisation-wide counts | none |
| Translating text | Faster | A little room | 1024 | three organisation-wide counts | none |
| A board report | Stronger | Some room | 4096 | sites, members, staff, on-site now, 30-day incidents, average compliance | the board report panel |
| Reviewing a pattern | Stronger | Some room | 2048 | 90-day incidents by type, the top 5 site hotspots | the pattern summary cards |
| Sorting a meal description | Faster | Strict | 1024 | three organisation-wide counts | none |
| A funder report | Stronger | Some room | 4096 | members, programs, 30-day meals, an aggregate headcount | the funder attendance report |
| A weekly summary | Stronger | Some room | 4096 | the same bundle as the board report | the board report panel |
| Suggesting a program idea | Stronger | Room to be creative | 4096 | three organisation-wide counts | none |
| Suggesting a curriculum outline | Stronger | Some creativity | 4096 | three organisation-wide counts | none |
| Suggesting goals and measures | Faster | A little room | 1024 | three organisation-wide counts | none |
| Suggesting success criteria | Faster | A little room | 1024 | three organisation-wide counts | none |
| Suggesting an assessment design | Stronger | Some creativity | 4096 | three organisation-wide counts | none |
| Suggesting community partners | Faster | A little room | 4096 | three organisation-wide counts | none |
| A compliance gap analysis | Stronger | Some room | 4096 | the compliance bundle, when asked in the chat; nothing, when reached from a program's own screen | the credential table, safety ranking or compliance report |
Eleven of the 23 are given three organisation-wide counts: active sites, enrolled members, staff. That is the fallback used whenever a question does not fit one of the twelve kinds with their own dedicated live data.
The compliance gap analysis is the one kind whose live data depends on how it was reached. Asked in the chat, it gets the compliance bundle. Reached from a program's own planning screen, it is built from three words typed into a form and reads nothing else.
The nine ways PTRS gathers live data, and what each is actually worth
| What it gathers | What it reads | Worth |
|---|---|---|
| Attendance | Sites, live check-ins for today, a rolled-up summary for the prior 10 days | Live headcount, capacity and use rate per site are real. The 5-day trend reads "no recent data" on every line |
| Incidents | Incidents over 30 and 7 days, grouped by type and severity, plus the OCCL-pending count | Real |
| Regulations | the top 5 loaded passages by closeness of match across the whole library | Real if anything is loaded. The document and section each passage came from are worked out and then discarded |
| Compliance | Latest score per site, unresolved alerts by severity | Real. The average is unweighted across sites |
| Board | Site, member and staff counts, on-site now, 30-day incidents, average compliance | Real. This is the one that reads live check-ins rather than the rolled-up summary |
| Funder | Members, programs, 30-day meal counts, a rolled-up attendance total | Members, programs and meals are real. The aggregate peak headcount is always zero |
| Pattern | 90-day incidents by type with a 30-day subset, the top 5 sites by incident count | Real |
| The data question box | nothing; a fixed list of 32 record type names and a quoting rule | Not applicable |
| General | Active sites, enrolled members, staff | Real, and almost never relevant to the question |
The 19 panels the assistant can send
A panel arrives after the words, as its own message, and is built by a direct, separate look at your organisation's own records, never by the model. Which one you get is decided by matching pieces of your actual wording, in English, in a fixed order.
| Panel | Reached by asking about | What to know about the figure |
|---|---|---|
| Headcount by site | attendance in general | Real, from live check-ins, falling back to the rolled-up summary only if today's are missing |
| Credential table | credentials, expiry, certification | Real |
| Compliance report | compliance in general | Real |
| 14-day attendance trend | a trend, a chart, two weeks | An empty series. Built from the rolled-up summary, and only for the first site alphabetically |
| Board report | a board report, a weekly summary | Real except the attendance tile, which is zero |
| Weekly incident chart | a week, weekly | Real |
| Today's incident summary | incidents in general | Real |
| Critical incident detail | critical, emergency, serious | Real, organisation-wide, and the only panel that reads the actual severity level rather than comparing text. With no matching incident it falls back to the most recent of any severity and keeps the same heading |
| Pattern summary cards | a pattern review | Real |
| OCCL status panel | OCCL, notification, status | Real |
| Incident comparison | compare, month, versus | Real |
| Site safety ranking | safety, ranking, rank | Real |
| Incidents with follow-ups | structuring a report | Real |
| Absent member cards | absent, missing, who hasn't | No cards, and the total counted against is every active member in the organisation |
| Check-in rate chart | check-in rate, or just rate | The percentage is one site's check-ins divided by the whole organisation's membership |
| Room breakdown | room, breakdown | Real, first site only |
| Streak leaderboard | streak, leaderboard | Real, first site only, and carries children's full names |
| Funder attendance report | a funder or grant report | Total served reads zero, with no rows |
| Site comparison | compare, location compare | Incidents and compliance are real; attendance and use rate read zero at every site, and the rows are ordered by that same zero figure |
Five panels are built and the assistant never sends them: an incident report layout, a translation panel, a set of ratio-risk cards, a member-incident timeline, and an offline-mode diagram. Each has a working screen-side component and nothing on the server ever returns one.
Thirteen of the 23 kinds of question never produce a panel. Seven kinds, including translation, drafting a note, the data question box, pulling out structured facts, reading tone, sorting a meal description and the regulation question, are built to send no panel at all. The six program-planning kinds fall through to the same default of nothing.
Asking for the "rate" matches inside other words too, so a question about the "accurate headcount" or a "separate" building returns the check-in-rate chart.
A question about comparing two things is checked in two different places, for attendance and for incidents, and both catch the word "comparable" by accident as well.
Five panels answer about the first site alphabetically: the trend chart, absent members, the check-in rate, the room breakdown and the streak leaderboard. Each is labelled with that site's name. There is no way to ask about a different one; the chat sends only your question's own words.
Record types PTRS names to the model, against the ones it actually reads
This distinction matters twice: for the chat, where a named record type is something the model will write prose about, and for the data question box, where a named record type is something the model will write an executable instruction against.
32 record types are named to the model. Organisations, sites, rooms and who is in them, staff, staff credentials, members, guardians and the link between them, attendance sessions and records, incidents and who was involved, compliance scores and alerts, the activity log, meal records, the regulation library, notifications, consent forms and signatures, messages to guardians, emergency alerts and their delivery, registered devices, records of assistant exchanges, programs, staff shifts, the attendance summary roll-up, follow-up actions, funders and funder reports.
14 of those 32 are actually read by this module's own code. Sites, live attendance records, the attendance roll-up, incidents, compliance scores and alerts, members, staff, programs and meal records account for ten; follow-up actions, the expected-attendance figures, staff credentials, rooms and who is in them account for the other five.
Named to the model and never actually read by this module, 20 in total
| What it is | What the reader should know |
|---|---|
| Consent forms and signatures, messages to guardians, emergency alerts and their delivery, registered devices | The six Parent Portal record types. Four of the six have no writer anywhere, so they hold nothing in any installed copy of PTRS. The assistant will still discuss consent forms and emergency alerts if asked |
| Funders, funder reports | Named to the model and read by nothing here. The Analytics module's own pages corrected an earlier draft on exactly this point |
| Notifications | PTRS has never created a notification in any way |
| The activity log, records of assistant exchanges | Reachable from the data question box, which runs outside the boundary that keeps every other screen inside your own organisation. The exchange record holds prompts that were never shortened to placeholders |
| Organisations | Every organisation on the installed copy of PTRS |
| Guardians, the guardian-child link, attendance sessions, who was involved in an incident, the regulation library's own passages, staff shifts | Live record types the chat never reads and the data question box can |
Actually read by this module and never named to the model, one
The expected-attendance figures. Two panels, absent member cards and the check-in rate, both read them, and they are missing from the approved list, so the data question box cannot reach them either way. They have no writer in any case, which is why both panels fall back to a different number.
What the streamed answer costs you
Nothing on screen ever reports it. The number of words sent, the number of words returned and how long it took are all kept and never shown, on the model status screen or anywhere else. There is no usage figure anywhere in the product.
Remembering an answer for a moment
An answer is remembered for five minutes when the kind of question is one that does not change moment to moment and no earlier conversation was carried into it. Nine of the 23 kinds qualify, and since nothing ever carries an earlier conversation in, the second condition is always met.
What decides whether two questions count as "the same" for this purpose is a fingerprint of the kind of question, the live data gathered for it, and the question itself, so an attendance question changes with every check-in and rarely repeats. An answer that triggered the outbound safety check is never remembered this way. This remembering happens separately on each running copy of the assistant, and does not distinguish one organisation from another.
Checked against PTRS on 7 September 2026.