At an event, people lay spreads. A coordinator cannot hold twenty spreads in their head, and should not try. This page is a method for turning a pile of spreads into one short brief for the room — and a skill description you can hand to whatever AI you already use, so it does the sorting without inventing anything.

The method exists because of what goes wrong without it. Left alone, a general-purpose AI will cluster access needs into categories it made up, rank them by how many people asked, and hand back something that reads like a report on a group of people. All three of those are failures. What follows is narrow on purpose.

What it does

It maps a pile of spreads into a fixed vocabulary that already exists in this project — the seventeen room conditions behind Zone a room, plus three buckets that are not the room at all. Then it says what the room, the kit, the permissions, and the pacing need to be.

The AI's job is translation, not analysis. It is not looking for patterns. It is putting each named need into one of a set of boxes a human already built, in language a human already wrote. Anything that does not fit a box is listed as-is, under the card's own name, rather than forced into one.

That is the tree the idea started with. The branches are just authored rather than discovered.

Getting the spreads in the first place

A spread has to travel from the person who laid it to you, and how it travels matters more than anything you do with it afterwards.

In the deck, a person who has laid their cards presses I'm done and the spread appears with two ways to copy it. They are not interchangeable.

Ask for it by name. "Press Copy to share and send me that" does the privacy work in one sentence. "Send me your spread" does not.

Share copies also merge themselves. They carry no header and no separator, so several pasted together are one flat list — which is what a brief wants, and which quietly destroys the record of whose needs arrived together. In a small group, that record is the thing that identifies somebody.

When there is no way to send it

Plenty of people will have no way to email you, and children on a shared school computer usually have no account worth using. A spread does not have to travel digitally, and mostly it should not.

Copying on a shared computer leaves the spread on the clipboard for whoever sits down next. On a classroom machine, printing or showing the screen is safer than either copy button.

If someone does send it, let them use their own mail or messaging app and choose the recipient themselves. Do not hand out a link that pre-addresses a message to you: it puts your address into everything that link is pasted into, and it turns a deliberate act into a button press.

What not to set up

Not an anonymous drop box. A channel where a person sends an adult a message with no sender, no record and no retention sounds like a privacy win and is a safeguarding problem — an unlogged, self-deleting line between an adult and a child is the pattern child-protection policy exists to prevent, and a school is right to refuse it. Those services also hold the message on their own servers until it is read, so "nothing is stored" stops being true the moment you use one. Paper in a box gets you the same anonymity and keeps the chain of custody.

Not a consent checkbox. A tick box saying "you may run this through an AI" has nothing to enforce it and nobody to record it — this site has no server, and one that looks like consent while doing nothing is worse than none. It also cannot be informed: at the moment of laying cards, nobody knows which AI, whose account, or what that service keeps. The consent that counts is you saying out loud, before anyone lays a card, that spreads will go through an AI. That is a sentence a person can decline.

Before you paste anything

Turning a card face-up is the consent. That consent was given to the room, in the moment, to the people there. It was not given to an AI company.

So there is a step before the method, and it is not optional.

If any of that cannot be honored, do the sorting by hand. The vocabulary below works fine with paper.

If something that should have been stripped goes in anyway, the brief will say so — which is a safety net, not a plan. It reports that a note field was there; it cannot un-send it.

Three rules

These are the rules the tools already follow, written so an AI can follow them too.

No score. Never a number out of five, never a percentage, never a grade, never a pass, never a readiness level. A room that holds nothing yet is a room with a to-do list, not a room that failed.

The subject is always the room. No output sentence takes a person or a group as its subject. Not "attendees struggle with noise" — "this room needs somewhere it can be made quiet." A spread is a design brief for the environment. It is never a report on who was there.

No counting. Do not say how many spreads named a thing, do not sort by it, do not mark anything as common or rare or an outlier. Access is not a vote, and in a small group a count re-identifies — "named once" points at somebody. That is the whole argument, and it is enough.

