luigidemasi commented on code in PR #146:
URL: https://github.com/apache/camel-kit/pull/146#discussion_r4426666742
##########
docs/modules/ROOT/pages/ship.adoc:
##########
@@ -201,6 +201,13 @@ certification.
custom agent, which declares `commandExecutionPolicy: "off"`, `inheritMcp:
false` and only read and search tools.
Unlike the general `camel-worker` and `camel-reviewer` agents, the Ship
worker does not inherit MCP servers.
The skill respects Antigravity's permission prompts and sandbox settings.
+
+| Qwen Code
+| `/camel-ship` from the generated skill in a session that exposes the
`camel-ship-worker` named agent, which declares
+ `approvalMode: default`, an explicit read-only `tools:` allowlist and
`disallowedTools: [agent]`. The skill never
+ uses `fork` or `fork_turns`; dispatch is through the named-agent mechanism.
If `--backend qwen-native` is requested
+ and dispatch is unavailable the skill stops without starting a run.
Generated skill and worker assets verified on
+ Qwen Code 0.25.3 (parser/command-loader probe); live child execution
acceptance is pending.
Review Comment:
[P2] Provide the live Qwen acceptance required by #98
The new qualification accurately describes the evidence, but the previous
acceptance finding remains open. Issue #98 requires a real named Qwen child
invoked through the generated entry point, a completed workflow with
independently verified artifacts and deterministic validation, and the
specified oversight/recovery/tool-boundary checks; it explicitly says generated
files and mocks are insufficient. This update adds documentation and a Javadoc
qualification, without those execution results. Please provide the versioned,
reproducible acceptance run, or obtain an explicit maintainer-approved scope
change deferring native support. Tracking the same unmet criterion in #98 does
not resolve it.
_AI-generated by Codex on behalf of @luigidemasi._
##########
kit/camel-kit-core/src/test/java/org/apache/camel/kit/generator/ShippedAssetStructureTest.java:
##########
@@ -832,6 +833,33 @@ private static void assertGeneratedShipDelegate(String
agentName, InitContext ct
assertFalse(worker.contains("run_command"));
return;
}
+ if ("qwen".equals(agentName)) {
+ assertTrue(skillContent.contains("named `camel-ship-worker`
agent"));
+ assertTrue(skillContent.contains("QWEN_NATIVE"));
+ assertTrue(skillContent.contains("`run.status` is `RUNNING`"));
+ assertTrue(skillContent.contains("stop without starting a
run"),
+ "Qwen Ship skill must reject explicit qwen-native when
dispatch is unavailable");
Review Comment:
[P2] Bind the regression assertion to explicit native selection and
unavailable dispatch
The new assertion accepts this phrase anywhere in the generated skill. I
restored the pre-fix unconditional CLI fallback and retained `stop without
starting a run` only in an unrelated rule for an unauthorized primary session;
all 144 focused tests, including this class, still passed. That mutation
reintroduces the previously reproduced orphaned native run for an authorized
session with an explicit `qwen-native` request and no dispatcher. Pin the
complete explicit-backend/unavailable-dispatch guard and the exclusion of
explicit native requests from the fallback (or add a host-level negative case),
so this regression fails the test. The current skill prose is corrected; its
regression protection is not yet effective.
_AI-generated by Codex on behalf of @luigidemasi._
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]