Summary
Documentation drift analysis comparing all docs (README.md, docs/*.md) against the actual source code. Found 13 issues ranging from broken links to outdated version references and missing documentation.
Findings
π΄ P0 β Critical / Broken User-Facing Paths
1. Broken example config link in docs/configuration.md
- File:
docs/configuration.md line 5
- Issue: Link uses an absolute local filesystem path:
/home/ubuntu/workspace/tailscale-usb/configs/tailstick.config.example.json
- Expected: Relative path:
(../configs/tailstick.config.example.json)
π P1 β Significant Inaccuracy
2. Go version mismatch in README.md
- File:
README.md line 29
- Doc says:
**go 1.22+** is required for building from source.
- Code says:
go.mod line 3: go 1.25.6
- Fix: Update to
**Go 1.25.6+**
3. --days flag constraint not documented
- File:
README.md line 67
- Doc says:
timed lease duration in days (implies any integer)
- Code says:
internal/tailscale/client.go validates --days must be one of {1, 3, 7} when used without --custom-days
- Fix: Update description to:
timed lease duration in days: 1, 3, or 7
π‘ P2 β Moderate Drift
4. Logger package doc claims "automatic rotation" β no rotation code exists
- File:
internal/logging/logger.go line 2
- Doc says: "provides structured, file-based logging with automatic rotation"
- Reality: Logger simply appends to a single file. No rotation logic.
5. make build-all doesn't produce arm64 binaries locally
- File:
README.md line 49, 183
- Doc says: release binaries for linux/amd64, linux/arm64, windows/amd64, windows/arm64
- Code says:
Makefile build-all only compiles linux/amd64 and windows/amd64
- Fix: Either update Makefile or clarify README that arm64 requires CI release workflow
6. Module path mismatch
- README badges:
github.com/Microck/tailstick
- go.mod:
github.com/tailstick/tailstick
- Potentially intentional but could confuse contributors
7. Architecture docs don't mention platform.Runner/dry-run abstraction
- File:
docs/architecture.md lines 27-33
- Missing documentation of the
platform.Runner interface which is a key architectural feature enabling dry-run mode
8. GUI missing nonInteractive support
- File:
internal/gui/server.go lines 33-43
- README documents
--non-interactive as a run flag but GUI enrollRequest has no such field
- README should clarify this is CLI-only
π΅ P3 β Minor / Cosmetic
9. Inconsistent capitalization in README platform table
- Lines 44-47 use lowercase "linux"/"windows" vs title case elsewhere
10. Release runbook go build multi-package differs from make build convention
- File:
docs/release-runbook.md line 25
11. Env expansion vs *Env fields interaction could be clearer
- File:
docs/configuration.md lines 69-77
Recommended Priority Fixes
- Fix broken link in
docs/configuration.md line 5
- Update Go version in
README.md line 29
- Clarify
--days constraints in README
- Fix Logger package doc β remove "automatic rotation" claim
- Align
make build-all with documented architectures or update README
Automated by Nightshift v3 (GLM 5.1)
Summary
Documentation drift analysis comparing all docs (README.md, docs/*.md) against the actual source code. Found 13 issues ranging from broken links to outdated version references and missing documentation.
Findings
π΄ P0 β Critical / Broken User-Facing Paths
1. Broken example config link in docs/configuration.md
docs/configuration.mdline 5/home/ubuntu/workspace/tailscale-usb/configs/tailstick.config.example.json(../configs/tailstick.config.example.json)π P1 β Significant Inaccuracy
2. Go version mismatch in README.md
README.mdline 29**go 1.22+** is required for building from source.go.modline 3:go 1.25.6**Go 1.25.6+**3.
--daysflag constraint not documentedREADME.mdline 67timed lease duration in days(implies any integer)internal/tailscale/client.govalidates--daysmust be one of{1, 3, 7}when used without--custom-daystimed lease duration in days: 1, 3, or 7π‘ P2 β Moderate Drift
4. Logger package doc claims "automatic rotation" β no rotation code exists
internal/logging/logger.goline 25.
make build-alldoesn't produce arm64 binaries locallyREADME.mdline 49, 183Makefilebuild-allonly compileslinux/amd64andwindows/amd646. Module path mismatch
github.com/Microck/tailstickgithub.com/tailstick/tailstick7. Architecture docs don't mention platform.Runner/dry-run abstraction
docs/architecture.mdlines 27-33platform.Runnerinterface which is a key architectural feature enabling dry-run mode8. GUI missing
nonInteractivesupportinternal/gui/server.golines 33-43--non-interactiveas a run flag but GUIenrollRequesthas no such fieldπ΅ P3 β Minor / Cosmetic
9. Inconsistent capitalization in README platform table
10. Release runbook
go buildmulti-package differs frommake buildconventiondocs/release-runbook.mdline 2511. Env expansion vs *Env fields interaction could be clearer
docs/configuration.mdlines 69-77Recommended Priority Fixes
docs/configuration.mdline 5README.mdline 29--daysconstraints in READMEmake build-allwith documented architectures or update READMEAutomated by Nightshift v3 (GLM 5.1)