Repository navigation
Conversation
…S-STELLAR#352) - Add ProtocolChangelogService.reload() with rollback guarantee: if the new file fails validation the previous in-memory document is preserved and the error is re-thrown, so a bad deploy cannot erase a working changelog. - Expand protocol-changelog.service.spec.ts with four retry/reload tests (successful reload, rollback on invalid file, rollback on missing file, recovery after a bad initial load) and four authorization-path tests (@public metadata present, guard bypass without token, empty-query 200, impact filter applied unauthenticated). - Update changelog/protocol-changes.json: the machine-readable changelog entry now references both issue TRELLIS-STELLAR#126 and TRELLIS-STELLAR#352, and the migration notes document the reload() rollback guarantee. - Add docs/protocol-changelog.md: full operational runbook covering normal path, failure path, retry/reload path, authorization path, all semantic validator rules, edge cases (bad deploy, clock skew, CHANGELOG_PATH override, rollback, contract preservation) and how to run the tests. Closes TRELLIS-STELLAR#352
Collaborator
|
Merged during the October maintenance pass after static malware-indicator review and a passing Malware guard. This is not a full security audit or a claim that the test suite passes. Please fix any remaining CI failures in a follow-up. |
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.
Summary
Implements #352 — machine-readable changelog for protocol behavior.
What changed
src/changelog/protocol-changelog.service.ts
Added
reload()with a rollback guarantee: if the incoming file fails validation the previous in-memory document is preserved and the error is re-thrown. A bad hot-swap cannot erase a working changelog.src/changelog/protocol-changelog.service.spec.ts
Retry / reload path (4 new tests)
Authorization path (4 new tests)
@Public()metadata is present on the controller class.changelog/protocol-changes.json
reload()rollback guarantee.docs/protocol-changelog.md (new)
Full operational runbook covering:
Acceptance criteria
npm run changelog:validateHow to verify locally
Closes #352