PROJECT OVERVIEW
Evidence-Gated Workflow V2 adds interactive evidence review and snapshot-bound approval to a small, independently implemented synthetic workflow demo. It makes the reasons behind a proposed action visible before a reviewer decides.
THE PROBLEM
A payload hash can bind an approval to a requested change without explaining why that change is justified. An informed decision also needs the supporting evidence, proposed field values, prior values, validation results and remaining uncertainty.
WHAT V2 IMPLEMENTS
Prepare & Review creates a readable package with the synthetic company and request IDs, exact action, prior/proposed values, cited source IDs, source values, URL labels and observation dates. Missing, unknown, stale, invalid or conflicting evidence blocks approval.
The reviewer explicitly chooses Approve or Reject. Prepare and Approve perform no write. A separate Execute step rechecks the exact payload, evidence snapshot and versioned validation context before one in-memory synthetic CRM update. Changed evidence invalidates the old approval and requires a fresh review and decision. Rejection is terminal for that review; replay adds no second write.
TECHNICAL APPROACH
Independent Python and JavaScript state machines implement the same rules. SHA-256 digests bind the payload, canonical evidence snapshot and validation context. Retained review packages, decision IDs and event history make state changes inspectable. The local Python runner and static browser build share one interface with explicit adapters. The original 11 automated scenarios remain separate regression demonstrations.
MY ROLE
Architecture, demonstration scope, acceptance criteria and public-data boundaries, with AI-assisted implementation, testing and browser verification. This is an independent portfolio sample, not private Tribloc code or a claim of client delivery.
VALIDATION
Recorded on 18 October 2026: 30 Python tests and 61 JavaScript/build tests passed. Forty-two shared V2 cases compared complete Python/JavaScript outputs, including digests and state. The original 11 scenarios remained covered. There were 47 local browser checks and 8 live browser checks, including approval, rejection, replay, source-change invalidation and fresh review. Deployed assets matched the tested build. These are bounded software checks, not an independent security audit or a real-world accuracy benchmark.
SYNTHETIC DATA AND LIMITS
All company records, values, sources and CRM writes are fictional. The decision is interactive, but reviewer identity is simulated and unauthenticated. A hash is not a human signature; fixture consistency does not establish real-world truth. Source URLs are labels and are never fetched. Freshness uses the fixed reference date 17 October 2026.
The public demo runs in the visitor's tab and resets on reload. There is no durable ledger, transactional atomicity, cross-system race protection or crash recovery. No LLM, MCP server, external CRM/API, customer data, credentials, private project code or internal architecture is included. No production customer deployment or customer result is claimed.
CLIENT RELEVANCE
Scoped AI workflow design, evidence presentation, human review gates, failure-path validation and reproducible Python/JavaScript implementations.