Skip to content

Publish a code of conduct and the issue templates that ask for evidence #107

Description

@iderex

A public repository is expected to carry a small set of files, and GitHub reports
which of them are there. One of seven is:

gh api repos/Flowfin/core/community/profile --jq '.files | to_entries[] | "\(.key)\t\(if .value == null then "missing" else "present" end)"'
code_of_conduct	missing
code_of_conduct_file	missing
contributing	missing
issue_template	missing
license	missing
pull_request_template	missing
readme	present

Four of those rows already have somebody on them. The licence is entry 1 of #1
and its file is #12, the contributing document is #23, the pull-request template
is #25. The two nobody holds are the code of conduct and the issue templates, and
this issue takes both because they are the same act: telling a stranger what this
repository expects before they spend an evening on it.

What this produces

A code of conduct at the root, with a reporting address that reaches a person and
a sentence saying what happens after a report arrives. An address is the part
that matters. A code of conduct with no route to a human is a document that
becomes useless at exactly the moment somebody needs it. Which address, and
whether it is the same one #24 publishes for a vulnerability, is entry 5 of #1
and is not decided here.

Issue templates that ask for the three things an issue on this board says: what
is wrong, what the evidence is, and what done means. Where the evidence is a
number, the template asks for the command that produced it, which is the request
#25 makes of a pull request and for the same reason.

A line in each template saying that nothing reads it. A filled-in form is not a
check, and a template that looks like enforcement is worse than one that admits
it is a prompt.

What this deliberately leaves out, with the reason

No CODEOWNERS. It routes review to an owner, and this repository has a single
maintainer, so the file would name one account and add nothing the ruleset on
main already requires. It also goes wrong silently on the day a second person
arrives, because nothing refuses a stale owner.

That there is one maintainer is written here as a claim, because the command
that lists them needs push access to this repository and is therefore not one a
reader of this board can run.

No governance document. How decisions are made here is #1 for the ones only I can make and the records in #2 for the rest. A third file restating
both is a copy that drifts against them, and the drift is invisible until
somebody acts on the stale copy.

Done when

The command above reports code_of_conduct and issue_template as present, the
code of conduct names a reporting address, and every template asks for the
problem, the evidence, the command behind any number, and what done means.

Metadata

Metadata

Assignees

Labels

blocked-on-decisionWaits on an entry of #1 that is not answered yetdocumentationImprovements or additions to documentation

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions