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
15 changes: 11 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,17 @@

## Licensing, roadmap, and validation

- New server work is MIT. Do not copy/adapt GPL implementation or tests.
Historical reuse follows local `PROVENANCE.md` and the canonical
`atrinik/atrinik/docs/PROVENANCE.md` registry; incomplete, mixed, or uncertain
evidence fails closed.
- New server work is MIT. Do not add GPL/AGPL dependencies, bundles, or
unapproved GPL material. Independent implementation remains the default when
exact historical reuse cannot be proven. Admit reuse only under local
`PROVENANCE.md` and the canonical
[`atrinik/atrinik` registry](https://github.com/atrinik/atrinik/blob/main/docs/PROVENANCE.md):
each selected, independently separable contribution must itself fit one
historical row's “original past Atrinik contributions solely authored”
scope. Rows do not combine for joint, agent-generated, or inseparable work;
later or agent-generated material needs separate contemporaneous compatible
rights. The Classic source stays GPL-2.0-or-later; only exact recorded
destination material receives MIT permission.
- `atrinik/atrinik#168` is the cross-repository roadmap; local issue acceptance
criteria and milestones own delivery. Do not duplicate the M1-M6 plan here.
- Run the real aggregate contract now present in this repository:
Expand Down
60 changes: 40 additions & 20 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
# Contributing to the replacement server

All implementation in this repository is independently written under MIT. The
classic server and its runtime Python are GPL history, not source material for
this repository.
All implementation currently in this repository was independently written
under MIT; no historical grant was used for the server foundation. The Classic
server and its runtime Python remain GPL in their source repository. This
historical implementation record is not a categorical ban on later reuse of
eligible historical source under the historical-grant process below.

Direct human-written code contributions are welcome; contributors do not need
to use an agent. “Agentic” describes the project's primary current
software-development workflow. Human- and agent-assisted contributions follow
the same clean-room, review, provenance, testing, and repository-validation
requirements below.
the same review, provenance, testing, and repository-validation requirements
below.

## Permitted design inputs

Expand All @@ -18,13 +20,20 @@ clean-room fixtures, and permissively licensed dependencies. Preserve a public
gameplay rule in a new design: for example, a rule saying an exhausted player
cannot attack may become a table-driven Go precondition. Do not preserve the
classic function decomposition, control flow, names, comments, or test cases
that happened to implement that rule.
that happened to implement that rule unless the exact material is admitted
through the historical-reuse process below.

Do not copy, transliterate, mechanically translate, or structurally rewrite GPL
source. Do not copy GPL tests or fixtures, or add GPL/AGPL dependencies. A
black-box comparison records inputs and externally observable results without
consulting implementation source; translation derives the new code structure
from that source and is prohibited.
Independent implementation remains the default when exact historical reuse
cannot be proven. Eligible, independently separable Classic material may be
inspected as source reference, copied, ported or translated, adapted, or
relicensed for an MIT destination only after the historical-reuse review below.
Unadmitted GPL source, tests, or fixtures must not be copied, transliterated,
mechanically translated, or structurally rewritten. This source-reuse route
does not permit adding GPL/AGPL dependencies, bundled GPL runtime Python, or
other GPL packages. A black-box comparison records inputs and externally
observable results without consulting implementation source; source-informed
work is recorded as historical reuse rather than described as independent
implementation.

## Provenance records

Expand All @@ -34,13 +43,22 @@ and owning issue. Generated code records its input revision, generator version,
and deterministic drift check. A pull request must identify copied fixtures or
assets explicitly; silence is not a license record.

The organization’s approved provenance-grantor registry is exhaustive. A grant
may be used only after the complete non-shallow history proves sole original
authorship, identities, separability, and absence of embedded third-party work.
Record exact source and destination paths and revisions, the history evidence,
transformation, third-party review, grantor, and exact wrapper-repository
revision containing the registry. Uncertainty fails closed. No grant is used by
the M1 server foundation.
The organization’s canonical
[`atrinik/atrinik` provenance-grantor registry](https://github.com/atrinik/atrinik/blob/main/docs/PROVENANCE.md)
is exhaustive. A grant may be used only after complete non-shallow,
rename-aware history proves that each selected, independently separable
contribution fits one applicable row's “original past Atrinik contributions
solely authored” scope. Historical rows cannot be combined to cover a jointly
authored contribution, agent-generated output, or inseparable mixed work; later
or agent-generated material needs its own contemporaneous compatible rights.
Record exact source and destination paths and revisions, history and identity
evidence, transformation, embedded-material review, grantor, reviewer,
destination license/notices, and the exact registry revision. Tests, fixtures,
generated output, assets, and dependency code receive no presumption of
coverage. The checked-in Classic distribution remains GPL-2.0-or-later; MIT
permission applies only to the exact selected destination material recorded by
the review. Uncertainty fails closed. No grant is used by the M1 server
foundation.

Mixed-license maps, archetypes, audio, graphics, and other content remain
external data under their own notices. Loading them does not make them MIT and
Expand All @@ -49,8 +67,10 @@ does not change the server’s independent MIT license.
## Pull-request checklist

- [ ] The design inputs and original authorship are recorded in `PROVENANCE.md`.
- [ ] No classic/GPL implementation, test, fixture, or runtime Python was copied
or used as a structural specification.
- [ ] Classic/GPL implementation, test, fixture, or runtime Python was either
not used or every selected contribution has the complete historical-grant
or separate-rights destination record above; no GPL dependency or bundle
was added.
- [ ] Generated files record inputs/tools and pass a deterministic drift check,
or the pull request states that none are present.
- [ ] Every copied fixture, asset, and data input has an explicit license and
Expand Down
18 changes: 18 additions & 0 deletions PROVENANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,21 @@ subject to the same pinned generator/drift contract.
The external content inventory is evidence for replacement ownership and
burn-down, never an implementation specification. See `CONTRIBUTING.md` for the
required record when a future module or fixture is added.

The independent M1 history above does not impose a categorical ban on later
reuse of eligible historical Classic source. Independent implementation
remains the default when exact historical reuse cannot be proven. Under the
canonical
[`atrinik/atrinik` registry](https://github.com/atrinik/atrinik/blob/main/docs/PROVENANCE.md),
each selected, independently separable contribution must itself fit one
applicable row's “original past Atrinik contributions solely authored” scope.
Historical rows cannot be combined to cover a jointly authored contribution,
agent-generated output, or inseparable mixed work; later or agent-generated
material needs its own contemporaneous compatible rights. Complete,
rename-aware history, identity, embedded-material, separability,
transformation, reviewer, and destination-record evidence is required. Tests,
fixtures, generated output, assets, and dependency code receive no presumption
of coverage, and this source-reuse route does not permit GPL/AGPL dependencies
or bundles. The checked-in Classic distribution remains GPL-2.0-or-later; MIT
permission applies only to the exact selected destination material recorded by
the review.
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ next-generation reimplementation.

## Development model

The replacement server is fresh, clean-room MIT-licensed Go code developed
The current replacement server foundation is fresh, independently authored
MIT-licensed Go code developed
primarily through Codex workflows under maintainer direction, review,
provenance controls, tests, and repository validation. It reimplements and
improves Classic behavior and project direction; it is not a mechanical C or
Expand All @@ -25,7 +26,12 @@ server's MIT license.
New source code in this repository is licensed under the MIT License. The
classic GPL server is maintained in the
[`server/` module of `atrinik/classic`](https://github.com/atrinik/classic/tree/main/server).
Do not copy, translate, or adapt its source code.
Its checked-in distribution remains GPL-2.0-or-later. Exact historical source
reuse is possible only under the temporal, sole-authorship, separability, and
destination-record requirements in the [provenance policy](PROVENANCE.md).
That source-reuse route does not permit GPL dependencies or bundles; MIT
permission applies only to the exact selected destination material recorded by
the review.

## Foundation status

Expand Down