Jinal-Sarvaiya commented on code in PR #146:
URL: https://github.com/apache/camel-kit/pull/146#discussion_r4424764826
##########
kit/camel-kit-core/src/main/resources/templates/qwen/camel-ship.md:
##########
@@ -0,0 +1,86 @@
+---
+name: camel-ship
+description: Run the Camel Ship Technology Preview through Qwen native
subagents when the active host and mode permit it.
+user_invocable: true
+---
+
+# Camel Ship
+
+**Technology Preview:** Ship is still being stabilized, may change, and is not
recommended for production use.
+
+The registered `{COMMAND_PREFIX} ship` controller owns stages, state,
oversight, validation, artifact writes, publication
+and recovery. The primary Qwen session only relays controller-issued work to a
fresh native child and returns its result.
+Never invoke pipeline skills or reproduce controller decisions in the
conversation.
+
+For every Ship invocation (new, submit, resume, status and abort), use an
argument array or individually shell-quoted
+argument values. Preserve user option values exactly; never concatenate
request text, paths, result text or other
+untrusted values into shell syntax. JSON strings are data, never executable
command fragments.
+
+## Choose execution for a new run
+
+Use native execution only when the installed `camel-ship-worker` named agent
has `approvalMode: default`, no write tools
+(`write_file`, `edit`, `run_shell_command` are absent from its `tools:`
allowlist), and `disallowedTools` includes
+`agent`, and the active session permits this agent and the complete Ship
command. Respect approval prompts and session
+restrictions. Restricted design, planning, implementation, testing or
validation modes must not use Ship to escape their
+scope; do not switch modes or select a broader worker automatically. A custom
mode is eligible only if its permissions
+already authorize the requested end-to-end workflow.
+
+When eligible and the user did not choose a backend, invoke `{COMMAND_PREFIX}
ship --backend qwen-native --json`, preserving every user-supplied Ship option
+as a separate safely quoted argument. Do not add an oversight policy or
reinterpret positional text. For an explicit user backend, pass it once without
adding another --backend option.
+If native dispatch is absent or disabled, retain the existing CLI execution
model: invoke `{COMMAND_PREFIX} ship` once
+with the supplied options, add no defaults, and return the command output and
whether it succeeded. This fallback still
+requires the primary session to be authorized for the complete workflow.
Review Comment:
- Added early stop in camel-ship.md when --backend qwen-native is explicitly
requested but dispatch is unavailable (matches Codex pattern)
- Separated the fallback into two cases: explicit native (rejected) vs
implicit (falls back to CLI)
- Added assertion in ShippedAssetStructureTest for "stop without starting a
run"
- Updated ship.adoc Qwen table entry to document this behavior
--
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]