sneak, 2026-08-30: add dcf to project management and bring it up to standards; one issue and one PR.
Scope (per sneak/promptsREPO_POLICIES.md and the Go styleguide): Makefile with fmt/fmt-check/check/test/lint/build; script/ STRTA entrypoints; canonical .golangci.yml with linting in Docker (Dockerfile.lint); prettier config for markdown (4-space tabs, proseWrap always); go.mod tidy and toolchain current; fix any lint findings; README gains the standard workflow section while keeping its content; rename default branch master → main. Code stays in pkg/dcf (already conforms — no cmd/ exists and none is added here).
Done: make check green via the repo's own targets, lint clean in Docker, default branch main, one PR reviewed and merged.
sneak, 2026-08-30: add `dcf` to project management and bring it up to standards; one issue and one PR.
Scope (per `sneak/prompts` `REPO_POLICIES.md` and the Go styleguide): `Makefile` with `fmt`/`fmt-check`/`check`/`test`/`lint`/`build`; `script/` STRTA entrypoints; canonical `.golangci.yml` with linting in Docker (`Dockerfile.lint`); prettier config for markdown (4-space tabs, proseWrap always); `go.mod` tidy and toolchain current; fix any lint findings; README gains the standard workflow section while keeping its content; rename default branch `master` → `main`. Code stays in `pkg/dcf` (already conforms — no `cmd/` exists and none is added here).
Done: `make check` green via the repo's own targets, lint clean in Docker, default branch `main`, one PR reviewed and merged.
Vendor the org standard tooling byte-identical from sneak/prompts and clawbot/go-template-repo: canonical .golangci.yml, .editorconfig, .prettierrc/.prettierignore, .dockerignore, .gitea/workflows/check.yml, and the full script/ STRTA set (bootstrapsetupprojectnametestlintfmtfmt-checkcheckdockercibuildprecommitinstall-precommit plus the prettier/assert-step-ran/assert-context-complete/repo-source-manifest helpers). Makefile becomes thin shims over those.
Lint runs in Docker only, via Dockerfile.lint, with the cache-bust and context-completeness assertions the template uses. Dockerfile gets the lint stage plus a build/test stage; no runtime stage, since this repo is a library with no cmd/.
make build currently points at a cmd/dcfinfo that does not exist in the tree, so it cannot succeed. Per the issue ("no cmd/ exists and none is added here") build becomes go build ./....
go.mod: tidy (drops the unused lmittmann/tint indirect) and bring the toolchain line current.
Fix the lint findings the new config surfaces in pkg/dcf. Two are real: findDCFMountPoints discards the error from findAllMountPoints (a stray unassigned erro is checked instead), and privatePath is assigned twice so the first computation is dead.
README keeps all its existing content and is reorganised into the required sections, adding Entrypoints documenting each script/ entrypoint.
One commit, one PR, based on the current default branch.
Plan:
- Vendor the org standard tooling byte-identical from `sneak/prompts` and `clawbot/go-template-repo`: canonical `.golangci.yml`, `.editorconfig`, `.prettierrc`/`.prettierignore`, `.dockerignore`, `.gitea/workflows/check.yml`, and the full `script/` STRTA set (`bootstrap` `setup` `projectname` `test` `lint` `fmt` `fmt-check` `check` `docker` `cibuild` `precommit` `install-precommit` plus the `prettier`/`assert-step-ran`/`assert-context-complete`/`repo-source-manifest` helpers). `Makefile` becomes thin shims over those.
- Lint runs in Docker only, via `Dockerfile.lint`, with the cache-bust and context-completeness assertions the template uses. `Dockerfile` gets the lint stage plus a build/test stage; no runtime stage, since this repo is a library with no `cmd/`.
- `make build` currently points at a `cmd/dcfinfo` that does not exist in the tree, so it cannot succeed. Per the issue ("no `cmd/` exists and none is added here") `build` becomes `go build ./...`.
- `go.mod`: tidy (drops the unused `lmittmann/tint` indirect) and bring the toolchain line current.
- Fix the lint findings the new config surfaces in `pkg/dcf`. Two are real: `findDCFMountPoints` discards the error from `findAllMountPoints` (a stray unassigned `erro` is checked instead), and `privatePath` is assigned twice so the first computation is dead.
- README keeps all its existing content and is reorganised into the required sections, adding **Entrypoints** documenting each `script/` entrypoint.
One commit, one PR, based on the current default branch.
Three parts of this issue's done-criteria are not clawbot's to complete, because it has no write access to this repo (push: false, admin: false):
Default branch is still master. Creating main and setting default_branch both 403. sneak has to do the rename.
The PR comes from a fork (clawbot/dcf), because pushing a branch here is rejected by the pre-receive hook.
needs-review could not be applied and the PR could not be assigned. The repo has no labels and creating one 403s; assignee edits are silently dropped.
Granting clawbot write on this repo fixes all three.
PR: https://git.eeqj.de/sneak/dcf/pulls/7
Three parts of this issue's done-criteria are not clawbot's to complete, because it has no write access to this repo (`push: false`, `admin: false`):
- **Default branch is still `master`.** Creating `main` and setting `default_branch` both 403. sneak has to do the rename.
- **The PR comes from a fork** (`clawbot/dcf`), because pushing a branch here is rejected by the pre-receive hook.
- **`needs-review` could not be applied and the PR could not be assigned.** The repo has no labels and creating one 403s; assignee edits are silently dropped.
Granting clawbot write on this repo fixes all three.
Plan update (2026-10-03). The plan above stands; what changed since the closed attempt:
clawbot can now push here. The branch lives in this repo, cut from next, and the PR targets next.
Start from the closed attempt's commit ed95e66, still fetchable as refs/pull/7/head, but re-copy every vendored file from current sneak/promptsmain byte-identical: they have changed since 30 August. Copy REPO_POLICIES.md too.
Module path becomes sneak.berlin/go/dcf (REPO_POLICIES; the redirect at that address already points here). Change it in place, no alias.
Keep the renames the linter forces (DCFStore to Store, DCFObject to Object).
Mount-point behaviour stays exactly as it is; #6 changes it.
Renaming master to main needs admin rights and is not part of this PR; it waits on sneak/project-management#10. The workflow runs on every push, so it already covers next.
Done: make check and script/cibuild pass from a fresh clone, lint runs in Docker and is clean, README has the required sections including Entrypoints, one PR to next reviewed and squash-merged.
Model: opus-5-5
Plan update (2026-10-03). The plan above stands; what changed since the closed attempt:
- clawbot can now push here. The branch lives in this repo, cut from `next`, and the PR targets `next`.
- Start from the closed attempt's commit `ed95e66`, still fetchable as `refs/pull/7/head`, but re-copy every vendored file from current `sneak/prompts` `main` byte-identical: they have changed since 30 August. Copy `REPO_POLICIES.md` too.
- Module path becomes `sneak.berlin/go/dcf` (REPO_POLICIES; the redirect at that address already points here). Change it in place, no alias.
- Keep the renames the linter forces (`DCFStore` to `Store`, `DCFObject` to `Object`).
- Mount-point behaviour stays exactly as it is; https://git.eeqj.de/sneak/dcf/issues/6 changes it.
- Renaming `master` to `main` needs admin rights and is not part of this PR; it waits on https://git.eeqj.de/sneak/project-management/issues/10. The workflow runs on every push, so it already covers `next`.
Done: `make check` and `script/cibuild` pass from a fresh clone, lint runs in Docker and is clean, README has the required sections including Entrypoints, one PR to `next` reviewed and squash-merged.
Model: opus-5-5
State, 2026-10-03: queued, not dispatched (the fleet is out of RAM and worker slots). next exists, cut from master at f585e8f; no PR is open. This is the first unit. After it: #6 and #2 in parallel, then #3. The plan update above is the worker's brief.
Model: opus-5-5
State, 2026-10-03: queued, not dispatched (the fleet is out of RAM and worker slots). `next` exists, cut from `master` at `f585e8f`; no PR is open. This is the first unit. After it: https://git.eeqj.de/sneak/dcf/issues/6 and https://git.eeqj.de/sneak/dcf/issues/2 in parallel, then https://git.eeqj.de/sneak/dcf/issues/3. The plan update above is the worker's brief.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
sneak, 2026-08-30: add
dcfto project management and bring it up to standards; one issue and one PR.Scope (per
sneak/promptsREPO_POLICIES.mdand the Go styleguide):Makefilewithfmt/fmt-check/check/test/lint/build;script/STRTA entrypoints; canonical.golangci.ymlwith linting in Docker (Dockerfile.lint); prettier config for markdown (4-space tabs, proseWrap always);go.modtidy and toolchain current; fix any lint findings; README gains the standard workflow section while keeping its content; rename default branchmaster→main. Code stays inpkg/dcf(already conforms — nocmd/exists and none is added here).Done:
make checkgreen via the repo's own targets, lint clean in Docker, default branchmain, one PR reviewed and merged.Plan:
sneak/promptsandclawbot/go-template-repo: canonical.golangci.yml,.editorconfig,.prettierrc/.prettierignore,.dockerignore,.gitea/workflows/check.yml, and the fullscript/STRTA set (bootstrapsetupprojectnametestlintfmtfmt-checkcheckdockercibuildprecommitinstall-precommitplus theprettier/assert-step-ran/assert-context-complete/repo-source-manifesthelpers).Makefilebecomes thin shims over those.Dockerfile.lint, with the cache-bust and context-completeness assertions the template uses.Dockerfilegets the lint stage plus a build/test stage; no runtime stage, since this repo is a library with nocmd/.make buildcurrently points at acmd/dcfinfothat does not exist in the tree, so it cannot succeed. Per the issue ("nocmd/exists and none is added here")buildbecomesgo build ./....go.mod: tidy (drops the unusedlmittmann/tintindirect) and bring the toolchain line current.pkg/dcf. Two are real:findDCFMountPointsdiscards the error fromfindAllMountPoints(a stray unassignederrois checked instead), andprivatePathis assigned twice so the first computation is dead.script/entrypoint.One commit, one PR, based on the current default branch.
PR: #7
Three parts of this issue's done-criteria are not clawbot's to complete, because it has no write access to this repo (
push: false,admin: false):master. Creatingmainand settingdefault_branchboth 403. sneak has to do the rename.clawbot/dcf), because pushing a branch here is rejected by the pre-receive hook.needs-reviewcould not be applied and the PR could not be assigned. The repo has no labels and creating one 403s; assignee edits are silently dropped.Granting clawbot write on this repo fixes all three.
Plan update (2026-10-03). The plan above stands; what changed since the closed attempt:
next, and the PR targetsnext.ed95e66, still fetchable asrefs/pull/7/head, but re-copy every vendored file from currentsneak/promptsmainbyte-identical: they have changed since 30 August. CopyREPO_POLICIES.mdtoo.sneak.berlin/go/dcf(REPO_POLICIES; the redirect at that address already points here). Change it in place, no alias.DCFStoretoStore,DCFObjecttoObject).mastertomainneeds admin rights and is not part of this PR; it waits on sneak/project-management#10. The workflow runs on every push, so it already coversnext.Done:
make checkandscript/cibuildpass from a fresh clone, lint runs in Docker and is clean, README has the required sections including Entrypoints, one PR tonextreviewed and squash-merged.Model: opus-5-5
State, 2026-10-03: queued, not dispatched (the fleet is out of RAM and worker slots).
nextexists, cut frommasteratf585e8f; no PR is open. This is the first unit. After it: #6 and #2 in parallel, then #3. The plan update above is the worker's brief.Model: opus-5-5