Skip to content

Commit 3eec93a

Browse files
committed
chore: add three-branch parity baseline
1 parent 35fc4cc commit 3eec93a

4 files changed

Lines changed: 73 additions & 2 deletions

File tree

‎scripts/check-branch-parity.sh‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/bin/sh
2+
set -eu
3+
4+
ROOT="$(git rev-parse --show-toplevel)"
5+
TMP="$(mktemp -d)"
6+
trap 'rm -rf "$TMP"' EXIT
7+
8+
git fetch --no-tags origin \
9+
feature/1.0.x:refs/remotes/origin/feature/1.0.x \
10+
feature/2.0.x:refs/remotes/origin/feature/2.0.x \
11+
feature/3.0.x:refs/remotes/origin/feature/3.0.x
12+
13+
extract_branch() {
14+
ref="$1"
15+
dir="$2"
16+
mkdir -p "$TMP/$dir"
17+
git archive --format=tar "$ref" src/main/java src/test/java src/test/resources/comfy-parity-manifest.json \
18+
| tar -xf - -C "$TMP/$dir"
19+
find "$TMP/$dir" -type f -name '*.java' -print | while IFS= read -r file; do
20+
sed 's/tools\.jackson/com.fasterxml.jackson/g' "$file" > "$file.norm"
21+
mv "$file.norm" "$file"
22+
done
23+
}
24+
25+
extract_branch origin/feature/1.0.x b1
26+
extract_branch origin/feature/2.0.x b2
27+
extract_branch origin/feature/3.0.x b3
28+
29+
diff -ru "$TMP/b1/src" "$TMP/b2/src"
30+
diff -ru "$TMP/b2/src" "$TMP/b3/src"
31+
32+
echo "three-branch source and capability parity: OK"

‎src/main/java/io/github/easy4j/comfy/ComfyClient.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
*/
2626
public class ComfyClient implements AutoCloseable {
2727

28-
private static final JsonMapper MAPPER = new JsonMapper();
28+
private static final JsonMapper MAPPER = JsonMapper.builder().build();
2929

3030
private final ComfyClientConfig config;
3131
private final ComfyCli cli;

‎src/main/java/io/github/easy4j/comfy/cli/ComfyCliStreamExecutor.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
*/
3131
public final class ComfyCliStreamExecutor {
3232
private final ComfyClientConfig config;
33-
private final ObjectMapper mapper = new JsonMapper();
33+
private final ObjectMapper mapper = JsonMapper.builder().build();
3434

3535
public ComfyCliStreamExecutor(ComfyClientConfig config) {
3636
this.config = Objects.requireNonNull(config, "config");
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"schema": "comfy-java-sdk-parity/1",
3+
"reviewedAt": "2026-09-20",
4+
"cliSource": "Comfy-Org/comfy-cli@b08adc50cca24f2d29d2115e80719cb8299e6ddf",
5+
"mcpSource": "Comfy-Org/comfy-mcp@e5f768d31de21ea32829381cebdda5336492a8ac",
6+
"branches": ["feature/1.0.x", "feature/2.0.x", "feature/3.0.x"],
7+
"cliFamilies": [
8+
"setup","install","update","outdated","launch","stop","logs","run","validate",
9+
"upload","download","system-stats","free","which","env","discover","set-default",
10+
"generate","run-template","preview","jobs","templates","workflow","node","nodes",
11+
"model","models","cloud","auth","project","assets","knowledge","build","deploy",
12+
"agent","manager","pr-cache","code-search","tracking","skills","feedback",
13+
"agent-review","dependency","standalone"
14+
],
15+
"mcpTools": [
16+
"server_info","auth_status","billing_status","auth_login","run_workflow",
17+
"generate_image","list_partner_models","partner_model_schema","partner_generate",
18+
"emit_partner_workflow","run_template","job","system_stats","free_memory",
19+
"fetch_outputs","launch_comfyui","stop_comfyui","restart_comfyui","update_comfyui",
20+
"switch_comfyui_version","install_node","get_logs","discover","which","project",
21+
"search_templates","get_template","fetch_template","nodes","node_dependencies",
22+
"workflow_deps","search_models","download_model","download","upload_file",
23+
"validate_workflow","list_workflow_slots","list_workflow_notes","set_workflow_slot",
24+
"vary_workflow"
25+
],
26+
"skillsOperations": ["install","uninstall","list","show","status","validate"],
27+
"invariants": [
28+
"shell-free argv execution",
29+
"independent probe timeout",
30+
"bounded stdout/stderr",
31+
"streaming NDJSON API",
32+
"bounded MCP frame/content/stderr",
33+
"pending RPC cleanup on every terminal path",
34+
"notification/progress delivery",
35+
"optional elicitation capability",
36+
"deterministic process/thread/timer cleanup",
37+
"real JaCoCo gate"
38+
]
39+
}

0 commit comments

Comments
 (0)