Skip to content

Commit 6fe9349

Browse files
committed
Add commercial evidence file verification command plan
1 parent 238f7d6 commit 6fe9349

7 files changed

Lines changed: 208 additions & 4 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ The first production milestone is M3UA over a transport abstraction. SCCP, TCAP,
7474
| Commercial evidence readiness lockdown | Phase 36 foundation-complete: release target locking, protected secret readiness, evidence retention mapping, commercial evidence checklist, release preflight, protected release environments, dossier handoff, go/no-go gating, status reporting, and final validation are available; RC and stable publication remain blocked until retained commercial release evidence is complete |
7575
| Commercial evidence execution orchestration | Phase 37 foundation-complete: evidence execution run identity, stage catalog, operator command plan, execution environment contract, artifact collection manifest, digest/redaction verification, blocker classification, retry/resume policy, status reporting, and final validation are available; real retained execution artifacts are still required before commercial publication |
7676
| Commercial evidence artifact intake | Phase 38 foundation-complete: artifact intake target identity, artifact source registration, SHA-256 digest coverage, redaction review, completeness evaluation, dossier reporting, promotion handoff, execution-to-dossier bridge, status reporting, and final validation are available, binding a stable intake id, reviewer identity, UTC receipt time, run-scoped dossier root, concrete source paths, unique retained dossier paths, retained digests, trace-bearing artifact approvals, explicit intake blockers, retained Markdown summary, digest-covered handoff, end-to-end intake assembly, and intake readiness status to a governed execution run; real artifact files are still required before commercial publication |
77-
| Commercial evidence file verification | Phase 39 in progress: retained file evidence item verification, retained file manifest coverage, file verification blocker reporting, retention ledger modeling, integrity sealing, publication attachment planning, and verified promotion gating are available, checking file existence, non-empty size, SHA-256 validity, digest match, UTC observation time, unique retained paths, promotion-required handoff coverage, explicit verification blockers, reviewer identity, immutable retention, UTC retention windows, minimum duration, deterministic aggregate ledger digests, sealed ledger attachment coverage, trace-bearing redaction approval, commercial readiness report presence, and explicit promotion approval; command plan, status reporting, and final validation remain |
77+
| Commercial evidence file verification | Phase 39 in progress: retained file evidence item verification, retained file manifest coverage, file verification blocker reporting, retention ledger modeling, integrity sealing, publication attachment planning, verified promotion gating, and command planning are available, checking file existence, non-empty size, SHA-256 validity, digest match, UTC observation time, unique retained paths, promotion-required handoff coverage, explicit verification blockers, reviewer identity, immutable retention, UTC retention windows, minimum duration, deterministic aggregate ledger digests, sealed ledger attachment coverage, trace-bearing redaction approval, commercial readiness report presence, explicit promotion approval, and workflow-ready verification command order; status reporting and final validation remain |
7878

7979
## Requirements
8080

docs/PHASE39_COMMERCIAL_EVIDENCE_FILE_VERIFICATION.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,21 @@ Publication attachment readiness does not publish anything. It only proves that
9393

9494
The gate returns concrete blocker labels. It does not publish a package; it only allows the release workflow to consider the verified evidence set.
9595

96+
## Unit 8 - File Verification Command Plan
97+
98+
`SigtranCommercialEvidenceFileVerificationCommandPlan` defines the workflow-ready execution order:
99+
100+
1. Observe retained files.
101+
2. Compute retained file digests.
102+
3. Compare observed digests with promotion handoff digests.
103+
4. Write the file verification report.
104+
5. Write the retention ledger.
105+
6. Create the integrity seal.
106+
7. Create the publication attachment manifest.
107+
8. Evaluate the promotion gate.
108+
109+
The plan is package-neutral and shell-neutral. It describes the expected workflow contract so CI, a CLI, or a release operator can materialize equivalent commands without changing SDK domain APIs.
110+
96111
## Validation
97112

98113
Each unit in this phase is validated with:

