Skip to content

docs: require that only source is tracked - #23

Merged
retr0h merged 1 commit into
mainfrom
docs/no-stray-tracked-files
Aug 15, 2026
Merged

docs: require that only source is tracked#23
retr0h merged 1 commit into
mainfrom
docs/no-stray-tracked-files

Conversation

@retr0h

@retr0h retr0h commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Why

osapi-io/osapi#436 removes two tracked files. Only one of them violated an
existing requirement:

.just/remote/react.mod.just   justfiles spec: fetched files are
                              "excluded from version control"   ← covered
netplanStatus.txt             nothing in the corpus             ← not covered

netplanStatus.txt was netplan status redirected to a file and committed in
April — MAC addresses, a routable global IPv6, LAN subnets, and the local
k3s/flannel/CNI and LXD bridge topology. Nothing would have flagged it, because
no requirement said a repository tracks only its own source.

Change

A repository tracks only source, configuration, and documentation — not command
output, not build-time fetched artifacts, not data describing a particular
machine.

Plus the trap all these share, as its own scenario:

When an ignore rule is added for a file that is already committed, the file
is also removed from tracking, because the rule alone has no effect on it.

That is the third time this pattern has appeared in this standardization:

  1. docs/bun.lock in osapi — ignored and tracked, so the rule was inert
  2. docs/bun.lock in osapi-orchestrator — same
  3. .just/remote/react.mod.just in osapi — same

Each looked like policy while doing nothing. Recording it as a scenario means
the next one is a spec violation rather than a discovery.

Scope

repo-standards rather than go-library-standards, because it binds every
repository regardless of toolchain.

🤖 Generated with Claude Code

osapi tracked netplanStatus.txt — netplan output containing the
machine's MAC addresses, a routable IPv6 address, LAN subnets, and its
local bridge topology. Nothing in the corpus covered it, so nothing
would have caught it.

The .just/ half of that cleanup was already covered: the justfiles
capability says fetched files are excluded from version control. This
adds the missing half.

Include the trap both cases share — an ignore rule has no effect on a
file that is already committed, so the file must also be untracked.
That is the third time this pattern has appeared, after the bun.lock
rules and the .just/remote rule.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Thank you for contributing to this project! 😊🕹️

@retr0h
retr0h merged commit 817f982 into main Aug 15, 2026
6 checks passed
@retr0h
retr0h deleted the docs/no-stray-tracked-files branch August 15, 2026 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant