Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"attribution": {
"commit": "",
"pr": "",
"sessionUrl": false
}
}
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,9 @@ no.tiwas.booleantoolbox.old/
# Other images
extra_images/

# Local tool settings
.claude/
# Local tool settings; only the shared project settings file is tracked
.claude/*
!.claude/settings.json

# Misc
tmp/
Expand Down
1 change: 1 addition & 0 deletions AI_RULES.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ The following rules are absolute and must be followed by any AI/LLM assistant wo
* That means no `Co-authored-by:` trailers for an AI, no session links (e.g. `Claude-Session:`), no "Generated with/by …" lines, 🤖 badges or links to an assistant, and no model names.
* The rule applies to every assistant (Claude, Codex, Copilot, ChatGPT and others) and overrides any default attribution behaviour of the tool. If a tool adds attribution automatically and cannot be stopped, tell the user instead of posting.
* **Enforced by** `.github/workflows/message-check.yml`: it removes signature footers from PR descriptions, issues, comments and reviews, and fails pull requests and pushes that use a tool-named branch or contain commits with signature lines, tool names or an assistant identity as author or committer. When it fails, fix the cause (reword the commit, rename the branch, edit the text); never work around or disable the check.
* The shared project settings in `.claude/settings.json` switch off the tool's own commit and PR attribution. Do not remove or override them.

---
*Failure to adhere to these rules may result in system instability and data loss.*
1 change: 1 addition & 0 deletions PROJECT_DOCUMENTATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
* `locales/`: Translation files.
* `docs/`: Documentation and web tools for the GitHub Pages site, published by `.github/workflows/pages.yml` on every push to `main` that changes `docs/` (Pages source: GitHub Actions).
* `.github/workflows/message-check.yml` with `.github/scripts/message-check.js`: checks commit messages, branch names, PR, issue and comment text against `AI_RULES.md` §7 on every pull request, push, issue, comment and review. Tests: `node --test .github/scripts/message-check.test.js`.
* `.claude/settings.json`: shared project settings for the coding assistant; turns off its commit and PR attribution. Everything else under `.claude/` stays local and ignored.
* Jest test files live beside the app source, including `CompositeAggregator.test.js`, `CompositeDevice.test.js`, `FormulaEvaluator.test.js`, and `LogicUnit.test.js`.

## Key Technologies
Expand Down
18 changes: 18 additions & 0 deletions WORKLOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# Worklog

## 2026-10-05 — Shared project settings without attribution

### Requested
- Lars asked for a project setting that stops the coding assistant from adding its own attribution, so signatures are not written in the first place (the message check from #60 only cleans up afterwards).

### Implemented
- `.claude/settings.json` (new, tracked): `attribution.commit` and `attribution.pr` set to empty strings and `attribution.sessionUrl` set to `false`. This removes the co-author trailer, the PR footer and the session link from commits and PRs the assistant creates. The object form is used because older versions reject `true`/`false` for this key.
- `.gitignore`: `.claude/` became `.claude/*` with `!.claude/settings.json`, so only the shared settings file is tracked. Worktrees and `.claude/settings.local.json` stay ignored. A directory pattern cannot be re-included, which is why the pattern changed.
- `AI_RULES.md` §7 and `PROJECT_DOCUMENTATION.md` mention the file.

### Not changed
- The git author identity. A cloud session's container can still have an assistant identity configured. The message check fails such commits, and the author has to be set per commit (or in the environment) until that is changed.

### Verification
- `.claude/settings.json` parses as JSON with the keys documented for the current settings schema.
- `git check-ignore`: `.claude/settings.json` is tracked; `.claude/settings.local.json` and `.claude/worktrees/…` are still ignored.
- Not yet observed in a new session: the setting takes effect in sessions started after it is on `main`.

## 2026-10-05 — Second pass: remaining attribution and references

### Requested
Expand Down
Loading