<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://invarians.org/index.php?action=history&amp;feed=atom&amp;title=The_Principia_Machina%2FTPC-PY%2Fdiff_score.py</id>
	<title>The Principia Machina/TPC-PY/diff score.py - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://invarians.org/index.php?action=history&amp;feed=atom&amp;title=The_Principia_Machina%2FTPC-PY%2Fdiff_score.py"/>
	<link rel="alternate" type="text/html" href="https://invarians.org/index.php?title=The_Principia_Machina/TPC-PY/diff_score.py&amp;action=history"/>
	<updated>2026-10-21T13:44:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://invarians.org/index.php?title=The_Principia_Machina/TPC-PY/diff_score.py&amp;diff=4069&amp;oldid=prev</id>
		<title>BFP Rauch: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://invarians.org/index.php?title=The_Principia_Machina/TPC-PY/diff_score.py&amp;diff=4069&amp;oldid=prev"/>
		<updated>2026-09-28T04:32:52Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 04:32, 28 September 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key pma_cutover_20261020t051351z-soft_:diff:1.41:old-4068:rev-4069 --&gt;
&lt;/table&gt;</summary>
		<author><name>BFP Rauch</name></author>
	</entry>
	<entry>
		<id>https://invarians.org/index.php?title=The_Principia_Machina/TPC-PY/diff_score.py&amp;diff=4068&amp;oldid=prev</id>
		<title>BFP Rauch: TPC-PY source diff_score.py (0.1.0), SHA-256 3a230c7a59820cf4; conformed TPS 0.3.0; PROPOSED, not declared (CO-8)</title>
		<link rel="alternate" type="text/html" href="https://invarians.org/index.php?title=The_Principia_Machina/TPC-PY/diff_score.py&amp;diff=4068&amp;oldid=prev"/>
		<updated>2026-09-27T15:43:18Z</updated>

		<summary type="html">&lt;p&gt;TPC-PY source diff_score.py (0.1.0), SHA-256 3a230c7a59820cf4; conformed TPS 0.3.0; PROPOSED, not declared (CO-8)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;quot;&amp;quot;&amp;quot;diff_score 0.1.0: the cross-residence differential for tpc_score 0.1.0.&lt;br /&gt;
Random inputs from a seed over every function (valid, boundary and&lt;br /&gt;
malformed, the params fixture varied), both residences on the same&lt;br /&gt;
inputs, every render compared byte for byte; 0 differences is the pass.&lt;br /&gt;
Usage: python3 diff_score.py [seed] [cases]. Writes its cases to a&lt;br /&gt;
temporary file outside the tree (kept where TPC_DIFF_CASES names it) and&lt;br /&gt;
runs diff_score.php over it.&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
import json&lt;br /&gt;
import os&lt;br /&gt;
import random&lt;br /&gt;
import subprocess&lt;br /&gt;
import sys&lt;br /&gt;
import tempfile&lt;br /&gt;
&lt;br /&gt;
here = os.path.dirname(os.path.abspath(__file__))&lt;br /&gt;
sys.path.insert(0, here)&lt;br /&gt;
from params_fixture import FLEET, fleet  # noqa: E402&lt;br /&gt;
from tpc_score import run_case, FNS  # noqa: E402&lt;br /&gt;
&lt;br /&gt;
seed = int(sys.argv[1]) if len(sys.argv) &amp;gt; 1 else 1&lt;br /&gt;
count = int(sys.argv[2]) if len(sys.argv) &amp;gt; 2 else 20000&lt;br /&gt;
rnd = random.Random(seed)&lt;br /&gt;
NAMES = [&amp;quot;Prime AI&amp;quot;, &amp;quot;DeltaS Zero&amp;quot;, &amp;quot;Phoenix 480&amp;quot;, &amp;quot;CH7 AZ&amp;quot;, &amp;quot;Alt BFP&amp;quot;, &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;c|d&amp;quot;, &amp;quot;é&amp;quot;,&lt;br /&gt;
         &amp;quot;x\\y&amp;quot;, &amp;quot;z z&amp;quot;]&lt;br /&gt;
