feat: Make this repository's root LICENSE file the COMPLETE canonical - #1
Merged
Merged
Conversation
Make this repository's root LICENSE file the COMPLETE canonical Apache License 2.0 text, byte-identical to https://www.apache.org/licenses/LICENSE-2.0.txt (202 lines: a leading blank line, the centered "Apache License" title, sections 1 through 9, "END OF TERMS AND CONDITIONS", and then the "APPENDIX: How to apply the Apache License to your work" section). DO NOT ASSUME THE STARTING STATE. Read the current LICENSE first and identify which of these it is: (A) A SHORT STUB (roughly 12-25 lines) containing only the Apache boilerplate NOTICE. That notice is meant for source-file headers, not as the LICENSE. Apache-2.0 section 4(a) requires shipping a copy of the License itself. (B) A TRUNCATED or REFLOWED near-full text (roughly 120-190 lines) that has the terms but STOPS AT "END OF TERMS AND CONDITIONS" and is MISSING the APPENDIX section entirely, and/or has lost the canonical leading blank line, title centering, or line wrapping. (C) Already byte-identical to canonical apart from a filled-in copyright line. In this case ONLY, make no change and say so. Cases (A) and (B) BOTH require replacing the file with the full canonical text. Do NOT skip case (B) on the grounds that "the license text is already present" — a file missing the APPENDIX, or reflowed so GitHub's detector fails, is exactly what this task exists to fix. Verify by CHECKING FOR THE APPENDIX HEADING, not by eyeballing length. COPYRIGHT: if the CURRENT file contains a specific copyright line (e.g. "Copyright 2026 Hasna, Inc." or "Copyright 2026 Hasna"), carry it across VERBATIM into the APPENDIX placeholders — preserve the exact year and exact entity, including any ", Inc.". If the current file has NO such line, leave the canonical placeholders "Copyright [yyyy] [name of copyright owner]" exactly as apache.org ships them. NEVER invent, correct, or normalise a year or an entity name. CHANGE NO OTHER FILE, with one exception: a README line that explicitly claims a different license may be corrected to Apache-2.0. Do not touch package.json unless this repo is being relicensed from MIT (it is not, unless the objective says so). If the repo VENDORS third-party code under another license, that code and its notice stay exactly as they are. VERIFY BEFORE FINISHING — all four must hold, and check each explicitly: 1. LICENSE contains "TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION" 2. LICENSE contains "APPENDIX: How to apply the Apache License to your work" <-- the one most often missing 3. LICENSE is 200-203 lines 4. `git diff --name-only` lists LICENSE and nothing else (or LICENSE plus a README license line) Report the starting state you found (A, B, or C), the line count before and after, and the copyright line you preserved. X-Factory-Run: run_7b3c346a151b
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objective
Make this repository's root LICENSE file the COMPLETE canonical Apache License 2.0 text, byte-identical to https://www.apache.org/licenses/LICENSE-2.0.txt (202 lines: a leading blank line, the centered "Apache License" title, sections 1 through 9, "END OF TERMS AND CONDITIONS", and then the "APPENDIX: How to apply the Apache License to your work" section).
DO NOT ASSUME THE STARTING STATE. Read the current LICENSE first and identify which of these it is:
(A) A SHORT STUB (roughly 12-25 lines) containing only the Apache boilerplate NOTICE. That notice is meant for source-file headers, not as the LICENSE. Apache-2.0 section 4(a) requires shipping a copy of the License itself.
(B) A TRUNCATED or REFLOWED near-full text (roughly 120-190 lines) that has the terms but STOPS AT "END OF TERMS AND CONDITIONS" and is MISSING the APPENDIX section entirely, and/or has lost the canonical leading blank line, title centering, or line wrapping.
(C) Already byte-identical to canonical apart from a filled-in copyright line. In this case ONLY, make no change and say so.
Cases (A) and (B) BOTH require replacing the file with the full canonical text. Do NOT skip case (B) on the grounds that "the license text is already present" — a file missing the APPENDIX, or reflowed so GitHub's detector fails, is exactly what this task exists to fix. Verify by CHECKING FOR THE APPENDIX HEADING, not by eyeballing length.
COPYRIGHT: if the CURRENT file contains a specific copyright line (e.g. "Copyright 2026 Hasna, Inc." or "Copyright 2026 Hasna"), carry it across VERBATIM into the APPENDIX placeholders — preserve the exact year and exact entity, including any ", Inc.". If the current file has NO such line, leave the canonical placeholders "Copyright [yyyy] [name of copyright owner]" exactly as apache.org ships them. NEVER invent, correct, or normalise a year or an entity name.
CHANGE NO OTHER FILE, with one exception: a README line that explicitly claims a different license may be corrected to Apache-2.0. Do not touch package.json unless this repo is being relicensed from MIT (it is not, unless the objective says so). If the repo VENDORS third-party code under another license, that code and its notice stay exactly as they are.
VERIFY BEFORE FINISHING — all four must hold, and check each explicitly:
git diff --name-onlylists LICENSE and nothing else (or LICENSE plus a README license line)Report the starting state you found (A, B, or C), the line count before and after, and the copyright line you preserved.
Verification
Run
run_7b3c346a151b· backendcodewith· taskinline🏭 Generated by @hasnaxyz/factory
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.