docs(adr-045): Amendment 3 — caller-owned property strings survive agent-mode empty-drop - #2193
Conversation
…ent-mode empty-drop
ohdearquant
left a comment
There was a problem hiding this comment.
Automated review. Posted by this repository's automated pull-request review pipeline; this is not a human read and does not gate the merge by itself.
Verdict on head 05de7ea: REQUEST-CHANGES, 2 blocking findings. Finding details are delivered to the review's recipients rather than posted here. Do not merge this head while blocking findings are outstanding; a pipeline comment on a newer head supersedes this one.
…ores dropped values The presentation transform runs before format rendering, so format=json under the default Agent presentation serializes the already-transformed value; name presentation=verbose as the lossless path. Also state explicitly that the amended rule is normative and its presentation-layer implementation is tracked by issue #1995.
ohdearquant
left a comment
There was a problem hiding this comment.
Automated review. Posted by this repository's automated pull-request review pipeline; this is not a human read and does not gate the merge by itself.
Verdict on head d808d34: REQUEST-CHANGES, 1 blocking finding. Finding details are delivered to the review's recipients rather than posted here. Do not merge this head while blocking findings are outstanding; a pipeline comment on a newer head supersedes this one.
Amendment 3 to ADR-045: in Agent mode, empty strings nested under a record's
propertiesobject are preserved; the empty-string drop continues to apply everywhere else.A key under
propertiesexists only because a caller wrote it, so an empty string there is data — it distinguishes "set to empty" from "absent or deleted". Under the unamended rule, the echo of an update that sets a property to""omits the key entirely and a successful write reads as a deletion (#1995). The token-economy rationale is unaffected: nothing machine-generated is reintroduced.Scope stated explicitly: empty arrays and objects under
propertiesstay dropped; callers distinguishing those cases readformat=jsonorpresentation=verbose. Extending the carve-out to container values is a separate decision.Companion code change: #2164.