Prosecution Insights
Last updated: July 17, 2026
Application No. 18/608,593

SOURCE CODE COLLABORATION VIA REPLICATED DATA TYPES

Non-Final OA §101§103
Filed
Mar 18, 2024
Examiner
LUU, CUONG V
Art Unit
2192
Tech Center
2100 — Computer Architecture & Software
Assignee
Microsoft Technology Licensing, LLC
OA Round
1 (Non-Final)
72%
Grant Probability
Favorable
1-2
OA Rounds
1y 2m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 72% — above average
72%
Career Allowance Rate
693 granted / 967 resolved
+16.7% vs TC avg
Strong +37% interview lift
Without
With
+36.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 6m
Avg Prosecution
13 currently pending
Career history
985
Total Applications
across all art units

Statute-Specific Performance

§101
7.4%
-32.6% vs TC avg
§103
82.3%
+42.3% vs TC avg
§102
6.3%
-33.7% vs TC avg
§112
3.8%
-36.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 967 resolved cases

Office Action

§101 §103
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Detailed Action A filing date of 03/18/2024 is acknowledged. Claims 1 – 20 are pending. Claim Objections Claims 3, 4, 17, 18, and 20 are objected to because of the following informalities: Claim 3 Claim 3, line 8, “the other conflicting updates” lacks proper antecedent basis. Claim 4 Line 21; insert --the-- before “similarity”. Claim 17 Line 1; insert --wherein the computer-readable storage device is-- before “characterized”. Claim 18 Line 2; insert --the-- before “executing”. Claim 20 Last line; insert --other-- before “respective location” Appropriate correction is required. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1 – 20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more. Claim 1 Step 1 The claim is statutory because it is directed to a method. Step 2A, prong 1 The claim recites limitations “assessing at least one candidate resolution of a conflict between the updates against at least one source code acceptance criterion; and executing a deterministic conflict resolution in response to at least a result of the assessing, the executing comprising creating a version of the at least one source code snippet.” The limitations fall into category of Mental process because they involve human observation of candidate resolution and source code acceptance criterion and with an aid of pen and paper the human can reasonably modify a program (create a version) of the source code based on the observation. Step 2A, prong 2 The claim further recites additional steps “locating at least two updates to a replicated data type which represents at least one source code snippet; supplying the created version to a source code editor”. The additional steps merely collect updates and transfer the version to code editor. They are insignificant extra-solution activity and are not indicative of an integration into a practical application. Steps 2B The claim as a whole is not amounted to significantly more than the judicial exception. Claim 1 is directed to an abstract idea and is not patent eligible. Analysis of claims 2 – 7 as follow: Claim 2 The claim recites limitations “provisionally performing a first one of the two updates to produce a first provisionally updated source code snippet; provisionally performing a second one of the two updates to produce a second provisionally updated source code snippet; determining that the first provisionally updated source code snippet satisfies the source code acceptance criterion and determining that the second provisionally updated source code snippet does not satisfy the source code acceptance criterion; and specifying the conflict resolution as an acceptance of the first one of the two updates and a rejection of the second one of the two updates.” The limitations update source code and identify resolution. The steps of “performing” are just updating source code. Such update act is just insignificant extra-solution activity and is not indicative of integration into a practical application. The steps of “determining and specifying” involve human observation, evaluation, and opinion of updates and identify resolution based on the observation and evaluation. Thus, the limitations, under its broadest reasonable interpretation, covers performance of the limitation in the mind, and it is not integrated into a practical application because they do not impose any meaningful limits on practicing the abstract idea. So, it does not include any additional element that is sufficient to amount to significantly more than the judicial exception. Claim 3 The claim recites limitations “provisionally performing each of a plurality of conflicting updates to produce respective provisionally updated source code snippets; ranking each provisionally updated source code snippet according to at least one source code acceptance criterion; identifying a best ranked update according to at least the ranking; and specifying the conflict resolution as acceptance of the best ranked update and rejection of the other conflicting updates.” The limitations update source code and identify resolution. The step of “performing … to produce” is just updating source code. Such update act is an insignificant extra-solution activity and not indicative of integration into a practical application. The steps of “ranking, identifying and specifying” involve human observation, evaluation to rank the updated source code, identifying the best ranked update, and identifying resolution based on the observation and evaluation. Thus, the limitations, under its broadest reasonable interpretation, covers performance of the limitation in the mind, and it is not integrated into a practical application because they do not impose any meaningful limits on practicing the abstract idea. So, it does not include any additional element that is sufficient to amount to significantly more than the judicial exception. Claim 4 The limitations of the claim define acceptance criterion. Such step is an insignificant extra-solution activity and not indicative of integration into a practical application. Claim 5 The limitations of the claim define condition of acceptance criterion. Such step is an insignificant extra-solution activity and not indicative of integration into a practical application. Claim 6 The claim recites limitations “submitting an assessment prompt to a language model, the assessment prompt representing at least a portion of the candidate resolution, the assessment prompt specifying the source code acceptance criterion and requesting an assessment of the candidate resolution against the source code acceptance criterion; getting from the language model at least a portion of the result of the assessing; and executing the deterministic conflict resolution in response to at least the portion of the result of the assessing.” The limitations fall into category of Mental process because they involve human observation of candidate resolution and source code acceptance criterion, specifying a result based on the observation, and with an aid of pen and paper modifying a program (create a version) of the source code based on the observation. The claim further recites additional element “language model.” The language model is recited at high level of generality and used as a tool to perform the limitations. Thus, the limitations, under its broadest reasonable interpretation, covers performance of the limitation in the mind, and it is not integrated into a practical application because they do not impose any meaningful limits on practicing the abstract idea. Claim 7 The claim recites limitations “submitting a generation prompt to a language model, the generation prompt representing at least the updates, the generation prompt requesting a candidate source code snippet of the candidate resolution; receiving the candidate source code snippet of the candidate resolution from the language model; and assessing at least the candidate source code snippet of the candidate resolution against the at least one source code acceptance criterion.” The limitations “assessing” fall into category of Mental process because they involve human observation of candidate resolution and source code acceptance criterion. Thus, the limitations, under its broadest reasonable interpretation, covers performance of the limitation in the mind and is not integrated into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The additional limitations “submitting and receiving” submit a prompt and receive a candidate. Such actions are insignificant extra-solution activities and not indicative of integration into a practical application. The claim further recites additional element “language model.” The language model is recited at high level of generality and used as a tool to perform the limitations. Claim 8 Step 1 The claim is statutory because it is directed to a device. Step 2A, prong 1 The claim recites limitations “assessing at least one candidate resolution of a conflict between the updates against at least one source code acceptance criterion, and executing a deterministic conflict resolution in response to at least a result of the assessing.” The limitations fall into category of Mental process because they involve human observation of candidate resolution and source code acceptance criterion and with an aid of pen and paper the human can reasonably create deterministic conflict resolution based on the observation. Step 2A, prong 2 The claim further recites additional step “locating at least two updates to a replicated data type which represents at least one source code snippet.” The additional step merely collects updates. It is insignificant extra-solution activity and not indicative of an integration into a practical application. The claim further recites additional elements “at least one processor and at least one digital memory.” These additional elements are recited at high level of generality and used as a tool to perform the limitations and not indicative of integration into a practical application. Steps 2B The claim as a whole is not amounted to significantly more than the judicial exception. Claim 8 is directed to an abstract idea and is not patent eligible. Analysis of claims 9 – 15 as follow Claim 9 The claim recites limitations “preparing a generation prompt …, submitting the generation prompt …, and receiving the candidate source code snippet …; or preparing an assessment prompt …, submitting the assessment prompt …, and getting a quality assessment of the candidate source code snippet …” These limitations are insignificant extra-solution activities and not indicative of integration into a practical application. The claim further recites additional elements “an interface and a language model.” The interface and language model are recited at high level of generality and used as a tool to perform the limitations. Claim 10 The claim recites limitations “submit a candidate source code snippet of the candidate resolution …, and to get a quality assessment of the candidate source code snippet …” These limitations are insignificant extra-solution activities and not indicative of integration into a practical application. The claim further recites additional elements “an interface and a source code quality measurement module.” The additional elements are recited at high level of generality and used as a tool to perform the limitations and not indicative of integration into a practical application. Claim 11 The limitations of the claim define replicated data type. Thus, they are insignificant extra-solution activities and not indicative of integration into a practical application. Claim 12 The limitations of the claim define replicated data type. Thus, they are insignificant extra-solution activities and not indicative of integration into a practical application. Claim 13 The limitations of the claim define deterministic conflict resolution. Thus, they are insignificant extra-solution activities and not indicative of integration into a practical application. Claim 14 The claim recites limitations “the collaborative software development computing system is configured as a peer in a peer-to-peer architecture.” The limitations indicate configuration of the computing system. Thus, they are insignificant extra-solution activities and not indicative of integration into a practical application. Claim 15 The claim recites limitations “the collaborative software development computing system further comprises a source code editor having a user interface, executing the deterministic conflict resolution creates a version of the at least one source code snippet, and the at least one processor is configured to upon execution load the created version into the source code editor user interface.” The limitations define functionalities of the computing system. Thus, they are insignificant extra-solution activities and not indicative of integration into a practical application. Claim 16 Step 1 The claim is statutory because it is directed to a product. Step 2A, prong 1 The claim recites limitations “assessing at least one candidate resolution of the conflict between the updates against at least one source code acceptance criterion; and executing a deterministic conflict resolution in response to at least a result of the assessing.” The limitations fall into category of Mental process because they involve human observation of candidate resolution and source code acceptance criterion and with an aid of pen and paper the human can reasonably create deterministic conflict resolution based on the observation. Step 2A, prong 2 The claim further recites additional step “locating at least two updates …” The additional step merely collects updates. It is insignificant extra-solution activity and not indicative of an integration into a practical application. The claim further recites additional elements “computer storage device, a computing system.” These additional elements are recited at high level of generality and used as a tool to perform the limitations and not indicative of integration into a practical application. Steps 2B The claim as a whole is not amounted to significantly more than the judicial exception. Claim 16 is directed to an abstract idea and is not patent eligible. Analysis of claims 17 – 20 Claim 17 The limitations of the claim define replicated data type. Thus, they are insignificant extra-solution activities and not indicative of integration into a practical application. Claim 18 The claim recites limitations “executing the deterministic conflict resolution creates a version of the at least one source code snippet, and the method further comprises loading the created version into a source code editing tool on the computing system.” The limitations “executing the deterministic conflict resolution creates a version of the at least one source code snippet” fall into category of Mental process because with an aid of pen and paper the human can modify a program (create a version) of the source code. And, the limitations “loading the created version into a source code editing tool on the computing system” merely load the version, are insignificant extra-solution activities and are not indicative of integration into a practical application. The claim further recites additional element “source code editing tool.” The additional element is just a tool to perform the limitations. Therefore, it is also not indicative of integration into a practical application. Claim 19 The claim recites limitations “assessing the at least one candidate resolution against multiple source code acceptance criteria; or ranking each of a plurality of candidate resolutions according to the at least one source code acceptance criterion, and resolving the conflict between the updates according to a best-ranked candidate resolution.” The limitations fall into category of Mental process because they involve human observation of candidate resolution and source code acceptance criterion, human ranking candidate resolutions, human opinion of resolving conflict between updates based on the best ranked candidate resolution. Thus, they are not indicative of integration into a practical application. Claim 20 Claim 17 The claim recites limitations “a respective instance of the method is performed by the respective author at the respective location by a respective tool during a time period in which access to a repository which contains at least one version of the source code is unavailable at each respective location.” The limitations merely indicates a user who performs the method. Thus, they are insignificant extra-solution activities and not indicative of integration into a practical application. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1 – 4, 8, 11, and 14 – 20 are rejected under 35 U.S.C. 103 as being unpatentable over Vincent et al. (Pub. No. US 2022/0012409 A1; hereinafter Vincent; IDS dated 03/18/2024) in view of GROENEWEGEN et al. (Pub. No. Us 2023/0281005 A1; hereinafter Groenewegen.) Claim 1 Vincent teaches a method of collaborative software development performed in a computing system (Vincent; [0029] … The IDE-level synchronization processes 205 communicates with the synchronization service 109 concerning edits made to source code files in the draft, to synchronize these edits between all instances of the IDE 115 …; [0030] … As described in more detail below, CRDTs are used herein to resolve concurrent edits (collaborative) made to files of drafts of development projects by multiple instances of the IDEs 115 (collaborative) …), the method comprising automatically: locating at least two updates to a replicated data type which represents at least one source code snippet (Vincent; Fig. 3; [0029 – 0030] … The file placeholder 203 is a virtual file, which may be implemented as a file handle which may be associated with (e.g., point to) either a source code file in the source code control system 113 or a CRDT file corresponding to an edited source code file in a draft of a development project … … A conflict-free replicated data type (CRDT) is a data structure which can be replicated across multiple computers in a network … As described in more detail below, CRDTs are used herein to resolve concurrent edits made to files of drafts of development projects by multiple instances of the IDEs 115 … [0033] When the instance of the editor 201 accesses a file which has already been edited in the draft, the editor can be thought of as being in draft mode, in which case the file placeholder 203 points to a CRDT file 301 comprising all of the synchronized edits (updates) made to that source file (code snippets) by all of the instances of the IDE 115 that are accessing the draft …; [0035] The edits made to the CRDT file 301 by the source code editor 201 of the instance of the IDE 115 are then subsequently be synchronized to all other instances of the IDE 115 that are accessing the draft …); assessing at least one candidate resolution of a conflict and executing a deterministic conflict resolution , the executing comprising creating a version of the at least one source code snippet; and supplying the created version to a source code editor (Vincent; Fig. 5; [0039] … As noted above, when a specific instance of the IDE 115A makes an edit to a specific file of the draft, the specific instance of the IDE 115A updates a corresponding local CRDT file to reflect the edit … whenever the source code editor 201 on the given instance of the IDE 115A makes an edit to a source code file of the draft, the synchronization process 203 can write the resulting delta to the given file (e.g., as a CRDT patch 503 (candidate, created version)) to the synchronization service 109 via the WebSocket Protocol 505. The synchronization service 109 then distributes the CRDT patch 503 to all other instances of the IDE 115 accessing the draft …) But Vincent does not explicitly teach assessing at least one candidate resolution of a conflict between the updates against at least one source code acceptance criterion; and executing a deterministic conflict resolution in response to at least a result of the assessing, the executing comprising creating a version of the at least one source code snippet. However, Groenewegen teaches assessing at least one candidate resolution of a conflict between the updates against at least one source code acceptance criterion (Groenewegen; Fig. 9; [0046] In some embodiments, an enhanced system 202 includes a computing system 202 which is configured to facilitate source code merge conflict resolution … obtaining 902 at least two candidate 304 merge conflict resolutions 208, (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316 … ); and executing a deterministic conflict resolution in response to at least a result of the assessing, the executing comprising creating a version of the at least one source code snippet (Groenewegen; Fig. 9; [0046] In some embodiments, an enhanced system 202 includes a computing system 202 which is configured to facilitate source code merge conflict resolution … obtaining 902 at least two candidate 304 merge conflict resolutions 208, (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316, (c) ranking 910 at least two candidate merge conflict resolutions relative to one another based on a result of the assessing 904, and (d) displaying 914 a recommendation 306 (created a version) based on the ranking.) Vincent and Groenewegen are in the same analogous art as they are in the same field of endeavor, facilitate code conflict resolution. Therefore, it would have been obvious to one with ordinary skill, in the art before the effective filing date of the claimed invention, to incorporate Groenewegen teachings into Vincent invention to efficiently and effectively select an optimal conflict resolution form multiple possible resolution as suggested by Groenewegen ([0108].) Claim 2 Groenewegen teaches provisionally performing a first one of the two updates to produce a first provisionally updated source code snippet; provisionally performing a second one of the two updates to produce a second provisionally updated source code snippet (Groenewegen; Fig. 9; [0046] In some embodiments, an enhanced system 202 includes a computing system 202 which is configured to facilitate source code merge conflict resolution … (a) obtaining 902 at least two candidate 304 merge conflict resolutions 208, (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316 … [0048] As an example, in a Scenario A three candidates C1, C2, and C3 (first, second, …) are obtained 902, and the system includes code 116, 118 for implementing a set 310 consisting essentially of a buildability criterion 312 and a consistency criterion 316… [0049 – 0051] In Scenario A, assessment 904 of C1 results in compilation errors … Assessment 904 of C2 results 512 in no compilation errors or other detected build 506 errors … However, assessment 904 also determines that code 132 produced by resolving the merge conflict using candidate C2 does not follow a previously established editing pattern 212 … Assessment 904 of C3 results in no detected build errors and no detected inconsistencies with any established editing pattern 212. Accordingly, in this example Scenario A, the embodiment displays 914 a recommendation which includes information such as: C1: Build failed Consistency not checked C2: Build succeeded Consistency check failed; foo() not called C3: Build succeeded Consistency check passed Suggested merge(s): C3); determining that the first provisionally updated source code snippet satisfies the source code acceptance criterion and determining that the second provisionally updated source code snippet does not satisfy the source code acceptance criterion; and specifying the conflict resolution as an acceptance of the first one of the two updates and a rejection of the second one of the two updates (Groenewegen; Fig. 9; [0046] In some embodiments, an enhanced system 202 includes a computing system 202 which is configured to facilitate source code merge conflict resolution … (a) obtaining 902 at least two candidate 304 merge conflict resolutions 208, (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316 … [0048] As an example, in a Scenario A three candidates C1, C2, and C3 (first, second, …) are obtained 902, and the system includes code 116, 118 for implementing a set 310 consisting essentially of a buildability criterion 312 and a consistency criterion 316… [0049 – 0051] In Scenario A, assessment 904 of C1 results in compilation errors … Assessment 904 of C2 results 512 in no compilation errors or other detected build 506 errors … However, assessment 904 also determines that code 132 produced by resolving the merge conflict using candidate C2 does not follow a previously established editing pattern 212 … Assessment 904 of C3 results in no detected build errors and no detected inconsistencies with any established editing pattern 212. Accordingly, in this example Scenario A, the embodiment displays 914 a recommendation which includes information such as: C1: Build failed Consistency not checked C2: Build succeeded Consistency check failed; foo() not called C3: Build succeeded Consistency check passed Suggested merge(s): C3). Motivation for incorporating Groenewegen into Vincent is the same as motivation in claim 1. Claim 3 Groenewegen teaches provisionally performing each of a plurality of conflicting updates to produce respective provisionally updated source code snippets (Groenewegen; Fig. 9; [0046] …The processor 110 is configured to perform source code merge conflict resolution facilitation steps. The steps include (a) obtaining 902 at least two candidate 304 merge conflict resolutions 208, (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316, (c) ranking 910 at least two candidate merge conflict resolutions relative to one another based on a result of the assessing 904, and (d) displaying 914 a recommendation 306 based on the ranking.); ranking each provisionally updated source code snippet according to at least one source code acceptance criterion (Groenewegen; Fig. 9; [0046 – 0047] …The processor 110 is configured to perform source code merge conflict resolution facilitation steps. The steps include … (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316, (c) ranking 910 at least two candidate merge conflict resolutions relative to one another based on a result of the assessing 904, and (d) displaying 914 a recommendation 306 based on the ranking…); identifying a best ranked update according to at least the ranking; and specifying the conflict resolution as acceptance of the best ranked update and rejection of the other conflicting updates (Groenewegen; Fig. 9; [0046 – 0047] …The processor 110 is configured to perform source code merge conflict resolution facilitation steps. The steps include … (c) ranking 910 at least two candidate merge conflict resolutions relative to one another based on a result of the assessing 904, and (d) displaying 914 a recommendation 306 based on the ranking … [0052 – 0053] As another example, in a Scenario B four candidates C1, C2, C3, and C4 are obtained 902 … In this Scenario B embodiment, the system includes code 116, 118 for implementing a set 310 consisting essentially of a buildability criterion 312, a consistency criterion 316, and a confidence criterion 318 … in this example scenario the embodiment displays 914 a recommendation which includes information such as shown below. In the ranking 320 shown, C2 is best, C1 is next best, and C3 ties with C4 for the least optimal: C1: Build OK Consistency OK Confidence 53% C2: Build OK Consistency OK Confidence 87% C3: Build OK Consistency OK Confidence unknown C4: Build OK Consistency OK Confidence unknown Merges ranked with best first: C2, C1, (C3 C4).) Motivation for incorporating Groenewegen into Vincent is the same as motivation in claim 1. Claim 4 Groenewegen teaches a condition of the source code acceptance criterion specifies at least one of: the candidate resolution includes a candidate source code snippet which is syntactically correct (Groenewegen; [0046 – 0047] … (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316 … adopting candidates that lead to code which does not build (per buildability criterion 312) will likely involve further debugging to remove the build obstacles …), when candidate is buildable [Wingdings font/0xE0] candidate is syntactically correct; the candidate resolution includes a candidate source code snippet which is in a same programming style as a context source code (Groenewegen; [0046] … (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316 …; [0050] … However, assessment 904 also determines that code 132 produced by resolving the merge conflict using candidate C2 does not follow a previously established editing pattern 212, in that this code performs inline a sequence of operations that previous edits had pulled into a function foo(). Consistency with the established pattern 212 would involve calling foo() instead of repeating the body of foo() inline.), previous code invokes foo(), candidate also invokes foo(s) [Wingdings font/0xE0] same programming style; the candidate resolution includes a candidate source code snippet which includes a variable identifier that is also in a context source code; the candidate resolution includes a candidate source code snippet which invokes an imported library that is also invoked in a context source code (Groenewegen; [0226] 600 merged code operational accuracy assessment generally, as represented digitally in a computing system [0227] 602 module, routine, library, API, include file, declarations, source code portion, assembly code portion, object code portion, executable code portion or other software component in a computing system); Claim 8 Vincent teaches a collaborative software development computing system, comprising: at least one digital memory; at least one processor in operable communication with the at least one digital memory (Vincent; [0057] FIG. 10 is a block diagram of an example computer system 610 suitable for implementing a code synchronization system 101 …; system 610 has processor 614 and memory 617), the at least one processor configured to execute a collaborative software development method, the method comprising: locating at least two updates to a replicated data type which represents at least one source code snippet (Vincent; Fig. 3; [0029 – 0030] … The file placeholder 203 is a virtual file, which may be implemented as a file handle which may be associated with (e.g., point to) either a source code file in the source code control system 113 or a CRDT file corresponding to an edited source code file in a draft of a development project … … A conflict-free replicated data type (CRDT) is a data structure which can be replicated across multiple computers in a network … As described in more detail below, CRDTs are used herein to resolve concurrent edits made to files of drafts of development projects by multiple instances of the IDEs 115 … [0033] When the instance of the editor 201 accesses a file which has already been edited in the draft, the editor can be thought of as being in draft mode, in which case the file placeholder 203 points to a CRDT file 301 comprising all of the synchronized edits (updates) made to that source file (code snippets) by all of the instances of the IDE 115 that are accessing the draft …; [0035] The edits made to the CRDT file 301 by the source code editor 201 of the instance of the IDE 115 are then subsequently be synchronized to all other instances of the IDE 115 that are accessing the draft …), assessing at least one candidate resolution of a conflict , and executing a deterministic conflict resolution in response to at least a result of the assessing (Vincent; Fig. 5; [0039] … As noted above, when a specific instance of the IDE 115A makes an edit to a specific file of the draft, the specific instance of the IDE 115A updates a corresponding local CRDT file to reflect the edit … whenever the source code editor 201 on the given instance of the IDE 115A makes an edit to a source code file of the draft, the synchronization process 203 can write the resulting delta to the given file (e.g., as a CRDT patch 503 (candidate, created version)) to the synchronization service 109 via the WebSocket Protocol 505. The synchronization service 109 then distributes the CRDT patch 503 to all other instances of the IDE 115 accessing the draft …) But Vincent does not explicitly teach assessing at least one candidate resolution of a conflict between the updates against at least one source code acceptance criterion; and executing a deterministic conflict resolution in response to at least a result of the assessing, the executing comprising creating a version of the at least one source code snippet. However, Groenewegen teaches assessing at least one candidate resolution of a conflict between the updates against at least one source code acceptance criterion (Groenewegen; Fig. 9; [0046] In some embodiments, an enhanced system 202 includes a computing system 202 which is configured to facilitate source code merge conflict resolution … obtaining 902 at least two candidate 304 merge conflict resolutions 208, (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316 … ) Vincent and Groenewegen are in the same analogous art as they are in the same field of endeavor, facilitate code conflict resolution. Therefore, it would have been obvious to one with ordinary skill, in the art before the effective filing date of the claimed invention, to incorporate Groenewegen teachings into Vincent invention to efficiently and effectively select an optimal conflict resolution form multiple possible resolution as suggested by Groenewegen ([0108].) Claim 11 Vincent also teaches the replicated data type comprises at least one of: a conflict-free replicated data type (Vincent; [0030] … A conflict-free replicated data type (CRDT) is a data structure which can be replicated across multiple computers in a network, where the replicas can be updated independently and concurrently without coordination between the replicas …); Claim 14 Vincent also teaches the collaborative software development computing system is configured as a peer in a peer-to-peer architecture (Vincent; [0042] … The code synchronization system 101, on the other hand, uses conflict resolution functionality that is distributed between the IDEs 115, and as such multiple IDEs 115 on different computing devices 601 that are connected through any sort of network …) Claim 15 Vincent also teaches the collaborative software development computing system further comprises a source code editor having a user interface, , and the at least one processor is configured to upon execution load the created version into the source code editor user interface (Vincent; [0030] … The CRDT implementations 207 on the IDEs 115 resolve conflicts resulting from edits made to files of the draft by different ones of the instances, such that each one of the instances of the IDE 115 has access to the same version of the edited files of the draft, with conflicts having been resolved by the CRDTs) Groenewegen teaches executing the deterministic conflict resolution creates a version of the at least one source code snippet (Groenewegen; Fig. 9; [0046] In some embodiments, an enhanced system 202 includes a computing system 202 which is configured to facilitate source code merge conflict resolution … obtaining 902 at least two candidate 304 merge conflict resolutions 208, (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316, (c) ranking 910 at least two candidate merge conflict resolutions relative to one another based on a result of the assessing 904, and (d) displaying 914 a recommendation 306 (created a version) based on the ranking.) Motivation for incorporating Groenewegen into Vincent is the same as motivation in claim 8. Claim 16 Vincent teaches a computer-readable storage device configured with data and instructions (Vincent; [0059] … In FIG. 10, the code synchronization system 101 is illustrated as residing in system memory 617) which upon execution by a processor perform a collaborative software development method in a computing system, the method comprising automatically: (Vincent; [0029] … The IDE-level synchronization processes 205 communicates with the synchronization service 109 concerning edits made to source code files in the draft, to synchronize these edits between all instances of the IDE 115 …; [0030] … As described in more detail below, CRDTs are used herein to resolve concurrent edits (collaborative) made to files of drafts of development projects by multiple instances of the IDEs 115 (collaborative) …), the method comprising automatically: locating at least two updates to a commutative replicated data type which represents at least one source code snippet, each update having a respective origin location and a respective author, each update representing a respective change made to a respective copy of a source code by the respective author at the respective location, one of the updates being in a conflict with another of the updates (Vincent; Fig. 3; [0029 – 0030] … The file placeholder 203 is a virtual file, which may be implemented as a file handle which may be associated with (e.g., point to) either a source code file in the source code control system 113 or a CRDT file corresponding to an edited source code file in a draft of a development project … … A conflict-free replicated data type (CRDT) is a data structure which can be replicated across multiple computers in a network … As described in more detail below, CRDTs are used herein to resolve concurrent edits made to files of drafts of development projects by multiple instances of the IDEs 115 … [0033] When the instance of the editor 201 accesses a file which has already been edited in the draft, the editor can be thought of as being in draft mode, in which case the file placeholder 203 points to a CRDT file 301 comprising all of the synchronized edits (updates) made to that source file (code snippets) by all of the instances of the IDE 115 that are accessing the draft …; [0035] The edits made to the CRDT file 301 by the source code editor 201 of the instance of the IDE 115 are then subsequently be synchronized to all other instances of the IDE 115 that are accessing the draft …); assessing at least one candidate resolution of the conflict between the updates (Vincent; Fig. 5; [0039] … As noted above, when a specific instance of the IDE 115A makes an edit to a specific file of the draft, the specific instance of the IDE 115A updates a corresponding local CRDT file to reflect the edit … whenever the source code editor 201 on the given instance of the IDE 115A makes an edit to a source code file of the draft, the synchronization process 203 can write the resulting delta to the given file (e.g., as a CRDT patch 503 (candidate, created version)) to the synchronization service 109 via the WebSocket Protocol 505. The synchronization service 109 then distributes the CRDT patch 503 to all other instances of the IDE 115 accessing the draft …) But Vincent does not explicitly teach assessing at least one candidate resolution of the conflict between the updates against at least one source code acceptance criterion; and executing a deterministic conflict resolution in response to at least a result of the assessing. However, Groenewegen teaches assessing at least one candidate resolution of the conflict between the updates against at least one source code acceptance criterion (Groenewegen; Fig. 9; [0046] In some embodiments, an enhanced system 202 includes a computing system 202 which is configured to facilitate source code merge conflict resolution … obtaining 902 at least two candidate 304 merge conflict resolutions 208, (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316 … ); and executing a deterministic conflict resolution in response to at least a result of the assessing (Groenewegen; Fig. 9; [0046] In some embodiments, an enhanced system 202 includes a computing system 202 which is configured to facilitate source code merge conflict resolution … obtaining 902 at least two candidate 304 merge conflict resolutions 208, (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316, (c) ranking 910 at least two candidate merge conflict resolutions relative to one another based on a result of the assessing 904, and (d) displaying 914 a recommendation 306 (created a version) based on the ranking.) Vincent and Groenewegen are in the same analogous art as they are in the same field of endeavor, facilitate code conflict resolution. Therefore, it would have been obvious to one with ordinary skill, in the art before the effective filing date of the claimed invention, to incorporate Groenewegen teachings into Vincent invention to efficiently and effectively select an optimal conflict resolution form multiple possible resolution as suggested by Groenewegen ([0108].) Claim 17 Vincent also teaches characterized by at least one of: each update is received free of a source code repository commit request (Vincent; [0038] For each file modified by any of the IDEs accessing the draft, the edits are pushed out to all of the other IDEs, with conflicts being resolved by CRDT… the synchronization service 109 also creates a set of these CRDT files which is maintained by the persistence service 111 for committing drafts to the source code control system 113 …); neither update is received with an associated source code repository commit identifier (Vincent; [0038] For each file modified by any of the IDEs accessing the draft, the edits are pushed out to all of the other IDEs, with conflicts being resolved by CRDT… the synchronization service 109 also creates a set of these CRDT files which is maintained by the persistence service 111 for committing drafts to the source code control system 113 …); the method avoids sending either update to a source code repository of a version control system (Vincent; [0038] For each file modified by any of the IDEs accessing the draft, the edits are pushed out to all of the other IDEs, with conflicts being resolved by CRDT… the synchronization service 109 also creates a set of these CRDT files which is maintained by the persistence service 111 for committing drafts to the source code control system 113 …); the method is performed outside a source code repository of a version control system (Vincent; [0038] For each file modified by any of the IDEs accessing the draft, the edits are pushed out to all of the other IDEs, with conflicts being resolved by CRDT… the synchronization service 109 also creates a set of these CRDT files which is maintained by the persistence service 111 for committing drafts to the source code control system 113 …); the method operates independently from any source code repository commit operation (Vincent; [0038] For each file modified by any of the IDEs accessing the draft, the edits are pushed out to all of the other IDEs, with conflicts being resolved by CRDT… the synchronization service 109 also creates a set of these CRDT files which is maintained by the persistence service 111 for committing drafts to the source code control system 113 …) Groenewegen teaches the method provides a strong eventual consistency to multiple versions of a file of source code (Groenewegen; [0029] … Source code 132 may include code 130 which has been committed in a version control system 122, or code 132 not thus committed, and may include changes 134 relative to other versions of the code …); the method converges multiple versions of a file of source code on multiple devices (Groenewegen; [0047] … Adopting candidates (versions of resolution) that lead to code which is inconsistent with prior edits (per consistency criterion 316) will likely involve refactoring to bring the code in conformance, or create developer confusion because the code departs from familiar coding guidelines or practices. By contrast, a resolution that includes more likely instances of a repeated pattern (consistency) found elsewhere in the same merge, or in prior committed merges to the code base, is more likely to be optimal than one that does not include those instances) Motivation for incorporating Groenewegen into Vincent is the same as motivation in claim 16. Claim 18 Vincent teaches the method further comprises loading the created version into a source code editing tool on the computing system (Vincent; [0038] For each file modified by any of the IDEs accessing the draft, the edits are pushed out to all of the other IDEs, with conflicts being resolved by CRDT. The edits made to specific files of the draft are maintained as corresponding CRDT files, with a specific CRDT file being maintained for each edited file of the draft by each instance of the IDE that is accessing the draft…) Groenewegen teaches executing the deterministic conflict resolution creates a version of the at least one source code snippet (Groenewegen; Fig. 9; [0046] In some embodiments, an enhanced system 202 includes a computing system 202 which is configured to facilitate source code merge conflict resolution … obtaining 902 at least two candidate 304 merge conflict resolutions 208, (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316, (c) ranking 910 at least two candidate merge conflict resolutions relative to one another based on a result of the assessing 904, and (d) displaying 914 a recommendation 306 (created a version) based on the ranking.) Motivation for incorporating Groenewegen into Vincent is the same as motivation in claim 16. Claim 19 Groenewegen teaches assessing the at least one candidate resolution against multiple source code acceptance criteria (Groenewegen; Fig. 9; [0046] In some embodiments, an enhanced system 202 includes a computing system 202 which is configured to facilitate source code merge conflict resolution … obtaining 902 at least two candidate 304 merge conflict resolutions 208, (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316 … ); or ranking each of a plurality of candidate resolutions according to the at least one source code acceptance criterion (Groenewegen; Fig. 9; [0046 – 0047] …The processor 110 is configured to perform source code merge conflict resolution facilitation steps. The steps include … (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316, (c) ranking 910 at least two candidate merge conflict resolutions relative to one another based on a result of the assessing 904, and (d) displaying 914 a recommendation 306 based on the ranking…), and resolving the conflict between the updates according to a best-ranked candidate resolution (Groenewegen; Fig. 9; [0046 – 0047] …The processor 110 is configured to perform source code merge conflict resolution facilitation steps. The steps include … (c) ranking 910 at least two candidate merge conflict resolutions relative to one another based on a result of the assessing 904, and (d) displaying 914 a recommendation 306 based on the ranking … [0052 – 0053] As another example, in a Scenario B four candidates C1, C2, C3, and C4 are obtained 902 … In this Scenario B embodiment, the system includes code 116, 118 for implementing a set 310 consisting essentially of a buildability criterion 312, a consistency criterion 316, and a confidence criterion 318 … in this example scenario the embodiment displays 914 a recommendation which includes information such as shown below. In the ranking 320 shown, C2 is best, C1 is next best, and C3 ties with C4 for the least optimal: C1: Build OK Consistency OK Confidence 53% C2: Build OK Consistency OK Confidence 87% C3: Build OK Consistency OK Confidence unknown C4: Build OK Consistency OK Confidence unknown Merges ranked with best first: C2, C1, (C3 C4).) Motivation for incorporating Groenewegen into Vincent is the same as motivation in claim 16. Claim 20 Vincent also teaches a respective instance of the method is performed by the respective author at the respective location by a respective tool during a time period in which access to a repository which contains at least one version of the source code is unavailable at each respective location (Vincent; Fig. 3; [0030] … A conflict-free replicated data type (CRDT) is a data structure which can be replicated across multiple computers in a network … As described in more detail below, CRDTs are used herein to resolve concurrent edits made to files of drafts of development projects by multiple instances of the IDEs 115 (users at different locations) … [0033] When the instance of the editor 201 (an author at a location) accesses a file which has already been edited in the draft, the editor can be thought of as being in draft mode, in which case the file placeholder 203 points to a CRDT file 301 comprising all of the synchronized edits (updates) made to that source file by all of the instances of the IDE 115 that are accessing the draft …; [0035] The edits made to the CRDT file 301 by the source code editor 201 of the instance of the IDE 115 (update not at other locations) are then subsequently be synchronized to all other instances of the IDE 115 (other locations) that are accessing the draft …) Claims 5 – 7, 9, and 10 are rejected under 35 U.S.C. 103 as being unpatentable over Vincent and Groenewegen as applied to claims 1 and 8 above, and further in view of Rudenko et al. (Pub. No. US 2025/0004729 A1; hereinafter Rudenko.) Claim 5 Vincent and Groenewegen do not explicitly teach a condition of the source code acceptance criterion specifies that the candidate resolution includes a candidate source code snippet which has a better source code quality measurement tool score from a specified source code quality measurement tool than any other candidate source code snippet of any competing candidate resolution. However, Rudenko teaches a condition of the source code acceptance criterion specifies that the candidate resolution includes a candidate source code snippet which has a better source code quality measurement tool score from a specified source code quality measurement tool than any other candidate source code snippet of any competing candidate resolution (Rudenko; [0021] … The code fix model responses to the prompts are code modifications/candidate patches which flow into the refiner … [0039] FIG. 3 is a flowchart of example operations for forming training examples from synthetic code modifications. The description refers to the trainer as performing the example operations for consistency with FIG. 2… [0045] At block 307, the trainer filters the abstract code structure signatures based on synthetic training data criteria. Criteria are defined to ensure quality of the examples created from synthetic code modifications to be included in a training dataset … [0052 – 0053] Returning to FIG. 2, the trainer generates quality metrics values for the training examples and filters the training examples according to an inclusion criterion at block 215 … At block 217, the trainer inserts the filtered training examples into the training dataset. The training examples with aggregated quality metrics values that satisfy the inclusion criterion are stored in a repository of training examples. [0055] … Embodiments can also employ a ranking model that generates a quality prediction based ranking of generated responses based on features corresponding to textual, change, and/or structural similarities of code fragments. With a trained ranking model, the multiple generated responses can be ranked according to predicted quality measures based ranking to allow the highest ranked p generated responses/patches to be selected and provide alternatives for patching a detected flaw.) Vincent, Groenewegen, and Rudenko are in the same analogous art as they are in the same field of endeavor, create and manage code patches. Therefore, it would have been obvious to one with ordinary skill, in the art before the effective filing date of the claimed invention, to incorporate Rudenko teachings into Vincent/Groenewegen invention to assign quality metrics to codes and rank codes based on the quality metrics to select code patches as suggested by Groenewegen (abstract.) Claim 6 Vincent teaches executing the deterministic conflict resolution (Vincent; Fig. 5; [0039] … As noted above, when a specific instance of the IDE 115A makes an edit to a specific file of the draft, the specific instance of the IDE 115A updates a corresponding local CRDT file to reflect the edit … whenever the source code editor 201 on the given instance of the IDE 115A makes an edit to a source code file of the draft, the synchronization process 203 can write the resulting delta to the given file (e.g., as a CRDT patch 503 (candidate, created version)) to the synchronization service 109 via the WebSocket Protocol 505. The synchronization service 109 then distributes the CRDT patch 503 to all other instances of the IDE 115 accessing the draft …) Rudenko teaches submitting an assessment prompt to a language model, the assessment prompt representing at least a portion of the candidate resolution, the assessment prompt specifying the source code acceptance criterion and requesting an assessment of the candidate resolution against the source code acceptance criterion (Rudenko; [0021] … The code fix model responses to the prompts are code modifications/candidate patches which flow into the refiner … [0045] … Criteria are defined to ensure quality of the examples created from synthetic code modifications to be included in a training dataset … [0052] Returning to FIG. 2, the trainer generates quality metrics values for the training examples and filters the training examples according to an inclusion criterion at block 215. For each training example, the trainer computes values for quality metrics that measure similarity of the parts of the prompt with respect to the expected response … [0055] While an embodiment can generate a single response/modification and apply that response/modification to code, embodiments can also generate multiple responses per prompt and can input a batch of prompts to the code fix model with the model (language model) configured to generate one or more responses per prompt …); getting from the language model at least a portion of the result of the assessing (Rudenko; [0055] While an embodiment can generate a single response/modification and apply that response/modification to code, embodiments can also generate multiple responses per prompt and can input a batch of prompts to the code fix model with the model (language model) configured to generate one or more responses per prompt …); and executing the deterministic conflict resolution in response to at least the portion of the result of the assessing (Rudenko; [0055] While an embodiment can generate a single response/modification and apply that response/modification to code, embodiments can also generate multiple responses per prompt and can input a batch of prompts to the code fix model with the model (language model) configured to generate one or more responses per prompt …) Motivation for incorporating Rudenko into Vincent/Groenewegen is the same as motivation in claim 5. Claim 7 Groenewegen teaches assessing at least the candidate source code snippet of the candidate resolution against the at least one source code acceptance criterion (Groenewegen; Fig. 9; [0046] In some embodiments, an enhanced system 202 includes a computing system 202 which is configured to facilitate source code merge conflict resolution … obtaining 902 at least two candidate 304 merge conflict resolutions 208, (b) assessing 904 each candidate merge conflict resolution using an assessment subset 1050 of a predefined set 310 of assessment criteria 308, the predefined set comprising a buildability criterion 312, an accuracy criterion 314, and a consistency criterion 316 …) Motivation for incorporating Groenewegen into Vincent is the same as motivation in claim 1. Rudenko teaches submitting a generation prompt to a language model, the generation prompt representing at least the updates, the generation prompt requesting a candidate source code snippet of the candidate resolution (Rudenko; [0021] … The code fix model responses to the prompts are code modifications/candidate patches which flow into the refiner … [0045] … Criteria are defined to ensure quality of the examples created from synthetic code modifications to be included in a training dataset … [0052] Returning to FIG. 2, the trainer generates quality metrics values for the training examples and filters the training examples according to an inclusion criterion at block 215. For each training example, the trainer computes values for quality metrics that measure similarity of the parts of the prompt with respect to the expected response … [0055] While an embodiment can generate a single response/modification and apply that response/modification to code, embodiments can also generate multiple responses per prompt and can input a batch of prompts to the code fix model with the model (language model) configured to generate one or more responses per prompt …); receiving the candidate source code snippet of the candidate resolution from the language model (Rudenko; [0055] While an embodiment can generate a single response/modification and apply that response/modification to code, embodiments can also generate multiple responses per prompt and can input a batch of prompts to the code fix model with the model (language model) configured to generate one or more responses per prompt …) Motivation for incorporating Rudenko into Vincent/Groenewegen is the same as motivation in claim 5. Claim 9 Rudenko teaches preparing a generation prompt which requests a candidate source code snippet of the candidate resolution, submitting the generation prompt to the language model via the interface, and receiving the candidate source code snippet from the language model via the interface (Rudenko; [0021] … The code fix model responses to the prompts are code modifications/candidate patches which flow into the refiner … [0045] … Criteria are defined to ensure quality of the examples created from synthetic code modifications to be included in a training dataset … [0052] Returning to FIG. 2, the trainer generates quality metrics values for the training examples and filters the training examples according to an inclusion criterion at block 215. For each training example, the trainer computes values for quality metrics that measure similarity of the parts of the prompt with respect to the expected response … [0055] While an embodiment can generate a single response/modification and apply that response/modification to code, embodiments can also generate multiple responses per prompt and can input a batch of prompts to the code fix model with the model (language model) configured to generate one or more responses per prompt …); or preparing an assessment prompt which contains a candidate source code snippet of the candidate resolution, submitting the assessment prompt to the language model via the interface, and getting a quality assessment of the candidate source code snippet from the language model via the interface (Rudenko; Fig. 4; [0056] FIG. 4 is a flowchart of example operations for training a model to learn to predict quality measures of generated responses/patches from a LLM to facilitate selection of the responses … The trainer of FIG. 4 is training a model (e.g., a gradient boosting machine (GBM) or Light GBM, but not limited to this kind of models) to predict a quality measure of a generated response based on similarities among the parts of the prompt and the generated response …) Motivation for incorporating Rudenko into Vincent/Groenewegen is the same as motivation in claim 5. Claim 10 Rudenko teaches an interface to a source code quality measurement module, and wherein the processor is further configured to submit a candidate source code snippet of the candidate resolution to the source code quality measurement module via the interface, and to get a quality assessment of the candidate source code snippet from the source code quality measurement module via the interface (Rudenko; Fig. 2; [0032 – 0034] FIG. 2 is a flowchart of example operations for creating a training dataset for fine-tuning a pre-trained LLM to generate code modifications as responses (candidate, code snippet)… At block 201, a trainer (source code quality measurement module) obtains code before and after submitted code changes from code repositories across target programming languages. For instance, the trainer can determine commits in a versioning system and access associated files to obtain the code before and after the commits. For brevity, this description will use “commit” to refer to code before and after a submitted change …, trainer receives code from repositories [Wingdings font/0xE0] module that facilitates the code transfer between trainer and repositories is considered as interface … The trainer determines similarity of changes made and then pairs based on similarity of the changes so that commits with similar changes can be used to form prompts in training examples … [0036 – 0037] At block 207, the trainer forms a training example that includes a prompt and a response based on the pair of commits… At block 213, the trainer determines whether there is an additional pair of commits to process. If not, operational flow proceeds to block 215 … [0052] Returning to FIG. 2, the trainer generates quality metrics values for the training examples and filters the training examples according to an inclusion criterion at block 215. For each training example, the trainer computes values for quality metrics that measure similarity of the parts of the prompt with respect to the expected response…) Motivation for incorporating Rudenko into Vincent/Groenewegen is the same as motivation in claim 5. Claims 12 – 13 are rejected under 35 U.S.C. 103 as being unpatentable over Vincent and Groenewegen as applied to claim 8 above, and further in view of SOLOMON et al. (Pub. No. US 2022/0327160 A1; hereinafter Solomon.) Claim 12 Vincent and Groenewegen do not explicitly teach the replicated data type comprises at least one of: a grow-only counter; a positive-negative counter; a last-write-wins register; a multi-value register; a grow-only set; a two-phase set; an enable-wins flag; a disable-wins flag; a grow-only data structure; or an observed-remove data structure. However, Solomon teaches the replicated data type comprises at least one of: a last-write-wins register; a multi-value register (Solomon; [0050] … Therefore, this element will not be in the array after a join with a delta. In various examples, the positions may stored in a Multi-Value Register (MVReg), such that a single value can be chosen in a deterministic fashion, but conflicts are kept. In some examples, if conflicts are of no interest, then a Last-Write-Wins Register (LWWReg) can be used instead); an observed-remove data structure (Solomon; [0038 – 0039] In various examples, the delta CRDT array 110 may be a Remove-Wins Array (RWArray) or an Observed-Remove Array (ORArray) …) Vincent, Groenewegen, and Solomon are in the same analogous art as they are in the same field of endeavor, managing conflict-free replicated data types. Therefore, it would have been obvious to one with ordinary skill, in the art before the effective filing date of the claimed invention, to incorporate Solomon teachings into Vincent/Groenewegen invention to also allow Vincent to manage different conflict-free replicated data types as suggested by Solomon ([0038 – 0039 & 0050]) to arrive at the invention. Claim 13 Solomon teaches the deterministic conflict resolution comprises at least one of: an observed-remove conflict resolution (Solomon; [0009] … Optionally, the delta-based CRDT array includes an observed-remove array or a remove-wins array, and modifying the element includes moving the element in the observed-remove array or the remove-wins array to generate a delta-based CRDT array including an unduplicated moved array element in response to detecting that the concurrent mutations include a number of move operations … [0082] At block 402, an operation on a delta-based conflict free data type (CRDT) array is received via a processor at a replica of a distributed computing system. For example, the delta-based CRDT array may be an observed-remove array or a remove-wins array. In various examples, the operation may be an insert operation, a delete operation, a move operation, or an update operation) Motivation for incorporating Solomon into Vincent/Groenewegen is the same as motivation in claim 12. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to CUONG V LUU whose telephone number is (571)270-1733. The examiner can normally be reached 6:30 AM - 3:00 PM. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Hyung S. Sough can be reached at (571) 272-6799. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /CUONG V LUU/Examiner, Art Unit 2192 /S. Sough/SPE, Art Unit 2192
Read full office action

Prosecution Timeline

Mar 18, 2024
Application Filed
Apr 24, 2026
Non-Final Rejection mailed — §101, §103
Jul 08, 2026
Examiner Interview Summary
Jul 08, 2026
Applicant Interview (Telephonic)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12663975
SOFTWARE WIDGET INSTALLATION ON A CLIENT DEVICE
2y 5m to grant Granted Jun 23, 2026
Patent 12664079
Using Hierarchical Models and Artificial Intelligence (AI) to Improve Recognition of Graphical Objects
2y 6m to grant Granted Jun 23, 2026
Patent 12653648
GAUGE FOR VERIFICATION OF 3-D IMAGES
5y 12m to grant Granted Jun 16, 2026
Patent 12646036
IMPACT ANALYSIS OF INFRASTRUCTURE AS CODE WITH RECOMMENDATIONS AND JUSTIFICATIONS
2y 6m to grant Granted Jun 02, 2026
Patent 12639491
METHODS AND SYSTEMS FOR ASSESSING COMPLIANCE OF AIRCRAFT ENGINES
5y 2m to grant Granted May 26, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
72%
Grant Probability
99%
With Interview (+36.9%)
3y 6m (~1y 2m remaining)
Median Time to Grant
Low
PTA Risk
Based on 967 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month