skills: correct the credential-incident-response §5 premise about chroma metadata
§5 said embedding_metadata.string_value holds "metadata fields only". False, measured directly: chroma also stores a copy of the document text there, under key chroma:document. Confirmed with a disposable sentinel drawer (pi@tor-ms22, 2026-08-30): one row in fts_content AND one row in embedding_metadata for the same drawer. This was a real mistake in shipped guidance, not a nitpick: this section's own scanning advice was written to guard against explaining a zero with a mechanism nobody verified from source, and the section itself did exactly that -- I downgraded a census to "a floor" on the strength of a metadata-blind claim I never checked against chroma's actual storage layout. The practical scan order is unchanged (fts_content is still the direct target, raw bytes are still the backstop); only the stated REASON for a metadata zero changes: it needs a different explanation now (key filter, query shape, escaping), not "structurally absent". §6's row-gone/bytes-gone claim is upgraded from asserted to measured, same sentinel: delete_by_source took both fts_content and embedding_metadata 1->0, raw bytes stayed 4->4 (freed pages persist until VACUUM). Also records the method that unblocked the measurement: not a better instrument, a disposable sentinel drawer instead of risking real fleet data. No image behaviour changes.
This commit is contained in:
+21
-2
@@ -13,8 +13,27 @@ Pre-v1.0.0 tags followed the pi npm version (`v{pi_version}[letter]`).
|
||||
|
||||
## Unreleased
|
||||
|
||||
_Nothing yet. Entries land here as work merges, and this heading is renamed to
|
||||
the version at tag time (see AGENTS.md, *Release-day checklist* step 3)._
|
||||
**`credential-incident-response` §5/§6 corrected — a stated mechanism was wrong,
|
||||
and this is the second time in three days this section named a wrong reason
|
||||
for a zero.** Docs only.
|
||||
|
||||
§5 said `embedding_metadata.string_value` holds "metadata fields only". Measured
|
||||
false on chroma 1.5.9 with a disposable sentinel drawer (pi@tor-ms22,
|
||||
2026-08-30): the document text is ALSO there, under key `chroma:document` — one
|
||||
row in `fts_content` and one in `embedding_metadata` for the same drawer. The
|
||||
scan order in §5 is unchanged (scan `fts_content` directly, raw bytes as
|
||||
backstop) but the stated REASON is fixed: a zero from `string_value` needs a
|
||||
different explanation (key filter, query shape, escaping), not "it's
|
||||
structurally blind". §6 already warns against explaining a zero with an
|
||||
unverified mechanism; this was exactly that failure, in the file that carries
|
||||
the warning.
|
||||
|
||||
§6's row-gone/bytes-gone claim is now backed by the same sentinel measurement
|
||||
rather than asserted: `delete_by_source` took both `fts_content` (1->0) and
|
||||
`embedding_metadata` (1->0) to zero, while raw bytes stayed 4->4 until VACUUM.
|
||||
Also records how the measurement got unblocked at all — not a better
|
||||
instrument, a disposable sentinel drawer instead of testing deletion on real
|
||||
data.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user