253 lines
16 KiB
Markdown
253 lines
16 KiB
Markdown
# Standard Policy Alignment
|
|
|
|
**Last updated:** 2026-09-28
|
|
|
|
**Status:** Implemented. This roadmap replaces its earlier licensing-only scope
|
|
and records the accepted end state. [implementation.md](implementation.md)
|
|
records the ordered work and verification; the adopted policies are in
|
|
`docs/policy/`.
|
|
|
|
## Purpose and Review Revision
|
|
|
|
Align Audita with [Standard Repository Policies](https://gitea.maximumdirect.net/eric/policy),
|
|
using identical policy language except where a substantive, locally significant
|
|
requirement or decision justifies a variation. Adopt upstream wording verbatim
|
|
for non-substantive differences. Perform the required template customizations
|
|
without inventing application contracts, restrictions, or guarantees.
|
|
|
|
The accepted review compared Audita's current documents directly against upstream
|
|
commit **`d84a38ebab26f048cafbe59a2246700c35d29843`**, beginning with the
|
|
[adoption and update guide at that revision](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/docs/adoption.md).
|
|
Use that revision for this adoption. Historical adoption baselines need not be
|
|
reconstructed or assessed. A later upstream revision requires deliberate review,
|
|
not an automatic substitution during implementation.
|
|
|
|
The public upstream repository, discovery links, and copied-policy attribution
|
|
are part of the accepted direction. This supersedes the earlier instruction to
|
|
omit references to the policy repository.
|
|
|
|
## Current Baseline
|
|
|
|
- Audita has five adopted policies: agents 1.0, architecture 1.0, documentation
|
|
1.1, testing 1.0, and release 1.0. None has per-document `Upstream Source`
|
|
metadata. `meta.md` and `oss.md` are absent.
|
|
- [AGENTS.md](../../AGENTS.md) routes readers to the contributor guide and agent
|
|
policy. [docs/development.md](../development.md) has component-specific reading
|
|
guidance, but lacks the upstream selective Policy Reading Guide and currently
|
|
directs all tasks to the architecture policy.
|
|
- [COPYRIGHT](../../COPYRIGHT) and [LICENSE](../../LICENSE) already establish
|
|
Audita's GPL-3.0-or-later application grant and full GPLv3 text. The grant does
|
|
not yet identify the scope of separately licensed copied policy documents.
|
|
- There is no canonical `docs/oss/attribution.md` or local dependency license-text
|
|
collection. Relevant component notices still require an evidence-based inventory.
|
|
- The [README](../../README.md) lacks the prescribed final licensing statements.
|
|
The [release procedure](../release.md) lacks licensing-footer instructions, and
|
|
the [release workflow](../../.woodpecker/release.yml) does not explicitly reuse
|
|
checked-in release notes as hosted release bodies.
|
|
- Audita already releases through one publication command with an atomic source
|
|
and tag push. Linux amd64 and arm64 are required; macOS arm64 is best-effort
|
|
development support. Successful publication completes the release without
|
|
waiting for CI or artifact delivery.
|
|
|
|
## Targeted Policy Set and Justified Customizations
|
|
|
|
All seven policy files belong under `docs/policy/`. The versions below are those
|
|
at the selected upstream revision. No existing policy is wholly unchanged;
|
|
existing architectural decisions and platform commitments need no substantive
|
|
revision merely to align the text.
|
|
|
|
| Policy | Target version | Required alignment and justified local treatment |
|
|
| --- | --- | --- |
|
|
| `agents.md` | 1.3 | Adopt upstream substantive language verbatim. Retain Audita's graph-first Codebase Discovery section because it is an explicitly selected repository workflow. |
|
|
| `architecture.md` | 1.3 | Adopt general ownership, boundary, and constraint guidance, then perform the template's required application-specific customization. Preserve Audita's ordered pipeline, ConfigKit/PromptKit responsibilities, deterministic processing, recovery, concurrency, and secret-handling decisions. These describe real project requirements rather than stylistic preferences. |
|
|
| `documentation.md` | 1.11 | Adopt upstream prose and applicable ownership rows. Retain concrete output-contract ownership, contributor change recipes, and the decision to place operating/recovery guidance in operations instead of restoring troubleshooting documentation. Omit HTTP API and public Go API ownership rows because Audita has neither responsibility. |
|
|
| `testing.md` | 1.3 | Adopt substantive text verbatim. Its distinction between established contracts and invented test requirements needs no local exception. |
|
|
| `release.md` | 1.4 | Adopt upstream substantive language. Preserve Linux amd64/arm64 requirements, best-effort macOS arm64, unsupported Windows/macOS amd64, and Audita's explicit decision against human release gates. These are selected support and workflow commitments. |
|
|
| `meta.md` | 1.0 | Adopt provenance, local authority, and public discovery guidance with accurate metadata and local attribution navigation. No additional substantive exception is needed. |
|
|
| `oss.md` | 1.8 | Adopt the House Format and maintenance rules, with required project-specific facts and reference links. Preserve Audita's GPL-3.0-or-later application grant, Gitea host, and existing distribution channels. |
|
|
|
|
Remove each `Base Policy Template` section after carrying out its instructions.
|
|
Keep local customizations identifiable and explain their project-specific reason
|
|
in the appropriate policy; do not maintain alternate paraphrases of shared rules.
|
|
Architecture customization does not authorize a package redesign or additional
|
|
threat-model guarantees. Supporting documents are warranted by existing
|
|
responsibilities and substantive content, not by unused template examples.
|
|
|
|
Successful-tag-push completion, asynchronous artifacts, minimal automated gates,
|
|
and proportionate validation are now shared upstream rules. Replace Audita's
|
|
parallel explanations with the upstream language rather than describing these
|
|
as continuing exceptions. Keep concrete commands, remotes, build targets, and
|
|
publication mechanics in the release procedure with appropriate policy links.
|
|
|
|
## Provenance and Selective Reading
|
|
|
|
For every adopted policy, retain the selected upstream `Base Policy Version`,
|
|
set `Last Updated` to its actual local adoption date, and introduce `Upstream
|
|
Source` linking to that exact file at the selected full commit. The URL pattern is:
|
|
|
|
```text
|
|
https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/docs/policy/<filename>.md
|
|
```
|
|
|
|
Substitute each of `agents`, `architecture`, `documentation`, `testing`, `release`,
|
|
`meta`, and `oss`; a repository-root or shared generic source link is insufficient.
|
|
These links describe the source actually incorporated, not a reconstructed claim
|
|
about older local documents. Git and per-document metadata are sufficient; no
|
|
separate synchronization registry or recurring check is required.
|
|
|
|
In `meta.md`, retain these public discovery destinations:
|
|
|
|
- [Standard Repository Policies](https://gitea.maximumdirect.net/eric/policy).
|
|
- [Current adoption and update guide](https://gitea.maximumdirect.net/eric/policy/src/branch/main/docs/adoption.md).
|
|
|
|
Discovery links follow the current upstream project and guide. Adopted-source,
|
|
notice, and example links remain commit-pinned. Preserve valid pinned example
|
|
references supplied by the selected policy, or pin them to this review revision
|
|
after checking the referenced assets; do not turn them into moving-branch links.
|
|
|
|
Adapt upstream `agents/AGENTS.md` into Audita's root orientation, retaining its
|
|
existing applicable instructions. Add the adoption guide's Policy Reading Guide
|
|
to `docs/development.md` and retain the component-specific task guide. Route
|
|
policy adoption and updates to `meta.md`, repository recommendations and changes
|
|
to agents, application-code or structure work to architecture, validation choices
|
|
to testing, documentation work to documentation, dependency/licensing work to
|
|
OSS, and release/versioning work to release policy. Read applicable policies
|
|
before their decisions, reuse unchanged context, and expand reading with scope.
|
|
Do not require reading the entire suite for every task.
|
|
|
|
## Copied Policy Licensing and Local Material
|
|
|
|
Follow the selected revision's
|
|
[canonical policy attribution entry](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/examples/licensing/policy-attribution.md)
|
|
and [project grant](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/COPYRIGHT).
|
|
Insert the entry beneath the title in `docs/oss/attribution.md`, substitute the
|
|
full review commit in all three URLs, and accurately identify copied/adapted
|
|
material, including orientation or reading-guide text where copied. Preserve
|
|
supplied creator, copyright, license, disclaimer notices, and modification
|
|
indications. Keep the material statement concise.
|
|
|
|
Copy `CC-BY-SA-4.0.txt` into `docs/oss/licenses/`. Add the adoption guide's scoped
|
|
notice to `COPYRIGHT`, identifying the adapted policies as CC-BY-SA-4.0 and
|
|
routing readers to attribution for the affected material. Account accurately for
|
|
other copied guidance in that scope. Audita's application code remains
|
|
GPL-3.0-or-later; unrelated documentation is not automatically relicensed.
|
|
The root GPLv3 `LICENSE` needs no change.
|
|
|
|
| Material | Destination or treatment |
|
|
| --- | --- |
|
|
| Applicable policies, including `meta.md` and `oss.md` | Copy and customize under `docs/policy/`, retaining provenance. |
|
|
| Upstream `agents/AGENTS.md` | Adapt into root `AGENTS.md`. |
|
|
| Selective reading guidance | Integrate into Audita's own `docs/development.md`. |
|
|
| Upstream README, root AGENTS.md, developer guide, and adoption guide | Keep upstream and consult through links; do not copy as local guides. |
|
|
| Licensing example collection | Keep upstream with commit-pinned references; use it to create actual notices. Original example formatting is CC0 and alone needs no policy attribution entry. |
|
|
| Applicable standard and companion license texts | Copy complete, unmodified texts locally; no blanket collection. |
|
|
|
|
## Component Attribution
|
|
|
|
Complete the previously agreed inventory of relevant incorporated or distributed
|
|
components: direct and transitive dependencies, copied code/documentation/assets,
|
|
and applicable Go runtime notices. Determine inclusion from actual material and
|
|
use, not simply presence in `go.mod`; tooling or consultation alone does not
|
|
require an entry. Inspect selected sources directly rather than copying a
|
|
dependency's attribution document wholesale.
|
|
|
|
Use the exact House Format in OSS policy 1.8: the prescribed title followed by
|
|
component entries, factual identification, applicable supplied copyrights and
|
|
SPDX expressions, standard license/notice labels, and `[Source](COMMIT_URL).`
|
|
links. Omit unavailable optional fields instead of adding explanatory filler.
|
|
Preserve required upstream material, license alternatives, and exceptions.
|
|
Keep research narratives, compliance conclusions, and exception reasoning out
|
|
of attribution; place reasoning in the OSS policy or an appropriate decision
|
|
record. This replaces the older roadmap's permission to put exception reasoning
|
|
in a component entry.
|
|
|
|
Upstream component and notice links identify exact imported commits. Local
|
|
standard texts include directly reachable companions, such as GPLv3 for LGPLv3.
|
|
Apply the adopted house interpretation of notice links without blanket extra
|
|
local-copy requirements or repeated approval. Concrete obligations beyond notice
|
|
reproduction receive their own applicable treatment; the format alone does not
|
|
certify compatibility or resolve every distribution obligation.
|
|
|
|
The reviewed dependency revisions remain useful starting evidence, subject to
|
|
checking the dependencies selected when implementation occurs:
|
|
|
|
| Component | Reviewed version | Source commit |
|
|
| --- | --- | --- |
|
|
| ConfigKit | v0.4.1 | `0adb94f59e44827908eff401d4381a398fe17107` |
|
|
| PromptKit | v0.11.1 | `15e40679546f2e21b6f51cc84b6f0a087a8486db` |
|
|
| OpenRouter catalog | v2.20260926.0 | `4f731d217e0bc39151c010f50fb5912706e7b6b3` |
|
|
| Rakestrawhome catalog | v2.20260926.0 | `48918a3ad39fd99843cda94a86133b1b3881d596` |
|
|
|
|
These library patches changed licensing/documentation rather than library code
|
|
or catalog profiles. ConfigKit and PromptKit identify LGPL-3.0-or-later; the
|
|
selected catalogs identify MIT. Other relevant dependencies still need inventory.
|
|
|
|
## Discoverability and Release Integration
|
|
|
|
End README with the project-license and attribution statements prescribed by the
|
|
OSS policy, using Audita's actual grant. `COPYRIGHT` owns the separately licensed
|
|
policy scope; README links to that grant and the attribution document.
|
|
|
|
Update `docs/release.md` to specify the final `COPYRIGHT | LICENSE | ATTRIBUTION`
|
|
links in every new release note and hosted download page. Use absolute Gitea URLs
|
|
at the release's immutable tag or source commit. Reuse the checked-in note as the
|
|
hosted body where supported; verify the publication plugin's supported mechanism
|
|
and make the necessary focused `.woodpecker/release.yml` change. Avoid separately
|
|
maintained release prose or notice lists.
|
|
|
|
Preserve the current atomic source/tag publication approach, supported targets,
|
|
and completion point. Align procedure wording with upstream's preparation,
|
|
ambiguous-push recovery, and asynchronous retry rules. Handle completed-roadmap
|
|
retirement during preparation, preserving planned/deferred work and repairing
|
|
links; this roadmap update does not authorize deleting other roadmaps now.
|
|
|
|
Check intended future-tag paths against the candidate source without requiring
|
|
the tag to resolve before publication. Apply the formatting convention
|
|
prospectively; leave published tags, notes, artifacts, and checksums intact.
|
|
Concrete historical omissions, if discovered, receive deliberate treatment under
|
|
their applicable terms and release correction rules.
|
|
|
|
## Work Required and Acceptance Criteria
|
|
|
|
Implementation covers the seven policy documents, `AGENTS.md`,
|
|
`docs/development.md`, `COPYRIGHT`, `docs/oss/attribution.md`, applicable files in
|
|
`docs/oss/licenses/`, README, the release procedure, and focused hosted-body
|
|
publication wiring. Update this roadmap's implementation status when appropriate.
|
|
The [implementation plan](implementation.md) owns the editing sequence and
|
|
verification steps.
|
|
|
|
The work is complete when:
|
|
|
|
- Shared policy language matches the selected upstream revision after required
|
|
template removal and customization; retained variations have substantive
|
|
Audita-specific reasons as identified above.
|
|
- All seven policies have accurate versions, adoption dates, and file-specific
|
|
commit-pinned source links. Public discovery links and selective orientation
|
|
are in place, with no leftover template-only instructions or broken links.
|
|
- Copied policy/guidance scope, modification status, credit, CC-BY-SA text, and
|
|
root grant notice follow the documented upstream arrangement while preserving
|
|
Audita's application license.
|
|
- Relevant components have verified House Format entries, exact source/notice
|
|
commits, and complete applicable license texts, without editorial commentary.
|
|
- README and future release documentation provide the required navigation, and
|
|
hosted release content comes from the checked-in note through a verified
|
|
publication mechanism.
|
|
- Audita's application contracts, architectural decisions, platform commitments,
|
|
release completion semantics, and published history are preserved.
|
|
- Affected text, links, license copies, metadata, and publication configuration
|
|
pass proportionate review and validation. No release is needed solely to test
|
|
adoption; behavioral workflow changes receive focused validation if required.
|
|
|
|
## Scope Boundaries and Open Questions
|
|
|
|
No policy decisions remain open for the agreed scope. Component-specific notices
|
|
and the publication plugin's supported release-body mechanism require factual
|
|
verification during implementation. Raise a decision only for a concrete
|
|
unresolved obligation or material tradeoff uncovered by that work.
|
|
|
|
This feature does not require application refactoring, dependency upgrades,
|
|
mandatory scanners, a full SBOM, recurring legal approvals, synchronization
|
|
checks, additional human release gates, publication-time network checks, or CI
|
|
waiting. The documentation convention alone does not require downloadable
|
|
license assets, source bundles, or a different binary package format.
|