gitpp-app

Status: the GitHub App does not exist yet. This page is its future home and its registration desk. The receiver behind it is live but dark: it cannot accept webhooks until the App below is created and its webhook secret is configured.

gitpp-app will bring git.pp to GitHub: when agents and humans complete work concurrently against the same shared state — configuration keys, task claims, release freezes — it derives one deterministic state from their provenance-carrying records and posts it as a Check on the pull request: the winning value, the preserved losers, and the ancestry that decided. It resolves labelled key conflicts mechanically; it does not settle semantic conflicts.

What the button creates

Clicking the button below sends the manifest shown here — exactly this JSON, nothing hidden — to GitHub's App Manifest flow. GitHub will ask the signed-in account to confirm creating an app with this name, these permissions, and these events:

{
  "name": "gitpp-app",
  "url": "https://gitpp-app.superinstance.dev",
  "description": "Deterministic, lossless resolution of labelled key conflicts in shared agent state — winner, losers, and the ancestry that decided; it does not settle semantic conflicts, and content digests authenticate content, not authorship.",
  "public": true,
  "hook_attributes": {
    "url": "https://gitpp-app.superinstance.dev/webhook"
  },
  "redirect_url": "https://gitpp-app.superinstance.dev/setup/callback",
  "default_permissions": {
    "metadata": "read",
    "contents": "read",
    "checks": "write"
  },
  "default_events": [
    "push",
    "pull_request",
    "installation",
    "installation_repositories"
  ]
}
PermissionLevelWhy
MetadataReadPlatform baseline: which repos exist, who installed the app.
ContentsReadTo read the record files. GitHub grants Contents repository-wide; there is no narrower grant. The app touches record paths only as a matter of published policy and open source — the limit is policy, not the grant, and this page says so in those words.
ChecksWriteTo post the derived state as a Check run on pull requests.

Nothing else. No pull-request permission (the ancestry rides in the Check's own output), no administration, no repository creation, no contents write. Events: push, pull_request, installation, installation_repositories.

After GitHub confirms, it redirects back here with a one-time code; this site exchanges it and shows the new App's credentials exactly once, for copying into secure storage. They are never stored or logged by this site.