Skip to content

test(verify): cover L13 imported-table isolation path (refs #35)#156

Merged
hyperpolymath merged 2 commits into
mainfrom
feat/l13-imported-table-test
Jun 3, 2026
Merged

test(verify): cover L13 imported-table isolation path (refs #35)#156
hyperpolymath merged 2 commits into
mainfrom
feat/l13-imported-table-test

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Summary

The L13 module-isolation check (PR #37) handles both arms of verify_module_isolation — imported-memory and imported-table — but only the imported-memory arm has unit-test coverage today. This PR fills the gap.

Changes

  • own_memory_plus_imported_table_violates_l13 — module owning linear memory that also imports a table fires ModuleNotIsolated.
  • imported_table_without_ownership_section_is_ok — contract mirror of the memory-side "no ownership section ⇒ Ok" gating.
  • isolation_module_with_imported_table() builder helper, sibling of the existing isolation_module().

Out of scope

Real AffineScript-emitted C5.1 L13 fixtures are deliberately deferred. AffineScript's source-level borrow checker rejects double-move at compile time, so a C5.1 L13 fixture needs either a source escape hatch or a multi-module build harness — separate concern from this gap-fill PR. Tracked under #35 as a follow-up.

Test plan

  • cargo test -p typed-wasm-verify — 45 lib tests pass (including 2 new)
  • Both new tests appear in the output: imported_table_without_ownership_section_is_ok, own_memory_plus_imported_table_violates_l13

Refs #35.

🤖 Generated with Claude Code

The L13 module-isolation check (PR #37) handles both imported-memory and
imported-table arms of `verify_module_isolation`, but only the
imported-memory arm has unit-test coverage today. The imported-table arm
fires the same `ModuleNotIsolated` error variant but has been
implementation-only.

Adds two sibling tests mirroring the memory-side pair exactly:

- `own_memory_plus_imported_table_violates_l13` — module owning linear
  memory that also imports a table is flagged with `ModuleNotIsolated`.
- `imported_table_without_ownership_section_is_ok` — contract mirror of
  the memory-side "no ownership section ⇒ Ok" gating.

Plus an `isolation_module_with_imported_table()` builder helper following
the same shape as the existing `isolation_module()`.

Out of scope (deliberately deferred per issue #35 INT-12 follow-up):
real AffineScript-emitted C5.1 L13 fixtures. AffineScript's source-level
borrow checker rejects double-move at compile time, so a C5.1 L13
fixture needs either a source escape hatch or a multi-module build
harness — separate concern from this gap-fill PR.

Refs #35. Closes the imported-table coverage hole; multi-module C5.1
fixture work remains open under #35.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

🔍 Hypatia Security Scan

Findings: 94 issues detected

Severity Count
🔴 Critical 1
🟠 High 7
🟡 Medium 86

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action perpolymath/standards/.github/workflows/governance-reusable.yml@main\n needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in boj-build.yml",
    "type": "missing_timeout_minutes",
    "file": "boj-build.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in c5-regenerate.yml",
    "type": "missing_timeout_minutes",
    "file": "c5-regenerate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in cargo-audit.yml",
    "type": "missing_timeout_minutes",
    "file": "cargo-audit.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in codeql.yml",
    "type": "missing_timeout_minutes",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath marked this pull request as ready for review June 3, 2026 06:29
@hyperpolymath hyperpolymath enabled auto-merge (squash) June 3, 2026 06:29
@hyperpolymath hyperpolymath disabled auto-merge June 3, 2026 23:32
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

🔍 Hypatia Security Scan

Findings: 110 issues detected

Severity Count
🔴 Critical 1
🟠 High 7
🟡 Medium 102

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Issue in boj-build.yml",
    "type": "missing_timeout_minutes",
    "file": "boj-build.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in c5-regenerate.yml",
    "type": "missing_timeout_minutes",
    "file": "c5-regenerate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in cargo-audit.yml",
    "type": "missing_timeout_minutes",
    "file": "cargo-audit.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in codeql.yml",
    "type": "missing_timeout_minutes",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in e2e.yml",
    "type": "missing_timeout_minutes",
    "file": "e2e.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath merged commit 32fa0a9 into main Jun 3, 2026
31 checks passed
@hyperpolymath hyperpolymath deleted the feat/l13-imported-table-test branch June 3, 2026 23:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant