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:
27
tests/fixtures/hushchat/CAPTURE_MANIFEST.md
vendored
27
tests/fixtures/hushchat/CAPTURE_MANIFEST.md
vendored
@@ -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.
|
||||
40
tests/fixtures/hushchat/IMPORT_CHECKLIST.md
vendored
40
tests/fixtures/hushchat/IMPORT_CHECKLIST.md
vendored
@@ -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.
|
||||
31
tests/fixtures/hushchat/README.md
vendored
31
tests/fixtures/hushchat/README.md
vendored
@@ -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.
|
||||
Reference in New Issue
Block a user