docs: archive stale/dormant-feature markdown out of git tracking

Move 8 dated-snapshot / dormant-feature docs to docs/_archive/ (git-ignored,
kept locally), leaving only repo essentials + the active lite plan tracked:
- docs/codebase-audit-2026-04-27.md, docs/codebase-overview.md — "current as of
  2026-04-27" snapshots, superseded by CLAUDE.md and the v2 plan.
- docs/ui-static-state.md — Phase-9-era UI static-state review snapshot.
- docs/chat-port-feasibility-2026-05-06.md, docs/chat-protocol-spec-2026-05-06.md
  — superseded/old-"Batch"-framing docs for the dormant, gated-OFF chat module.
- tests/fixtures/hushchat/{README,CAPTURE_MANIFEST,IMPORT_CHECKLIST}.md -> docs/
  _archive/hushchat/ — human docs (not tool input) for the dormant chat fixtures;
  the .json fixtures the HushChatFixtureCheck tool globs remain tracked.

These docs only cross-referenced each other (no code/CMake/script refs); no
dangling tracked links remain. Tracked .md (non-libs): 14 -> 6.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-05 20:26:22 -05:00
parent cd60bded9f
commit 74bd22958a
8 changed files with 0 additions and 1553 deletions

View File

@@ -1,27 +0,0 @@
# HushChat Capture Manifest
The capture manifest is a redacted provenance file for a staged directory of real, disposable, non-sensitive SilentDragonXLite HushChat vectors. It does not replace fixture validation; it records that the staged directory was handled under the safety rules required before the Batch 11 strict replacement dry run.
Copy `templates/capture-manifest.template.json` into the staged fixture directory as `capture-manifest.json`, then change `status` to `staged` and each category `status` to `ready`. Keep the file limited to provenance, handling flags, category filenames, and the dry-run command.
Validate only the manifest metadata with:
```sh
./build/bin/HushChatFixtureCheck --validate-capture-manifest /path/to/staged/hushchat-fixtures
```
The validator accepts a directory containing `capture-manifest.json` or a direct manifest file path. It prints only a redacted report with schema status, category coverage, handling-flag counts, basenames, and error names.
The manifest must include:
- schema `dragonx.hushchat.capture-manifest.v1`
- status `staged`
- a redacted manifest id
- staged fixture directory name
- dry-run command containing `HushChatFixtureCheck --replacement-dry-run`
- provenance fields for source client, source client version or commit, capture date, network, and capture method
- all required handling flags set to `true`
- exactly one entry for each required fixture category
The manifest must not include passphrases, plaintext, memo contents, private keys, wallet files, ciphertext byte dumps, stored chat key fields, public-key fields, secretstream headers, derived keys, session keys, or any fixture object. The manifest validator rejects known prohibited field names, but it is still a metadata guard rather than a secret scanner.
After the manifest validates, run the strict replacement dry run against the same staged directory. Pending checked-in fixtures must not be replaced until both commands succeed.

View File

@@ -1,40 +0,0 @@
# HushChat Fixture Import Checklist
This checklist is for replacing the pending placeholders with real, non-sensitive SilentDragonXLite compatibility vectors.
Do not commit passphrases, plaintext, memo contents from real wallets, private keys, wallet files, or arbitrary ciphertext dumps. Use only disposable test wallets and non-sensitive test messages. The checked-in ready files must contain only the schema fields required by the loader.
Required categories:
- `incoming_memo`: received encrypted Memo vector, expected `ClientRx`
- `outgoing_memo`: outgoing-history encrypted Memo vector, expected `ServerTx`
- `seed_public_key_projection`: vector proving the SDXL UTF-8-hex seed projection matches the recorded local public key
- `corrupted_auth_failure`: structurally valid Memo vector reserved for future authentication-failure verification
- `cont_exclusion`: contact request vector that remains excluded from encrypted Memo decrypt preparation
Capture rules:
- Use disposable SilentDragonXLite wallets only.
- Use a fixed non-sensitive test phrase and record only its hash if a plaintext expectation is needed.
- Do not store decrypted message text in fixture files.
- Do not include private keys, viewing keys, spending keys, wallet seed phrases, or wallet database contents.
- Keep the top-level `schema` value as `dragonx.hushchat.compat-fixture.v1`.
- Change `status` from `pending` to `ready` only when the fixture has the full `fixture` object documented in the protocol spec.
- Preserve one fixture file per required category.
- For every ready non-`Cont` vector, the stored SDXL chat key string must project to the declared local public key using SDXL's first-32-UTF-8-bytes seed behavior.
- The projection check records only byte lengths and match status; it must not write passphrases, plaintext, derived secret keys, memo contents, or ciphertext bytes.
- A ready `corrupted_auth_failure` vector must be structurally valid through the same loader, verifier, and projection checks, then marked as requiring a future secretstream authentication failure.
- The corrupted-auth marker is not a decrypt result and is not an authentication result.
- Run the strict replacement dry-run report against a staged directory before copying any ready files over the checked-in pending placeholders.
- The dry-run report must remain redacted; it may contain category names, basenames, status/error names, boolean flags, and counts only.
- Add `capture-manifest.json` to the staged directory from `templates/capture-manifest.template.json` and validate it before strict replacement dry-run checks.
- The capture manifest records provenance, handling flags, category filenames, and dry-run instructions only; it must not contain fixture objects or sensitive fields.
Verification flow:
```sh
./build/bin/HushChatFixtureCheck --allow-pending tests/fixtures/hushchat
./build/bin/HushChatFixtureCheck --validate-capture-manifest /path/to/staged/hushchat-fixtures
./build/bin/HushChatFixtureCheck --replacement-dry-run /path/to/staged/hushchat-fixtures
./build/bin/HushChatFixtureCheck tests/fixtures/hushchat
```
The first command is for the current scaffold state and allows pending files. The manifest command validates only redacted staged-directory metadata. The dry-run command is strict, refuses `--allow-pending`, performs no file replacement, and must fail until the staged directory contains all five real ready vectors with no pending, malformed, mismatched, projection-failed, auth-not-ready, or Cont-not-excluded entries. The final command is the post-copy strict check on the checked-in fixture directory; it must report `future_auth_required=1` and `auth_structural_ready=1`. A ready import is acceptable only when the manifest command and both strict fixture commands exit successfully.

View File

@@ -1,31 +0,0 @@
# 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.