Be straight about what it costs. For a fixture you build once, frequency genuinely does not change the job. For anything with a budget or an afternoon attached, a coordinator does have to choose what to do first, and this brief will not tell them. That choice belongs to the room, not to the pile. Take the list to Zone a room, tick what is already true, and what remains is the real to-do list; start with the permissions, which cost nothing, then whatever an afternoon fixes. If you still need to choose between two, ask the people who are going to be in the room. They are better placed than a tally of cards, and asking them is the whole ethic here.

First, the card roster

Before any of this, fetch https://cavendish.space/cards.json. It is the whole deck as data: every card, under the realm it belongs to. You need it, because which realm a card came from decides everything below, and a card's name does not tell you. not right now is an Interaction card; not yet is a lily pad. you don't have to talk is a Kind word and carries no description at all, so there is nothing in a pasted spread to identify it by.

Use the roster to put every line of the paste in its realm first. Then map.

your own needs the prompt, not the name. Every realm ships one, so the name alone cannot place it — the prompt does: "Something else that helps" is What helps, "A feeling that isn't here yet" is Weather, and so on down the roster. Whichever realm it came from, and the Blank deck's draw your own too, it means the same thing and goes to the same line: the deck had no card for what this person needed. If the prompt is missing, ask.

If you cannot fetch it, ask the coordinator which realm each unfamiliar card came from. Do not infer a realm from how a card sounds. Guessing a realm is how a mood becomes a room change and how a worn badge ends up in a summary — and you will not know you got it wrong.

The room conditions

Seventeen conditions, each phrased as the change rather than the lack. Sixteen is the number a paste can actually reach — soft has no card behind it, for the reason given under the buckets below — so a brief that never mentions it is not missing anything. These are the same ids Zone a room uses, so a brief written in them can be ticked straight into the zoner. After each one: the cards that map to it.

The three buckets that are not the room

Plenty of what a spread names is not a fixture. Forcing it into a room condition loses it. These go in their own lists.

Kit — things the space stocks or a person brings. A big squeeze, something soft, busy hands, something to chew, a snack or a drink, a smell that helps. Mostly an afternoon and a budget. The implementation guidebook covers doing this on no money.

Permission — things that cost nothing and are a rule, not a purchase. Let me stim, let me unmask, let me control it, sit my way, say it straight, no spotlight. The test for whether a card belongs here as well as in a condition: would the room allowing it be enough, or does somebody have to say so out loud? A room can physically let you sit on the floor and still be a room where nobody does.

Some cards are permission and nothing else — say it straight asks for no fixture at all. A paste made only of those produces an empty room list and a full permission list, and that is a correct brief, not a broken one. A room can satisfy every fixture on this page and still be a place where instructions are vague and nobody stims. These belong on the signs, in the opening announcement, and in what the staff are told. A permission that is not said out loud has not been given.

Pacing — how the session runs. Keep it the same, fewer choices, tell me first, one thing at a time, let me finish, no rush, and the four lily pads that map to no-rush. Those land in both: the room has to allow more than one pace, and the agenda has to actually use it. This is the agenda, not the furniture.

soft has no card yet. Nothing in the deck asks for soft seating: something soft sounds like it does and does not — it is "a plush thing to hold," a comfort object, so it is kit. The condition stays in the list because the zoner uses it and a room still needs somewhere soft to sit; it just will not arrive from a card. A reader who wants it will say so in their own words, which is the remainder's job.

A card can land in two lists. Let me unmask is a room condition and a permission; do both. Sit my way is a permission the room has to physically allow. Overlap is not a mistake to resolve.

What never gets mapped

The reflect: lines are not answers. A spread copied from the deck carries the reflection question the app offered under each card. Those questions are the app talking, not the person, and several of them name other cards as examples — "is there a lily-pad card that fits right now — not yet, slowly, or i need a minute?" names three cards nobody laid. Read only the card lines. A tool that matches card names against the whole paste will find needs that were never asked for, and the spread that suffers most is the one where somebody laid nothing but weather. Ignore every reflect: line, or delete them before pasting.

