Skip to content

fix(proof): make the offline Isabelle sandbox portable on Ubuntu #1109

Description

@doublewhy

Requirement: ASR-535

Observed on a clean Ubuntu 24.04 x86_64 GCE verifier using the repository-pinned Isabelle2025-2 archive and bubblewrap 0.9.0. After bubblewrap network isolation was established, tools.isabelle_tool verify failed before theorem replay with: Fontconfig head is null, check your fonts or fonts configuration.

Root cause: the sandbox binds /etc/fonts and /usr/share/fonts but creates an otherwise empty /usr/share. Ubuntu fontconfig files under /etc/fonts/conf.d point into /usr/share/fontconfig, which is not in ISABELLE_SYSTEM_RUNTIME_PATHS. The declared allowlist is therefore incomplete and the canonical proof lane is host-image dependent.

Acceptance:

  • Bind the minimum fixed fontconfig data path needed by the pinned prover, without binding host root, user home, or enabling network.
  • Validate allowlist construction with focused line and branch coverage.
  • Replay the pinned proof successfully on Ubuntu 24.04 x86_64 with bubblewrap network isolation.
  • Preserve checksum verification, fixed argv/environment, bounded resources, and evidence digest behavior.
  • Document the operational portability boundary and exact verification evidence.

This is core OpenRAE proof-gate reliability; it does not change theorem semantics or experiment code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions