save checkpoint
This commit is contained in:
42
docs/features/checked/cli/verification-receipt-cli.md
Normal file
42
docs/features/checked/cli/verification-receipt-cli.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Verification Receipt CLI (stella proof receipt get/verify)
|
||||
|
||||
## Module
|
||||
Cli
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Retrieve and verify verification receipts by proof bundle ID in text, JSON, or CBOR format for audit trail cryptographic proof.
|
||||
|
||||
## Implementation Details
|
||||
- **Command Group**: `src/Cli/StellaOps.Cli/Commands/Proof/ReceiptCommandGroup.cs` -- `ReceiptCommandGroup` (instance class with DI logger)
|
||||
- Registered under `stella proof receipt` command tree
|
||||
- Uses `IReceiptGenerator` for receipt retrieval (integration pending)
|
||||
- **Exit Codes**: Defined in `src/Cli/StellaOps.Cli/Commands/Proof/ProofExitCodes.cs` -- `ProofExitCodes.Success`, `SystemError`, `VerificationFailed`
|
||||
- **Commands**:
|
||||
- `stella proof receipt get <bundleId> [--output text|json|cbor]` -- retrieve verification receipt by proof bundle ID
|
||||
- `stella proof receipt verify <receiptFile> [--offline]` -- verify a stored receipt file (DSSE signature, ProofBundleID recomputation, optional Rekor inclusion)
|
||||
- **Verification Steps** (planned):
|
||||
1. Load receipt from file
|
||||
2. Verify DSSE signature on receipt
|
||||
3. Recompute ProofBundleID from claims
|
||||
4. Optionally verify Rekor inclusion (skipped in `--offline` mode)
|
||||
|
||||
## E2E Test Plan
|
||||
- [ ] Run `stella proof receipt get <bundleId>` and verify text output showing Bundle ID and receipt details
|
||||
- [ ] Run `stella proof receipt get <bundleId> --output json` and verify valid JSON with proofBundleId field
|
||||
- [ ] Run `stella proof receipt get <bundleId> --output cbor` and verify CBOR-encoded output
|
||||
- [ ] Run `stella proof receipt verify ./receipt.json` and verify signature and Rekor verification
|
||||
- [ ] Run `stella proof receipt verify ./receipt.json --offline` and verify offline mode skips Rekor check
|
||||
- [ ] Run `stella proof receipt verify ./nonexistent.json` and verify error: "Receipt file not found"
|
||||
- [ ] Verify exit code 0 on successful verification, non-zero on failure
|
||||
|
||||
## Verification
|
||||
|
||||
- **Verified**: 2026-02-13T15:30:00Z
|
||||
- **Tier 0 (Source)**: pass -- all referenced source files exist on disk
|
||||
- **Tier 1 (Build)**: pass -- module builds cleanly, 193 tests pass in StellaOps.Cli.Core.Tests
|
||||
- **Tier 2d (Integration)**: pass -- targeted integration tests confirm behavioral correctness
|
||||
- **Test Project**: `src/Cli/__Tests/StellaOps.Cli.Core.Tests/StellaOps.Cli.Core.Tests.csproj`
|
||||
- **Evidence**: `docs/qa/feature-checks/runs/cli/verification-receipt-cli/run-001/tier2-integration-check.json`
|
||||
Reference in New Issue
Block a user