Weather cards are not needs. Stormy, foggy, running on empty, too seen — these say how a day felt. They do not convert into a room change, and an AI that infers one ("several people were stormy, so add quiet") is guessing at people from their moods. Weather is not summarized at all — not as a list, and not as a sentence about how the day went. "The weather ran the full range" sounds harmless and is still a claim about a group of people's moods, which rules two and three both forbid. Say only that weather was laid and is not being summarized, that the room list came only from the cards which name a need, and that anyone who wants to know how the day felt can ask the people who were there. That last part matters for a different reason: a confident room list reads as though it rests on the whole pile, and on a day when most of what was laid was weather it does not. Saying so costs nothing and claims nothing about anybody. They are right there, and they are better at it than you.

Kind words are never aggregated. They are given to someone or claimed for yourself. They are not a need and not data.

Interaction cards are never aggregated. The red, yellow, and green badges are worn, live, for a moment, and meant to be changed the second they stop being true. A summary of who was red today is a behavior report wearing a badge's clothes. Leave them out of the paste entirely.

Growers are never aggregated. Dandelion, tulip, orchid describe how a person grows and what conditions they need to bloom. That is self-description, and turning a pile of it into a summary is the closest this deck comes to producing a profile. It is also the most tempting thing here to mine, because "give me my conditions and I bloom" sounds like it names conditions. It does not name which. Leave growers out.

Places go to the zones, not the conditions. If people laid the cave, the room needs a cave. That is a direct request for a zone and should be read as one.

Lily pads split three ways, and the mapping table already says which. coming back asks the room to hold a place, so it maps. i need a minute, not yet, slowly and i want to stay a while are pace requests, so they map. ready now and all done are passing states like weather — a person announcing where they are in a moment — so they are never aggregated, and like weather they get one line saying they were laid and are not summarized. Silence would read as though nobody laid them. If none were laid, there is no line — the empty-list rule below is about your own four lists, and "nobody laid ready now" is a sentence about people. stuck and watch first are neither: they name a moment the vocabulary above has no box for, so they go to the remainder with a question attached. Do not stretch a condition to cover them.

What the output looks like

Four lists, a zone read, and two kinds of honesty at the end. No preamble, no summary of the group, no recommendations about people.

The two remainders are different questions, so they are two lines. "The deck had no card for this" is a gap in the deck — somebody needed something that does not exist yet, and the answer might be a new card. "The method had no box for this" is a gap in these instructions — the card exists and this page could not place it. Never merge them, and never resolve either by stretching a condition to fit.

A list that comes back empty keeps its heading and says so. Silently dropping a heading is how a coordinator concludes there was nothing to say. If nobody named a permission, write that nobody did — and add that it does not mean none are needed, since the signs on Zone a room carry the standing ones whether or not anyone laid a card.

This is about your own lists, not the vocabulary. Do not go through the seventeen conditions listing the ones nobody asked for: that is an inventory of a pile, and a count of zero is still a count. Saying "nothing came back under kit" describes your output. Saying "nobody asked for control" describes the people.

Say each thing once. Merged spreads repeat — several people laid headphones — and a list that repeats an item is a tally wearing a list's clothes. Collapse duplicates. The brief names what the room needs, and it needs it once.

Free text is never quoted, and never silently dropped either. The deck's own furniture — the "My Cavendish spread" line, the date, the separators between spreads — is not free text; drop that without comment. Anything written in somebody's own words is: a note field, a sentence the coordinator typed in, a line with no label at all. For all of it, do the same thing — say a line of free text was there, say it was not mapped, and tell the coordinator to read it themselves.

Do not reproduce it, whatever it is labelled. A note field and an unlabelled sentence are indistinguishable the moment somebody tidies the word "Note:" off one, and a rule that quotes the unlabelled one quotes the most identifying text in the pile the first time that happens. There is never a reason to: the coordinator is holding the paste. They can read it. You do not need to say it back to them.

