# HushChat Compatibility Fixtures

This directory contains the checked-in fixture-file schema for non-sensitive HushChat compatibility vectors.

The current files are intentionally marked `pending`. They define the exact vector categories and required fields without pretending that real SilentDragonXLite compatibility data has been captured yet.

Use the developer checker after building:

```sh
./build/bin/HushChatFixtureCheck --allow-pending tests/fixtures/hushchat
```

The command above is expected to pass while files are still pending. Before replacing pending placeholders with real `ready` vectors, run the same command without `--allow-pending`; it exits successfully only when all five required categories are supplied exactly once, pass the fixture loader/import checklist, satisfy the seed/public-key projection verifier, and mark the corrupted-auth vector as structurally ready for a future authentication-failure check.

For a strict replacement dry run against a staged directory of real vectors, use:

```sh
./build/bin/HushChatFixtureCheck --replacement-dry-run /path/to/staged/hushchat-fixtures
```

The dry-run mode refuses pending vectors and prints only a redacted replacement report with categories, basenames, status/error names, boolean flags, and aggregate counts. It does not copy files or print key material, memo contents, plaintext, ciphertext bytes, or hashes.

Before running the strict replacement dry run on real staged vectors, add a redacted capture manifest and validate it:

```sh
./build/bin/HushChatFixtureCheck --validate-capture-manifest /path/to/staged/hushchat-fixtures
```

The manifest template lives at `templates/capture-manifest.template.json`. See `CAPTURE_MANIFEST.md` for the metadata rules.

See `IMPORT_CHECKLIST.md` for the capture rules.
