This replaces the blocked history in PR #3 with one properly attributed, signed/DCO commit. The owner personally reviewed and approved PR #3 in the release session. **No file changes from the approved candidate:** bothbaee14f492ande605df62c4have exact Git treea85912cbad. Original PR #3 and its commits are preserved for review history. Historical commits were locally signed but GitHub reported no_user; protected merge checks those introduced commits even for squash merging. This commit resolves attribution without bypassing or weakening signature rules. The reader, Settings, themes, source highlighting/split, live reload, file associations, Print/PDF, About credits, toolbar/footer/editor fixes, user-first README/screenshots and developer guides are exactly the approved implementation. Stable/dev separation and protected Azure signing caller are unchanged. Evidence: - Approved treebaee14f/ CI38285775463 passes all checks. Downloaded focused29/29, published111/111, stable110/110 and dev110/110 TRXs have zero failures/skips. Core coverage100% lines/98.86% branches; actual update/restart/coexistence/default-preservation receipts verify. - New single-commit hooks, online workflow security, signing and DCO pass. GitHub must rerun all required checks on this commit; results are not copied across SHAs. - Live repository setup validates18 Actions-bound checks, with only fuzzing added and all prior protections preserved. - OpenSSF project15417 is now owner-reviewed and saved at70% under owner-confirmed CDLA-Permissive2.0. This is an in-progress assessment, not a passing badge. - Production CI OIDC and signed1.0/dev publication remain required; local representative signing is not CI proof. Substantial AI assistance: Codex (GPT-6). Supersedes PR #3. Release work remains tracked in #33. Closes #4, #6, #7, #8, #9, #10, #11, #12, #13, #14, #15, #16, #17, #18, #19, #20, #21, #22, #23, #24, #25, #26, #27, #28, #29, #32, #34. Refs #1, #5, #30, #31, #33. Signed-off-by: James Maes <james@kof22.com> Co-authored-by: Codex GPT-6 <noreply@openai.com>
2.9 KiB
Contributing to MarkdownViewr
Questions, bug reports, documentation improvements, and code contributions are welcome. For everyday use, start with the user guide. For build commands and tests, use DEVELOPERS.md.
Before you start
For a substantial change, open an issue first to agree on the approach. Ask usage questions in Discussions.
Report security vulnerabilities privately according to SECURITY.md. Do not include private documents, credentials, or personal information in reports, screenshots, or test fixtures.
Development workflow
This Product follows the KofTwentyTwo standards.
- Branch from
mainusing<type>/<short-description>, for examplefix/source-highlighting. - Follow the developer guide, install both pre-commit and commit-msg hooks, and run the relevant quality gates.
- Make signed, signed-off Conventional Commits:
git commit -S -s. - Open a pull request targeting
mainwith a Conventional Commit title. PRs are squash merged. - Resolve all review threads and required checks before merging.
Pull request checklist
- Explain the problem, resulting behavior, and linked issues.
- Report the checks you actually ran and any limitations.
- Include screenshots for UI changes and update user documentation.
- Retain zero-warning builds, clean formatting, and 100% measured core line coverage.
- Add regression tests for fixes; exercise native and installed behavior where relevant.
- Justify dependency changes and commit regenerated locks.
- Update the threat model for attack-surface changes.
- Preserve original MIT notices and dependency credits.
- Disclose substantial AI assistance and include a
Co-Authored-By:trailer naming the model.
Required CI covers build/coverage/style, reader and installed-update acceptance, parser fuzzing, tooling tests, dependency/secret/workflow scans, CodeQL, PR title, and DCO.
Under the single-maintainer policy, review / automated also requires a genuine current-commit acknowledgement from the configured human maintainer. An agent cannot provide that acknowledgement. See repository setup.
Sign-off and license
Signing off certifies the Developer Certificate of Origin 1.1: you wrote the contribution or have the right to submit it under the project's license. git commit -s adds:
Signed-off-by: Your Name <your.email@example.com>
The sign-off must match the commit author. Contributions are licensed under the project's MIT License. AI assistance does not remove your responsibility to understand, test, and explain the change.