Skip to content

gh — all cases

Every case file under src/clauz3/stdlib/gh/tests/cases/, inlined. _pass cases must prove; _fail cases must not.

See the curated walk-through for the trusted module and contract vocabulary.

src/clauz3/stdlib/gh/tests/cases/never_actions_fail.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh

import clauz3


@clauz3.guarantee(gh_rules.never_actions(["merge", "close", "delete"]))
def main() -> None:
    gh("pr", "merge", ["42"], "cmungall/agent-deal")

src/clauz3/stdlib/gh/tests/cases/never_actions_pass.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh

import clauz3


@clauz3.guarantee(gh_rules.never_actions(["merge", "close", "delete"]))
def main() -> None:
    gh("pr", "view", ["42"], "cmungall/agent-deal")
    gh("pr", "comment", ["42", "--body", "thanks"], "cmungall/agent-deal")

src/clauz3/stdlib/gh/tests/cases/no_gh_fail.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh

import clauz3


@clauz3.guarantee(gh_rules.no_gh())
def main() -> None:
    gh("pr", "list", [], "cmungall/agent-deal")

src/clauz3/stdlib/gh/tests/cases/no_gh_pass.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh  # noqa: F401

import clauz3


@clauz3.guarantee(gh_rules.no_gh())
def main() -> None:
    pass

src/clauz3/stdlib/gh/tests/cases/only_commands_fail.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh

import clauz3


@clauz3.guarantee(gh_rules.only_commands(["pr", "issue"]))
def main() -> None:
    gh("repo", "delete", [], "cmungall/agent-deal")

src/clauz3/stdlib/gh/tests/cases/only_commands_pass.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh

import clauz3


@clauz3.guarantee(gh_rules.only_commands(["pr", "issue"]))
def main() -> None:
    gh("pr", "view", ["42"], "cmungall/agent-deal")
    gh("issue", "list", [], "cmungall/agent-deal")

src/clauz3/stdlib/gh/tests/cases/only_owner_fail.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh

import clauz3


@clauz3.guarantee(gh_rules.only_owner("cmungall"))
def main() -> None:
    gh("pr", "list", [], "evilcorp/agent-deal")

src/clauz3/stdlib/gh/tests/cases/only_owner_pass.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh

import clauz3


@clauz3.guarantee(gh_rules.only_owner("cmungall"))
def main() -> None:
    gh("pr", "list", [], "cmungall/agent-deal")
    gh("issue", "list", [], "cmungall/other")

src/clauz3/stdlib/gh/tests/cases/only_repo_fail.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh

import clauz3


@clauz3.guarantee(gh_rules.only_repo("cmungall/agent-deal"))
def main() -> None:
    gh("pr", "list", [], "other/repo")

src/clauz3/stdlib/gh/tests/cases/only_repo_pass.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh

import clauz3


@clauz3.guarantee(gh_rules.only_repo("cmungall/agent-deal"))
def main() -> None:
    gh("pr", "list", [], "cmungall/agent-deal")

src/clauz3/stdlib/gh/tests/cases/read_only_fail.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh

import clauz3


@clauz3.guarantee(gh_rules.read_only())
def main() -> None:
    gh("pr", "merge", ["42"], "cmungall/agent-deal")

src/clauz3/stdlib/gh/tests/cases/read_only_pass.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh

import clauz3


@clauz3.guarantee(gh_rules.read_only())
def main() -> None:
    gh("pr", "list", [], "cmungall/agent-deal")
    gh("pr", "view", ["42"], "cmungall/agent-deal")

src/clauz3/stdlib/gh/tests/cases/runs_at_most_fail.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh

import clauz3


@clauz3.guarantee(gh_rules.runs_at_most(2))
def main() -> None:
    gh("pr", "list", [], "cmungall/agent-deal")
    gh("issue", "list", [], "cmungall/agent-deal")
    gh("pr", "view", ["42"], "cmungall/agent-deal")

src/clauz3/stdlib/gh/tests/cases/runs_at_most_pass.py

# ruff: noqa: F821
from tools.gh.trusted import contracts as gh_rules
from tools.gh.trusted.effects import gh

import clauz3


@clauz3.guarantee(gh_rules.runs_at_most(2))
def main() -> None:
    gh("pr", "list", [], "cmungall/agent-deal")
    gh("issue", "list", [], "cmungall/agent-deal")