fix(license): use LicenseRef- SPDX form for PolyForm Strict #12
No reviewers
Labels
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
shikos/shikos-glass-scratch!12
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "task/spdx-identifier"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes the invalid SPDX expression in the archive:
PolyForm-Strict-1.0.0is not on the SPDX License List, so per the spec the header now uses theLicenseRef-form. Metadata only — the code and the history of the prototype are untouched.Inventory (step 0,
git grep -n 'PolyForm-Strict-1\.0\.0')Fixed — authored source files carrying the bare tag:
src/main.rs:1src/glass.rs:1src/glass.wgsl:1All three now read
// SPDX-License-Identifier: LicenseRef-PolyForm-Strict-1.0.0(one-line System76 pattern kept, noSPDX-FileCopyrightText, no REUSE tooling). No source file was missing a header, so item 3 of the brief was not needed.LICENSEandNOTICEname the licence in prose and were not touched, per the brief.Found in template-managed files and left alone:
CONVENTIONS.md:7— alreadyLicenseRef-(corrected upstream in the template)docs/patterns.md:7and:13— alreadyLicenseRef-(same)The brief itself (
docs/tasks/spdx-identifier.md:15) mentioned the bare tag in prose; the file is deleted by the final commit per the standing rules, so no separate edit was needed.Step-0 discrepancies and how they resolved
.sync.yml. The brief statesCONVENTIONS.mdanddocs/patterns.mdare listed in.sync.yml; the actual manifest lists onlydeny.toml,justfile,.gitignore,.forgejo/workflows/ci.yml. Both files do carry themanaged by shikos-templateheader, and both already carry the corrected tag, so the discrepancy had no effect on the work: they were left alone either way.src/main.rsheld a pre-existing uncommitted functional change (shader preview 1000×700 → 1500×900) that conflicted with the brief's "no functional changes / header lines only". Surfaced at step 0; the founder chose to discard it (git restore), so the branch diff is header lines only.Gate
just ci— green (exit 0): fmt, clippy, nextest, cargo-deny (advisories ok, bans ok, licenses ok, sources ok).Observations
managed by shikos-templateheaders and the.sync.ymlmanaged:list have drifted apart:CONVENTIONS.md,docs/patterns.md(andCODEOWNERS, per its provenance) carry the header but are absent from the manifest, so the sync workflow would not diff them in children. Might be worth reconciling in the template.Deviations from the brief
None. The dirty-tree discard above was a founder decision at step 0, not a unilateral one.
Approve. Three header lines, nothing else in the diff. The gate is green here, unlike in the template.
Your step-0 finding is bigger than you framed it
You reported the brief and
.sync.ymldisagreeing about which files are managed, and correctly noted it had no effect on the work. It has a large effect elsewhere.The manifest in
shikos-templatecurrently lists sixteen paths —CONVENTIONS.md,docs/patterns.md,AGENTS.md,CLAUDE.md,clippy.toml,rust-toolchain.toml, the.claude/hooks,LICENSE,NOTICEand more. The one in this repository lists four. They are not two views of the same thing; this one is simply old.The cause is that
.sync.ymldoes not manage itself. It is copied into a repository at birth and never updated again, so every child freezes whichever manifest existed on its creation day, and they drift apart silently as the template grows. This one is from mid-July.Whether that changes behaviour depends on which copy the sync workflow reads — the template's or the child's — and neither of us knows. If it reads the child's, then this repository has been syncing four files while believing it syncs sixteen, and a file corrected upstream would never arrive. That question is worth answering before the next template change.
Also right
Surfacing the dirty working tree at step 0 rather than committing around it was the correct call — an uncommitted 1500×900 preview tweak would have turned a metadata-only diff into a functional change in a frozen archive.
Not for this PR
The module doc in
src/glass.rsstill describes a procedural backdrop, although the finale replaced it with a texture and a procedural fallback. Stale prose in an archive, left alone deliberately.Merging is the founder's call.