Skip to content

docs(adr-045): Amendment 3 — caller-owned property strings survive agent-mode empty-drop - #2193

Merged
ohdearquant merged 2 commits into
mainfrom
docs/adr-045-amendment-3
Aug 25, 2026
Merged

docs(adr-045): Amendment 3 — caller-owned property strings survive agent-mode empty-drop#2193
ohdearquant merged 2 commits into
mainfrom
docs/adr-045-amendment-3

Conversation

@ohdearquant

Copy link
Copy Markdown
Owner

Amendment 3 to ADR-045: in Agent mode, empty strings nested under a record's properties object are preserved; the empty-string drop continues to apply everywhere else.

A key under properties exists 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 properties stay dropped; callers distinguishing those cases read format=json or presentation=verbose. Extending the carve-out to container values is a separate decision.

Companion code change: #2164.

@ohdearquant
ohdearquant marked this pull request as ready for review August 24, 2026 22:02

@ohdearquant ohdearquant left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 ohdearquant left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@ohdearquant
ohdearquant merged commit dd879b0 into main Aug 25, 2026
26 checks passed
@ohdearquant
ohdearquant deleted the docs/adr-045-amendment-3 branch August 25, 2026 04:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant