docs(governance): add a deprecation policy for TeachLink Web - #1597
Merged
Merged
Conversation
Closes rinafcode#1539 Define how TeachLink Web deprecates and removes public interfaces and user-facing capabilities: a minimum notice period (one minor release for user-facing surfaces, two for developer-facing ones), the mandatory communication channels (release notes, deprecation log, runtime warnings, migration guidance), and the criteria that must all hold before a deprecated item is removed. Add regression tests pinning the policy's enforceable guarantees and its consistency with the governance document conventions, so the notice periods and required channels cannot be silently weakened.
|
@Ajibose Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
Contributor
|
Thank you for contributing to the project. |
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.
Closes #1539
Description
Adds the missing deprecation policy to the project's governance set, closing the gap noted in the issue: contributors and maintainers now have a clear, versioned reference for how TeachLink Web deprecates and removes public interfaces, user-facing capabilities, configuration, and documentation.
The change is self-contained within the
Governance/folder (two new files, nothing else touched) and contains no application-code changes, so there is no regression surface.Type of change: Documentation update
What Was Implemented
Governance/policies/DEPRECATION.md— the deprecation policy, structured like the other governance documents (Purpose → Scope → policy sections → Ownership and Review → Success):Governance/processes/RFC_PROCESS.md); shortening allowed only for security or legal reasons, with the justification recorded in the announcement.Governance/policies/DEPRECATION.test.ts— regression tests that pin the policy's enforceable guarantees (detailed below), so future edits cannot silently weaken the notice period, drop a required channel, or break governance-document conventions.Files Changed
New files:
Governance/policies/DEPRECATION.md— the deprecation policyGovernance/policies/DEPRECATION.test.ts— regression tests for the policyModified files:
Governance/, per the issue's acceptance criteria)Test files:
Governance/policies/DEPRECATION.test.ts(new, 22 tests)Implementation Details
Governance/(for exampledomains/SITEMAP_POLICY.md,processes/RFC_PROCESS.md):# Title, then Purpose, Scope, policy sections, Ownership and Review, and Success, including the standard "changes to this policy are proposed in a pull request that touches only theGovernance/folder" rule and the ≤82-column documentation line width.DEPRECATION.mdfrom disk, normalizes Markdown syntax and line wrapping, and asserts on the resulting prose per##section. Tests are deterministic (no network, no timers) and colocated with the document.**/*.test.ts), following the precedent of root-level regression tests such asnext.config.cache-headers.test.ts. It is excluded fromtscand ESLint through the project's existing**/*.test.tsexcludes, sotype-check,lint, andbuildbehave exactly as onmain.node:fs,node:path, andvitest— no application code and no mocks.Tests Added
Governance/policies/DEPRECATION.test.ts— 22 tests, all passing:Governance/processes/RFC_PROCESS.mdis referenced by the policy and actually exists on disk; the governance-folder-only change rule is present; the Scope section covers the surfaces that can actually be deprecated.How to Test
All policy tests pass;
type-checkandlintpass unchanged frommain.Checklist:
Governance/Governance/foldertype-checkandlintpass