Skip to content

test(ir): pin canonical Place binding metadata blocker#979

Draft
agourakis82 wants to merge 1 commit into
codex/place-ir-arena-v2-shadow-20260715from
codex/place-canonical-binding-shadow-20260715
Draft

test(ir): pin canonical Place binding metadata blocker#979
agourakis82 wants to merge 1 commit into
codex/place-ir-arena-v2-shadow-20260715from
codex/place-canonical-binding-shadow-20260715

Conversation

@agourakis82

Copy link
Copy Markdown
Contributor

Scope

Stacked on #973. This does not implement or allocate a canonical Place binder. It pins the first exact metadata-loss boundary and fails closed before any caller-supplied or synthesized type/layout/field identity can be mistaken for compiler authority.

Executable evidence

  • active-load function route (module index, name) survives; this is not claimed as a durable DefId
  • nominal module provenance is lost when TypeExpr.path lowers to module-less TypeEntry::TyNamed
  • resolved callee/owner/field/ordinal evidence is not persisted past checker expression return
  • first wrong physical choice remains field_idx_for_base_ref for a non-identifier base
  • typed local controls: 42 in single-module and both imported permutations
  • direct projection: declaration/import A then B returns 11; B then A returns 42
  • witness supplies no Place ordinal/layout/type authority
  • no parser/checker/lower/IR/SOIR/writer/backend/default-route file changed

Blocker

BLK-20260715-place-canonical-nominal-identity is classified, B1, compiler-semantics, E3.

Result: BLOCKED_REQUIRED_METADATA_NOT_EXPORTED_ON_ACTIVE_FIELD_PATH.

Missing: generation-bound root-binding receipt, module-qualified type identity, exact field identity, and target layout epoch. The next semantic step is a frozen receipt exported before the shared multi-module checker is freed. No name/hash/collection/source/import-order fallback is permitted.

Local gates

SOUC_BIN=/tmp/pr973-current-source-29419519269/madaros \
PLACE_CANONICAL_BINDING_EXPECTED_COMPILER_SHA256=7ad961849c398ba6dc709dd327f14f14405062bb12638d48374d8619a1ba8372 \
bash scripts/ci/place_canonical_binding_shadow_gate.sh

SOUC_BIN=/tmp/pr973-current-source-29419519269/madaros \
bash scripts/ci/place_ir_arena_v2_shadow_gate.sh

Both pass on the exact #973 current-source artifact. Orthogonal current-diff review: APPROVE. Legacy path intentionally kept unchanged. No fallback. No merge requested.

@agourakis82

Copy link
Copy Markdown
Contributor Author

Canonical-binding blocker receipt at exact head 4c952e6ee7bcd0855f675fc662420c2fa507e19a:

PLACE_CANONICAL_BINDING_TRACE active_load_function_route=module_index_plus_name nominal_return_type=name_only field_identity=absent production_layout_identity=absent
PLACE_CANONICAL_BINDING_NOMINAL_LOSS boundary=checker_lower_named_type_mut detail=TypeExpr.path_to_moduleless_TypeEntry.TyNamed
PLACE_CANONICAL_BINDING_RECEIPT_LOSS boundary=checker_expression_return detail=callee_active_load_route,owner_struct,matched_field,ordinal_not_persisted first_wrong_choice=lower.field_idx_for_base_ref_non_ident
PLACE_CANONICAL_BINDING_DIFFERENTIAL single_module_typed_local=42 imported_typed_local_ab=42 imported_typed_local_ba=42 direct_call_a_then_b=11 direct_call_b_then_a=42 import_ab=11 import_ba=42 declaration_order_changes_result=true import_order_changes_result=true witness_place_authority_supplied=false legacy_fallback_observed=true
PLACE_CANONICAL_BINDING_BLOCKER Blocker-ID=BLK-20260715-place-canonical-nominal-identity Status=classified Severity=B1 Class=compiler-semantics Evidence-Level=E3 Result=BLOCKED_REQUIRED_METADATA_NOT_EXPORTED_ON_ACTIVE_FIELD_PATH Binder-Present=false Binder-Fallback-Used=not_applicable Missing=root_binding_receipt,module_qualified_type_identity,field_identity,target_layout_epoch

Compiler artifact was the exact source-fresh #973 artifact: size 107767984, SHA-256 7ad961849c398ba6dc709dd327f14f14405062bb12638d48374d8619a1ba8372. Both the new blocker gate and the inherited Place structural gate passed. Orthogonal current-diff review: APPROVE.

Boundary: this receipt proves why allocation must stop. It does not claim canonical binding, parity, a durable DefId, nested projection coverage, layout-epoch availability, backend wiring, or a semantic fix. Default parser/checker/lower/IR/SOIR/writer/backend surfaces are unchanged. No merge requested.

@github-actions

Copy link
Copy Markdown
Contributor

CI Watch: GREEN

Run: 29422955946
Head: 4c952e6ee7bc
Failed jobs: none

Next action: All selected checks passed; ready for merge subject to repository policy.

This watcher observes CI only. It cannot merge, edit code, or decide scientific semantics.

@agourakis82

Copy link
Copy Markdown
Contributor Author

CI watcher terminal receipt: GREEN.

  • exact head: 4c952e6ee7bcd0855f675fc662420c2fa507e19a
  • PR remains OPEN + DRAFT
  • stacked base: codex/place-ir-arena-v2-shadow-20260715
  • 12 successful checks
  • 2 skipped automation checks
  • 0 pending
  • 0 failing/cancelled
  • CI Decision: success
  • lane-caused failure: n/a
  • no edit and no merge by watcher

Run: https://github.com/Sounio-lang/sounio/actions/runs/29422955946
Decision: https://github.com/Sounio-lang/sounio/actions/runs/29422955946/job/87380782012

This remote green proves the blocker-only diff is repository-compatible. It does not upgrade BLOCKED_REQUIRED_METADATA_NOT_EXPORTED_ON_ACTIVE_FIELD_PATH into a canonical binder claim.

@agourakis82

Copy link
Copy Markdown
Contributor Author

Exact-head remote artifact follow-up:

  • CI run: https://github.com/Sounio-lang/sounio/actions/runs/29422955946
  • artifact: madaros-current-source-f64-lowering (8346222143)
  • downloaded ELF: 107767984 bytes
  • SHA-256: 7ad961849c398ba6dc709dd327f14f14405062bb12638d48374d8619a1ba8372
  • place_canonical_binding_shadow_gate.sh: PASS against downloaded exact-head artifact
  • inherited place_ir_arena_v2_shadow_gate.sh: PASS against the same artifact

The compiler ELF hash matches the #973 artifact because #979 changes only the blocker gate and witnesses; this run nevertheless proves artifact provenance at exact head 4c952e6ee7bcd0855f675fc662420c2fa507e19a.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant