Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 35 additions & 5 deletions .github/settings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,45 @@
# applied by the probot/settings app when changes are pushed to the default
# branch. Install the app at: https://github.com/apps/settings
#
# Template file — replace anytype and Pick the algebra, get the discipline...and still have totality with actual values.
# ─── THIS FILE MUST NEVER DECLARE REPOSITORY IDENTITY ─────────────────────────
#
# It carries NO `name`, `description`, `homepage` or `private` key, and it must
# never gain one. The reason is a real incident, not a hypothetical:
#
# This file previously read `name: "{{REPO}}"`. probot/settings applies it on
# every push to the default branch, so it submitted the literal string
# `{{REPO}}` as the repository name. GitHub sanitises an invalid name by
# collapsing each run of illegal characters to a dash — `{{REPO}}` became
# `-REPO-`. The template renamed itself on every push, its old URL 404'd, and
# it was mistaken for a deleted repository. `description` was likewise left
# reading the literal `{{DESCRIPTION}}` on the live repo.
#
# Two properties make identity keys unsafe here specifically:
#
# 1. This is a TEMPLATE. `just repo-init` fills placeholders in repos minted by the
# scaffolder — but GitHub's "Use this template" button copies the default
# branch verbatim and never runs `just repo-init`. Any placeholder left in a
# probot-managed file therefore reaches children unrendered.
# 2. Identity is not shareable. The template must be public while children
# default private; a child cannot inherit either `name` or `private` from
# its parent without being wrong.
#
# Repository identity and visibility are therefore set OUT OF BAND: once per
# repo, at creation time, by the operator (the Configure stage of ADR-0003).
# `just repo-init` deliberately runs NO `gh` commands — it prints the exact
# `gh repo edit` commands as next steps instead. Fail-closed default: repos
# stay private unless the owner flips visibility deliberately; the template's
# own name and visibility are set deliberately by the owner.
#
# Everything below is safe to inherit: it is true of every RSR repo regardless
# of that repo's name, purpose or visibility.
#
# Enforced by `scripts/check-no-placeholders.sh`, which fails if this file
# contains a `{{` token or declares any of the four identity keys.

# ─── Repository Settings ───────────────────────────────────────────────────────

repository:
name: "anytype"
description: "Pick the algebra, get the discipline...and still have totality"
homepage: "https://github.com/hyperpolymath/anytype"
private: false
has_issues: true
has_projects: true
has_wiki: false
Expand Down
Loading