diff --git a/.abcd/docs-lint.json b/.abcd/docs-lint.json index 3ff6f5b6..4ad57611 100644 --- a/.abcd/docs-lint.json +++ b/.abcd/docs-lint.json @@ -22,7 +22,7 @@ "rules": { "links_resolve": {"enabled": true, "severity": "blocker"}, "stray_root_docs": {"enabled": true, "severity": "blocker", - "allowlist": ["README","AGENTS","CHANGELOG","CONTRIBUTING","SECURITY","LICENSE"]} + "allowlist": ["README","AGENTS","CHANGELOG","CONTRIBUTING","SECURITY","LICENSE","ACKNOWLEDGEMENTS"]} }, "exempt_paths": [], "exempt_if_status": [] diff --git a/.mailmap b/.mailmap new file mode 100644 index 00000000..363ab9f8 --- /dev/null +++ b/.mailmap @@ -0,0 +1,7 @@ +# Consolidate author identities for display in `git shortlog`, `git log`, and the +# GitHub contributor graph. This is display-only — it does not rewrite history. +# +# Canonical — fold by email +# Canonical Commit Name — fold a specific author +Alex Reppel <77722411+REPPL@users.noreply.github.com> <77722411+REPPL@users.noreply.github.com> +Alex Reppel <77722411+REPPL@users.noreply.github.com> t diff --git a/ACKNOWLEDGEMENTS.md b/ACKNOWLEDGEMENTS.md new file mode 100644 index 00000000..db4f5789 --- /dev/null +++ b/ACKNOWLEDGEMENTS.md @@ -0,0 +1,37 @@ +# Acknowledgements + +abcd stands on ideas, tools, and writing from many sources. This file records them +in three parts: the **development** that built abcd, the **inspirations** that +shaped its design, and the **references** it draws on. Each entry is added in the +same change that lands what it records — the pull request that adopts a pattern, +cites a source in an ADR, or integrates a tool — so the list grows with the work +rather than being reconstructed later. Runtime dependencies are not listed here; +they live in `go.mod` and the licence notices they carry. + +## Development + +Development of abcd has been assisted by Claude Code (Anthropic). Per-commit +disclosure uses an `Assisted-by:` trailer; the human contributor is the author of +record and is responsible for all AI-assisted output — its correctness, licensing, +and fit for the project. See [`CONTRIBUTING.md`](CONTRIBUTING.md). + +## Inspirations + +Ideas and methodologies that shaped the design — not code abcd depends on. + +- **Amazon "Working Backwards"** — the press-release format of abcd's intents. +- **Architecture Decision Records (MADR)** — the shape of the decision record. +- **Diátaxis** — the four-type model behind the user documentation. +- **Domain-Driven Design (bounded contexts)** — the surface boundaries. +- **The Linux kernel's coding-assistants policy** — the `Assisted-by:` attribution + model abcd adopts for AI-assisted commits. + +## References & sources + +Books, articles, and papers cited in the design record. + +- Eric Evans, *Domain-Driven Design* (Addison-Wesley, 2003). +- A. Mavin, P. Wilkinson, A. Harwood, M. Novak, "Easy Approach to Requirements + Syntax (EARS)" (RE, 2009). +- U.S. Copyright Office, *Copyright and Artificial Intelligence, Part 2: + Copyrightability* (2025). diff --git a/AGENTS.md b/AGENTS.md index edca309c..ef011ef1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -59,3 +59,21 @@ Development material lives under `.abcd/`; `docs/` is user-facing only. `go test ./...`, and `go test -race ./internal/...`). - Every new behaviour has a test watched fail before the change and pass after. - A CHANGELOG entry accompanies any user-facing change. + +## Attribution and acknowledgements + +- **AI-assisted commits carry an `Assisted-by:` trailer**, kernel format + (`Assisted-by: Claude:claude-opus-4-8`) — disclosure, not authorship. Never + `Co-Authored-By:` for AI (it asserts an authorship the tool does not hold and + inflates the contributor graph). A human-only `Signed-off-by:` (DCO) is deferred + to the public flip or the first outside contribution. The human is the author of + record, responsible for all AI-assisted output. See `CONTRIBUTING.md`. +- **Naming a tool is confined to credit.** User-facing prose (`README.md`, + `docs/`) stays host-agnostic — the `harness/*` docs-lint rules enforce it. The + one sanctioned place to name a tool is attribution: the README badge and + `ACKNOWLEDGEMENTS.md`, using the `` escape where a lint + root is involved. Private, unpublished tool names never appear in any committed + file. +- **`ACKNOWLEDGEMENTS.md`** credits ideas, tools, and writing in three parts — + development, inspirations, references. Add an entry in the same change that lands + it (adopts a pattern, cites a source in an ADR, integrates a tool), never later. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bbba59db..aa82f478 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,3 +12,27 @@ abcd is a private incubation repo for now; it flips public at maturity. See - A **CHANGELOG** entry accompanies any user-facing change. - **Docs** are Diátaxis (one type per page, present tense); the design record lives under `.abcd/`, never in `docs/`. + +## AI assistance and authorship + +Development of abcd is assisted by an AI coding assistant. Two rules keep that +honest: + +- **Human author of record.** The human contributor is the author of every change + they submit and is responsible for all AI-assisted output — its correctness, its + licensing, and its fit for the project. AI assistance never transfers that + responsibility. +- **Disclosure by trailer, not co-authorship.** AI-assisted commits carry an + `Assisted-by: Claude:` trailer (the Linux kernel format) — + disclosure only. abcd never uses `Co-Authored-By:` for AI: it asserts an + authorship the tool does not hold and inflates the contributor graph. A + human-only `Signed-off-by:` (DCO) is deferred until the repo is public or takes + its first outside contribution. + +## Acknowledgements + +[`ACKNOWLEDGEMENTS.md`](ACKNOWLEDGEMENTS.md) credits the ideas, tools, and writing +behind abcd in three parts — development, inspirations, and references. Add an entry +**in the same change that lands it**: the PR that adopts an external pattern, cites +a source in an ADR, or integrates a tool. Adding it at the moment it lands is what +keeps the file from going stale — it is never reconstructed after the fact. diff --git a/README.md b/README.md index 6b21c725..e08824e6 100644 --- a/README.md +++ b/README.md @@ -6,14 +6,16 @@

An opinionated, intent-driven development framework for product thinkers.

- Release - License - Last commit + + License: MIT + Status: experimental + Go 1.25 + Built with Claude Code
macOS Linux: core CI-tested -
- Status: experimental