docs/PHASE39_SUMMARY.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ Phase 39 prepares the SDK to verify retained commercial evidence files after art
1111
- Integrity seal that computes a deterministic aggregate SHA-256 digest over the retention ledger.
1212
- Publication attachment manifest that covers sealed ledger entries and protects trace-bearing artifacts through redaction approval.
1313
- Verified promotion gate that requires ready attachments, ready integrity seal, ready retention ledger, verified file report, commercial readiness report, and explicit approval.
14+
- File verification command plan that orders observation, digest computation, comparison, report, ledger, seal, attachment, and promotion-gate steps.
1415

1516
## Readiness Position
1617

17-
The phase is in progress. Retained file evidence item verification, retained file manifest coverage, blocker reporting, retention ledger modeling, integrity sealing, publication attachment planning, and verified promotion gating are available. Command plan, status reporting, and final validation remain.
18+
The phase is in progress. Retained file evidence item verification, retained file manifest coverage, blocker reporting, retention ledger modeling, integrity sealing, publication attachment planning, verified promotion gating, and command planning are available. Status reporting and final validation remain.

docs/PHASE_INDEX.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ This index is the complete phase map for Sigtran.NET. It links each phase to the
4343
| 36 | Commercial evidence readiness lockdown | [Phase 36 Commercial Evidence Readiness Lockdown](PHASE36_COMMERCIAL_EVIDENCE_READINESS_LOCKDOWN.md), [Phase 36 Summary](PHASE36_SUMMARY.md) | Foundation complete; real commercial evidence still required |
4444
| 37 | Commercial evidence execution orchestration | [Phase 37 Commercial Evidence Execution Orchestration](PHASE37_COMMERCIAL_EVIDENCE_EXECUTION_ORCHESTRATION.md), [Phase 37 Summary](PHASE37_SUMMARY.md) | Foundation complete; real execution artifacts still required |
4545
| 38 | Commercial evidence artifact intake | [Phase 38 Commercial Evidence Artifact Intake](PHASE38_COMMERCIAL_EVIDENCE_ARTIFACT_INTAKE.md), [Phase 38 Summary](PHASE38_SUMMARY.md) | Foundation complete; real artifact files still required |
46-
| 39 | Commercial evidence file verification | [Phase 39 Commercial Evidence File Verification](PHASE39_COMMERCIAL_EVIDENCE_FILE_VERIFICATION.md), [Phase 39 Summary](PHASE39_SUMMARY.md) | In progress; promotion gate complete |
46+
| 39 | Commercial evidence file verification | [Phase 39 Commercial Evidence File Verification](PHASE39_COMMERCIAL_EVIDENCE_FILE_VERIFICATION.md), [Phase 39 Summary](PHASE39_SUMMARY.md) | In progress; command plan complete |
4747

4848
## Current Commercial Gate
4949

docs/SDK_ROADMAP.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ Status: Phase 38 is foundation-complete. Artifact intake target identity binds a
347347
- Track file existence, size, observation time, digest match, retention, integrity sealing, publication attachment, promotion gate, and operator command contracts.
348348
- Keep file verification separate from real lab execution: verification contracts can evaluate retained files, but publication remains blocked until real files are present and approved.
349349

350-
Status: Phase 39 is in progress. Retained file evidence item verification now checks existence, non-empty size, SHA-256 validity, digest match, and UTC observation time. Retained file manifest coverage now verifies that every promotion-required handoff item has a unique verified retained file. File verification reporting now exposes missing, empty, invalid digest, digest mismatch, non-UTC observation, duplicate path, and incomplete handoff blockers. Retention ledger modeling now binds verified files to reviewer identity, immutable retention, UTC retention windows, and minimum duration checks. Integrity sealing now computes and validates a deterministic aggregate SHA-256 digest over the ledger. Publication attachment planning now covers sealed ledger entries, validates attachment digests, includes the commercial readiness report, and blocks trace-bearing attachments without redaction approval. Verified promotion gating now requires ready attachments, ready integrity seal, ready retention ledger, verified file report, commercial readiness report presence, and explicit approval before evidence can move into release publication decisions. Command plan, status reporting, and final validation remain in progress.
350+
Status: Phase 39 is in progress. Retained file evidence item verification now checks existence, non-empty size, SHA-256 validity, digest match, and UTC observation time. Retained file manifest coverage now verifies that every promotion-required handoff item has a unique verified retained file. File verification reporting now exposes missing, empty, invalid digest, digest mismatch, non-UTC observation, duplicate path, and incomplete handoff blockers. Retention ledger modeling now binds verified files to reviewer identity, immutable retention, UTC retention windows, and minimum duration checks. Integrity sealing now computes and validates a deterministic aggregate SHA-256 digest over the ledger. Publication attachment planning now covers sealed ledger entries, validates attachment digests, includes the commercial readiness report, and blocks trace-bearing attachments without redaction approval. Verified promotion gating now requires ready attachments, ready integrity seal, ready retention ledger, verified file report, commercial readiness report presence, and explicit approval before evidence can move into release publication decisions. Command planning now orders observation, digest computation, comparison, report, ledger, seal, attachment, and promotion-gate work for workflow materialization. Status reporting and final validation remain in progress.
351351

