Ale dirèk nan kontni prensipal la

AI troubleshooting

Thirty-seven symptoms in five groups. If your message is not here, try the portal-wide symptom index.

Getting to the screens

A message says you do not have permission to access the AI Assistant

You hold a read-only account. The wider check lets that role reach the address; the screen's own check does not admit it.

Nothing to do here. A read-only account satisfies no rule anywhere in PTRS, so this is the correct outcome.

The AI Assistant menu entry is there and the screen redirects me away

You hold a guardian account only. The chat is behind a staff-only address, so you are sent to your own dashboard before the screen loads.

Expected. The menu shows every entry to every signed-in account, with no role check of its own anywhere in PTRS.

A message says you do not have permission to access this page, on the regulation library

You hold a site director or regional director account. The wider check lets all four administrator roles into that area; the screen's own narrower check only admits an organisation administrator or a super admin.

Correct outcome, and stricter than it needs to be. The rule behind the save itself wants a super admin alone.

The regulation library loads, the sources list is empty and every upload fails

You hold an organisation administrator account. You pass the wider check and you pass the screen's own narrower check, and all three regulation actions behind them are limited to a super admin alone. The read behind the list fails the same way, which is why the list itself is empty rather than populated.

Ask your organisation's super admin. This is the interface looking more open than it actually is, a shape the whole documentation site has recorded across many modules.

The model status screen shows nothing for the first moment and then appears

The screen checks your role before it renders anything, and the configuration table waits on its own separate read finishing.

Expected.

Asking a question

A message says the AI service is unavailable, and nothing streams

Three causes, in order of likelihood.

The outside service is selected and its access key is blank. An empty key is treated as present rather than missing, so every attempt is sent anyway and fails, and is retried twice before the failure reaches you.

Your own equipment is selected and is not running, or the model has not been loaded onto it yet.

Repeated recent failures have temporarily stopped PTRS from even trying, after five failures in a short window, for about thirty seconds.

Open the model status screen, or ask an administrator to. The provider name tells you which of the two you are in, and the coloured dot tells you whether it can be reached. The reachability check for the outside service is itself a request to that service, so a blank key turns the dot red for the same reason the chat fails.

The model status card says Degraded and the chat works fine

The card only turns green when both the answering model and the fingerprinting model can be reached. The fingerprinting model always runs on your own equipment regardless of which one answers chat questions, so an installation using the outside service for chat with no local equipment running shows Degraded permanently.

Read the two facts apart. The chat needs the answering model; the regulation library and sorting a question into one of its 23 kinds need the fingerprinting model.

Every question is answered as though it were about attendance

An attendance question is the fallback used whenever nothing else matches. You get it when the question is empty, when nothing scored a close enough match, and when the fingerprinting service cannot be reached, after which PTRS stops trying for two minutes.

Include a word from the kind of question's own word list; see the reference page. If it happens on every question, the fingerprinting service is down; check the model status screen.

The answer stops mid-sentence, or a list arrives as one run-on line

Each piece of the streamed answer is sent with no allowance for a line break inside it. A line break splits the piece, and everything after that break inside the same piece is silently dropped. Headings, bullet lists and tables are the usual casualties.

Ask for the answer as a single paragraph.

An email address, phone number or date comes back replaced with a marker

On the streaming path, the real values are restored before the outbound check runs, the reverse of every other path. So a value that was correctly stripped out on the way in and correctly restored on the way out is then caught by that same check and replaced.

The date check matches any date written in year-month-day order, including dates PTRS itself writes into the live data. The phone number check has no requirement to start at the beginning of a number, and can match the end of any longer run of digits.

Nothing available from the screen. Read How PII is protected.

The assistant does not remember what I just asked

The conversation lives only in your browser, and the question sent to PTRS carries only what you just typed, with nothing before it.

Repeat the subject in every question. There is no setting for this; the model status screen reporting Conversation History as enabled is reading a setting, not describing a behaviour.

My conversations disappeared

The same browser-only storage. A reload, a new tab, or a different device starts empty every time.

Copy anything you need out before you leave the page.

A message asks you to slow down

Either twenty questions a minute across the whole module, or five answers streaming in at once.

Wait. A small number more are allowed to queue before being turned away.

A suggested question produces an answer about something else

Several of the suggested questions name an action with no button behind it anywhere. Typed into the chat, a suggestion like "translate this message to Spanish" is answered as a translation question and given three organisation-wide counts instead of any actual text to translate.

Put the material you want worked on directly into the same message.

The panel under the answer is not the one I expected

Which panel appears is decided by matching pieces of your wording, in English, in a fixed order. Asking about the "accurate headcount" can return the check-in-rate chart, because the match is on the letters inside accurate as well as the word rate alone; asking to "compare" two things can match comparable the same way.

Rephrase without the accidental match.

There is no panel at all

Thirteen of the 23 kinds of question never produce one. Several, including translation, drafting a note to a guardian, the data question box, pulling structured facts out of text, reading tone, sorting a meal description and the regulation question, are built to send no panel at all, and the six program-planning kinds fall through to the same default of nothing.