Put the room list in this page's order, not the order the cards arrived in and not longest-first. Any order can be read as priority, so use one that obviously is not: the conditions run down this page in a fixed order, so use that. The other lists can run in any order that is not frequency.

And say what you had to drop. If an Interaction card, a Kind word, a grower, a note field, the dates, or the spreads still separated one from another are in the paste, the strip step above did not happen, and the coordinator needs to know that before the next event — a silent drop teaches them the process works when it did not. Name the kinds as bare labels, with no article and no number — interaction · note field · dates — because "an Interaction card" is a count of one and "Interaction cards" is a count of more than one. A label carries neither. Then tell the coordinator the note is still theirs: a note field is not used in this brief, and is still yours to act on by hand — read it yourself and go look at what it names. A note is usually the most specific thing in the pile, naming a particular light in a particular hall, and the brief is generic where the note was exact. Not mining it is right. Letting it fall on the floor is not, and saying nothing does exactly that.

Do not write "dropped unread" — you had to read it to know what it was, and a phrase that reassures the coordinator about something that did not happen is worse than saying nothing. The only step that can actually keep a note unread is the one before the paste. A note is the most identifying text in a pile and often the most mappable, which is exactly why it is not yours to mine.

The link, and how to build it

The last line of the brief is the room list again, as ids, in a link to the zoner. Build it exactly like this, in full, every time:

https://cavendish.space/rooms.html#asked= followed by the ids, comma-separated, with no spaces.

So a brief naming quiet, dimmable light, a temperature people can change, a corner and a way out ends with — in this page's order, not the order they were named:

https://cavendish.space/rooms.html#asked=quiet,dim,temperature,corner,way-out

A zone somebody asked for does not go in the link — the zoner works out which zones a room can hold from what is ticked, so there is nothing for a zone to set. Carry it by hand: say it in the brief, and once the conditions are ticked the zoner will list what that zone still needs.

Three rules for what goes in it. Only ids from the list above — the seventeen, spelled exactly as they appear, not the sentence next to them. Nothing else — no names, no notes, no weather, no zones, no counts. Always the whole address, starting https://cavendish.space/, because the coordinator will paste it into a message or a document, not into this page.

A word that is not one of the seventeen is not silently dropped: the zoner names it back to whoever opens the link and says it has no condition for it. A typo is visible rather than lost, which is the same principle as the remainder.

Open it and Zone a room shows the brief beside the room: asked for and already here, asked for and not there yet. Then tick what is true, and it says which of the five zones the room can hold today and what each of the rest still needs. Print the signs. The room says it itself, and nobody has to ask.

Three things the link deliberately does not do.

A link is still a list of what a group of people asked for. Share it the way you would share the brief itself.

Handing it to your AI

Give it this page and then the spreads. Most tools will fetch a URL:

Follow the method at https://cavendish.space/group-needs.md exactly. Here are the merged spreads:

If what comes back reads like a summary, your tool did not get the method. Some fetch layers return a precis of a page rather than the page. A precis of this page loses every rule on it and looks like success. The same goes for cards.json — a summarized roster is wrong in a way nothing downstream can detect. Get the raw file, or paste the text.

If yours cannot fetch, paste this page's text above the spreads. Either way, the method is the whole page — there is no shorter version that keeps the rules, because the rules are the point.

Check what comes back against the three rules before you act on it or show it to anyone. If there is a number in it, a person as the subject of a sentence, or a category it invented rather than one from this page, the tool did not follow the method. The two remainder lines are the exception and are meant to carry card names that are not in the vocabulary — that is them working, not failing. Say so and ask again.

What this is not

It is not a screening tool, and running it over a group does not make one. Nothing here is scored, normed, stored, or compared to a baseline.

It is not a profile. The output describes a room. If you can read a person out of it, something has gone wrong upstream — go back to the merge step.

It is not a substitute for asking. The brief tells you what to change. It does not tell you that you got it right, and the only people who can tell you that are in the room.

License

CC0 1.0 Universal. Public domain dedication.