Thank you for improving this executable supplement. Contributions must preserve the repository's evidence boundaries, source attribution, bilingual parity, and deterministic validation. Participation is governed by the Code of Conduct.
Focused corrections, stronger evidence, documentation improvements, sample hardening, and protocol-complete pattern records are welcome. Keep changes reviewable and do not combine unrelated cleanup with a pattern or evidence contribution.
The current scope of 10 GoF implementations and 2 implementations from other established traditions is neither an automatic admission cap nor a claim that this repository introduces new patterns. Scope may change only through evidence-based review; a familiar name or useful mechanism does not receive automatic admission.
A proposed pattern record must meet every requirement below:
- Identify a canonical, established source or tradition and record its source intent, category, provenance, and terminology without claiming ownership or invention.
- Apply the seven-element pattern-transfer protocol in full:
Source intent
Design forces
Participant correspondence
Consequences
Implementation evidence
Focused verification
Misuse discriminator
- Provide an exact participant map from source-pattern participants and relations to named Skillware artifacts. Labels, filenames, or approximate structural resemblance are insufficient.
- Include both a runnable positive case and a close negative or misuse case whose discriminator explains precisely which required relation is absent.
- Supply a standalone sample that runs from its own sample directory with Python 3.10+ and the Python standard library only. It must require no network access, credentials, repository-root imports, or undeclared dependencies.
- Assign every ecosystem claim a controlled claim status from the evidence vocabulary. When ecosystem correspondence is claimed, provide pinned public correspondence evidence at an immutable revision. When no ecosystem correspondence is claimed, use
not observableand state the evidentiary limit in the correspondence record. Constructive local evidence and ecosystem correspondence remain separate claims. - Maintain bilingual parity for English and Simplified Chinese definitions and sample instructions. Neither language may omit a material contract, limitation, command, or claim boundary.
- Add focused tests for the positive and negative cases, then run the full repository test suite and validator before requesting review.
- Include this declaration in the proposal or pull request: This contribution does not rename an engineering mechanism as a pattern.
Changes to an existing record must preserve the same requirements wherever the change affects the pattern mapping, evidence, sample behavior, or public claims.
From an installed checkout, run:
python3 -m unittest discover -s tests -v
python3 scripts/validate_repository.pyRun the affected sample's local tests from its sample directory as well. Commit generated expected outputs only when they are deterministic, reviewed, and asserted by tests.
Publication CI must validate CITATION.cff against the CFF 1.2.0 schema with an external validator. The validator is CI tooling and must not be added to runtime dependencies.
The file boundary is exhaustive and disjoint:
Apache-2.0
.github/**
.gitignore
pyproject.toml
scripts/**
tests/**
patterns/*/sample/**
CC-BY-4.0
README.md
README.zh-CN.md
CITATION.cff
CONTRIBUTING.md
CODE_OF_CONDUCT.md
catalog/**
docs/**
patterns/.gitkeep
patterns/*/** excluding patterns/*/sample/**
Canonical upstream texts (outside repository relicensing)
LICENSE-CODE
LICENSE-DOCS
By contributing code in the Apache-2.0 class, you agree to license it under the Apache License 2.0. By contributing material in the CC-BY-4.0 class, you agree to license it under Creative Commons Attribution 4.0 International. Pattern evidence, misuse records, metadata, and all other pattern paths outside sample/** belong to the CC-BY-4.0 class.
LICENSE-CODE and LICENSE-DOCS retain their canonical upstream texts and are outside repository relicensing. Linked third-party artifacts remain under their upstream licenses. A link, citation, or pinned revision does not relicense upstream material, and contributors must not copy third-party content unless its license permits inclusion under the applicable repository boundary.