invariant-r10 invariant-r10/inputs-gpt-execution-adjudication-v2.md
Date: 2026-09-02 (America/Chicago) Input: fable51-r10pre-execution-v2.zip Disposition: PACKAGE-v2.4 SEMANTICS: ACCEPT. R0.8.4: PARTIAL CLOSURE UNDER EXPLICIT TRUST PROFILES. L1?…

GPT-5.6 Adjudication — R10-pre Execution v2

Date: 2026-09-02 (America/Chicago) Input: fable51-r10pre-execution-v2.zip Disposition: PACKAGE-v2.4 SEMANTICS: ACCEPT. R0.8.4: PARTIAL CLOSURE UNDER EXPLICIT TRUST PROFILES. L1?: KEEP AS CANDIDATE, BUT WITNESS PROVES RESOLVABILITY, NOT LIVENESS WITHOUT FAIRNESS. GO TO CODEBASE EXECUTION / R0.8.5; NO FABLE THEORY ROUND.

0. Independent verification

Top-level integrity

The top-level SHA256SUMS verifies successfully:

top_rc=0

and correctly excludes itself.

v2.4 drift gate

Independent run:

python3 package-v2.4/tools/drift_gate.py package-v2.4

Result:

drift_gate: scanned 10 current-facing files; 51 crosswalk records
DRIFT GATE PASS

The same v2.4 gate rejects v2.3 with 33 failures, including stale S6 vocabulary, stale PX13 status, wrong crosswalk count, missing single-witness scope, missing L1 axis, missing E-13/E-46 splits, and stale E-42 classification.

That is a meaningful negative control for the gate.

Original finite witness

Across PYTHONHASHSEED=0,1,42,123:

19 expectations, 0 failed
stdout sha256:
ad23cf4b178c2880da78abe22712c500674a80de5d3b1133b0b80453b6c4bcfc

L1 candidate witness

Across PYTHONHASHSEED=0,1,42,123:

6 expectations, 0 failed
stdout sha256:
8afb64e6562d1e7b7db6e995e1d6ae2bc843710e63e35b2daf24e16a60c0b082

R0.8.4 handback

COMPUTEDRIVEN_R084_FOR_GPT.tar.gz contains:

  • falsification receipts committed before repair;

  • NC24 / NC25 source;

  • preserved F22 / F25 falsifiers;

  • source tree with .git;

  • gitbundle;

  • exact R0.8.4 diff/commit list;

  • 21 battery receipts;

  • per-run logs;

  • first/final transcripts;

  • runner provenance;

  • internal SHA-256 manifest.

The internal R0.8.4 manifest verifies cleanly.

Minor outer PX13 packaging defect

px13/SHIPPED-SHA256SUMS.txt verifies every listed PX13 file except:

./README.md

Recorded hash:

91c9549fd73ba6818559ca27bf3848448340e5634ad8e205e4ead984b7144355

Actual:

f1587db6dabf059e08abb520ce523d376f12311ca5c3f0813f44bbd50d148895

All substantive PX13 evidence files and the R0.8.4 internal manifest are good. Treat this as a packaging blemish, but regenerate the PX13 shipped manifest before the next canonical return.

1. package-v2.4 canonicalization — ACCEPT

I accept package-v2.4/ as the current semantic/evidence package.

The important v1-adjudication changes are now represented consistently:

S1–S5 = current working safety/integrity obligations

S6? = retired as a separate obligation
      resolved to:
      S1(domain = World locus-birth/currentness)

L1? = separate liveness-axis candidate

E-13 = split into a/b/c

E-42 = S4 / representation, S3 cross-reference only

E-46 = split into representation / S2 / S1 meanings

distributed S3 = explicitly scoped to:
    two-controller / two-filesystem-namespace copied-world topology
    one correct, available witness

The gate now tests post-execution status, not merely vocabulary.

No further broad Fable theory round is justified before more execution.

2. E-13b — F31 closure

Finding

R0.8.4 changes the incarnation lock from:

<caller-chosen-root>.lock

to:

<deployment-anchor>/<LocusId>/incarnation.lock

The root path no longer chooses the currentness namespace.

NC24 copies:

store
root

byte-for-byte to different pathnames while both controllers share one deployment anchor. Exactly one controller becomes current; the loser does not advance and its mutation is refused.

The control also correctly avoids assuming whether A or B wins the OS-lock race.

Ruling

The specific F31 defect is CLOSED under this profile:

single host
one protected deployment-owned anchor namespace
one LocusId -> one incarnation lock

Recommended evidence classification:

E-13a same-anchor exclusivity:
    TESTED

E-13b canonical host-local Locus currentness:
    TESTED-CONDITIONAL / CLOSED-F31
    condition:
        deployment anchor namespace is trusted, canonical, and not
        attacker-selectable / attacker-replaceable

E-13c external witnessed multi-namespace currentness:
    TESTED under ARM-B single-witness profile

Do not promote E-13b to an unqualified universal theorem.

The repaired code itself correctly admits the boundary:

an attacker who can choose another anchor namespace has another deployment; cross-machine uniqueness is not claimed.

That is good epistemic discipline.

Remaining trust-boundary issue

F22 is still open and is related.

Currentness now depends on a deployment filesystem namespace. Therefore the deployment-owned directory/anchor identity itself belongs in the trusted-substrate profile.

The next layer question is not “is the lock keyed by root path?” — that is fixed.

It is:

can an attacker who is not authorized to replace the canonical deployment anchor nevertheless redirect/replace one of the filesystem objects that the trusted anchor depends on?

That should be handled by the R0.8.5 / F22 work, not by reopening F31.

3. E-14 — F23/F24 closure

What R0.8.4 repaired

Canonical material now includes ordered rows from:

SELECT type, name, tbl_name, sql
FROM sqlite_schema
ORDER BY type, name

and the canonical encoding tag moves to v3.

Additionally, on each open R0.8.4:

  • WAL mode is requested and its returned value is asserted;

  • SQLITE_DBCONFIG_DEFENSIVE = true;

  • SQLITE_DBCONFIG_TRUSTED_SCHEMA = false;

  • schema is part of the canonical material;

  • CanonicalMutation carries the same schema contract rather than re-reading a potentially changed interpretation during projection;

  • genesis adopts the store's schema-bound canonical head exactly once under strict preconditions.

This directly addresses the reproduced F23 attacks:

schema-only collation edit invisible to digest
schema-induced binding destruction
trigger mutating canonical state inside the honest writer transaction

Ruling

The specific F23/F24 defects are CLOSED under a trusted/fixed SQLite interpreter profile.

Recommended E-14 classification:

TESTED-CONDITIONAL

condition:
    the SQLite engine / collation implementations / database configuration
    that interpret sqlite_schema are part of the trusted execution profile

committed:
    schema objects represented in sqlite_schema
    canonical row values
    canonical ordering contract

not claimed:
    adversarial replacement of the SQLite engine binary itself
    arbitrary hostile custom collation/function implementation outside the
    declared runtime trust profile

I would remove FALSIFIED-OPEN for the specific F23/F24 attacks once the R0.8.4 receipt is admitted, but retain CONDITIONAL rather than calling E-14 universally closed.

The deeper principle remains:

committing interpreter-produced values is insufficient unless the interpretation contract is either committed or explicitly trusted.

R0.8.4 now does both in a reasonable way for this profile: schema is committed; the SQLite engine is trusted.

4. E-15 — mutation-time canonicality

F23's trigger case previously showed that a transaction could be serialized correctly while attacker-installed schema semantics changed canonical state from within the same transaction.

R0.8.4:

  • commits the schema interpretation contract;

  • uses defensive SQLite mode;

  • disables trusted-schema behavior for unsafe schema execution;

  • carries the canonical schema through mutation projection.

Ruling

Recommended:

E-15:
    TESTED under fixed/trusted SQLite engine
    + committed schema contract
    + defensive configuration

This is stronger than the v2.4 pre-adjudication status.

Do not drop the profile qualifier.

5. R0.8 remains OPEN

