Skip to content

Commit ea420a1

Browse files
authored
docs: acknowledgements, AI-attribution policy, badge fix (#3)
Establish how abcd credits contributions and present the repo honestly while private. - ACKNOWLEDGEMENTS.md (new): three sections — development (AI assistance now; human contributors + integrated tools as they land), inspirations (ideas that shaped the design), references (books/articles/papers). Entries are added in the change that lands them, so the file never goes stale. - AI-attribution policy (AGENTS.md, CONTRIBUTING.md): AI-assisted commits carry a kernel-style `Assisted-by:` trailer — disclosure, not authorship; never `Co-Authored-By:` for AI. Human is author of record; DCO deferred to the public flip. Naming a tool is confined to attribution/acknowledgement; user-facing prose stays host-agnostic. - README badges: drop the dynamic github/* badges that cannot read a private repo (release, last-commit), keep a static set (license, status, Go), add a Built-with-Claude-Code badge behind the docs-lint allow escape. Dynamic badges return at the public flip. - docs-lint: allow ACKNOWLEDGEMENTS at the repo root. - .mailmap: consolidate author identities for display (folds a stray unset-identity commit and a second display name into one), without rewriting history. Assisted-by: Claude:claude-opus-4-8
1 parent c91b959 commit ea420a1

6 files changed

Lines changed: 94 additions & 6 deletions

File tree

.abcd/docs-lint.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"rules": {
2323
"links_resolve": {"enabled": true, "severity": "blocker"},
2424
"stray_root_docs": {"enabled": true, "severity": "blocker",
25-
"allowlist": ["README","AGENTS","CHANGELOG","CONTRIBUTING","SECURITY","LICENSE"]}
25+
"allowlist": ["README","AGENTS","CHANGELOG","CONTRIBUTING","SECURITY","LICENSE","ACKNOWLEDGEMENTS"]}
2626
},
2727
"exempt_paths": [],
2828
"exempt_if_status": []

.mailmap

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Consolidate author identities for display in `git shortlog`, `git log`, and the
2+
# GitHub contributor graph. This is display-only — it does not rewrite history.
3+
#
4+
# Canonical <canonical-email> <commit-email> — fold by email
5+
# Canonical <canonical-email> Commit Name <commit-email> — fold a specific author
6+
Alex Reppel <77722411+REPPL@users.noreply.github.com> <77722411+REPPL@users.noreply.github.com>
7+
Alex Reppel <77722411+REPPL@users.noreply.github.com> t <t@t>

ACKNOWLEDGEMENTS.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Acknowledgements
2+
3+
abcd stands on ideas, tools, and writing from many sources. This file records them
4+
in three parts: the **development** that built abcd, the **inspirations** that
5+
shaped its design, and the **references** it draws on. Each entry is added in the
6+
same change that lands what it records — the pull request that adopts a pattern,
7+
cites a source in an ADR, or integrates a tool — so the list grows with the work
8+
rather than being reconstructed later. Runtime dependencies are not listed here;
9+
they live in `go.mod` and the licence notices they carry.
10+
11+
## Development
12+
13+
Development of abcd has been assisted by Claude Code (Anthropic). Per-commit
14+
disclosure uses an `Assisted-by:` trailer; the human contributor is the author of
15+
record and is responsible for all AI-assisted output — its correctness, licensing,
16+
and fit for the project. See [`CONTRIBUTING.md`](CONTRIBUTING.md).
17+
18+
## Inspirations
19+
20+
Ideas and methodologies that shaped the design — not code abcd depends on.
21+
22+
- **Amazon "Working Backwards"** — the press-release format of abcd's intents.
23+
- **Architecture Decision Records (MADR)** — the shape of the decision record.
24+
- **Diátaxis** — the four-type model behind the user documentation.
25+
- **Domain-Driven Design (bounded contexts)** — the surface boundaries.
26+
- **The Linux kernel's coding-assistants policy** — the `Assisted-by:` attribution
27+
model abcd adopts for AI-assisted commits.
28+
29+
## References & sources
30+
31+
Books, articles, and papers cited in the design record.
32+
33+
- Eric Evans, *Domain-Driven Design* (Addison-Wesley, 2003).
34+
- A. Mavin, P. Wilkinson, A. Harwood, M. Novak, "Easy Approach to Requirements
35+
Syntax (EARS)" (RE, 2009).
36+
- U.S. Copyright Office, *Copyright and Artificial Intelligence, Part 2:
37+
Copyrightability* (2025).

AGENTS.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,21 @@ Development material lives under `.abcd/`; `docs/` is user-facing only.
5959
`go test ./...`, and `go test -race ./internal/...`).
6060
- Every new behaviour has a test watched fail before the change and pass after.
6161
- A CHANGELOG entry accompanies any user-facing change.
62+
63+
## Attribution and acknowledgements
64+
65+
- **AI-assisted commits carry an `Assisted-by:` trailer**, kernel format
66+
(`Assisted-by: Claude:claude-opus-4-8`) — disclosure, not authorship. Never
67+
`Co-Authored-By:` for AI (it asserts an authorship the tool does not hold and
68+
inflates the contributor graph). A human-only `Signed-off-by:` (DCO) is deferred
69+
to the public flip or the first outside contribution. The human is the author of
70+
record, responsible for all AI-assisted output. See `CONTRIBUTING.md`.
71+
- **Naming a tool is confined to credit.** User-facing prose (`README.md`,
72+
`docs/`) stays host-agnostic — the `harness/*` docs-lint rules enforce it. The
73+
one sanctioned place to name a tool is attribution: the README badge and
74+
`ACKNOWLEDGEMENTS.md`, using the `<!-- docs-lint: allow -->` escape where a lint
75+
root is involved. Private, unpublished tool names never appear in any committed
76+
file.
77+
- **`ACKNOWLEDGEMENTS.md`** credits ideas, tools, and writing in three parts —
78+
development, inspirations, references. Add an entry in the same change that lands
79+
it (adopts a pattern, cites a source in an ADR, integrates a tool), never later.

CONTRIBUTING.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,27 @@ abcd is a private incubation repo for now; it flips public at maturity. See
1212
- A **CHANGELOG** entry accompanies any user-facing change.
1313
- **Docs** are Diátaxis (one type per page, present tense); the design record lives
1414
under `.abcd/`, never in `docs/`.
15+
16+
## AI assistance and authorship
17+
18+
Development of abcd is assisted by an AI coding assistant. Two rules keep that
19+
honest:
20+
21+
- **Human author of record.** The human contributor is the author of every change
22+
they submit and is responsible for all AI-assisted output — its correctness, its
23+
licensing, and its fit for the project. AI assistance never transfers that
24+
responsibility.
25+
- **Disclosure by trailer, not co-authorship.** AI-assisted commits carry an
26+
`Assisted-by: Claude:<model-version>` trailer (the Linux kernel format) —
27+
disclosure only. abcd never uses `Co-Authored-By:` for AI: it asserts an
28+
authorship the tool does not hold and inflates the contributor graph. A
29+
human-only `Signed-off-by:` (DCO) is deferred until the repo is public or takes
30+
its first outside contribution.
31+
32+
## Acknowledgements
33+
34+
[`ACKNOWLEDGEMENTS.md`](ACKNOWLEDGEMENTS.md) credits the ideas, tools, and writing
35+
behind abcd in three parts — development, inspirations, and references. Add an entry
36+
**in the same change that lands it**: the PR that adopts an external pattern, cites
37+
a source in an ADR, or integrates a tool. Adding it at the moment it lands is what
38+
keeps the file from going stale — it is never reconstructed after the fact.

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,16 @@
66

77
<p>An opinionated, intent-driven development framework for <a href="https://x.com/signulll/status/2030404483897815089">product thinkers</a>.</p>
88

9-
<a href="https://github.com/REPPL/abcd-cli/releases"><img src="https://img.shields.io/github/v/release/REPPL/abcd-cli?cacheSeconds=300" alt="Release"></a>
10-
<a href="https://github.com/REPPL/abcd-cli/blob/main/LICENSE"><img src="https://img.shields.io/github/license/REPPL/abcd-cli?cacheSeconds=300" alt="License"></a>
11-
<img src="https://img.shields.io/github/last-commit/REPPL/abcd-cli?cacheSeconds=300" alt="Last commit">
9+
<!-- Static badges only: shields.io cannot read a private repo's API, so dynamic
10+
github/* badges (release, last-commit) render as errors while private. Re-add
11+
them at the public flip, when the API is readable. -->
12+
<a href="https://github.com/REPPL/abcd-cli/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License: MIT"></a>
13+
<img src="https://img.shields.io/badge/status-experimental-orange" alt="Status: experimental">
14+
<img src="https://img.shields.io/badge/Go-1.25-00ADD8?logo=go&logoColor=white" alt="Go 1.25">
15+
<a href="https://claude.ai/claude-code"><img src="https://img.shields.io/badge/Built_with-Claude_Code-3B5CE7?logo=anthropic&logoColor=white" alt="Built with Claude Code"></a> <!-- docs-lint: allow — attribution names the tool by design (see ACKNOWLEDGEMENTS.md) -->
1216
<br />
1317
<img src="https://img.shields.io/badge/macOS-000000?logo=apple&logoColor=white" alt="macOS">
1418
<img src="https://img.shields.io/badge/Linux-core%20CI--tested-FCC624?logo=linux&logoColor=black" alt="Linux: core CI-tested">
15-
<br />
16-
<img src="https://img.shields.io/badge/status-experimental-orange" alt="Status: experimental">
1719

1820
</div>
1921

0 commit comments

Comments
 (0)