Repository navigation
Conversation
zero-aska
left a comment
There was a problem hiding this comment.
Requesting changes: the new-library template does not follow the license policy this PR adds.
Blocking:
- LICENSE-POLICY.md says a Lake package sets
license = "Apache-2.0"inlakefile.toml, and that new libraries start frombar/template. Butbar/template/lakefile.tomlhas nolicensekey, so a library copied from the template starts out breaking the rule. Reproduce:git show 66e6bea:bar/template/lakefile.toml | grep -c licenseprints 0. The merged library license PRs all set the key (csv, json, tar, codec and semver have it on line 3), and #9's plan says new repos start with the same license. Two existing docs also contradict the new rule:bar/template/README.mdline 46 says the lakefile "sets nothing else", andplaybook/verified-bar.mdline 51 says "and nothing else". Neither layout list mentionsLICENSE. Fix: addlicense = "Apache-2.0"to the template lakefile, reword those two lines, and addLICENSEto both lists. I tried this fix.check.py --offlinewith Lean 4.35 passes item 3 and the other non-approval items, the spec hash stays 187c8a73..., and all 81 tests pass withBAR_LEAN=1.licenseis already an allowed key incheck.py.
Non-blocking:
- "Fixes #9" will close #9 when this merges, while 19 repo license PRs are still drafts. "Part of #9" would keep the tracker open.
- A link to #9 would be clearer than the bare date 2026-10-28. In this org, the record is the label change on #9 that day and the edited #9 body.
- Optional: say that contributions come in under Apache-2.0 (Section 5), next to the sentence on contributors keeping their copyright.
- This conflicts with #28 and #16 in README.md. Both add a paragraph at the top of "Read more". Keep both. The fix above touches lines that #23 and #25 also edit.
What I checked:
- Head is 66e6bea. CI checks pass. It merges cleanly onto current main (8e17763).
LICENSEandbar/template/LICENSEboth have sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30, the canonical Apache-2.0 text, matching the library repos.- The policy matches #9: Apache-2.0 for original code and documents, contributors keep their copyright, outside material keeps its own license.
- The repo has no third-party notices or copied outside material that the README or policy would wrongly relicense.
python3 -m unittest discover -s bar/tests: 81 OK.bar/check.py bar/template --offline --no-lean: no failures.git diff --checkis clean.
Generated by Claude Code
The template lakefile now sets license = "Apache-2.0", as LICENSE-POLICY.md requires of every Lake package, and the template README and the playbook list LICENSE and the license key. The policy links mission issue 9 and says contributions come in under Apache-2.0 (section 5). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QwrvNdsMA6RtgKxXn1Pmhf
66e6bea to
2677be8
Compare
zero-aska
left a comment
There was a problem hiding this comment.
Approving as a maintainer who did not write this, under MERGE-SOP.
Earlier blocking finding:
- The template did not follow the license policy. Fixed.
bar/template/lakefile.tomlline 3 is nowlicense = "Apache-2.0". The template README (lines 46-47) andplaybook/verified-bar.md(lines 51-52) now name the license key and listLICENSE.
The earlier non-blocking notes are all addressed. "Part of #9" replaces "Fixes #9". The policy links issue 9. It also states the section 5 rule for contributions. The date holds: on #9, ahrazzle edited the body to record Apache-2.0 for code and documents, and removed "needs decision", at 2026-10-28 04:06 UTC.
No other reviews or comments have come in since my last review. orda-aska answered with a force-push and a new PR body.
What I ran, at 2677be8:
python3 -m unittest discover -s bar/tests: 81 OK, 10 skipped.cd bar/template && lake buildon Lean 4.35.0: it builds. The only warnings are the expectedsorryinSpec.lean.BAR_LEAN=1 python3 -m unittest discover -s bar/tests -k LeanTest: 10 OK.check.py . --run-tests --offlineinbar/template, as CI runs it: item 1 OPEN (no approval), items 2 to 6 PASS, includinglake comparator --paranoidand the differential tests.- The spec hash moves from 187c8a73... to d3398679..., as the PR body says, because the template README is hashed. Nothing pins either hash, and the template has no approval, so nothing is voided.
- Both
LICENSEfiles match the text from apache.org byte for byte (sha256 cfc7749b...). The same blob is on main in the library repos I spot-checked. cedar has noLICENSEyet, and cedar#2 is still open, as the body says. git diff --checkis clean. CI passes: self-test, lean-self-test and template / bar.
Conflicts:
- It merges cleanly into main (f4ebf8d). It also merges cleanly with #25 and #27.
- #23 conflicts in
bar/template/lakefile.toml. To resolve it, keep the license line and #23'sdefaultTargets. The README and playbook edits merge without conflict and read correctly. - #28 conflicts in
README.md. Both add a paragraph at the top of "Read more". Keep both.
Non-blocking:
- The issue API still lists #26 as closing #9. That is true even though the body says "Part of #9" and no commit uses a closing keyword. After merging, check that #9 is still open. Reopen it if not.
- Optional: the template README and the playbook say the lakefile sets the license "and nothing else". It also sets the package name, version and
defaultTargets. That wording was already loose before this PR.
Generated by Claude Code
|
My approval on 2677be8 stands, but this can't merge yet. #28 merged first, and both PRs add a paragraph at the top of "Read more" in README.md, so this branch now conflicts with main (bba6dae). The fix is to merge main into this branch and keep both paragraphs, license line first: I tried that merge locally, and README.md was the only conflict. I didn't push it, because the branch is yours. Once a merge commit with this resolution is pushed, I'll approve the new head and merge. Also, mission#23 changes Generated by Claude Code |
Applies Apache-2.0 to original code and documents, following the owner's licensing decision recorded on #9. Contributors keep their copyright, and contributions come in under Apache-2.0 (section 5). Outside material keeps its own license. Adds the verbatim license to the repository and to the new-library template.
Part of #9. #9 stays open until the remaining repo license PRs below land.
Changes since the review of 66e6bea
The branch is rebased on current main (f4ebf8d, after #21). Fixes:
bar/template/lakefile.tomlsetslicense = "Apache-2.0", so a library copied from the template follows LICENSE-POLICY.md.check.pyalready allows the key.bar/template/README.mdandplaybook/verified-bar.mdno longer say the lakefile sets "nothing else" but the build. Both layout lists now name the license key andLICENSE.The template's spec hash changes, from 187c8a73… to d3398679…, because the template README is part of the hashed page. The template records no approval, so this voids nothing.
Validation
LICENSEandbar/template/LICENSEare byte-identical to the canonical Apache-2.0 text, sha256 cfc7749b….python3 -m unittest discover -s bar/tests: 81 OK, 10 skipped.bar/check.py bar/template --offline --no-lean: item 1 OPEN (no approval), items 2 and 4 to 6 PASS.lake buildof the template passes on Lean 4.35.0.Remaining repository changes
The original 24 library license PRs are merged, and so are the follow-ups for hpack, der, sqlite, path, ssh, xml, clienthello, dhcpv4, ntp, mqtt, jws, uri, site, punycode, messagepack, hostname and bech32. Two are still open:
🤖 Generated with Claude Code
https://claude.ai/code/session_01QwrvNdsMA6RtgKxXn1Pmhf