acceptance-harness

A portable acceptance test harness for message-processing domains, built with Java 17 and Spring Boot. It models a minimal DDD flow—normalize → enrich → persist—using deterministic, synthetic fixtures and zero external dependencies. Designed for air-gapped, IL4/IL5 environments, the harness runs in under 30 seconds and produces reproducible, CI/CD-safe outputs. Includes embedded H2 database, Spring Cloud Stream test binder (no Kafka required), and a full validation rubric via RUNBOOK.md and ACCEPTANCE_CRITERIA.md. Ideal for teams in compliance-heavy environments who need fast, auditable proof of contract adherence without SaaS reliance. Artifacts include fixture validators, Mermaid diagrams, CI config, and acceptance screenshots. Extensible via domain events, repository interfaces, and validation specs.

Active Pure Nim score 65/100 · last commit 2026-08-12 · 1 stars · tests present · no docs generated

Summary

Latest Version Unknown
License Unknown
CI Status Failing
Stars 1
Forks 0
Open Issues 0
Last Commit 2026-08-12
Downloads 0
Last Indexed 2026-09-06 06:05

Installation

nimble install acceptance-harness
choosenim install acceptance-harness
git clone https://gitlab.com/ZorillaTrace/acceptance-harness

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
acceptance-harness - - - - - - - - -

README

Acceptance Harness

pipeline status

Portfolio positioning: Senior Data Platform Engineer | Governed Ingestion, Azure, Kafka, Microsoft Graph

This infrastructure-independent harness turns message-processing requirements into deterministic fixtures, typed outcomes, contract checks, and CI gates so release decisions do not depend on production systems.

Role signal: A hiring manager should infer disciplined ownership of acceptance criteria, deterministic test design, contract evolution, failure routing, and release confidence.

Evidence boundary: Deterministic validation and contract testing are implemented here. Azure, Microsoft Graph, and executable replay/idempotency behavior are ?? VERIFY; they are not evidenced by this repository.

What This Proves

Validation concern Repository evidence
Repeatable fixtures Synthetic JSON fixtures are loaded and evaluated without network or production dependencies.
Typed contracts Input and processing-outcome JSON schemas sit beside Java domain types and stable decision codes.
Deterministic behavior Injected clocks and ID suppliers make timestamps and fallback correlation IDs reproducible.
Acceptance routing Accepted and rejected outcomes carry explicit IngestionDecision and FailureCode values.
Fail-closed verification Invalid fixtures, blank payloads, and missing senders are rejected by direct tests.
Contract evolution ADRs document typed outcomes, correlation policy, local verification, and versioned schemas.
Infrastructure independence Tests require no Kafka, database, SaaS service, or production environment.
Release discipline Maven/JUnit and public-safety checks are required GitLab CI gates.

Architecture or Control Flow

  1. FixtureLoader reads synthetic messages from fixtures/messages.json.
  2. FixtureValidator and MessageProcessor validate sender, payload, and correlation-ID inputs.
  3. Injected clock and ID providers remove time- and randomness-based test drift.
  4. Processing returns a typed accepted or rejected result with a stable failure code.
  5. A domain-event publisher exposes decision evidence without requiring an external broker.
  6. Maven tests and privacy/claim scanning fail the CI pipeline when behavior or public-safety rules regress.

This validates application and contract behavior in isolation. Kafka offsets, database transactions, production latency, and deployed replay behavior remain outside this harness's proof boundary.

Verification

PowerShell, from the repository root:

Push-Location acceptance-harness
.\mvnw.cmd -B test
Pop-Location

python -m pytest tests/test_pii_scan.py -q
python tools/redaction/pii_scan.py README.md acceptance-harness/README.MD acceptance-harness/ACCEPTANCE_CRITERIA.md acceptance-harness/RUNBOOK.md acceptance-harness/src docs

Bash, from the repository root:

cd acceptance-harness
chmod +x mvnw
./mvnw -B test
cd ..

python -m pytest tests/test_pii_scan.py -q
python tools/redaction/pii_scan.py README.md acceptance-harness/README.MD acceptance-harness/ACCEPTANCE_CRITERIA.md acceptance-harness/RUNBOOK.md acceptance-harness/src docs

Evidence

Evidence Current proof
Default-branch pipeline feat/acceptance-harness-seed pipeline: passing at portfolio verification time
Java verification 25 tests passed with 0 failures, errors, or skips in the current local run
Public-safety verification 15 privacy tests passed; the scanner covered public docs and Java sources
Contracts message-input-v1.schema.json and processing-outcome-v1.schema.json
Decision documentation ACCEPTANCE_CRITERIA.md, RUNBOOK.md, and four ADRs
CI artifacts JUnit XML and artifacts/proof/redaction-report.txt
Supporting receipts docs/PROOF_RECEIPTS.md

Platform Engineering Portfolio

These repositories form one evidence-based platform engineering portfolio:

Repository Layout

acceptance-harness/
  src/main/java/com/example/processor/domain/
  src/main/java/com/example/processor/application/
  src/main/java/com/example/processor/fixtures/
  src/test/java/com/example/processor/
  fixtures/messages.json
  contracts/
  docs/adr/
  ACCEPTANCE_CRITERIA.md
  RUNBOOK.md
docs/
  PROOF_RECEIPTS.md
tools/redaction/
tests/

Reviewer Path

  1. Run the PowerShell verification block.
  2. Inspect acceptance-harness/src/main/java/com/example/processor/application/MessageProcessor.java as the decision boundary.
  3. Inspect the two JSON schemas under acceptance-harness/contracts/.
  4. Review the ADRs under acceptance-harness/docs/adr/ for the documented tradeoffs.
  5. Inspect JUnit output under acceptance-harness/target/surefire-reports/ after the local run.

Safety and Non-Claims

This is a synthetic/demo implementation. It does not claim formal compliance, production deployment, client-private outcomes, infrastructure-level Kafka/database behavior, or measured production latency.

This repository does not claim IL4/IL5 certification, ATO approval, RMF approval, STIG compliance, or DoD production deployment. CI publishes JUnit reports only as CI artifacts; raw private exports are not published.