352352
## Recommended First Deliverable
353353

src/Sigtran.NET.Tests/Program.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@
303303
Run("SIGTRAN commercial evidence integrity seal verifies ledger digest", SigtranCommercialEvidenceIntegritySealVerifiesLedgerDigest);
304304
Run("SIGTRAN commercial evidence publication attachments protect trace artifacts", SigtranCommercialEvidencePublicationAttachmentsProtectTraceArtifacts);
305305
Run("SIGTRAN commercial evidence verified promotion gate requires approval", SigtranCommercialEvidenceVerifiedPromotionGateRequiresApproval);
306+
Run("SIGTRAN commercial evidence file verification command plan orders execution", SigtranCommercialEvidenceFileVerificationCommandPlanOrdersExecution);
306307
Run("SIGTRAN status capabilities use domain documentation labels", SigtranStatusCapabilitiesUseDomainDocumentationLabels);
307308
Run("Native SCTP platform probe reports socket creation capability", NativeSctpPlatformProbeReportsSocketCreationCapability);
308309
Run("Native SCTP socket factory creates or reports unsupported platform", NativeSctpSocketFactoryCreatesOrReportsUnsupportedPlatform);
@@ -5124,6 +5125,24 @@ static void SigtranCommercialEvidenceVerifiedPromotionGateRequiresApproval()
51245125
Assert(blocked.Blockers.Contains("commercial-evidence-approval-missing"), "promotion gate should expose approval blocker");
51255126
}
51265127

5128+
static void SigtranCommercialEvidenceFileVerificationCommandPlanOrdersExecution()
5129+
{
5130+
SigtranCommercialEvidenceFileVerificationCommandPlan plan = CreateDefaultCommercialEvidenceFileVerificationCommandPlan();
5131+
5132+
Assert(plan.IsReady, plan.Describe());
5133+
AssertEqual(Enum.GetValues<SigtranCommercialEvidenceFileVerificationCommandKind>().Length, plan.Commands.Count, "file verification command count");
5134+
Assert(plan.UsesDeterministicOrder, "file verification commands should use deterministic order");
5135+
Assert(plan.CoversRequiredCommandKinds, "file verification commands should cover every required command kind");
5136+
Assert(plan.ProducesRequiredArtifacts, "file verification commands should produce required artifacts");
5137+
Assert(plan.ApprovalReservedForPromotionGate, "file verification commands should reserve approval for promotion gate");
5138+
Assert(plan.Commands[^1].RequiresApproval, "last file verification command should require approval");
5139+
}
5140+
5141+
static SigtranCommercialEvidenceFileVerificationCommandPlan CreateDefaultCommercialEvidenceFileVerificationCommandPlan()
5142+
{
5143+
return SigtranCommercialEvidenceFileVerificationCommands.CreateDefault("artifacts/commercial-evidence");
5144+
}
5145+
51275146
static SigtranCommercialEvidenceVerifiedPromotionGateResult CreateDefaultCommercialEvidenceVerifiedPromotionGate(SigtranCommercialEvidencePublicationAttachmentManifest? attachmentManifest = null)
51285147
{
51295148
return SigtranCommercialEvidenceVerifiedPromotionGates.Evaluate(

0 commit comments

Comments
 (0)