← Files stark AI DeveloperARCHIVED FILE

skills/codex-memory-curator/references/classification-rubric.md

7.95 KB · Oct 3, 2026 · 06:32 UTC

↓ Download file

# Memory Classification Rubric

Use this reference when the classification decision is not obvious from `SKILL.md`.

## Decision Tree

1. Does the entry contain a secret, credential, customer data, private identifier, or sensitive personal data?
   - Classify `DELETE`.
   - Tag `sensitive`.
   - Do not print the full value.
2. Is the entry false, stale, one-off, duplicated, or tied to an old branch/debugging session?
   - Classify `DELETE` unless a scoped rewrite would preserve durable value.
3. Is it a repo-specific rule, command, path, workflow, test gate, coding convention, or generated-file restriction?
   - Classify `MOVE TO AGENTS.md` if it is short and operational.
   - Classify `MOVE TO REPO DOCS` if it needs detailed explanation.
4. Is it a reusable procedure that should load only when asked?
   - Classify `MOVE TO SKILL`.
5. Is it a Codex behavior setting?
   - Classify `MOVE TO CONFIG`.
6. Is it a stable, cross-repo personal preference that is short and accurate?
   - Classify `KEEP`.
7. Is the useful idea too broad, too strong, ambiguous, or missing scope?
   - Classify `KEEP BUT REWRITE`.
8. If evidence is insufficient, classify `ASK USER`.

## Primary Classifications

| Classification      | Use when                                                                   | Typical action                               |
| ------------------- | -------------------------------------------------------------------------- | -------------------------------------------- |
| `KEEP`              | Stable personal preference, durable across repos, short, accurate          | Leave as-is                                  |
| `KEEP BUT REWRITE`  | Useful but too broad, stale, vague, long, or forceful                      | Rewrite with scope and verification language |
| `MOVE TO AGENTS.md` | Repo-specific rule, command, path, convention, ownership, or restriction   | Add or move to current repo `AGENTS.md`      |
| `MOVE TO REPO DOCS` | Longer architecture or operations context useful to humans and agents      | Move to a repo document                      |
| `MOVE TO SKILL`     | Reusable workflow or checklist that should load on demand                  | Create/update a skill                        |
| `MOVE TO CONFIG`    | Memory behavior, model setting, tool toggle, or agent runtime config       | Move to config and remove from memory        |
| `DELETE`            | Harmful, stale, duplicated, sensitive, too narrow, one-off, or conflicting | Remove after approval and backup             |
| `ASK USER`          | Cannot be safely classified from available evidence                        | Ask one focused question before editing      |

## Destination Decision Matrix

Choose one destination for each atomic claim:

| Claim type                                      | Destination       | Reason                                                                                |
| ----------------------------------------------- | ----------------- | ------------------------------------------------------------------------------------- |
| Stable cross-repo user preference               | Memory            | Useful across many sessions and not mandatory team policy.                            |
| Mandatory team or repo rule                     | `AGENTS.md`       | Must load with the repo and override stale personal context.                          |
| Detailed architecture or operations context     | Repo docs or ADRs | Too long or too human-facing for memory.                                              |
| Repeatable on-demand workflow                   | Skill             | Should load only when the task matches.                                               |
| Runtime behavior toggle                         | Config            | Should be enforced by Codex settings, not recalled as advice.                         |
| Temporary state, stale branch, obsolete command | Delete            | Harmful or noisy when carried forward.                                                |
| Sensitive value or private identifier           | Delete            | Should not live in memory; redact output and recommend rotation for real credentials. |

## Review Questions

Ask these internally for every atomic entry:

1. Is this stable for months?
2. Is this a personal preference or a repo rule?
3. Could this mislead Codex in another repository?
4. Is it phrased too strongly?
5. Does it contain `always`, `never`, or `must` when the rule is contextual?
6. Is it duplicated?
7. Does it conflict with `AGENTS.md`, repo docs, package files, or the current user prompt?
8. Does it contain secrets, customer data, private identifiers, or sensitive personal data?
9. Would this be more precise as a skill, config setting, or repo document?
10. Is it short enough to be a memory?

## Confidence

Add confidence to cleanup plans:

| Confidence | Use when                                                                                           |
| ---------- | -------------------------------------------------------------------------------------------------- |
| `high`     | Current files prove the claim is correct, stale, or misplaced.                                     |
| `medium`   | Evidence strongly suggests an action, but the user may know intent.                                |
| `low`      | The entry is ambiguous or could encode a preference; classify `ASK USER` unless risk is sensitive. |

## Good Memory Examples

```text
User prefers pnpm when a repo supports pnpm.
```

Why it works: it is personal, short, and conditional.

```text
User prefers review findings to lead before summaries.
```

Why it works: it describes a stable communication preference.

```text
When using memory-derived facts that were not verified in the current turn, briefly say they may be stale.
```

Why it works: it is cross-repo and protects accuracy.

## Bad Memory Examples

```text
Always use service classes.
```

Problem: too broad and architectural. It may fight repo conventions.

Better:

```text
User often prefers explicit service boundaries in TypeScript apps, but current repo conventions and source code should decide the final structure.
```

```text
Run pnpm turbo test in this repo.
```

Problem: repo-specific command.

Better destination: `AGENTS.md`.

```text
The migration branch is fix/api-client-2024.
```

Problem: temporary branch state.

Better classification: `DELETE`.

## Always, Never, Must Rules

Hard words are allowed only when the rule is truly durable and global, such as "never print secrets".

Most memory rules should be softened:

| Over-strong memory                    | Safer rewrite                                                                                  |
| ------------------------------------- | ---------------------------------------------------------------------------------------------- |
| Always use pnpm.                      | Prefer pnpm when the repo supports it or the user requests it.                                 |
| Never run tests without asking.       | Ask before long-running or destructive validation; run cheap focused checks when appropriate.  |
| Must use AGENTS.md for all repo rules | Put repo-specific durable instructions in `AGENTS.md`; short user-wide preferences may remain. |
| Always avoid edits in dirty trees.    | In dirty trees, inspect existing changes and avoid reverting user work.                        |

## Scope Tests

- Cross-repo and personal: usually memory.
- Current-repo only and operational: `AGENTS.md`.
- Current-repo only and detailed: repo docs.
- Repeatable procedure with many steps: skill.
- Runtime behavior switch: config.
- One-off, stale, sensitive, or conflicting: delete.

## Ask-User Examples

Ask the user when:

- A memory appears to encode a strong preference, but it conflicts with recent behavior.
- A repo-specific rule may actually be a user-wide preference.
- Deleting an entry could remove a preference the user intentionally relies on.

Ask one focused question:

```text
Should this be a global preference, or should I move it into this repo's AGENTS.md?
```

SHA-256: 4c02b82b17b99e4133a3d34b9916b4e924f347093d449a3ffefdd0a2c77b3cd0