CLAUDE.md cites a 6-prefix archiveReason policy that is defined nowhere in the repo
pluto/CLAUDE.md:107 reads: See shared/md/pluto-commons.md "Archive Trigger Context", "Logging And Audit Stores", and the 6-prefix archiveReason policy. Measured 2026-08-17: neither named section enumerates any prefixes, and grep for archiveReason across all four files in shared/md/ returns ZERO hits - including pluto-archive.md, which is 18 lines and never mentions the column. The policy is cited fleet-side and referenced in agent instructions but has no definition anywhere. Surfaced by db-pluto-cc while grading 52 distinct archiveReason values on usersArchive and 20 on userRolesArchive during the PLUTO-705 measurement: they could not find the list, correctly declined to infer the six from the observed distribution, and asked. Inferring would have manufactured the policy out of current data and then validated that data against itself - a check that cannot fail. Cost: every archiveReason review to date has been graded against a rule the reviewer reconstructed from memory or from neighbouring values, and two reviewers can disagree with no artifact to appeal to. Observed prefixes in live data, NOT a proposal and NOT to be adopted without a ruling: admin:, system:, user:, test:, support:, plus non-prefixed legacy strings. Fix: define the canonical list in shared/md/pluto-archive.md (the file CLAUDE.md points at for archive detail, and the natural home), state whether non-prefixed legacy values are permitted or are debt, and make CLAUDE.md:107 point at the actual section. Then decide separately whether .gitpush-pre.sh should enforce it, since it already enforces the migration sentinel format. Related: PLUTO-705 (four fns never set archive_reason at all), PLUTO-704 (schema.md exports no function bodies).