Onboarding: the one document a second developer reads on day one - #360
Merged
Conversation
docs/ONBOARDING.md, every step executed in a clean clone on origin/main before it was written down. What Paramant is in five sentences out of docs/brand/messaging.md, the repo map with the test or workflow that guards each directory, local setup with the commands CI runs and the counts they printed, the rules of the house with the gate that enforces each, pointers to docs/RELEASE.md and deploy/DEPLOY-3.1.md rather than a second copy of them, how the two heartbeats and signalen.py differ, where production runs and who holds the key, and the traps of the first week. The first-week list includes the one the clean run walked into. Two pull requests appended a top-level const to the end of the same long test file, each was green against the base it was cut from, and the merge of both was a SyntaxError that fails to load the file rather than failing a check. eslint carries one rule here, no-undef, so it does not catch a redeclaration either. #359 fixed the two files; the document names the three most exposed and says to rebase and rerun before asking for a merge. README and docs/PROJECT-STATUS.md point at the new document.
Apolloccrypt
force-pushed
the
docs/onboarding
branch
from
September 2, 2026 18:51
e450223 to
5e679af
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
docs/ONBOARDING.md. Written by running it: a fresh clone oforigin/mainin a temporary directory,npm ci, every suite, the deploy dry run. Nothing in the document is a number I did not see printed. Re-measured onfaf599eafter #359 landed; the branch carries docs only.What is in it
docs/brand/messaging.md.relay,admin,frontend,bron-seo,scripts/directie,scripts/heartbeat,deploy,tests, with what is in each directory and the test or workflow that guards it. Including the honest list of what is guarded by nothing (bron-seo/*.py,signalen.py,build.sh,relay/test/koop-pad-intentie.test.mjs, which no CI glob matches).faf599e: relay unit 175/175, admin 40/40, root integration 152 with 150 passing and 2 skipped, crypto 144/144, ParaSign engine 4/4, boot integration 11/11, route suites 70/70, sign-full 33/33, browser suites 12/12, static-sanity 10 checks in about 1.4 seconds,deploy/deploy-3.1.sh --dry-run --preflight-onlyexit 0 with 0 warnings.scripts/check-commit-style.shvia static-sanity check 10 and the pre-push hook), every site claim tied to a test, pins hanging offtiers.jsand the code rather than off another page, Community as the name of the free plan.docs/RELEASE.mdanddeploy/DEPLOY-3.1.md, not a second copy of them.HEARTBEAT_ENABLEDas a repository variable, andscripts/directie/signalen.py.@paramant/coresibling, two green PRs that merge into a red main, tap versus spec, compose withoutenv_file, the pinned gitleaks version, a PR whose checks did not run, the suites that fail locally on purpose, a 200 healthcheck over a broken container, and the one rule eslint actually has here.What the clean run found
The
testsworkflow was red onmainwhen this started:relay/test/pricing-page.test.jshadconst tierstwice andtests/ui-truthfulness.test.mjshadconst pricingVisibletwice, both from parallel PRs appending a top-levelconstto the end of the same long file. A hardSyntaxErrorfails to load the file rather than failing a check, and theno-undef-only eslint config does not catch a redeclaration. #359 fixed both and moved its new blocks into function scope. This branch no longer carries that fix; it carries the trap as the second entry in the first-week list, with what to do about it.One honest note that is in the document rather than hidden here:
inbound-hash-verify,deep-health-gateandbilling-stance-bootboot a realrelay.jsand wait for it to become healthy, and one run in ten failed on a loaded machine while the other nine were clean. Every other suite was deterministic across repeated runs.Verification
Full clean-environment run on
faf599e: the counts above, plus eslint clean, cache-bust 340 links, CSP inline clean,bash -nclean, and the route suites againstredis:7.4.8-alpine.Nothing on production.