Skip to content

feat(core): standardize SPDX license identifiers and copyright headers (#416) - #422

Merged
rosspeili merged 1 commit into
ARPAHLS:mainfrom
bd-c3:feat/issue-416-spdx-headers
Oct 11, 2026
Merged

rosspeili merged 1 commit into
ARPAHLS:mainfrom
bd-c3:feat/issue-416-spdx-headers

Conversation

@bd-c3

@bd-c3 bd-c3 commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

Description

Standardizes top-of-file SPDX license identifiers and explicit copyright notices across all core framework source files (skillware/**/*.py), CLI entry points, and skill authoring templates (templates/python_skill/) to reinforce the Permissive Fortress governance model, guard against attribution stripping when vendoring core files, and satisfy enterprise SCA compliance audits.

  • Added standardized 2-line header (# Copyright (c) 2026 ARPA Hellenic Logical Systems and # SPDX-License-Identifier: MIT) to all 23 Python source files under skillware/.
  • Added # SPDX-License-Identifier: MIT header across templates/python_skill/ (skill.py, test_skill.py, __init__.py) and updated starter template instructions.
  • Added automated CI parity test tests/test_spdx_headers.py enforcing presence and format of required headers.
  • Documented requirements in CONTRIBUTING.md and docs/contributing/ai_native_workflow.md.
  • Updated CHANGELOG.md under [Unreleased].

Type of Change

  • New Skill — new registry bundle under skills/
  • Skill Upgrade — changes to an existing skill under skills/
  • Bug Fix — incorrect runtime or framework behavior
  • Documentation — docs, README, CONTRIBUTING only
  • Framework Feature — skillware/core/ loader, env, adapters
  • CLI — skillware/cli.py, docs/usage/cli.md
  • Examples — examples/*.py, agent loops, examples/README.md
  • Packaging — PyPI wheel, pyproject.toml, MANIFEST.in
  • RFC / meta — templates, labels, CI, or large design doc

Checklist (all PRs)

  • Linked GitHub issue (Fixes #416)
  • Scope matches the issue — no unrelated refactors
  • Contribution complies with Legal notice and code ownership (original work, MIT license grant, no malicious logic)
  • python -m black --check ., flake8, and ruff check . pass locally (or CI-equivalent subset)
  • pytest skills/ and pytest tests/ pass locally when relevant
  • CHANGELOG.md updated under [Unreleased] when user-visible behavior changes
  • examples/README.md updated if this PR adds, renames, or removes a runnable script
  • Ran pytest tests/test_registry_docs.py when skills, examples index, or agent-loops matrix changed
  • Ran pytest tests/test_skill_docs.py when catalog Usage Examples or provider snippets changed

Related Issues

Fixes #416

ARPAHLS#416)

- Add standardized copyright and SPDX header to all core framework Python files in skillware/

- Add SPDX-License-Identifier header to python_skill starter templates in templates/python_skill/

- Add tests/test_spdx_headers.py enforcing presence of required headers in core and templates

- Document SPDX and copyright header standards in CONTRIBUTING.md, templates README, and AI workflow

- Update CHANGELOG.md under Unreleased

Fixes ARPAHLS#416
@rosspeili
rosspeili merged commit 2f20e20 into ARPAHLS:main Oct 11, 2026
7 checks passed
@rosspeili

Copy link
Copy Markdown
Contributor

Super clean cut @bd-c3 as always! thanks for this, merged <3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat]: Standardize SPDX License Identifiers and Copyright Headers Across Core and Template Files

2 participants