Deprecate _result attrs in lieu of updated_ convention#1618
Conversation
Schema Description ReviewAutomated suggestions for improving description clarity for LLM consumption. These are advisory — not required changes. Looking at this compiled schema with my previous review in mind: Progress Check✅ All Previously Flagged Issues Resolved: The excellent class-level descriptions for ✅ Structural Completeness: All changed attributes ( ✅ Cross-Reference Consistency: The New FindingAnti-Pattern Findings
CHANGELOG IssuesNone identified. SummaryAll previous description quality concerns have been addressed, with excellent class-level descriptions providing clear guidance for LLM consumers. One minor structural issue remains: the new |
_result attrs in lieu of updated_
_result attrs in lieu of updated__result attrs in lieu of updated_ convention
Alternative Convention ConsiderationConsider renaming For example: "new_web_resources": {
"caption": "New Web Resources",
"description": "The new or intended <code>web_resources</code> after the update attempt. On <code>Success</code>, represents the actual post-update state; on <code>Failure</code>, represents the intended update that was not applied.", |
A good point was raised by @floydtree that |
|
There is also the issue of what to do with Windows registry key and value events; which don't use the A search also turns up |
|
I can appreciate that This changes causes churn in the schema where there will be a split on the community setting the old So, I'm struggling to see how the prospective benefits are worth the cost here. |
I can see how that perspective arises. However, the term "result" has been repeatedly identified as ambiguous during our discussions, often interpreted as the final outcome of an operation - such as "job_result" implying the job's completion status and frequently suggesting success. This ambiguity often raises the question: "result of what?" Other examples include "ack_result," which specifically represents the acknowledgment result of a DCE/RPC call rather than an update to an object, and "query_result," which denotes the result of a query operation rather than an update to an object. These examples clearly illustrate that the "*_result" suffix is used to represent outcomes or results of actions, not updates to objects. In contrast, the "updated_*" naming convention explicitly signifies an attempt to update an object, regardless of whether that attempt succeeds. To ensure clarity and prevent confusion, it is essential to adopt a consistent naming convention for all new objects related to update or modification activities. Avoiding mixed terminology eliminates potential misinterpretation and fosters a clear, uniform, and predictable standard. While this change introduces some initial schema churn, it is a deliberate and necessary trade-off designed to minimize future disruption and complexity. By employing a deprecation strategy, we enable a smooth transition to version 2.0 by gradually phasing out legacy fields in favor of the clearer, standardized "updated_*" naming. This approach balances short-term inconvenience with long-term benefits, promoting consistency and predictability, simplifying integration, and reducing operational overhead. If you have specific concerns about the implementation, we can also explore documentation strategies to help mitigate the impact of the transition and the use of deprecated fields. Also curious for further inputs on whether these deprecations are warranted and if deeper discussion is needed @floydtree @pagbabian-splunk @Aniak5 @zschmerber @hmadison @jasonbreimer |
pagbabian-splunk
left a comment
There was a problem hiding this comment.
Hopefully the updated_user won't conflict with the one in PR #1616: looks to be the same.
Need a description for link_target in dictionary.
|
PR is on hold until votes are cast on whether to deprecate these attributes or not. Please give a 👍 or 👎 in this PR description to cast a vote. Additional perspective and commentary is welcome. |
These generic 'see specific usage' descriptions were based on the suggestions and consensus in the 5/6/26 System Call and for parity with the dictionary descriptions in #1603 and #1597 |
|
We discussed this PR extensively in the Maintainer's call on 5/22 and determined to proceed with this PR. The |
1f6dc90 to
6958d7e
Compare
# Conflicts: # dictionary.json
…is also deprecated in 1.9
#### Description of changes: Rolls back `file_result` within the 1.9 release cycle originally introduced in #1618. Discussion and conclusion here: #1663 (comment) --------- Co-authored-by: Dave McCormack <dmccorma@cisco.com>
Related Issue:
Related PRs:
Update Scheduled Job Activity class and expand job object attributes #1597
Add FAQ for Object State ocsf-docs#134
Description of changes:
This PR deprecates the
_resultattributes that are used to represent updates to an object, in lieu of using the newupdated_convention.entity_resultupdated_entityfile_resultupdated_file. Address newlink_targetobject in separate PR.resources_resultupdated_resourcesweb_resources_resultupdated_web_resourcesAlso added a few project words for the linter (
metaschemas,CLSID), fixed a previous typo in CHANGELOG, and cleaned up minor json whitespace.Vote Here:
👍 : deprecate these attributes in 1.9
👎 : do not deprecate these attributes in 1.9