The doctor: one .doctor.just, distributed from the steward #7
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Meta/Campaign
Meta/Epic
Meta/Session
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Curated
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Scope/Campaign
Status/Abandoned
Status/Blocked
Status/Conflicted
Status/In Progress
Status/In Review
Status/Need Grooming
Status/Need More Info
Status/Ready
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Ting/Jostoph#7
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Every repo's client-side bootstrap (law 12: "Client-side bootstrap is the devshell...
justdoctor recipes assert them on entry") is currently a hand-copied file that has already drifted three ways —vordr/.doctor.just,dendrite/.justfileand modron's copy all differ, and the differences are silent. This lands one canonical copy here, beside.fastlane.toml(#6), and gives it asyncrecipe so every consuming repo fetches it rather than copying it.In scope
.doctor.justat the root of this repository, as the canonical copy every repo fetches raw over anonymous HTTPS.syncrecipe in that file which fetches the canonical copy over its local one, so a repo self-updates instead of drifting.jo.et0.pwHTTPS credential helper (git, repo-local), the three revset aliases andgit.write-change-id-header(jj, repo-local), and a report-only check that a repo on a Ting forge remote declares Ting governance inAGENTS.md.Out of scope
AGENTS.md; a governance declaration belongs in a reviewed commit, not a side effect of a setup tool.git --local,jj config set --repo). Nothing reaches outside the repo it was invoked in.jj git pushbypasses git hooks (measured), and jj has no per-remote push allowlist, so nothing here attempts to gate pushes; that is server-side work.doctor-fastlane, which follows once this lands and #6 defines the manifest.Boundary
The file is read by anonymous HTTPS from a public repository and then executed by every consumer, so it must stay free of anything credential-shaped:
$FORGEJO_ACCESS_TOKENappears only as a variable reference inside the helper string, never a value.syncoverwrites the local copy, which makes a local edit deliberately temporary — improvements land here or they are lost. The write is staged beside the target and renamed, because the file is read by the process rewriting it.nixis the only host dependency (require("nix"));nuandgumcome from the consuming repo's devShell, since every recipe runs throughnix develop.Acceptance
just --justfile .doctor.just doctorreports every row and is idempotent: a second run rewrites nothing (fixed: falsethroughout).syncreplaces the local copy when the canonical differs, is silent when identical, and soft-fails (keeping the local copy) on an unreachable or empty canonical.in-review,conflicted) and derivesblocked#25