Closing F31 and F23/F24 does not freeze R0.8.

The R0.8.4 handback itself correctly leaves:

F22 root-path / trusted-directory integrity  OPEN
F30 module privacy / defence-in-depth        OPEN
power-loss / fsync                           UNCLAIMED
directory-fsync error handling               design question

and R0.8.5 is reported as in flight.

So the correct state is:

R0.8.3:
    historical executed evidence

R0.8.4:
    closes specific F31 + F23/F24 defects under stated profiles
    materially improves control sensitivity
    does not freeze R0.8

R0.8:
    OPEN

6. FAC-CONTROL-SENSITIVITY — ACCEPT as a factory evidence rule

R0.8.4 produced multiple examples of controls / runners that could print PASS while not measuring what their receipt claimed:

  • wrong semantic gate;

  • assuming which process wins a race;

  • demanding root motion when the correct behavior is refusal;

  • a value compared to itself;

  • jq // erasing false;

  • PIPESTATUS captured incorrectly;

  • shell quoting causing a leg to execute nothing while returning success.

This deserves a first-class rule.

Recommended location

Put it in the factory / evidence-admissibility lane, not in S1–S5.

Suggested form:

FAC-CONTROL-SENSITIVITY

A control may promote an evidence class only if its sensitivity to the
claimed forbidden state is itself evidenced.

At least one of:

A. pre-fix or injected-fault execution demonstrates FAIL;
B. an independent witness demonstrates that the control reaches the
   intended subject and discriminates the forbidden state;
C. a mutation/negative-control pair proves that removing the target
   mechanism flips the verdict.

A green-only control with no demonstrated failure sensitivity cannot
support promotion.

Also add an instrument-self-check corollary:

the runner/receipt machinery that records a control must itself have a
negative control capable of making the aggregate fail

R0.8.4's falsify-before-repair sequence is an excellent first witness family.

I would classify this as:

factory epistemic invariant / evidence-admission rule

not a runtime semantic invariant.

7. L1? — keep, but correct the witness claim

The candidate itself is worthwhile:

L1? Recoverable succession / explicit terminalization

and it should remain on a separate liveness axis.

However, the current finite witness does not prove the statement as written if the statement uses temporal language such as:

eventually resolves

What the current model actually proves

For every modeled evidenced-loss state, it checks:

there EXISTS a path
to:
    successor at a later generation
    OR explicit terminal state

That is:

resolution reachability
resolvability
absence of a dead-end evidenced state

It is not:

all fair executions eventually resolve

because the model contains no scheduler/fairness semantics. An enabled finalize or terminalize action can simply be postponed forever in an unconstrained execution.

Required correction

Either:

Option A — weaken the current witness claim

Call the current result:

L1-PRE / resolution availability

From every admissibly evidenced permanent-loss state,
a safety-preserving resolution path exists.

This is exactly what the script proves.

Then later add temporal liveness.

Option B — state an explicit fairness assumption

For example:

Under weak fairness for continuously enabled finality actions,
every admissibly evidenced permanent-loss state eventually reaches
exactly one later-generation successor or an explicit terminal state.

Then model-check the temporal property with an actual transition-system / Büchi / TLA+ / TLC-style fairness semantics rather than existential BFS.

My recommendation

Use Option A now.

Keep L1? as the semantic liveness candidate, but label the Python witness:

EXHAUSTIVE-IN-FINITE-MODEL:
    resolution is reachable from every evidenced state

NOT YET PROVEN:
    temporal eventuality under a scheduler/fairness model

Then build the smallest possible TLA+/explicit-state temporal model for L1 before production finality changes.

This avoids smuggling fairness into the word "eventually."

8. TRVM E-42 / E-43 handoff — ACCEPT

The separate handoff is appropriate.

Keep both red until the TRVM law lane chooses the contract.

E-42

Primary classification remains:

S4 / representation adequacy

because the current warrant footprint cannot distinguish equal-version states across divergent lineages.

Cross-reference S3 only when the two branches are meant to remain the same semantic identity/current lineage.

E-43

Straight S4 contract question:

