v0.12.0: al-Mursalat Phase G11.2 Go Sigstore-CASM extension#27
Merged
Conversation
…(PROCEED-WITH-ROUTE-a1-via-args) Eight-step T00 record + step 4b 3-row evidence table + T02.0 helper- symbol sub-verification. Confirms v0.11.8 substrate matches v1.6 prompt's projected line citations (verify at 556; _LANGUAGE_DISPATCH at 594-597; consumption at 599-606; _verify_python/_verify_rust at 53/54). Two narrow substrate divergences documented as Round 39 finding seeds: * #1 _CHECKER_SOURCE_FILES count: substrate has 16 entries; v1.6 F-RN-6/F-TR-2 claimed 14 (pre-as-Saff baseline mislabel). T05 implementation honors substrate-actual 16->18. * #2 cmd_check_gate11 signature: substrate is (directory: Path, opts: dict) not (args: list[str]); F-RN-5 architectural-shape simplification. T02 Edit 3a/3b implement asymmetric refactors respecting substrate-actual signatures. Step 4b evidence: Row (ii) FAIL on _verify_python/_verify_rust body trust-config flow (F-RN-1 root-cause substrate gap confirmed). Route (a1-via-args) required: T02 Edit 2 updates both bodies to 'getattr(args, "trust_config", None) or TrustConfig()'. Step 5: goast source PRESENT at src/furqan_lint/go_adapter/cmd/ goast/main.go; T05 pins this path (extends tuple to 18 entries). Step 6: live sigstore API patterns captured for T04 mirror. Step 7: all four al-Hujurat amendments (T01/T02/T04+T05/T06+T07) operational at v0.11.8. T02.0 helper-symbol sub-verification: BOTH _print_error AND _walk_bundles ABSENT. Proceed under option-i (substrate-actual idioms: print(f'...', file=sys.stderr) from cmd_check_gate11 line 491; existing rglob loop preserved verbatim).
…pport per Option A (T01)
Per al-Mursalat T01 Option A disposition (default per T00 step 3
CASM-V allocation table evidence: CASM-V-001 already in use as
union code for casm_version mismatch AND language-not-supported
semantics; no need to allocate new code):
Adds explicit substrate-LIVE supported-language set enumeration
to Invariant 6 step 3 (between the language-check semantic and
the CASM-V-020 trust-root step): {python (G11.0/v0.10.0), rust
(G11.1/v0.11.0), go (G11.2/v0.12.0)}. ONNX flagged as
substrate-anticipated per Invariant 5 with ship target v0.13.0
an-Naziat.
CASM-V-001 retains union semantic per Option A; the verifier
substrate's _LANGUAGE_DISPATCH at gate11/verification.py raises
CASM-V-001 with positional construction style (substrate
convention preserved per as-Saff v0.11.8 §15 byte-stability
commitment).
Closes al-Mursalat T01 (SAFETY_INVARIANTS.md amendment as
canonical authority FIRST per framework §11 ordering).
…lization rules 6-8
Mirror of Python H-4 closure (at-Tawbah T03 rules 1-5) adapted for
Go's container shapes. Rules 6-8 continue the H-4 numbering:
* Rule 6 -- nested element-wise recursion: `[]map[string]*Result[T, E]`
-> `slice[map[string][pointer[Result[T,E]]]]` (slice/map/pointer
container tokens explicitly named; generic args iterated via
bracket-depth tracking, not split-on-comma string operations).
* Rule 7 -- multi-return iteration: signatures iterate ReturnTypeNames
as list (goast pre-stringifies each return type via go/ast
String() method; Python layer preserves list shape rather than
collapsing to "(int, error)" tuple string).
* Rule 8 -- channel direction preservation: `chan T`, `<-chan T`,
`chan<- T` canonicalize as `channel[T]`, `channel_recv[T]`,
`channel_send[T]` -- three structurally distinct types.
Implementation: 298-line module with private `_canonicalize_type`
recursive descent parser (handles slice/pointer/map/chan/generic
expression depth tracking) + public `canonicalize_function_signature`
+ `canonical_signature_fingerprint` (RFC 8785 + sha256).
`__all__` exports the public surface; private `_canonicalize_type`
exported for test-coverage of rule 6/8.
Tests (5 pinning fixtures per as-Mursalat T03):
* test_rule_6_nested_slice_map_pointer_generic
* test_rule_7_multi_return_iterates_as_list
* test_rule_8_channel_direction_preserved
* test_signal_channel_idiom (map[string]chan struct{})
* test_variadic_context_idiom (...Option + context.Context)
Closes Go-side H-4 equivalent (canonicalization parity with Python
at-Tawbah + Rust as-Saffat substrate).
…0.11.8 LIVE)
Adds src/furqan_lint/gate11/go_verification.py with private
`_verify_go(manifest, args) -> VerificationResult` per substrate
convention (mirror of as-Saff v0.11.8 python_verification.py /
rust_verification.py): private handler only; `__all__ =
("_verify_go",)`; no public `verify` alias.
API pattern mirrored from v0.11.8-LIVE per T00 step 6 pre-flight
record (post-v0.11.5 G11.0.4 al-Bayyina F24 corrective; NOT
at-Tawbah-era reference):
* Verifier class internally uses SgVerifier(_inner=trusted_root)
with TrustedRoot.production()/staging() fallback per H-5
* C-1 refuse-without-policy default (CASM-V-035)
* CASM-V-032 on identity mismatch; CASM-V-036 on identity-
extraction TypeError
Per F-RN-1 v1.5 absorption + T00 step 4b Row (ii) FAIL
remediation: body honors caller-passed args.trust_config via
`getattr(args, "trust_config", None) or TrustConfig()`
pattern. CLI loads trust_config via _trust_config_from_path
helper and attaches to args Namespace; programmatic RPs not
setting args.trust_config get default behavior matching v0.11.8
backward-compat semantics. The `--trust-config PATH` CLI flag
flow is preserved under Route (a1-via-args).
Other optional argparse attributes (force_refresh,
expected_identity, expected_issuer, allow_any_identity) read via
getattr-with-default per Edit 2 pattern from python_verification
/ rust_verification at v0.11.8.
Tests (5 mirroring python_verification / rust_verification
contract pinning):
* test_go_verification_facade_is_importable
* test_go_verification_facade_signature (params + return annotation)
* test_go_verification_facade_does_not_regress_verifier_class
* test_go_verification_facade_honors_args_trust_config (F-RN-1
source-bytes pin; structural-honesty assertion that getattr
pattern survives refactor)
* test_go_verification_facade_uses_getattr_defaults
Closes Go gate11 verifier substrate (T04 of al-Mursalat). T05
extends checker_set_hash._CHECKER_SOURCE_FILES to pin this module
+ go_signature_canonicalization.py + goast/main.go.
…lpha alphabetical) Per F-PA-3 v1.8 absorption Option (alpha): extends `_CHECKER_SOURCE_FILES` with 3 al-Mursalat Go entries at canonical alphabetical-within-section positions; tuple grows from 16 v0.11.8 entries to 19 v0.12.0 entries: * gate11/go_signature_canonicalization.py at position #6 (between gate11/cli.py and gate11/manifest_schema.py since "go_" sorts alphabetically before "m") * gate11/go_verification.py at position #7 * go_adapter/cmd/goast/main.go at position #19 in NEW go_adapter section after gate11 section (per F-PF-3 v1.7 absorption + F6 v1.1 SOURCE-PRESENT branch) Substrate-attestation rationale: a Relying Party detects substrate divergence between bundles signed by furqan-lint installations whose Go substrate modules disagree. The goast binary's source code is part of the Form A checker_set_hash surface, not just the gate11/* verification modules; F6 v1.1 SOURCE-PRESENT branch makes this discipline explicit. Resolves F-PA-3 four-surface internal contradiction from v1.7: code block, comment, fixture #1 alphabetical assertion, and fixture #3 hash computation now all agree on canonical alphabetical-within-section ordering (NOT end-append). The F-TR-6 -> F-PF-1 absorption collision that resurfaced the v1.5-retired alphabetical claim is closed. Tests (6 pinning fixtures; expanded from prompt's 4 for diagnostic granularity): * test_v0_12_0_go_modules_in_checker_source_files (all three Go entries present) * test_v0_12_0_go_gate11_modules_alphabetical_position (canonical alphabetical-within-section positions #6/#7) * test_v0_12_0_goast_in_go_adapter_section (cross-section ordering after gate11) * test_checker_set_hash_changes_when_go_source_changes (byte-sensitivity per failure mode #3 of §5.1 step 4) * test_checker_set_hash_v0_12_0_canonical_interleaved_order (full 19-entry tuple matches canonical order; sha256 hash computed against canonical interleaved order matches compute_checker_set_hash output) * test_checker_set_hash_includes_goast_source (F-PF-3 goast pin per F6 v1.1 SOURCE-PRESENT branch) Closes H-6 Go-side parity via tuple extension; Form A checker_set_hash discipline preserved on canonical single- tuple substrate.
…ify (Route a1-via-args)
Four substrate edits per al-Mursalat T02 Route (a1-via-args)
disposition:
* Edit 1 (verification.py): extend function-local
_LANGUAGE_DISPATCH with third lazy-import line for
_verify_go; dict literal grows from 2 to 3 entries; raise
message updated to name ONNX (G11.3) as next-phase target
rather than G11.2 (Go, now substrate-LIVE).
* Edit 2 (python_verification.py + rust_verification.py):
bodies extended to honor caller-passed args.trust_config via
getattr(args, 'trust_config', None) or TrustConfig() pattern.
Closes F-RN-1 v1.5 absorption substrate-flow gap: pre-edit,
private handlers constructed default TrustConfig()
unconditionally, silently dropping --trust-config PATH CLI
flag under Route (a1). Post-edit, the flag flows through
args Namespace.
* Edit 3a (gate11/cli.py cmd_manifest_verify): refactor to
route through verification.verify(manifest, namespace).
Loads manifest via Bundle.read; builds argparse.Namespace
from positional + opts + loaded trust_config; calls
verification.verify single canonical dispatch. Preserves
all path-validation + error-mapping behaviors.
* Edit 3b (gate11/cli.py cmd_check_gate11): asymmetric
parallel refactor per F-PF-2 v1.7 absorption (substrate
signature is (directory: Path, opts: dict), NOT (args:
list[str]) parallel to cmd_manifest_verify). Single
trust_config load shared across all bundles; per-bundle
Namespace built from pre-parsed opts + per-bundle path;
routes through verification.verify per-bundle inner call.
Directory-walk loop preserved.
Substrate evolution edits:
* manifest_schema.py: language whitelist extended from
('python', 'rust') to ('python', 'rust', 'go'); schema
validator accepts go manifests. Same precedent as v0.11.3
G11.0.2 F22 corrective (extended whitelist from
('python',) to ('python', 'rust') -- al-Mursalat extends
the same shape with a third entry).
* Verifier.step2_3_check_version_and_language whitelist
extended in lock-step (same precedent).
Pre-existing tests updated per al-Mursalat substrate truth:
* test_schema_rejects_language_go (retired per its own
docstring 'This pin is removed when Phase G11.2 ships')
-> test_schema_accepts_language_go (positive pin).
* test_step2_3_rejects_go_pre_g11_2 (retired)
-> test_al_mursalat_step2_3_accepts_go_manifest (positive
pin) + test_al_mursalat_step2_3_unknown_language_message_names_onnx_phase.
* test_step2_3_rejects_unknown_language_with_supported_list
widened to assert 'go' is in the enumerated supported set.
* test_module_level_verify_raises_casm_v_001_on_unknown_language
switched unknown-language fixture from 'go' (now valid) to
'haskell'; message assertion updated to require 'G11.3' as
next-phase callout (NOT 'G11.2').
T02 dispatch test additions (in test_gate11_verify_dispatch.py):
* test_module_level_verify_dispatches_go_to_facade
* test_module_level_verify_unknown_language_message_names_onnx
* test_module_level_verify_threads_trust_config_to_go_handler
(structural-honesty source-byte pin for F-RN-1 absorption
pattern survival)
* test_module_level_verify_function_local_dispatch_isolation_at_v0_12_0
(closes failure mode #2 of §5.1 step 4 ranked list:
function-local dispatch dict with three lazy-imports)
Closes F22 dispatch consolidation across both CLI entry
points (cmd_manifest_verify + cmd_check_gate11);
substrate-of-record uniqueness preserved at the dispatch dict
layer; trust-config flow preserved across all CLI flags
(--trust-config, --force-refresh, --expected-identity,
--expected-issuer, --allow-any-identity) via args Namespace
threading; per-language modules retain private-only exports
per substrate convention.
…md + docs/gate11-symmetry.md)
* README.md Gate 11 verification flow: step 3 language-check
updated from "== 'python'" to substrate-LIVE supported set
({python G11.0/v0.10.0, rust G11.1/v0.11.0, go G11.2/v0.12.0});
ONNX flagged as v0.13.0 an-Naziat. Wire format `language`
field now enumerates all three substrate values rather than
python only.
* SECURITY.md N2 typosquatting disclosure: extended from
'(v0.11.2+ Python + v0.11.0+ Rust)' to include Go
(v0.12.0+ al-Mursalat); cites v0.11.5 al-Bayyina F24
corrective as the API-routing reference.
* docs/gate11-symmetry.md (NEW): canonical three-substrate
symmetry table with seven rows (identity policy default,
identity policy enforcement, trusted_root threading,
checker_set_hash Form A/B, identity-extraction error
handling, signature canonicalization, CLI dispatch). The
dispatch surface row marks v0.12.0+ for all three
substrates -- F22 closure at the dispatch layer (substrate
closure was at v0.11.3 per F-AL-7 framing). Substrate-of-
record entries section enumerates the 19 _CHECKER_SOURCE_FILES
pins per F-PA-3 v1.8 alphabetical-within-section
discipline.
Closes T07 (documentation parity). Phase G11.4 Tasdiq al-Bayan
will exercise the symmetry as a unified test matrix in
v0.14.0.
… pins
* .github/workflows/ci.yml: NEW gate11-go-smoke-test job after
gate11-rust-smoke-test (3-way parallel smoke-test parity per
al-Mursalat T08). Same push-to-main + id-token: write gating
as Python/Rust siblings. Install matrix: [dev,gate11,go]
(the [go] extra builds the goast binary at PEP 517 build-
hook time). Job body: build a minimal .go fixture, sign via
manifest init, verify via manifest verify with
--expected-identity asserted against the GitHub Actions
OIDC SAN pattern + --expected-issuer asserted against
token.actions.githubusercontent.com.
* tests/fixtures/gate11/go_smoke_module.go (NEW): minimal Go
smoke-test substrate with single public Smoke function
carrying canonical (int, error) may-fail signature per
T03 canonicalization rule 7. Exercised by the CI job
body (not directly imported at test-collection time;
pinned for presence in inventory tests).
* tests/test_gate11_smoke_test_fixture_inventory.py (NEW): 3
fixture-presence tests per F5 v1.1 explicit per-fixture
inventory absorption:
- test_go_smoke_module_fixture_present (substrate path +
shape: func Smoke + (int, error) + package smoke)
- test_ci_yml_has_gate11_go_smoke_test_job (workflow job
declared alongside Python/Rust siblings)
- test_gate11_go_smoke_job_exercises_dispatch_path
(substrate-honesty: smoke test uses CLI subcommands
that route through verification.verify per Route a1-
via-args + asserts --expected-identity per C-1
refuse-without-policy enforcement)
Closes F22 fully at the CI surface (gate11-go-smoke-test
ships green from v0.12.0; gate11-rust-smoke-test continues
to pass per v0.11.3 F22 corrective; gate11-smoke-test
Python continues unchanged). F5 ambiguity closed: ci.yml is
the explicit MODIFIED file; go_smoke_module.go is the
explicit NEW fixture; the gate11-rust-smoke-test fixture
remains substrate-EXISTING from v0.11.0.
Phase G11.2 extends gate11 substrate to Go (third in mushaf chain after Python G11.0 v0.10.0 and Rust G11.1 v0.11.0) and closes F22 at the CLI dispatch surface via Route (a1-via-args) under the Shape-B consolidation pattern. Single canonical dispatch entry through verification.verify; CLI flags threaded through args Namespace; per-language private handlers honor caller-passed trust_config; goast source pinned in checker_set_hash. Test count: 618 (v0.11.8) -> 642 (v0.12.0). Net delta: +24. Projection per v1.8 prompt was +26/644; empirical -2 within al-Hujurat T05 CHANGELOG-math gate assertion (c) projection- drift tolerance. README pins (install + replace-prose + action + 2x pre-commit) bumped v0.11.8 -> v0.12.0. Audit-chain absorption: Round 31..38.5 + Co-work T00 (see CHANGELOG entry for full ledger; monotonic-narrowing across rounds: 3 CRITICAL Round 36 -> 0 CRITICAL Round 38/38.5/T00).
Resolve conflict on docs/g11.2-preflight.md by superseding the Round 31 HALT-AND-ESCALATE record (commit 3ac89c7, calibrated to v0.11.7) with the al-Mursalat v1.6 PROCEED-WITH-ROUTE-(a1- via-args) record calibrated to v0.11.8 substrate. Rationale: * The Round 31 halt was subsequently resolved across Rounds 32-38.5; the v1.8 APPROVE-CLEAN verdict closes that audit chain. The Round 31 record is historical and remains retrievable via git history at blob 278859a (commit 3ac89c7). * docs/g11.2-preflight.md is the canonical filename for this gate phase pre-flight record; each phase record overwrites the previous per established pattern. * The v1.6 record contains the seven F-TR surgical amendments and the Round 39 finding seeds that v0.12.0 ships against. Additionally sweep six U+2014 em-dash occurrences in the v1.6 record to double-hyphens per em-dash policy (the v0.11.8 CI guard at cac6917 extended em-dash enforcement to docs/, which the sandbox-authored v1.6 record predates by one commit).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[0.12.0] - 2026-05-11
Substrate extension (al-Mursalat / G11.2)
Phase G11.2 extends gate11 substrate to Go (third in the
canonical mushaf chain after Python G11.0 v0.10.0 and Rust
G11.1 v0.11.0) and closes Round 29 finding F22 at the CLI
dispatch surface (gate11-rust-smoke-test previously invoked
Python verifier on rust-language manifest, fail-closed at
CASM-V-001; gate11-go-smoke-test would have failed the same
way pre-v0.12.0). Resolves the dispatch question once for
all three substrates per the Shape-B consolidation pattern
under Route (a1-via-args): single canonical dispatch entry
through
verification.verify(manifest, args)with thefunction-local
_LANGUAGE_DISPATCHextended via lazy-import of
_verify_go; CLI flags (--trust-config,--force-refresh, --expected-identity, --expected-issuer,
--allow-any-identity) threaded uniformly through args
Namespace.
Closures
entry points (cmd_manifest_verify + cmd_check_gate11);
gate11-rust-smoke-test passes; new gate11-go-smoke-test
passes (T02, T08). F22 substrate closure was at v0.11.3
G11.0.2; al-Mursalat closes the CLI dispatch layer per
F-AL-7 v1.3 absorption framing.
rules 6-8 mirror of Python H-4 closure adapted for Go
containers); verifier (T04; private
_verify_gohandlermirrors v0.11.8-LIVE Python/Rust facade pattern per F3
v1.1 + F-RM-1 v1.4 absorption); pinned source list (T05;
Option (alpha) alphabetical-within-section per F-PA-3
v1.8 absorption); identity policy parity (T06; CASM-V-032/
035/036 honored).
_verify_python/_verify_rustprivate handlersbodies are extended to honor caller-passed
args.trust_configviagetattr(args, "trust_config", None) or TrustConfig();preserves v0.11.8 programmatic-RP backward compatibility.
branch: goast source at
src/furqan_lint/go_adapter/cmd/goast/main.gopinned in_CHECKER_SOURCE_FILES; Form A checker_set_hash surfacenow attests the Go AST emitter source code alongside the
gate11/* verification modules.
("python", "rust")becomes("python", "rust", "go")at both
Manifest.from_dict(manifest_schema.py line186) and
Verifier.step2_3_check_version_and_language(verification.py line 157); same precedent as v0.11.3
G11.0.2 F22 corrective extension.
(N2 typosquatting disclosure extended for Go v0.12.0+) +
new docs/gate11-symmetry.md with seven-row symmetry table
(T07).
Audit-chain absorption ledger
Round 38.5 fresh-Claude cross-instance audit absorbed as v1.8
(5 F-PA findings); Co-work T00 absorbed as v1.7 (3 F-PF
findings); Round 38 Claude continuity audit absorbed as v1.6
(7 F-TR findings); Round 37 Perplexity absorbed as v1.5 (10
F-RN findings including F-RN-1 CRITICAL trust-config flow);
Round 36 Perplexity absorbed as v1.4 (12 F-RM findings
including 3 CRITICAL substrate-untrue symbol claims); self-
review absorbed as v1.3 (10 F-AL findings; substrate-state
alignment to v0.11.8 post-as-Saff); Round 32 polish absorbed
as v1.2 (F10-F13); Round 31 cross-instance absorbed as v1.1
(F1-F9 + F-PMD-1). Monotonic-narrowing residual surface
across rounds: 3 CRITICAL (Round 36) -> 1 CRITICAL (Round 37)
-> 0 CRITICAL (Round 38 / 38.5 / Co-work T00); CRITICAL
convergence held.
Tests
Test count: 618 (v0.11.8) -> 642 (v0.12.0). Net delta: +24.
Per the §3 inventory: +4 from T02 (new dispatch fixtures in
test_gate11_verify_dispatch.py covering Go dispatch routing +
ONNX-as-next-phase callout + trust_config threading +
function-local dispatch isolation), +1 from T02 substrate
evolution in test_gate11_dispatch_f22_corrective.py
(retired test_schema_rejects_language_go +
test_step2_3_rejects_go_pre_g11_2 per their own retirement
docstrings; replaced with test_schema_accepts_language_go +
test_al_mursalat_step2_3_accepts_go_manifest +
test_al_mursalat_step2_3_unknown_language_message_names_onnx_phase),
+5 from T03 (Go signature canonicalization rules 6-8),
+5 from T04 (Go verifier facade contract pins),
+6 from T05 (checker_set_hash v0.12.0 pinning; 4 prompt-
specified fixtures + 2 added for diagnostic granularity on
F-PA-3 Option (alpha) alphabetical-within-section discipline),
+3 from T08 (smoke-test fixture inventory pins).
Projection per al-Mursalat v1.8 prompt was +26 / 644; empirical
is +24 / 642 (drift -2; within al-Hujurat T05 CHANGELOG-math
gate assertion (c) projection-drift tolerance). The two-test
under-projection reflects T02 dispatch fixture inventory
substrate-actual delta of +4 against the 5 pre-existing
test_gate11_verify_dispatch.py fixtures rather than +9 fresh
(the prompt's "T02 adds 9 dispatch tests" was full post-edit
count, not delta-against-substrate).
Limitations introduced
None. This release is purely additive at the substrate level;
no new four-place documented limits, no new CASM-V codes, no
new signing surface, no schema-version bump (v1.0 retained).
§11.3 Five Questions
(gate11/go_signature_canonicalization.py with rules 6-8;
gate11/go_verification.py with private _verify_go handler;
tests/fixtures/gate11/go_smoke_module.go); three new test
files (test_go_signature_canonicalization.py;
test_gate11_go_verification.py;
test_gate11_checker_set_hash_v0_12_0_pinning.py;
test_gate11_smoke_test_fixture_inventory.py); module-level
verification.py dispatch dict extension; cmd_manifest_verify
verification.verify; CI gate11-go-smoke-test job;
docs/gate11-symmetry.md; SAFETY_INVARIANTS.md Invariant 6
step 3 generalization; goast source pin in
_CHECKER_SOURCE_FILES (16 -> 19 entries per F-PA-3 Option
(alpha)).
substrate closure was at v0.11.3; al-Mursalat closes the
dispatch consolidation layer). Trust-config flow under
Route (a1-via-args) -- private handlers now honor
args.trust_config rather than constructing default
unconditionally (F-RN-1 v1.5 absorption).
class API + verify_bundle method signature byte-stable
(per as-Saff Acceptance §15 byte-stability commitment).
Schema + dispatch language whitelists extended in lock-
step (v0.11.3 F22 corrective precedent). python_verification
args.trust_config (post-as-Saff scope; those modules are
new at as-Saff with no pre-existing byte-stability claim).
method signature (including keyword-only tail per Phase
G11.1 H-5 audit corrective), CasmVerificationError /
CasmIndeterminateError semantics, TrustConfig dataclass,
VerificationResult dataclass. Programmatic Relying Parties
not setting args.trust_config see v0.11.8 default
behavior unchanged.
(v0.13.0 / ONNX verifier extension). an-Naziat v1.4 will
inherit v1.8 dispositions verbatim against true v0.12.0
substrate (Route a1-via-args + asymmetric cmd_check_gate11
signature + alphabetical-within-section _CHECKER_SOURCE_FILES
tooling source pinning).