Expected for those kinds of question.

A question in Spanish or Haitian Creole gets the default panel

Both the fallback word-matching and the panel picker match English words only. The main, fingerprint-based sorting may still pick the right kind of question; the panel picker will not.

Ask in English if you need the panel specifically.

Answers you should not act on

The assistant says attendance was zero

Every attendance figure it can put into words comes from a rolled-up summary table, and nothing in the whole product currently writes to that table. A comment in the code says it is meant to be filled in overnight; there is no job that does so.

Use the Attendance module for attendance. The one real figure anywhere in this module is the live headcount panel, which reads today's check-ins directly.

The funder report panel says Total served 0

The same table. The whole panel is built from it, so with nothing writing to it, the panel has no rows. The funder name it prints is always the fixed text "Program Funder".

Use the Analytics module's own funder report instead, and read its documentation on this same figure first.

A check-in rate percentage looks far too low

The chart counts today's check-ins at the first site alphabetically and divides by every active member in the whole organisation, because the table it would prefer to use for the expected count has no writer.

Read the two numbers on the panel rather than the percentage.

"Who hasn't checked in?" returns a large expected total and no children

The same missing table. With no expected-attendance figures recorded, the absent list is empty by construction, and the total shown falls back to every active member in the organisation.

Use the Expected vs Actual panel on the Attendance module's own screen instead.

A panel is labelled with a site I did not ask about

Five panels, the 14-day trend, absent members, check-in rate, room breakdown and the streak leaderboard, always pick the first site alphabetically. The words above the panel cover every site; the panel itself covers only the first one.

There is no way to steer it. The chat sends only your question's own words.

A regulation answer has no source

The retrieval step works out which document, which section and how close a match it found for every passage it retrieves, and none of that is passed along; only the passage text itself reaches the model.

Check the answer against the regulation library to see what is loaded, and against the actual published regulation.

A regulation answer sounds confident and nothing is loaded

When nothing is found to retrieve, the model is instructed to answer from its own general knowledge and say so. Nothing checks that it actually does.

Open the regulation library. If Indexed Sources is empty, no regulation answer you get is sourced from an actual document.

A compliance gap analysis names gaps in a program it never read

This action keeps its own record of having run and reads nothing else. What it works from is three pieces of text typed into the form: the program's name, its stated requirements, and a description.

Treat it as a brainstorm built from a program's name, which is what it actually is.

The data question box

The rows include children I do not recognise

The instruction your question turns into is run directly, and the boundary that keeps every other screen in PTRS inside your own organisation's records does not apply to it. The screen checks that you belong to an organisation and never uses that fact again.

Stop using this screen on any installation shared by more than one organisation, and report it. This is a known, recorded gap.

A message says the generated instruction was rejected for safety

The safety check rejects anything that is not a plain read, any of a short list of dangerous words, and any attempt to chain more than one instruction together.

Rephrase as a question about reading data rather than changing it.

A message says the generated instruction could not be run, and asks you to rephrase

The record layer rejected it, usually because a field named does not actually exist. The model is only told the record type names, never their individual fields, so it guesses at them.

Name the specific fields you want in your question.

A message says PTRS could not build a valid instruction for this request

Nothing usable was found in the model's answer after removing formatting around it; the model answered in prose instead of the instruction you needed.

Phrase it as a direct request for data: "list…", "how many…", "show me the… for…".

The Sanitized indicator says nothing useful

It reports whether the model's own written-out answer triggered the outbound check on personal details, nothing about the rows themselves, which are returned exactly as they arrived.

Read it as a note about the model's own wording, not about the data.

The regulation library

The progress bar reaches full and loading continues

The number the bar counts toward is an estimate based on the document's length alone, and the real splitting step keeps a short overlap between passages that the estimate does not account for, so it always produces more than the estimate expected.

Wait for the confirmation message, which carries the real count read back after the save completes.

No progress bar appears, and loading still succeeds

Progress is only sent every ten passages, so a short document never triggers one. The update is sent without waiting to confirm it arrived, so a lost connection is never noticed, and your browser may not currently be connected to the live-update service those updates ride on.

Reload the page after the confirmation message. The sources list is the authority on what actually happened.

An unexpected failure when loading, while the chat still works

Loading calls the fingerprinting model, which always runs on your own equipment regardless of which model answers chat questions.

Check that model's status dot on the model status screen.

A message says the document text is too short to be a valid regulation document

Under 100 characters. Enforced on the form and again on PTRS's own side.

A message says the name must contain only letters, numbers, hyphens and the mark _

A space, a period or an accented character in the name. The same pattern is checked on both sides.

I filled in Source URL and it is not shown anywhere

The field is sent along and PTRS never keeps it.

Put the web address inside that name itself, within the character rules, such as DELACARE-2024-dscyf-gov, or keep it outside PTRS entirely.

Another organisation's documents are in my Indexed Sources list

By design. A regulation document is deliberately not kept separate by organisation, and the search behind a regulation question adds no such separation either.

Nothing available from the screen. Be aware that removing a source removes it for every organisation on the installation.

Checked against PTRS on 7 September 2026.