{
  "_id": "6acf6846e2d863f662951bc9",
  "Package": "s7contract",
  "Title": "Behavioral Contracts and Generative Laws for 'S7'",
  "Version": "0.2.3.9000",
  "Authors@R": "c(\nperson(given = \"Sounkou Mahamane\", family = \"Toure\",\nemail = \"sounkoutoure@gmail.com\", role = c(\"aut\", \"cre\"))\n)",
  "Description": "Contract helpers built with 'S7' for expressing runtime\nprotocols around ordinary 'S7' dispatch. Structural interfaces\ndescribe small sets of required 'S7' generics, while explicit\ntraits record registered implementations with optional default\nmethods and associated metadata. Optional runtime checks can\nvalidate argument and return specifications in contract-scoped\nevaluation. Generative laws combine generators, deterministic\nshrinking, and one-result 'tinytest' expectations.",
  "License": "GPL (>= 3)",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "VignetteBuilder": "knitr",
  "URL": "https://github.com/sounkou-bioinfo/s7contract,\nhttps://sounkou-bioinfo.github.io/s7contract/",
  "BugReports": "https://github.com/sounkou-bioinfo/s7contract/issues",
  "Repository": "https://sounkou-bioinfo.r-universe.dev",
  "Date/Publication": "2026-09-14 20:17:20 UTC",
  "RemoteUrl": "https://github.com/sounkou-bioinfo/s7contract",
  "RemoteRef": "HEAD",
  "RemoteSha": "41dce50d482ad4bfac382e859662abcae0ba56c4",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-14 11:29:26 UTC",
    "User": "root"
  },
  "Author": "Sounkou Mahamane Toure [aut, cre]",
  "Maintainer": "Sounkou Mahamane Toure <sounkoutoure@gmail.com>",
  "_user": "sounkou-bioinfo",
  "_type": "src",
  "_file": "s7contract_0.2.3.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/05d726fbfedd4abbf4370d639c99e29646daf8d9b4eb9d13f3d88c26e4eb578c",
  "_filesize": 310072,
  "_sha256": "05d726fbfedd4abbf4370d639c99e29646daf8d9b4eb9d13f3d88c26e4eb578c",
  "_expires": "2027-01-22T11:32:20.000Z",
  "_created": "2026-10-14T11:29:26.000Z",
  "_published": "2026-10-14T11:32:22.733Z",
  "_buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/38556492334",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 115828370056,
      "time": 132,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11889124773"
    },
    {
      "job": 115828370118,
      "time": 130,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11889119687"
    },
    {
      "job": 115828370116,
      "time": 110,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11889264723"
    },
    {
      "job": 115828370141,
      "time": 125,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11889159738"
    },
    {
      "job": 115826983256,
      "time": 213,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11890657988"
    },
    {
      "job": 115828370144,
      "time": 85,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11889933636"
    },
    {
      "job": 115828370277,
      "time": 98,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11890348295"
    },
    {
      "job": 115828370331,
      "time": 101,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11889084837"
    },
    {
      "job": 115828370127,
      "time": 78,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11890413435"
    }
  ],
  "_upstream": "https://github.com/sounkou-bioinfo/s7contract",
  "_commit": {
    "id": "41dce50d482ad4bfac382e859662abcae0ba56c4",
    "author": "sounkou-bioinfo <sounkoutoure@gmail.com>",
    "committer": "sounkou-bioinfo <sounkoutoure@gmail.com>",
    "message": "Format R sources, examples, and tests with Air\n",
    "time": 1789417040
  },
  "_maintainer": {
    "name": "Sounkou Mahamane Toure",
    "email": "sounkoutoure@gmail.com",
    "login": "sounkou-bioinfo",
    "mastodon": "@bioinfhotep@genomic.social",
    "description": "Sequences and Consequences.",
    "uuid": 56392505
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.3.0",
      "role": "Depends"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "S7",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    }
  ],
  "_owner": "sounkou-bioinfo",
  "_selfowned": true,
  "_usedby": 4,
  "_updates": [
    {
      "week": "2026-18",
      "n": 3
    },
    {
      "week": "2026-19",
      "n": 20
    },
    {
      "week": "2026-36",
      "n": 6
    },
    {
      "week": "2026-37",
      "n": 11
    },
    {
      "week": "2026-38",
      "n": 2
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2026-05-04"
    },
    {
      "name": "v0.2.2",
      "date": "2026-09-09"
    },
    {
      "name": "v0.2.3",
      "date": "2026-09-09"
    }
  ],
  "_topics": [
    "interfaces",
    "s7"
  ],
  "_stars": 8,
  "_contributors": [
    {
      "user": "sounkou-bioinfo",
      "count": 42,
      "uuid": 56392505
    }
  ],
  "_userbio": {
    "uuid": 56392505,
    "type": "user",
    "name": "Sounkou Mahamane Toure",
    "followers": 59,
    "description": "Sequences and Consequences."
  },
  "_downloads": {
    "count": 588,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/s7contract"
  },
  "_devurl": "https://github.com/sounkou-bioinfo/s7contract",
  "_pkgdown": "https://sounkou-bioinfo.github.io/s7contract/",
  "_searchresults": 13,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/s7contract.html"
  ],
  "_homeurl": "https://github.com/sounkou-bioinfo/s7contract",
  "_realowner": "sounkou-bioinfo",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-05-07"
    },
    {
      "version": "0.2.3",
      "date": "2026-09-09"
    }
  ],
  "_exports": [
    "%::%",
    "as_interface",
    "assert_implements",
    "assert_trait",
    "assume",
    "check_law",
    "expect_law",
    "format_check_result",
    "gen_bind",
    "gen_choice",
    "gen_commands",
    "gen_constant",
    "gen_double",
    "gen_element",
    "gen_example",
    "gen_integer",
    "gen_map",
    "gen_no_shrink",
    "gen_product",
    "gen_recursive",
    "gen_resize",
    "gen_sample",
    "gen_sized",
    "gen_subsequence",
    "gen_vector",
    "has_trait",
    "impl_trait",
    "implements",
    "interface_report",
    "interface_requirement",
    "interface_requirements",
    "missing_requirements",
    "new_command",
    "new_generator",
    "new_interface",
    "new_law",
    "new_state_law",
    "new_trait",
    "trait_assoc_const",
    "trait_assoc_type",
    "trait_call",
    "trait_method",
    "trait_methods",
    "trait_report"
  ],
  "_help": [
    {
      "page": "grapes-colon-colon-grapes",
      "title": "Evaluate an S7 call under an interface or trait contract",
      "topics": [
        "%::%",
        "contract_syntax"
      ]
    },
    {
      "page": "gen_bind",
      "title": "Compose dependent, sized, and recursive generators",
      "topics": [
        "gen_bind",
        "gen_recursive",
        "gen_resize",
        "gen_sized"
      ]
    },
    {
      "page": "gen_commands",
      "title": "Generate and shrink model-valid command sequences",
      "topics": [
        "gen_commands"
      ]
    },
    {
      "page": "gen_constant",
      "title": "Basic property-based test generators",
      "topics": [
        "gen_constant",
        "gen_integer",
        "gen_map",
        "gen_product",
        "gen_vector"
      ]
    },
    {
      "page": "gen_double",
      "title": "Generate finite double values",
      "topics": [
        "gen_double"
      ]
    },
    {
      "page": "gen_element",
      "title": "Choose values or generators",
      "topics": [
        "gen_choice",
        "gen_element"
      ]
    },
    {
      "page": "gen_example",
      "title": "Inspect a generator or disable its shrinking",
      "topics": [
        "gen_example",
        "gen_no_shrink"
      ]
    },
    {
      "page": "gen_sample",
      "title": "Sample source positions without replacement",
      "topics": [
        "gen_sample",
        "gen_subsequence"
      ]
    },
    {
      "page": "interface_requirements",
      "title": "Inspect or check a Go-like structural interface",
      "topics": [
        "assert_implements",
        "as_interface",
        "implements",
        "interface_report",
        "interface_requirements",
        "missing_requirements"
      ]
    },
    {
      "page": "new_command",
      "title": "Describe a command for a stateful protocol",
      "topics": [
        "new_command"
      ]
    },
    {
      "page": "new_generator",
      "title": "Construct a property-based test generator",
      "topics": [
        "new_generator"
      ]
    },
    {
      "page": "new_interface",
      "title": "Build a Go-like structural interface on top of S7",
      "topics": [
        "interface_requirement",
        "new_interface"
      ]
    },
    {
      "page": "new_law",
      "title": "Define and check a generative law",
      "topics": [
        "assume",
        "check_law",
        "expect_law",
        "format_check_result",
        "new_law"
      ]
    },
    {
      "page": "new_state_law",
      "title": "Define a generative law for a stateful protocol",
      "topics": [
        "new_state_law"
      ]
    },
    {
      "page": "new_trait",
      "title": "Build a Rust-like explicit trait on top of S7",
      "topics": [
        "new_trait",
        "trait_method"
      ]
    },
    {
      "page": "s7contract",
      "title": "s7contract: Behavioral Contracts and Generative Laws for S7",
      "topics": [
        "s7contract-package",
        "s7contract"
      ]
    },
    {
      "page": "trait_methods",
      "title": "Inspect or use a Rust-like explicit trait",
      "topics": [
        "assert_trait",
        "has_trait",
        "impl_trait",
        "trait_assoc_const",
        "trait_assoc_type",
        "trait_call",
        "trait_methods",
        "trait_report"
      ]
    }
  ],
  "_readme": "https://github.com/sounkou-bioinfo/s7contract/raw/HEAD/README.md",
  "_rundeps": [
    "S7"
  ],
  "_vignettes": [
    {
      "source": "monad-dictionaries.Rmd",
      "filename": "monad-dictionaries.html",
      "title": "A Maybe Dictionary on S7",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The dictionary",
        "Generated values and functions",
        "Three laws, one suite",
        "A default that breaks the laws"
      ],
      "created": "2026-09-07 17:19:17",
      "modified": "2026-09-07 22:09:17",
      "commits": 3
    },
    {
      "source": "s7-interfaces-and-traits.Rmd",
      "filename": "s7-interfaces-and-traits.html",
      "title": "Behavioral Contracts on S7",
      "engine": "knitr::rmarkdown",
      "headings": [
        "A vector protocol",
        "Composing contracts",
        "Declaring an implementation",
        "Testing behavior"
      ],
      "created": "2026-05-04 08:50:52",
      "modified": "2026-09-14 20:12:46",
      "commits": 16
    },
    {
      "source": "bioinformatics-interfaces.Rmd",
      "filename": "bioinformatics-interfaces.html",
      "title": "Bioinformatics Containers as Interfaces",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Background",
        "A toy assay container",
        "Operations and a consumer-owned interface",
        "When an explicit trait helps",
        "Design cautions",
        "References"
      ],
      "created": "2026-05-04 08:36:21",
      "modified": "2026-09-07 22:09:17",
      "commits": 5
    },
    {
      "source": "property-laws.Rmd",
      "filename": "property-laws.html",
      "title": "Generative Laws with tinytest",
      "engine": "knitr::rmarkdown",
      "headings": [
        "A tinytest property",
        "Laws over an S7 interface",
        "Inspecting and replaying a failure",
        "Composition and shrinking",
        "Dependent inputs",
        "Choices and recursive values",
        "Relationship to Hedgehog"
      ],
      "created": "2026-09-02 19:53:46",
      "modified": "2026-09-09 17:22:34",
      "commits": 10
    },
    {
      "source": "calendar-intervals.Rmd",
      "filename": "calendar-intervals.html",
      "title": "Laws for Calendar Intervals",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Whole days from integer offsets",
        "An inclusive interval protocol",
        "An end date accidentally excluded"
      ],
      "created": "2026-09-07 20:38:42",
      "modified": "2026-09-07 22:09:17",
      "commits": 2
    },
    {
      "source": "protocol-laws.Rmd",
      "filename": "protocol-laws.html",
      "title": "Reusable Laws for a Vector Protocol",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Vector-like behavior",
        "One protocol, several implementations",
        "Which cases were tested?",
        "Structural conformance and a behavioral failure",
        "A bug hidden by integer inputs"
      ],
      "created": "2026-09-07 17:19:17",
      "modified": "2026-09-07 22:09:17",
      "commits": 5
    },
    {
      "source": "stateful-protocols.Rmd",
      "filename": "stateful-protocols.html",
      "title": "Testing Stateful S7 Protocols",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The protocol and its implementations",
        "Commands and a reference model",
        "One law, two fixtures",
        "A put that truncates keys",
        "A reset that leaves data behind",
        "Commands that return handles"
      ],
      "created": "2026-09-07 17:19:17",
      "modified": "2026-09-07 22:09:17",
      "commits": 3
    }
  ],
  "_score": 7.3392526340327,
  "_indexed": true,
  "_nocasepkg": "s7contract",
  "_universes": [
    "sounkou-bioinfo"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.3.9000",
      "date": "2026-10-14T11:31:10.000Z",
      "distro": "resolute",
      "commit": "41dce50d482ad4bfac382e859662abcae0ba56c4",
      "fileid": "https://r2.ropensci.org/6b862649b3fa678c00f2e2d8b9063d94da84d77130015c14b8b3e9f5d700eadf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/38556492334"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.2.3.9000",
      "date": "2026-10-14T11:31:09.000Z",
      "distro": "resolute",
      "commit": "41dce50d482ad4bfac382e859662abcae0ba56c4",
      "fileid": "https://r2.ropensci.org/035910a53e981b45e6f6bc093cff72aa13e4c4fcc38a7375eaab3f89fde8b388",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/38556492334"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.3.9000",
      "date": "2026-10-14T11:31:04.000Z",
      "commit": "41dce50d482ad4bfac382e859662abcae0ba56c4",
      "fileid": "https://r2.ropensci.org/f43e28b59cdcc4564be55eb512dd6f2394ba6b2499db75fc18713d4d22e77d24",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/38556492334"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.2.3.9000",
      "date": "2026-10-14T11:31:17.000Z",
      "commit": "41dce50d482ad4bfac382e859662abcae0ba56c4",
      "fileid": "https://r2.ropensci.org/b9c3188896027f7c6fbe2a6e2e2950cb8902e0186216c6ff6e40ac02767eff60",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/38556492334"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.3.9000",
      "date": "2026-10-14T11:31:06.000Z",
      "commit": "41dce50d482ad4bfac382e859662abcae0ba56c4",
      "fileid": "https://r2.ropensci.org/60b055d11119165b6f51fed8ee4cd36564006af2fb42cfc4ec572d6304add401",
      "status": "success",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/38556492334"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.3.9000",
      "date": "2026-10-14T11:30:32.000Z",
      "commit": "41dce50d482ad4bfac382e859662abcae0ba56c4",
      "fileid": "https://r2.ropensci.org/1ddb48e6d5b6c57d05c7fe8d5f3668ad3152a632cb0c0d7a9eb8914b942f3cc2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/38556492334"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.3.9000",
      "date": "2026-10-14T11:30:32.000Z",
      "commit": "41dce50d482ad4bfac382e859662abcae0ba56c4",
      "fileid": "https://r2.ropensci.org/b5018368dd45e1572944e4a56ae06ed9d21b0e71305b2fb7cea6a8dd97d7ba17",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/38556492334"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.2.3.9000",
      "date": "2026-10-14T11:30:28.000Z",
      "commit": "41dce50d482ad4bfac382e859662abcae0ba56c4",
      "fileid": "https://r2.ropensci.org/d904e175e4757cd587d7c820abe98ca442c3f49b7466f4586167291530b2ec84",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/38556492334"
    }
  ]
}