either:
    scope-registry mutation advances world semantic version

or:
    scope-registry identity is an explicit separate observable coordinate

Do not register either law before the TRVM lane resolves which observable contract it means to promise.

9. v2.4 drift gate — ACCEPT, with one next improvement

The gate is now doing real work.

The strongest evidence is:

PASS on v2.4
FAIL with 33 findings on v2.3

That demonstrates sensitivity to the semantic transition.

It is now reasonable to call v2.4 the current canonical semantic package.

Next structural improvement

The next gate should ingest evidence-state facts rather than only parse prose/JSON consistency.

For example:

if crosswalk[E-13b].evidence_class == TESTED-CONDITIONAL:
    require trust_profile contains canonical deployment anchor

if S6 is resolved:
    require no current semantic_obligation == S6?

if R0.8 == OPEN:
    require open_findings is nonempty

if a control promotes an evidence class:
    require sensitivity_witness != null

That would begin turning the gate from doctrine lint into evidence-type checking.

10. Packaging correction for next return

The top-level package integrity is good.

The remaining PX13 blemish is:

px13/SHIPPED-SHA256SUMS.txt
    README.md mismatch only

Regenerate that manifest after all README edits.

Do not change any historical internal R0.8.4 receipt/manifests; only fix the outer shipped-evidence manifest.

11. Current frontier after v2 adjudication

Safety / semantic integrity

S1  Admission singularity
    includes World Locus-birth uniqueness as an S1 scope/corollary

S2  Authority non-amplification

S3  Continuity / anti-resurrection
    currentness/exclusivity
    +
    canonical-history continuity
    mechanism count substrate-dependent

S4  Semantic observability
    adequacy + equivariance
    observation-as-write supported/tested in current TRVM path
    E-42/E-43 still red

S5  External-effect honesty
    still lacks a real adapter witness

Liveness

L1? Recoverable succession / explicit terminalization

current witness:
    resolution path exists from every evidenced-loss state

not yet established:
    temporal eventuality under explicit fairness assumptions

Factory epistemics

FAC-CONTROL-SENSITIVITY
    candidate for promotion in the factory lane
    first witness family: R0.8.4 falsify-then-repair controls

12. What to do next

1. Let the ComputeDriven lane continue R0.8.5

Focus on:

F22 trusted root/directory identity and safe replacement
directory fsync / post-rename failure semantics
F30 deliberate module privacy refactor if it remains worth the risk

Preserve failure-sensitive controls.

2. Update v2.4 evidence classifications

After this adjudication:

E-13b:
    F31 CLOSED under protected single-host deployment-anchor profile

E-14:
    F23/F24 CLOSED under trusted/fixed SQLite interpreter profile
    evidence remains TESTED-CONDITIONAL

E-15:
    TESTED under committed schema + trusted/fixed interpreter profile

R0.8:
    OPEN

No need for another Fable pass.

3. TRVM lane handles E-42/E-43

Keep red until exact contracts are chosen and witnessed.

4. Formalize L1 temporally

Do a tiny explicit temporal model with a declared fairness policy.

Do not build more finality machinery first.

5. EMB-E1 remains operator-gated

Still high-information, still orthogonal, still not authorized merely because credentials exist.

6. S5 real adapter

After the current R0.8/TRVM work settles, this remains the largest unwitnessed S-row.

13. Final ruling

v2.4: ACCEPT as the current canonical R10-pre semantic/evidence package.

R0.8.4: real progress.

It closes the specific F31 currentness-copy attack and the specific F23/F24 SQLite-schema attacks under explicit trust profiles, while correctly leaving R0.8 open.

L1?: keep.

But the current Python witness establishes resolvability, not temporal liveness. Add fairness explicitly before claiming “eventually” as an exhaustive model result.

FAC-CONTROL-SENSITIVITY: promote into the factory evidence lane as a candidate rule.

The next useful work is still codebase execution:

R0.8.5 + TRVM red-law adjudication + temporal L1 model + eventually S5/EMB-E1.

Do not return to a broad invariant-search round yet.

Open in the interactive atlas