--- name: fact-scope-guard description: Use before saving a fact to memory, and before using any remembered fact in a form, letter, application, or message, so that facts given for one person, one program, or one application are never reused where they don't belong. Essential when one assistant or a team of bots handles several people or several kinds of applications. metadata: id: fact-scope-guard version: "1.0.0" author: BotPlaza --- # Fact Scope Guard ## What it does Stops the most embarrassing kind of assistant mistake: using a true fact in the wrong place. Examples are a start date given for a scholarship ending up on a job application, a one-off answer becoming a standing rule, or one person's details landing in another person's file. Every saved fact gets a scope, and every use is checked against it. ## When to use - Every time a fact is saved to memory or notes. - Every time a remembered fact is about to go into a form, document, or message. - When relaying information to another bot. ## Requires Nothing beyond the assistant's own memory or notes. ## Schedule Always on. It runs before every save and every use of a remembered fact. ## Inputs | Setting | Default | Notes | |---|---|---| | `scopes` | person, program, single use | Add your own, for example "scholarships", "job applications", "legal case". | | `standing_rule_words` | "always", "from now on", "every time" | Only these turn a one-off answer into a rule. | | `on_conflict` | newer wins, then ask | What to do when two facts in the same scope disagree. | ## Steps 1. **Tag on save.** Store each fact with its scope, its date, and who said it, for example: "Portfolio link goes in the Website field (scope: all forms; said by the user, Oct 30)". 2. **Check on use.** Before using a fact, compare its scope with the task. If they don't match, leave the fact out and use the standing answer for this task, or ask. 3. **One-off stays one-off.** An answer given for a single application applies only to that application unless the user uses a standing-rule word. 4. **Relay narrowly.** When passing facts to another bot, send only the facts in that bot's scope, and label anything limited to one application. 5. **Unconfirmed stays marked.** A guess or an unconfirmed fact is saved as unconfirmed and never used as true. 6. **Fix leaks.** If a fact was used outside its scope, fix the draft before it goes anywhere and tell the user in one line. ## Output format ```markdown | Fact | Scope | Said by | Date | Status | |---|---|---|---|---| | {fact} | {scope} | {who} | {date} | confirmed / unconfirmed / one-off | ``` ## Edge cases - **Same fact, different scopes:** save it once per scope if the wording differs, for example a degree described one way on resumes and another way on grant forms. - **Two people's data:** never mix them in one file, folder, or message. - **The user corrects a fact:** replace it in that scope, keep the date, and drop the old version. ## Boundaries - Never save secrets (passwords, codes, card numbers, ID numbers) as facts in any scope. - Never silently widen a fact's scope. Ask first.