feat(01KW5W17): writeRetroProposal tool description matches the schema's accepted proposal types (#404)#452
Merged
jackmcintyre merged 1 commit intoJun 29, 2026
Conversation
…a's accepted proposal types (#404) The writeRetroProposal tool description (register.ts) and module JSDoc said the proposal schema accepts seven types and listed only the original seven, but RETRO_PROPOSAL_TYPES has grown to thirteen (persona-append, promote-lesson-to-skill, build-story, lesson-consolidation, lesson-retirement, shared-skill-promotion, etc.). The contract was being misread as silently dropping newer types. This exports a WRITE_RETRO_PROPOSAL_DESCRIPTION constant built by interpolating RETRO_PROPOSAL_TYPES (both the count and the enumerated list) so the description can never drift from the schema again, wires register.ts to use it, refreshes the stale JSDoc/comments in write-retro-proposal.ts and retro-proposal.ts, and adds tests asserting the description enumerates exactly RETRO_PROPOSAL_TYPES (AC1) and that every type round-trips through parseRetroProposalFile (AC2). No runtime acceptance behaviour changed — the schema already accepted all thirteen types; this fixes stale documentation. Build green, dist rebuilt, full suite (3861 tests) green.
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.
What changed
writeRetroProposal tool description matches the schema's accepted proposal types (#404)
This change delivers the following acceptance criteria:
Why
As a retro-analyst, I want the writeRetroProposal description to enumerate every proposal type the schema actually accepts, so that the contract is not misread as silently dropping newer types (persona-append, lesson-consolidation, shared-skill-promotion, etc.).
How to check it yourself
Risk and blast radius
Risk tier: medium
The change is scoped to the files in the diff below. Review the diff to judge its actual blast radius — including any effect on shared state, data schemas, or authentication paths — before approving.
What is explicitly not covered: reviewer verification of this summary's accuracy is handled by a separate companion story.
Evidence
The pre-pull-request build-and-test gate passed before this pull request was opened. No pull request can be opened by the automated flow unless both
pnpm buildandpnpm testexit 0 in the developer's working directory.Per-criterion covering checks:
plugins/flow/mcp-server/src/tools/__tests__/write-retro-proposal.test.ts(automated test)plugins/flow/mcp-server/src/tools/__tests__/write-retro-proposal.test.ts(automated test)Story: native:01KW5W173M53FMZG7DAWPR121Q
Spec: .flow/native-stories/01KW5W173M53FMZG7DAWPR121Q.md
ACs:
Derive the writeRetroProposal tool description from RETRO_PROPOSAL_TYPES so it enumerates every accepted proposal type instead of a stale hardcoded seven
Closes #404