STAND = [&amp;quot;CLEARLY LOWER&amp;quot;, &amp;quot;SIMILAR&amp;quot;, &amp;quot;CLEARLY HIGHER&amp;quot;]&lt;br /&gt;
STATES = [&amp;quot;GREEN&amp;quot;, &amp;quot;YELLOW&amp;quot;, &amp;quot;ORANGE&amp;quot;, &amp;quot;SUSPENDED&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def pick(xs):&lt;br /&gt;
    return xs[rnd.randrange(len(xs))]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def kind(good, more):&lt;br /&gt;
    return pick(more) if bad() else pick(good)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def bad():&lt;br /&gt;
    return rnd.random() &amp;lt; 0.03&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def num(lo, hi, ints=True):&lt;br /&gt;
    if bad():&lt;br /&gt;
        return pick([True, None, &amp;quot;1&amp;quot;, [1], -1, 1e400 if False else 2.5e9])&lt;br /&gt;
    if ints and rnd.random() &amp;lt; 0.3:&lt;br /&gt;
        return rnd.randint(int(lo), int(hi))&lt;br /&gt;
    return round(rnd.uniform(lo, hi), rnd.randint(0, 8))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def unit():&lt;br /&gt;
    if bad():&lt;br /&gt;
        return pick([True, None, &amp;quot;0.5&amp;quot;, -0.1, 1.5])&lt;br /&gt;
    return pick([0, 1, 0.5, 0.025, 0.975, round(rnd.random(), rnd.randint(1, 9)),&lt;br /&gt;
                 round(rnd.random(), rnd.randint(1, 9))])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def cnt(lo, hi):&lt;br /&gt;
    if bad():&lt;br /&gt;
        return pick([True, None, &amp;quot;5&amp;quot;, 1.5, -1])&lt;br /&gt;
    return rnd.randint(lo, hi)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def name():&lt;br /&gt;
    if bad():&lt;br /&gt;
        return pick([5, None, True])&lt;br /&gt;
    return pick(NAMES)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def flag():&lt;br /&gt;
    if bad():&lt;br /&gt;
        return pick([1, &amp;quot;true&amp;quot;, None])&lt;br /&gt;
    return rnd.random() &amp;lt; 0.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def params():&lt;br /&gt;
    p = fleet()&lt;br /&gt;
    r = rnd.random()&lt;br /&gt;
    if r &amp;lt; 0.5:&lt;br /&gt;
        return p&lt;br /&gt;
    invalid = r &amp;gt; 0.92&lt;br /&gt;
    over = {}&lt;br /&gt;
    for _ in range(rnd.randint(1, 3)):&lt;br /&gt;
        k = pick(list(FLEET.keys()))&lt;br /&gt;
        v = FLEET[k]&lt;br /&gt;
        if isinstance(v, bool):&lt;br /&gt;
            over[k] = pick([True, False] + ([1] if invalid else []))&lt;br /&gt;
        elif isinstance(v, int):&lt;br /&gt;
            over[k] = pick([1, 2, v, v * 2, v + 1] + ([0, -1, True, 1.5] if invalid else []))&lt;br /&gt;
        elif isinstance(v, float):&lt;br /&gt;
            over[k] = pick([v, v / 2, min(1.0, v * 2), round(rnd.uniform(0.01, 0.99), 4)]&lt;br /&gt;
                           + ([0.0, 1.5, -0.1, &amp;quot;x&amp;quot;] if invalid else []))&lt;br /&gt;
        elif isinstance(v, dict) and &amp;quot;on&amp;quot; in v:&lt;br /&gt;
            over[k] = {&amp;quot;on&amp;quot;: pick([True, False] + ([1] if invalid else [])),&lt;br /&gt;
                       &amp;quot;fraction&amp;quot;: pick([0.25, 0.5, 1, 0.1] + ([0, 1.5] if invalid else []))}&lt;br /&gt;
        elif k == &amp;quot;h&amp;quot;:&lt;br /&gt;
            over[k] = {&amp;quot;CLEARLY LOWER&amp;quot;: pick([1, 0, 2.5]), &amp;quot;SIMILAR&amp;quot;: pick([2, 1]),&lt;br /&gt;
                       &amp;quot;CLEARLY HIGHER&amp;quot;: pick([3, 4] + ([-1] if invalid else []))}&lt;br /&gt;
        else:&lt;br /&gt;
            over[k] = v&lt;br /&gt;
    if invalid and rnd.random() &amp;lt; 0.5:&lt;br /&gt;
        over[pick(list(FLEET.keys()))] = None&lt;br /&gt;
    p.update(over)&lt;br /&gt;
    if invalid and rnd.random() &amp;lt; 0.5:&lt;br /&gt;
        del p[pick(list(FLEET.keys()))]&lt;br /&gt;
    return p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def iv():&lt;br /&gt;
    lo = unit()&lt;br /&gt;
    hi = unit()&lt;br /&gt;
    if isinstance(lo, (int, float)) and isinstance(hi, (int, float)) and not isinstance(lo, bool) \&lt;br /&gt;
            and not isinstance(hi, bool) and lo &amp;gt; hi and rnd.random() &amp;lt; 0.8:&lt;br /&gt;
        lo, hi = hi, lo&lt;br /&gt;
    d = {&amp;quot;lo&amp;quot;: lo, &amp;quot;hi&amp;quot;: hi}&lt;br /&gt;
    if rnd.random() &amp;lt; 0.3:&lt;br /&gt;
        d[&amp;quot;override&amp;quot;] = flag()&lt;br /&gt;
    return d&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def account():&lt;br /&gt;
    a = {&amp;quot;account&amp;quot;: name(), &amp;quot;S&amp;quot;: unit(), &amp;quot;S_lo&amp;quot;: unit(), &amp;quot;S_hi&amp;quot;: unit(), &amp;quot;n&amp;quot;: cnt(0, 100),&lt;br /&gt;
         &amp;quot;active&amp;quot;: rnd.random() &amp;lt; 0.8 if not bad() else 1}&lt;br /&gt;
    if isinstance(a[&amp;quot;S_lo&amp;quot;], (int, float)) and isinstance(a[&amp;quot;S_hi&amp;quot;], (int, float)) and a[&amp;quot;S_lo&amp;quot;] &amp;gt; a[&amp;quot;S_hi&amp;quot;]:&lt;br /&gt;
        a[&amp;quot;S_lo&amp;quot;], a[&amp;quot;S_hi&amp;quot;] = a[&amp;quot;S_hi&amp;quot;], a[&amp;quot;S_lo&amp;quot;]&lt;br /&gt;
    if bad():&lt;br /&gt;
        a[&amp;quot;x&amp;quot;] = 1&lt;br /&gt;
    return a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def accounts():&lt;br /&gt;
    n = rnd.randint(0, 7)&lt;br /&gt;
    out = [account() for _ in range(n)]&lt;br /&gt;
    if rnd.random() &amp;lt; 0.7:&lt;br /&gt;
        seen = set()&lt;br /&gt;
        uniq = []&lt;br /&gt;
        for a in out:&lt;br /&gt;
            if a[&amp;quot;account&amp;quot;] not in seen:&lt;br /&gt;
                seen.add(a[&amp;quot;account&amp;quot;])&lt;br /&gt;
                uniq.append(a)&lt;br /&gt;
        out = uniq&lt;br /&gt;
    return out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def gen(fn):&lt;br /&gt;
    p = params()&lt;br /&gt;
    if fn == &amp;quot;quota&amp;quot;:&lt;br /&gt;
        return {&amp;quot;window&amp;quot;: [{&amp;quot;counterpart&amp;quot;: pick([None] + NAMES[:5]), &amp;quot;weight&amp;quot;: num(0, 5, False)}&lt;br /&gt;
                           for _ in range(rnd.randint(0, 6))] if not bad() else {},&lt;br /&gt;
                &amp;quot;counterpart&amp;quot;: name(), &amp;quot;g&amp;quot;: kind([1, 2, 0.5], [0, -1, &amp;quot;1&amp;quot;]), &amp;quot;c_max&amp;quot;: kind([0.25, 0.5, 0.1, 0.9], [0, 1])}&lt;br /&gt;
    if fn == &amp;quot;evidence&amp;quot;:&lt;br /&gt;
        evs = []&lt;br /&gt;
        for _ in range(rnd.randint(0, 8)):&lt;br /&gt;
            e = {&amp;quot;kind&amp;quot;: kind([&amp;quot;FOR&amp;quot;, &amp;quot;AGAINST&amp;quot;], [&amp;quot;HELD&amp;quot;]), &amp;quot;weight&amp;quot;: num(0, 30, False), &amp;quot;age&amp;quot;: cnt(0, 3000)}&lt;br /&gt;
            if rnd.random() &amp;lt; 0.3:&lt;br /&gt;
                e[&amp;quot;pad&amp;quot;] = flag()&lt;br /&gt;
            evs.append(e)&lt;br /&gt;
        return {&amp;quot;events&amp;quot;: evs, &amp;quot;idle&amp;quot;: {&amp;quot;days&amp;quot;: num(0, 800, False)} if not bad() else {}, &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn == &amp;quot;interval&amp;quot;:&lt;br /&gt;
        if rnd.random() &amp;lt; 0.8:&lt;br /&gt;
            a, b, c = sorted([rnd.random(), rnd.random(), rnd.random()])&lt;br /&gt;
            return {&amp;quot;S&amp;quot;: unit(), &amp;quot;E&amp;quot;: round(b, 6), &amp;quot;lo&amp;quot;: round(a, 6), &amp;quot;hi&amp;quot;: round(c, 6)}&lt;br /&gt;
        return {&amp;quot;S&amp;quot;: unit(), &amp;quot;E&amp;quot;: unit(), &amp;quot;lo&amp;quot;: unit(), &amp;quot;hi&amp;quot;: unit()}&lt;br /&gt;
    if fn == &amp;quot;standing&amp;quot;:&lt;br /&gt;
        return {&amp;quot;x&amp;quot;: iv(), &amp;quot;y&amp;quot;: iv()}&lt;br /&gt;
    if fn == &amp;quot;rank&amp;quot;:&lt;br /&gt;
        return {&amp;quot;accounts&amp;quot;: accounts(), &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn == &amp;quot;prime&amp;quot;:&lt;br /&gt;
        acc = accounts()&lt;br /&gt;
        ov = None&lt;br /&gt;
        if rnd.random() &amp;lt; 0.3 and acc:&lt;br /&gt;
            ov = pick(acc)[&amp;quot;account&amp;quot;]&lt;br /&gt;
        elif rnd.random() &amp;lt; 0.1:&lt;br /&gt;
            ov = pick([&amp;quot;Nobody&amp;quot;, 5])&lt;br /&gt;
        return {&amp;quot;accounts&amp;quot;: acc, &amp;quot;override&amp;quot;: ov, &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn == &amp;quot;level&amp;quot;:&lt;br /&gt;
        items = []&lt;br /&gt;
        for _ in range(rnd.randint(0, 8)):&lt;br /&gt;
            it = {&amp;quot;counterpart&amp;quot;: name(), &amp;quot;snapshot&amp;quot;: kind([&amp;quot;s1&amp;quot;, &amp;quot;s2&amp;quot;, &amp;quot;s3&amp;quot;], [&amp;quot;&amp;quot;]), &amp;quot;standing&amp;quot;: kind(STAND, [&amp;quot;HIGHER&amp;quot;]),&lt;br /&gt;
                  &amp;quot;eta&amp;quot;: cnt(0, 2000)}&lt;br /&gt;
            if rnd.random() &amp;lt; 0.3:&lt;br /&gt;
                it[&amp;quot;independent&amp;quot;] = flag()&lt;br /&gt;
            items.append(it)&lt;br /&gt;
        return {&amp;quot;items&amp;quot;: items, &amp;quot;now&amp;quot;: cnt(0, 2000), &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn == &amp;quot;state&amp;quot;:&lt;br /&gt;
        return {&amp;quot;prev&amp;quot;: {&amp;quot;state&amp;quot;: kind(STATES, [&amp;quot;RED&amp;quot;]), &amp;quot;passes&amp;quot;: cnt(0, 5)}, &amp;quot;level&amp;quot;: kind(STATES, [&amp;quot;RED&amp;quot;]),&lt;br /&gt;
                &amp;quot;event&amp;quot;: kind([&amp;quot;LANDING&amp;quot;, &amp;quot;CANARY PASS&amp;quot;, &amp;quot;CANARY FAIL&amp;quot;, &amp;quot;AUDIT FINDING&amp;quot;], [&amp;quot;X&amp;quot;]), &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn == &amp;quot;activity&amp;quot;:&lt;br /&gt;
        return {&amp;quot;events&amp;quot;: [{&amp;quot;counterpart&amp;quot;: pick(NAMES[:8]) if rnd.random() &amp;gt; 0.005 else &amp;quot;&amp;quot;, &amp;quot;independent&amp;quot;: rnd.random() &amp;lt; 0.7 if rnd.random() &amp;gt; 0.005 else 1}&lt;br /&gt;
                           for _ in range(rnd.randint(0, 60))], &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn == &amp;quot;update&amp;quot;:&lt;br /&gt;
        return {&amp;quot;role&amp;quot;: kind([&amp;quot;FOLLOWER&amp;quot;, &amp;quot;PRIME&amp;quot;, &amp;quot;USER&amp;quot;, &amp;quot;USER PRIME&amp;quot;], [&amp;quot;LEADER&amp;quot;]), &amp;quot;S&amp;quot;: unit(),&lt;br /&gt;
                &amp;quot;E&amp;quot;: unit(), &amp;quot;S_P&amp;quot;: kind([0.8, 0.5, 0.9, 1, 0.3], [0, &amp;quot;x&amp;quot;]), &amp;quot;a&amp;quot;: unit(), &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn == &amp;quot;cut&amp;quot;:&lt;br /&gt;
        return {&amp;quot;S&amp;quot;: unit(), &amp;quot;m_class&amp;quot;: kind([1, 2, 3], [0, 4]), &amp;quot;standing&amp;quot;: kind(STAND, [&amp;quot;HIGHER&amp;quot;]), &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn == &amp;quot;trip&amp;quot;:&lt;br /&gt;
        return {&amp;quot;S&amp;quot;: unit(), &amp;quot;in_tier&amp;quot;: flag(), &amp;quot;prior_ages&amp;quot;: [cnt(0, 1000) for _ in range(rnd.randint(0, 3))]&lt;br /&gt;
                if not bad() else 5, &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn == &amp;quot;inquire&amp;quot;:&lt;br /&gt;
        last = pick([None, cnt(0, 500)])&lt;br /&gt;
        blk = cnt(0, 800)&lt;br /&gt;
        if isinstance(last, int) and isinstance(blk, int) and blk &amp;lt; last and not bad():&lt;br /&gt;
            blk = last + rnd.randint(0, 400)&lt;br /&gt;
        return {&amp;quot;state&amp;quot;: {&amp;quot;last&amp;quot;: last, &amp;quot;k&amp;quot;: cnt(0, 1030)}, &amp;quot;block&amp;quot;: blk, &amp;quot;S&amp;quot;: unit(), &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn in (&amp;quot;override&amp;quot;, &amp;quot;pad&amp;quot;):&lt;br /&gt;
        fps = [&amp;quot;a&amp;quot; * 64, &amp;quot;b&amp;quot; * 64, &amp;quot;c&amp;quot; * 64, &amp;quot;d&amp;quot; * 63, &amp;quot;A&amp;quot; * 64]&lt;br /&gt;
        facts = {&amp;quot;certified&amp;quot;: [fps[0], fps[1], fps[2]] if not bad() else &amp;quot;x&amp;quot;, &amp;quot;suspended&amp;quot;: [fps[2]],&lt;br /&gt;
                 &amp;quot;nonces&amp;quot;: [&amp;quot;f&amp;quot; * 32, &amp;quot;e&amp;quot; * 32], &amp;quot;prime&amp;quot;: kind([None, fps[0]], [&amp;quot;zz&amp;quot;])}&lt;br /&gt;
        if fn == &amp;quot;pad&amp;quot;:&lt;br /&gt;
            facts[&amp;quot;reference&amp;quot;] = kind([None, fps[0], fps[1]], [&amp;quot;q&amp;quot;])&lt;br /&gt;
        vals = [0.9, 0.5, 1, 0.4, 1.2, 0.75] if fn == &amp;quot;override&amp;quot; else [20, 0, 41, 40, 1, 10]&lt;br /&gt;
        decl = {&amp;quot;fingerprint&amp;quot;: kind(fps[:3], fps[3:] + [5]), &amp;quot;value&amp;quot;: kind(vals, [&amp;quot;x&amp;quot;, 20.0, -3]),&lt;br /&gt;
                &amp;quot;nonce&amp;quot;: kind([&amp;quot;0&amp;quot; * 32, &amp;quot;1&amp;quot; * 32, &amp;quot;f&amp;quot; * 32], [&amp;quot;F&amp;quot; * 32, &amp;quot;1&amp;quot; * 31, 7]), &amp;quot;time&amp;quot;: cnt(0, 2000000000),&lt;br /&gt;
                &amp;quot;reason&amp;quot;: kind([&amp;quot;a reason&amp;quot;, &amp;quot;why&amp;quot;], [&amp;quot;&amp;quot;, &amp;quot; \t&amp;quot;, &amp;quot;\n&amp;quot;, 5])}&lt;br /&gt;
        if bad():&lt;br /&gt;
            del decl[&amp;quot;time&amp;quot;]&lt;br /&gt;
        return {&amp;quot;decl&amp;quot;: decl, &amp;quot;facts&amp;quot;: facts, &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn == &amp;quot;effective&amp;quot;:&lt;br /&gt;
        return {&amp;quot;decl_time&amp;quot;: cnt(0, 2000000000), &amp;quot;now&amp;quot;: cnt(0, 2000000000), &amp;quot;cancelled&amp;quot;: flag(), &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn == &amp;quot;mark&amp;quot;:&lt;br /&gt;
        g = cnt(0, 5000)&lt;br /&gt;
        return {&amp;quot;grant&amp;quot;: g, &amp;quot;now&amp;quot;: cnt(0, 6000) if bad() else (g + rnd.randint(0, 1200) if isinstance(g, int) else 5),&lt;br /&gt;
                &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn == &amp;quot;pad_weight&amp;quot;:&lt;br /&gt;
        return {&amp;quot;P&amp;quot;: cnt(0, 50), &amp;quot;age&amp;quot;: cnt(0, 3000), &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn == &amp;quot;gate&amp;quot;:&lt;br /&gt;
        return {&amp;quot;reproducer&amp;quot;: {&amp;quot;in_tier&amp;quot;: flag(), &amp;quot;override_in_force&amp;quot;: flag(), &amp;quot;independent_matches&amp;quot;: cnt(0, 4)}}&lt;br /&gt;
    if fn == &amp;quot;inherit&amp;quot;:&lt;br /&gt;
        return {&amp;quot;F_old&amp;quot;: num(0, 100, False), &amp;quot;facts&amp;quot;: {&amp;quot;continuation&amp;quot;: flag(), &amp;quot;same_account&amp;quot;: flag(),&lt;br /&gt;
                                                        &amp;quot;same_identity&amp;quot;: flag(),&lt;br /&gt;
                                                        &amp;quot;cause&amp;quot;: kind([&amp;quot;DIS&amp;quot;, &amp;quot;SUITE&amp;quot;, &amp;quot;FAMILY&amp;quot;, &amp;quot;PROMPT NEW AGENT&amp;quot;, &amp;quot;MODEL&amp;quot;], [&amp;quot;X&amp;quot;])},&lt;br /&gt;
                &amp;quot;params&amp;quot;: p}&lt;br /&gt;
    if fn in (&amp;quot;aggregate&amp;quot;, &amp;quot;user_evidence&amp;quot;):&lt;br /&gt;
        agents = []&lt;br /&gt;
        for _ in range(rnd.randint(0, 4)):&lt;br /&gt;
            evs = []&lt;br /&gt;
            for _ in range(rnd.randint(0, 5)):&lt;br /&gt;
                cp = pick([None] + NAMES[:6])&lt;br /&gt;
                evs.append({&amp;quot;kind&amp;quot;: kind([&amp;quot;FOR&amp;quot;, &amp;quot;AGAINST&amp;quot;], [&amp;quot;X&amp;quot;]), &amp;quot;base&amp;quot;: kind([1, 2, 3, 0, 0.5], [-1, &amp;quot;1&amp;quot;]),&lt;br /&gt;
                            &amp;quot;age&amp;quot;: cnt(0, 1200), &amp;quot;counterpart&amp;quot;: cp,&lt;br /&gt;
                            &amp;quot;counterpart_sponsor&amp;quot;: kind([None, &amp;quot;PHX_480&amp;quot;, &amp;quot;BFP_Rauch&amp;quot;, &amp;quot;Alt BFP&amp;quot;], [5]) if cp else None})&lt;br /&gt;
            agents.append({&amp;quot;account&amp;quot;: pick(NAMES[:5]) if not bad() else &amp;quot;&amp;quot;, &amp;quot;certified&amp;quot;: flag(), &amp;quot;removed&amp;quot;: flag(), &amp;quot;events&amp;quot;: evs})&lt;br /&gt;
        seen = set()&lt;br /&gt;
        agents = [a for a in agents if not (a[&amp;quot;account&amp;quot;] in seen or seen.add(a[&amp;quot;account&amp;quot;]))]&lt;br /&gt;
        args = {&amp;quot;agents&amp;quot;: agents if not bad() else {}, &amp;quot;sponsor&amp;quot;: kind([&amp;quot;PHX_480&amp;quot;, &amp;quot;BFP_Rauch&amp;quot;], [&amp;quot;&amp;quot;]), &amp;quot;params&amp;quot;: p}&lt;br /&gt;
        if fn == &amp;quot;user_evidence&amp;quot;:&lt;br /&gt;
            conduct = []&lt;br /&gt;
            for _ in range(rnd.randint(0, 3)):&lt;br /&gt;
                kk = kind([&amp;quot;CE-F1&amp;quot;, &amp;quot;CE-F2&amp;quot;, &amp;quot;CE-A1&amp;quot;, &amp;quot;CE-A4&amp;quot;, &amp;quot;CE-A5&amp;quot;], [&amp;quot;CE-X&amp;quot;])&lt;br /&gt;
                conduct.append({&amp;quot;kind&amp;quot;: kk, &amp;quot;resolution&amp;quot;: kind([&amp;quot;FOR&amp;quot; if kk[3] == &amp;quot;F&amp;quot; else &amp;quot;AGAINST&amp;quot;, &amp;quot;NEUTRAL&amp;quot;],&lt;br /&gt;
                                                              [&amp;quot;PENDING&amp;quot;]), &amp;quot;age&amp;quot;: cnt(0, 800)})&lt;br /&gt;
            args[&amp;quot;conduct&amp;quot;] = conduct if not bad() else {}&lt;br /&gt;
        return args&lt;br /&gt;
    return {&amp;quot;S&amp;quot;: unit(), &amp;quot;m_class&amp;quot;: kind([1, 2, 3], [0, 4]), &amp;quot;params&amp;quot;: p}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cases = []&lt;br /&gt;
for _ in range(count):&lt;br /&gt;
    fn = pick(FNS)&lt;br /&gt;
    cases.append({&amp;quot;fn&amp;quot;: fn, &amp;quot;args&amp;quot;: gen(fn)})&lt;br /&gt;
CASES_PATH = os.environ.get(&amp;quot;TPC_DIFF_CASES&amp;quot;)  # named: kept, for crosspy.py&lt;br /&gt;
if not CASES_PATH:&lt;br /&gt;
    fd, CASES_PATH = tempfile.mkstemp(prefix=&amp;quot;tpc_diff_&amp;quot;, suffix=&amp;quot;.json&amp;quot;)  # outside the tree&lt;br /&gt;
    os.close(fd)&lt;br /&gt;
with open(CASES_PATH, &amp;quot;w&amp;quot;, encoding=&amp;quot;utf-8&amp;quot;) as f:&lt;br /&gt;
    json.dump(cases, f, ensure_ascii=False)&lt;br /&gt;
py = [run_case(c[&amp;quot;fn&amp;quot;], c[&amp;quot;args&amp;quot;]) for c in cases]&lt;br /&gt;
php = json.loads(subprocess.run([&amp;quot;php&amp;quot;, os.path.join(here, &amp;quot;diff_score.php&amp;quot;), CASES_PATH], capture_output=True,&lt;br /&gt;
                                text=True, check=True).stdout)&lt;br /&gt;
if not os.environ.get(&amp;quot;TPC_DIFF_CASES&amp;quot;):&lt;br /&gt;
    os.remove(CASES_PATH)&lt;br /&gt;
diffs = sum(1 for a, b in zip(py, php) if a != b)&lt;br /&gt;
outcomes = {}&lt;br /&gt;
for c, a in zip(cases, py):&lt;br /&gt;
    k = c[&amp;quot;fn&amp;quot;] + (&amp;quot;/ERROR&amp;quot; if a.startswith(&amp;quot;ERROR&amp;quot;) else &amp;quot;&amp;quot;)&lt;br /&gt;
    outcomes[k] = outcomes.get(k, 0) + 1&lt;br /&gt;
print(&amp;quot;seed&amp;quot;, seed, &amp;quot;cases&amp;quot;, len(cases), &amp;quot;differences&amp;quot;, diffs, &amp;quot;php_len&amp;quot;, len(php),&lt;br /&gt;
      json.dumps(outcomes, sort_keys=True))&lt;br /&gt;
for c, a, b in zip(cases, py, php):&lt;br /&gt;
    if a != b:&lt;br /&gt;
        print(json.dumps(c)); print(a); print(&amp;quot;---&amp;quot;); print(b); break&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>BFP Rauch</name></author>
	</entry>
</feed>