fix: distinguish replace by direction, not mechanism - #69
Merged
Conversation
Applying the requirement found thirteen merged replace directives across four repositories, where it asserted none existed. Every one belongs to a nested example module pointing at its own repository root, which is how such a module compiles against the source beside it rather than a published version. The requirement had collapsed two unrelated uses of one keyword. Correct it to turn on whether the directive crosses a repository boundary, and fix the two tasks it made unsatisfiable. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Thank you for contributing to this 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.
Applying
document-system-architecturerevealed itsreplacerequirement is wrong. Per CONTRIBUTING I stopped implementing and am correcting the requirement on its own, before the code.What applying revealed
The requirement said a
replacedirective "SHALL NOT be merged" and that "no repository contains one today." There are thirteen, merged, across four repositories:nats-clientnats-serverosapiosapi-orchestratorEvery one belongs to a nested example module pointing at the repository that holds it (
=> ../../). None crosses a repository boundary.Why the rule was wrong
It collapsed two unrelated uses of one keyword:
replacereaching into a sibling repository stands in for a version that should be pinned, and leaks a developer's local layout into a merged tree. That is the thing worth banning.replacereaching into its own repository root is how a nested module refers to the source beside it. Remove it and the example silently compiles against whatever version the proxy last published — the exact failure the pattern exists to prevent.The corrected requirement turns on direction rather than mechanism, and adds a scenario for the example-module case.
Tasks 3.3 and 4.2 were unsatisfiable as written and are corrected to match.
Not included
No code. The module rename this change also calls for is written and builds, but it stays out of this PR — correcting a requirement inside an implementation diff is what the workflow is arranged to prevent.
🤖 Generated with Claude Code