# QX and recursive pins enter through the checked contract and build recipe. # The compiler receives authored implementation files, not resource provenance. { lib, src }: builtins.path { path = src; name = "camino-implementation-source"; filter = path: type: let name = builtins.baseNameOf path; in if type == "directory" then !(builtins.elem name [ ".git" ".jj" "node_modules" ]) else !(builtins.elem name [ "flake.nix" "flake.lock" "quixos.lock" "quixos.check.json" "quixos.react.json" "yarn-project.nix" "components.nix" "contracts.nix" ]) && !(lib.hasSuffix ".qx" name); }