Publication status

Version map

These numbers identify three separate components of the same public edition.

Normative rules

Technical Specification

Revision 3.1

Pilot protocol

Open Pilot Baseline

Version 1.0

Signed record

Preregistration and evidence package

Revision 0.7

The signed filenames, manifests, checksums and signatures retain their exact technical identifiers.

Public Set

Primary downloads

Preregistration package

triz_ri_smart_ai_evaluator_en_pilot_baseline_1_0_prereg_0_7.zip

786.0 KB

SHA-256 c2eb9fc3fea9e0e21d6d812bc4a744fd26fb2f2b4d0c8f714010dc6773e97169

Download file

Google Sheets witness

triz_ri_smart_ai_evaluator_en_pilot_baseline_1_0_prereg_0_7_google_sheets_witness.json

15.4 KB

SHA-256 56734f387bc1b98a98f64305ac0a6098a5df1512c36a96d4539085afea5123ce

Download file

Post-run evidence

triz_ri_smart_ai_evaluator_en_pilot_baseline_1_0_prereg_0_7_post_run_evidence.zip

2.37 MB

SHA-256 4a8e3b050e47cdf58b7cdc421c51a61ff926c652beefab0d10e01ca447f07e77

Download file

Integrity and authenticity

Verification files

Common checksum list

SHA256SUMS.txt

431 bytes

SHA-256 b5af7c76678cf4dc3f9ea9fed49cca35a0962179ba16f0f12593065633d8fa01

Download file

Minisign signature

SHA256SUMS.txt.minisig

330 bytes

SHA-256 604d2fbf56273703fac2731b5aa996dd13b532faeda911ee8e7204c8b080ab5b

Download file

OpenTimestamps proof

SHA256SUMS.txt.minisig.ots

945 bytes

SHA-256 1e4bb4d1365e359fea9adc4f1f684504258903a17263d9f152c3831d4a3a2346

Download file

Official public key

triz-ri-release.pub

113 bytes

SHA-256 5a1728cf1067ddc87e9e7b7a76eaab4ca8f3c5173d1968f05a4976c9dc37457b

Download file

Detached checksum

triz_ri_smart_ai_evaluator_en_pilot_baseline_1_0_prereg_0_7.zip.sha256

130 bytes

SHA-256 36ec01de03d09e315b9340e24e5c0c684b5bb6b231f3f819d15611e7cf4e87f2

Download file

Detached checksum

triz_ri_smart_ai_evaluator_en_pilot_baseline_1_0_prereg_0_7_google_sheets_witness.json.sha256

153 bytes

SHA-256 4c59795b926bf5ca04afd11f4192bf2bbe6b68a9a468a0318bff330e50528ead

Download file

Detached checksum

triz_ri_smart_ai_evaluator_en_pilot_baseline_1_0_prereg_0_7_post_run_evidence.zip.sha256

148 bytes

SHA-256 ff30a1eadd7e44db3643d0745b0a1c415679ca42d8e02f3031f63e9bafa85c9c

Download file

Local verification

Verify the published set

shasum -a 256 -c SHA256SUMS.txt
minisign -Vm SHA256SUMS.txt -p triz-ri-release.pub -x SHA256SUMS.txt.minisig
ots verify SHA256SUMS.txt.minisig.ots

The preregistration package is rebuilt from any directory with python build_package.py --root ..

The post-run evidence archive contains a portable replay runner with explicit --prereg-zip, --witness-json and --output-root arguments.

Canonical package source

Signal calculator

triz_ri_smart_ai_evaluator/common/signal_calculator.py

View canonical source code
#!/usr/bin/env python3
from __future__ import annotations
import json, math, pathlib, sys


def calculate(spec):
    B = float(spec.get("base_unit", 1.0))
    blocks = spec.get("result_blocks", [])
    quality = spec.get("quality", {})
    violations = spec.get("critical_violations", [])
    external = spec.get("required_external_checks", {})
    escrow = spec.get("escrow", {"release_fraction": 1.0, "state": "released"})
    reasons = []
    if violations:
        reasons.append("critical_violation")
    q_value = float(quality.get("value", 1.0))
    q_threshold = float(quality.get("threshold", 1.0))
    if q_value < q_threshold:
        reasons.append("quality_gate_failed")
    for b in blocks:
        if b.get("required", True) and float(b["value"]) < float(b.get("threshold", 0.0)):
            reasons.append("result_threshold_failed:" + b["name"])
    incomplete = [k for k, v in external.items() if v is not True]
    if incomplete:
        reasons.append("external_checks_incomplete:" + ",".join(sorted(incomplete)))
    perf_overall = math.prod(float(b["value"]) for b in blocks) if blocks else 0.0
    eligible = not reasons
    gross = B + B * perf_overall if eligible else 0.0
    fraction = min(1.0, max(0.0, float(escrow.get("release_fraction", 1.0))))
    state = escrow.get("state", "released")
    preliminary = gross * fraction
    held = gross - preliminary
    if state == "released":
        final = gross
        held = 0.0
    elif state == "forfeited":
        final = preliminary
        held = 0.0
    else:
        final = None
    return {
        "formula_model": "mandatory quality and external gates; S=B+B*product(Perf_i); escrow applied after eligibility",
        "base_unit": B,
        "Perf_overall": perf_overall,
        "eligible": eligible,
        "blocking_reasons": reasons,
        "gross_signal": gross,
        "preliminary_signal": preliminary,
        "held_signal": held,
        "final_signal": final,
        "escrow_state": state,
    }


if __name__ == "__main__":
    if len(sys.argv) != 2:
        raise SystemExit("usage: signal_calculator.py input.json")
    print(json.dumps(calculate(json.loads(pathlib.Path(sys.argv[1]).read_text(encoding="utf-8"))), ensure_ascii=False, indent=2))

About the author

Sergei Sychev is a member of the TRIZ-RI Group research community (Israel, Slovakia, Czech Republic), and has been an expert in the Theory of Inventive Problem Solving (TRIZ) since 1985.

The author would prefer that the reader's attention be focused on the material itself, rather than on the author's details, as would be appropriate when reading scientific papers. If you would like to get in touch, write to or reach out on.