Revise the policy alignment roadmap
This commit is contained in:
@@ -1,148 +1,216 @@
|
|||||||
# Project Licensing Policy Alignment
|
# Standard Repository Policy Alignment
|
||||||
|
|
||||||
## Status
|
## Status And Intent
|
||||||
|
|
||||||
Accepted feature direction, recorded on 2026-09-26; implementation is pending.
|
Agreed on 2026-09-28; implementation is pending. This roadmap replaces the
|
||||||
Align the policies and supporting documentation with the agreed licensing
|
earlier licensing-only proposal with alignment of the complete applicable
|
||||||
conventions below. This roadmap defines the target state, not an implementation
|
policy set and its supporting documentation. It defines the targeted end state
|
||||||
sequence. The [OSS policy](../policy/oss.md) will own the ongoing rules.
|
and required changes, not staged implementation instructions.
|
||||||
|
|
||||||
## Current Baseline
|
The goal is identical policy language across adopting projects except where a
|
||||||
|
substantive, locally significant requirement or decision warrants customization.
|
||||||
|
Adopt upstream wording verbatim for non-substantive differences. Existing local
|
||||||
|
phrasing is not, by itself, a reason to retain a variation.
|
||||||
|
|
||||||
The reviewed Scriptorium revision is `39d3508`. Its earlier policy adoption
|
## Review Revision And Current Baseline
|
||||||
is complete; that revision's `docs/roadmap/policy.md` preserves the previous
|
|
||||||
adoption record in Git. Current policy versions are:
|
|
||||||
|
|
||||||
- OSS policy base version 1.1;
|
The fixed upstream review revision is
|
||||||
- documentation policy base version 1.4; and
|
`d84a38ebab26f048cafbe59a2246700c35d29843`.
|
||||||
- release policy base version 1.2.
|
Use the [adoption and update guide at that revision](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/docs/adoption.md)
|
||||||
|
for this adoption. The review compared current local documents directly with
|
||||||
|
that revision; reconstruction or assessment of historical adoption baselines
|
||||||
|
is not required.
|
||||||
|
|
||||||
The maintainer has already changed the project grant to GPL-3.0-or-later.
|
The reviewed Scriptorium revision is
|
||||||
[COPYRIGHT](../../COPYRIGHT) follows the agreed application convention,
|
`d6aecf5c50269b7d130dbf19f416a67454cd9778`. It has six adopted policies,
|
||||||
including project identity, copyright holder and year, SPDX expression,
|
without per-document Upstream Source metadata, and no `docs/policy/meta.md`.
|
||||||
grant, disclaimer, and third-party statement. [LICENSE](../../LICENSE) contains
|
The policy targets below supersede the earlier roadmap's narrower version
|
||||||
the complete GPLv3 text; its only byte-level difference from the standard
|
targets.
|
||||||
reference is a missing final newline. No substantive rewrite is needed.
|
|
||||||
|
|
||||||
Remaining differences are documentation and policy alignment:
|
| Policy and proposed Upstream Source | Current base | Target base | Target treatment |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| [agents.md](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/docs/policy/agents.md) | 1.1 | 1.3 | Adopt shared rules verbatim, including commit discipline. |
|
||||||
|
| [architecture.md](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/docs/policy/architecture.md) | 1.1 | 1.3 | Adopt common principles and customize for Scriptorium's established boundaries. |
|
||||||
|
| [documentation.md](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/docs/policy/documentation.md) | 1.4 | 1.11 | Adopt shared language and tailor the canonical topic map. |
|
||||||
|
| [testing.md](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/docs/policy/testing.md) | 1.1 | 1.3 | Adopt shared guidance with focused local test ownership. |
|
||||||
|
| [release.md](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/docs/policy/release.md) | 1.2 | 1.4 | Adopt common rules and retain justified release choices. |
|
||||||
|
| [oss.md](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/docs/policy/oss.md) | 1.1 | 1.8 | Adopt licensing, attribution, and reference-example conventions. |
|
||||||
|
| [meta.md](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/docs/policy/meta.md) | Not adopted | 1.0 | Add provenance, local authority, and upstream discovery. |
|
||||||
|
|
||||||
- The README and OSS policy's README example still say BSD 3-Clause.
|
Every existing policy needs language and provenance updates. No adopted policy
|
||||||
- Documentation ownership does not yet recognize `COPYRIGHT`, and the
|
is entirely update-free, but established application decisions, dependency
|
||||||
attribution introduction links only to `LICENSE` for the project's terms.
|
licenses, and release mechanics need no substantive change.
|
||||||
- The release procedure and remaining roadmap handoffs prescribe the old
|
|
||||||
`LICENSE | ATTRIBUTION` footer.
|
|
||||||
- The contributor reading guide routes dependency and attribution work to the
|
|
||||||
OSS policy but does not explicitly include project licensing.
|
|
||||||
|
|
||||||
Dependency entries already use imported-commit source and notice links and
|
Current supporting-document gaps include the README's obsolete BSD project
|
||||||
applicable standard and companion texts. The hosted workflow already reuses
|
license statement, the release procedure's two-link footer, an attribution
|
||||||
the checked-in release note unchanged as the hosted body.
|
document that does not follow the new exact House Format, and orientation
|
||||||
|
guidance that requires architecture reading even for unrelated work.
|
||||||
|
The architecture policy's command inventory also omits the implemented
|
||||||
|
`config` command family.
|
||||||
|
|
||||||
## Targeted End State
|
## Target Policy Language And Local Customizations
|
||||||
|
|
||||||
### Licensing Policy And Ownership
|
Remove every `Base Policy Template` section and its adoption instructions.
|
||||||
|
Replace instructional application-specific placeholders with actual decisions;
|
||||||
|
do not leave template examples describing nonexistent components.
|
||||||
|
|
||||||
Adopt OSS policy base version **1.2** and documentation policy base version
|
Use upstream common language verbatim. Keep necessary local requirements
|
||||||
**1.5**, preserving Scriptorium-specific customizations. Agent, architecture,
|
clearly identifiable rather than paraphrasing entire shared sections.
|
||||||
testing, and release policies need no changes for this adoption; their versions
|
The following customizations are justified:
|
||||||
remain unchanged.
|
|
||||||
|
|
||||||
| Canonical document | Target responsibility |
|
- **Architecture:** preserve PromptKit and ConfigKit ownership, full support
|
||||||
| --- | --- |
|
for valid PromptKit definitions, public dependency boundaries, HTTP artifact
|
||||||
| `docs/policy/oss.md` | Project licensing conventions, author choices, upstream attribution, and discoverability. |
|
containment, and simple predefined-prompt execution. Preserve caller-visible
|
||||||
| `COPYRIGHT` | Project identity, holders and years, SPDX expression, grant, disclaimer, and third-party statement. |
|
request independence alongside shared engine and backend capacity state.
|
||||||
| `LICENSE` | Complete project license text and incorporated companion text where applicable. |
|
These are deliberate product and safety decisions, not generic template
|
||||||
| `docs/oss/attribution.md` | Component-specific upstream notices and imported-source references. |
|
choices. Adopt upstream architectural principles proportionately; they do
|
||||||
| `docs/oss/licenses/` | Applicable complete standard dependency license texts. |
|
not require a wrapper or interface for every library. Correct the command
|
||||||
|
inventory and keep concrete package mechanics in internal documentation.
|
||||||
|
- **Documentation ownership:** tailor the topic map to the executable CLI and
|
||||||
|
HTTP application. Scriptorium does not offer a reusable public Go API;
|
||||||
|
consumer guidance covers executable use and migration to PromptKit.
|
||||||
|
PromptKit remains the owner of framework formats. Use upstream wording for
|
||||||
|
generic ownership, example, and ADR guidance instead of retaining redundant
|
||||||
|
local paraphrases. Preserve accepted ADR decisions and their history.
|
||||||
|
- **Testing:** retain a short project-specific ownership section distinguishing
|
||||||
|
Scriptorium's integration and adapter tests from upstream framework/parser
|
||||||
|
tests. This prevents duplication of PromptKit and ConfigKit test matrices.
|
||||||
|
HTTP containment and shared-capacity behavior justify focused adapter
|
||||||
|
coverage. Upstream observations about domain coverage are not quotas or a
|
||||||
|
hierarchy that displaces risk-based testing.
|
||||||
|
- **Release:** preserve branch-before-tag publication, annotated tags,
|
||||||
|
Linux amd64/arm64 binaries and checksums, and asynchronous artifact delivery.
|
||||||
|
Retain race testing because the server shares concurrent engine state and
|
||||||
|
source guards because local replacements, workspaces, or vendoring can hide
|
||||||
|
unpublished dependency substitutions. Keep gate rationale in policy and
|
||||||
|
concrete commands, targets, and publication choices in the release procedure.
|
||||||
|
Upstream's optional atomic-push approach does not require a new feature.
|
||||||
|
- **OSS:** use Scriptorium's actual GPL-3.0-or-later grant in the project
|
||||||
|
example. Preserve dependency grants and the settled House Format
|
||||||
|
interpretation for upstream notice links. The code grant does not extend
|
||||||
|
to separately licensed copied policy material.
|
||||||
|
|
||||||
The standard defaults are GPL-3.0-or-later for applications and
|
No agent-policy exception is needed: upstream already preserves the local
|
||||||
LGPL-3.0-or-later for libraries. An explicit author choice takes precedence
|
commit authorization and safety boundaries. Stylistic preferences, alternate
|
||||||
without exception rationale, extra approval, or compensating controls. These
|
wording, and generic elaboration do not justify additional exceptions.
|
||||||
defaults guide new selections: adoption does not relicense existing code,
|
|
||||||
override third-party terms, or imply different grants for individual packages.
|
|
||||||
|
|
||||||
Scriptorium's selected grant remains the one already recorded in `COPYRIGHT`.
|
## Provenance And Public Discovery
|
||||||
Holder and year information is maintained accurately, not inferred from
|
|
||||||
maintainer identity or advanced automatically. No blanket per-file-header
|
|
||||||
requirement is introduced; applicable existing notices remain preserved.
|
|
||||||
|
|
||||||
### Discoverability
|
When adoption lands, each of the seven policies records its target
|
||||||
|
`Base Policy Version`, actual local adoption date in `Last Updated`, and
|
||||||
|
`Upstream Source` pointing to the exact corresponding file linked in the
|
||||||
|
table above. Do not substitute a repository homepage, moving branch, another
|
||||||
|
policy's URL, or a historical source revision for that per-document link.
|
||||||
|
Retain accurate provenance in later local edits.
|
||||||
|
|
||||||
The README ends with a friendly GPL v3 or later statement linking to
|
The new local `docs/policy/meta.md` follows upstream language after removing
|
||||||
`COPYRIGHT`, followed by the attribution link. The attribution introduction
|
its template section. It establishes that adopted local policies govern the
|
||||||
links to both the project grant and complete license text without duplicating
|
repository and that upstream changes require deliberate adoption. Its public
|
||||||
the grant.
|
discovery links remain current:
|
||||||
|
|
||||||
New release notes and hosted download pages end with
|
- [Standard Repository Policies](https://gitea.maximumdirect.net/eric/policy).
|
||||||
`COPYRIGHT | LICENSE | ATTRIBUTION`. All three links use absolute URLs at the
|
- [Current adoption and update guide](https://gitea.maximumdirect.net/eric/policy/src/branch/main/docs/adoption.md).
|
||||||
release's immutable tag or source revision. Upstream component links continue
|
|
||||||
identifying imported commits, not Scriptorium release tags. The release
|
|
||||||
procedure owns concrete URLs; the hosted workflow reuses the note rather than
|
|
||||||
maintaining a separate footer.
|
|
||||||
|
|
||||||
## Recommended Changes From The Baseline
|
Adopted-source and example links remain commit-pinned. Preserve the valid
|
||||||
|
commit-pinned example links supplied in the selected OSS policy; their asset
|
||||||
|
revision need not be rewritten merely to match the policy review revision.
|
||||||
|
Public discovery and attribution in this agreed adoption supersede the earlier
|
||||||
|
instruction not to reference the policy repository.
|
||||||
|
|
||||||
- **[OSS policy](../policy/oss.md):** adopt the v1.2 scope, author-choice rules,
|
## Orientation And Selective Reading
|
||||||
canonical locations, coordinated maintenance, and navigation conventions.
|
|
||||||
Use Scriptorium's actual grant in examples and link to local canonical files.
|
|
||||||
- **[Documentation policy](../policy/documentation.md):** adopt the v1.5
|
|
||||||
ownership entries and project-licensing boundary. Preserve local ownership,
|
|
||||||
minimal-example guidance, ADR lifecycle, and policy metadata conventions.
|
|
||||||
Both revised policies record their new base version and actual adoption date.
|
|
||||||
- **[README](../../README.md) and [attribution](../oss/attribution.md):** correct
|
|
||||||
the stale project-license description and provide the targeted navigation.
|
|
||||||
Preserve legitimate BSD dependency attribution and grants at imported
|
|
||||||
revisions; do not infer new terms from a dependency's latest checkout.
|
|
||||||
- **[Contributor guide](../development.md):** explicitly route project-license
|
|
||||||
changes to the OSS policy and relevant canonical documents.
|
|
||||||
- **[Release procedure](../release.md):** add the immutable `COPYRIGHT` link to
|
|
||||||
the footer example and update the references to two URLs. The release policy
|
|
||||||
already delegates footer conventions to the OSS policy; this adoption needs
|
|
||||||
no release-policy version bump or automation change.
|
|
||||||
- **Active roadmap handoffs:** update or supersede still-operative old-footer
|
|
||||||
directions in the [implementation record](implementation.md) with a link to
|
|
||||||
the canonical release procedure. Preserve historical completion evidence.
|
|
||||||
- **Licensing files:** preserve the already-aligned grant and text. Restoring
|
|
||||||
`LICENSE`'s final newline is optional mechanical alignment, not a substantive
|
|
||||||
correction or new release gate. Obtain any needed standard license texts
|
|
||||||
from their public publishers; no additional license collection is needed.
|
|
||||||
|
|
||||||
## Preserved Scope
|
Adapt [the upstream agent orientation](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/agents/AGENTS.md)
|
||||||
|
into [root AGENTS.md](../../AGENTS.md), preserving applicable existing
|
||||||
|
code-discovery instructions. It points to the local contributor guide and
|
||||||
|
requires the agent policy before recommendations, planning, or implementation;
|
||||||
|
it does not require reading the entire suite by default.
|
||||||
|
|
||||||
This adoption documents an existing author-selected grant; it does not make a
|
The [contributor guide](../development.md) gains the upstream Policy Reading
|
||||||
new licensing decision. It changes no dependencies, application architecture,
|
Guide table and associated selection rules, including the new meta policy.
|
||||||
runtime code, or release machinery. Preserve agent commit rules, the settled
|
Retain Scriptorium's task-specific contract guide alongside it. Architecture
|
||||||
House Format interpretation of upstream notice links, and existing
|
reading becomes task-triggered rather than unconditional. Relevant policies
|
||||||
source-release completion and asynchronous delivery behavior.
|
are read before governed decisions, multiple policies may apply, material
|
||||||
|
already available in context may be reused, and expanded scope triggers
|
||||||
|
expanded reading. Policy-reading triggers live here, not in the documentation
|
||||||
|
topic map.
|
||||||
|
|
||||||
There is no new publication-time network check, approval gate, scanner, SBOM,
|
## Licensing And Attribution
|
||||||
source bundle, downloadable license asset, or modified-dependency rebuild exercise.
|
|
||||||
Concrete exceptions continue to receive the treatment specified by the adopted
|
|
||||||
OSS policy; the house format is not a universal legal-sufficiency guarantee.
|
|
||||||
|
|
||||||
## Release And Historical Treatment
|
Follow the [canonical copied-policy attribution entry](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/examples/licensing/policy-attribution.md).
|
||||||
|
Insert it directly beneath the prescribed attribution title and replace all
|
||||||
|
three placeholder URLs with the full review commit. Identify the actual
|
||||||
|
copied/adapted scope, including agent-orientation material and copied reading
|
||||||
|
guidance where used, rather than describing only policy files if additional
|
||||||
|
material is incorporated. Preserve creator, copyright, license, disclaimer,
|
||||||
|
and modification information through the supplied notices and links.
|
||||||
|
|
||||||
Apply navigation changes prospectively. Do not rewrite published notes, tags,
|
Required supporting changes:
|
||||||
binaries, checksums, or hosted release bodies to retrofit them. The next release
|
|
||||||
note should explain the maintainer-selected change to GPL-3.0-or-later and link
|
|
||||||
to the canonical grant. Policy adoption does not alter historical grants.
|
|
||||||
Version selection and publication remain separate preparation work under the
|
|
||||||
[release policy](../policy/release.md).
|
|
||||||
|
|
||||||
## Completion Criteria
|
- Add the complete, unmodified `docs/oss/licenses/CC-BY-SA-4.0.txt` from the
|
||||||
|
selected revision.
|
||||||
|
- Extend [COPYRIGHT](../../COPYRIGHT) to identify the adapted policy material
|
||||||
|
as CC-BY-SA-4.0 and point to attribution for exact scope. Preserve
|
||||||
|
Scriptorium's GPL-3.0-or-later code grant and existing [LICENSE](../../LICENSE).
|
||||||
|
Unrelated application documentation is not automatically relicensed.
|
||||||
|
- Reformat [attribution](../oss/attribution.md) to the v1.8 House Format:
|
||||||
|
`# Open Source Attribution Notices`, followed directly by component entries;
|
||||||
|
factual optional identification; supplied copyrights; SPDX expressions;
|
||||||
|
license/notice links with actual filename labels and terminal periods;
|
||||||
|
and `[Source](COMMIT_URL).`.
|
||||||
|
- Remove its introductory policy prose, missing-copyright filler, and
|
||||||
|
agent-authored license-scope explanations. Omit an unavailable copyright
|
||||||
|
field instead of explaining that none was invented. Preserve actual
|
||||||
|
required upstream notices, applicable license expressions, and imported
|
||||||
|
dependency revisions.
|
||||||
|
- Correct [README](../../README.md) to link its GPL v3 or later statement to
|
||||||
|
`COPYRIGHT`, followed by the attribution link.
|
||||||
|
- Update [the release procedure](../release.md) to use the prospective
|
||||||
|
`COPYRIGHT | LICENSE | ATTRIBUTION` footer, with absolute immutable-release
|
||||||
|
URLs for all three destinations. The existing hosted workflow continues
|
||||||
|
copying the checked-in release note unchanged.
|
||||||
|
|
||||||
- The two updated policies identify the selected base versions and actual
|
The documented CC-BY-SA arrangement is agreed for this adoption. Original
|
||||||
adoption date, preserving local customizations and settled scope.
|
licensing-example formatting has upstream's CC0 permission; using it alone
|
||||||
- Current project-license descriptions agree with `COPYRIGHT`; documentation
|
does not require a separate attribution entry. Reproduced license texts and
|
||||||
distinguishes the grant, complete text, and upstream attribution.
|
third-party notices retain their own terms.
|
||||||
- The release procedure and active handoffs agree on the three-link footer,
|
|
||||||
with hosted-body reuse and publication behavior unchanged.
|
## Local Materials And Upstream References
|
||||||
- Affected local links and candidate footer paths are verified against the
|
|
||||||
repository. Future release tags need not resolve online before publication;
|
Keep applicable adopted policies, Scriptorium's adapted root orientation and
|
||||||
this is ordinary documentation review, not a new release gate.
|
developer guide, actual project notices, attribution entries, and required
|
||||||
- The final diff contains only the agreed documentation changes and any chosen
|
license texts locally.
|
||||||
newline normalization, not changes to published history or dependency grants.
|
|
||||||
Content, link, and diff checks suffice; runtime tests are unnecessary for
|
Keep the upstream adoption guide, README, root AGENTS.md, developer guide, and
|
||||||
this documentation-only adoption.
|
example collection upstream. Link to them as appropriate rather than copying
|
||||||
|
them into a parallel local handbook. The upstream `agents/AGENTS.md` is the
|
||||||
|
downstream orientation template, distinct from upstream's own root AGENTS.md.
|
||||||
|
Copy only needed standard license texts, not the entire reference collection.
|
||||||
|
|
||||||
|
## Scope And Completion Criteria
|
||||||
|
|
||||||
|
This work updates policy and supporting documentation. It does not change
|
||||||
|
application code, dependency versions or grants, release scripts, publication
|
||||||
|
mechanics, or accepted ADR decisions. No new scanner, recurring synchronization
|
||||||
|
check, license approval, publication-time network probe, or release gate is
|
||||||
|
introduced. Published releases, tags, notes, and assets remain unchanged.
|
||||||
|
|
||||||
|
Completion means:
|
||||||
|
|
||||||
|
- All seven policy files use the selected versions, accurate source links,
|
||||||
|
adoption dates, and upstream common wording, with template-only content
|
||||||
|
removed and local variations limited to the justified decisions above.
|
||||||
|
- Orientation and selective reading agree, and local links resolve without
|
||||||
|
depending on a sibling checkout.
|
||||||
|
- Policy attribution and document-license scope match the material actually
|
||||||
|
incorporated; required standard texts are complete and unmodified.
|
||||||
|
- README, attribution, release navigation, and still-operative roadmap
|
||||||
|
handoffs agree with the new conventions. Supersede stale instructions in
|
||||||
|
[the implementation record](implementation.md) without rewriting historical
|
||||||
|
completion evidence. Preserve the earlier author-selected license change
|
||||||
|
in the next release's preparation context; publication remains separate work.
|
||||||
|
- Review checks the resulting rules, source/example URLs, notice facts, local
|
||||||
|
links, license-text fidelity, and final diff. Runtime tests are unnecessary
|
||||||
|
for documentation-only changes. A Git adoption record is sufficient; no
|
||||||
|
additional provenance database or recurring audit is required.
|
||||||
|
|
||||||
There are no unresolved policy choices for this scope.
|
There are no unresolved policy choices for this scope.
|
||||||
|
|||||||
Reference in New Issue
Block a user