wenjin272 commented on PR #965:
URL: https://github.com/apache/flink-agents/pull/965#issuecomment-5265211746

   Thanks @weiqingy for putting this together and for trying the Implementation 
Description experiment across a larger, two-language change. Overall, the 
description was useful: it let me establish the runtime flow and intended 
contracts without first reconstructing them from the diff. I think it could be 
made more review-oriented in four ways:
   
   1. **State the purpose more directly.** The current section mainly explains 
why the previous implementation rejected the schema, but the intended 
user-visible outcome is less immediate. A shorter version could be:
   
      > This PR makes the existing provider-independent `output_schema` API 
work with Anthropic in both Java and Python. Supported schemas are translated 
into Anthropic's native `output_config`; unsupported combinations continue 
through the existing prompt-based fallback. The goal is consistent 
structured-output behavior across providers and across the Java and Python 
integrations, without introducing a new public API.
   
   2. **Add a small interaction/decision table.** The numbered contracts 
describe individual paths well, but make cross-feature combinations harder to 
inspect. A table covering model capability, schema type, caller 
`output_config`, tools, and JSON prefill would make conflicts more visible. The 
`output_config` plus prefill case discussed above is a good example of 
something such a table could surface.
   
   3. **Separate behavioral contracts from implementation invariants.** 
User-observable behavior should remain in the main contract section, while 
details such as the predicate reading no instance state, 3-arg forwarding, and 
identical model-list ordering could move to implementation notes.
   
   4. **Keep the test-to-contract mapping, but move the detailed test names and 
mutation notes into a `<details>` block or follow-up comment.** The main body 
could summarize coverage by risk and explicitly list what was not verified. 
This would reduce the reading cost without losing the evidence useful for Stage 
2.
   
   My takeaway is that the main description should prioritize the information 
needed for human review: the purpose, interaction decisions, behavioral 
contracts, risks, and coverage. Detailed implementation invariants and test 
mappings can remain available through a `<details>` block or a follow-up 
comment without competing for the reviewer's attention, allowing us to keep the 
main description as concise as possible.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to