Forge Proof Layer

User Guide

← Back to outcome

User Guide — Forge Proof Layer

The Proof Layer turns "we built it" into "here is independently verifiable proof of exactly how much we built." It runs automatically as a gate before any outcome is delivered, published, granted certification, benchmarked, or committed.

For an outcome owner

  1. Build and verify your outcome under delivery-package/<slug>/ with a

verify command that writes verification-report.json.

  1. Run the Proof Layer:

``` node tools/forge-proof.mjs --outcome delivery-package/<slug> \ --verify "node verify.mjs" --report verification-report.json ``` Read the printed state, grade, and Trust Score. If it is not what you expect, fix the underlying evidence (add curated proof docs, disclose seams, remove unsupported claims) and re-run. Never edit the generated artifacts by hand.

  1. Gate every release action:

``` node tools/forge-gate.mjs --outcome delivery-package/<slug> --action deliver ``` Exit 0 = permitted, 1 = blocked by the decision, 2 = fail-closed (not started or integrity failure).

  1. Publish and rebuild the proof-aware portfolio with

node tools/forge-portfolio.mjs.

Reading the outputs

  • proof/EVIDENCE_GRADE.md — the grade and the exact basis for it.
  • proof/TRUST_SCORE.json — the 0–100 score with every scoring and penalty line.
  • proof/AUDITOR_CHALLENGE.md — hostile-auditor questions answered per claim.
  • proof/PROOF_DECISION.json — the authoritative allow/block decision.

Declaring stronger evidence

Higher grades require real inputs. When (and only when) you have them, pass --independent-reproduction, --external-validation, and/or --production-validated. These must be backed by evidence; do not set them otherwise.