build: name the session stacks so parallel worktrees share tier 0/1 and each commit owns tier 2 #13
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "dev-env-project-names"
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?
Outcome
Two work-item worktrees on one workbench can run the factory at the same time without their session stacks colliding.
Compose names a project after the directory it runs from, so each worktree would start its own
natsandpostgresand the second would fail on host ports 4222 and 5432. The Makefile now fixes the project names and never derives them from the worktree:dataverket(DEV_PROJECT): the shared tier 0 and 1 stack.dev.up,dev.down, anddev.resetrun against it, so every worktree joins the same containers on fixed host ports. Tests isolate themselves by name, as the dev-environment skill already required.verify-<commit>(VERIFY_PROJECT): the private tier 2 stack.make verifybuilds ko images tagged by the commit, refuses averifyprofile that publishes a fixed host port (the suite asks compose for the port instead), brings the stack up, runs the suite, and tears it down on exit.make checkruns docs-check, gofmt, go vet, and go test per module ingo.work; it passes today ontools/. golangci-lint joins with the first product.The compose-backed targets refuse to run until
compose.yamlexists; it arrives with Sentral's first work item. Deciding the naming before that lands is cheap.The rule is written into the dev-environment skill under "Session stack": what is shared per workbench, what is private per commit, and what is never shared (host ports, image tags, the verify stack; Incus is one instance per workbench, isolated per Incus project). README follow-up work and the code map follow.
Also on this branch: how fabrikk works gains a "The workbench" section, the one machine that holds the agent, the code, the session stack, and swamp, and how a main checkout, one worktree per work item, the shared stack, and the per-commit verify stack live on it. The workstation guide says a workstation is a workbench and links there; the dev-environment skill keeps only the rules and points at the explanation.
Protected paths
Makefileandskills/dev-environment/SKILL.md. No ADR: factory machinery, no new dependency.Verified
make checkgreen on this branch.make dev.up,make dev.reset,make verifyeach refuse with the compose.yaml message.