luigidemasi opened a new issue, #62:
URL: https://github.com/apache/camel-kit/issues/62

   > Imported from 
[luigidemasi/camel-kit#106](https://github.com/luigidemasi/camel-kit/issues/106),
 opened by [luigidemasi](https://github.com/luigidemasi) on 2026-06-25.
   > Closed by 
[luigidemasi/camel-kit#111](https://github.com/luigidemasi/camel-kit/pull/111), 
merged on 2026-06-25.
   
   ---
   
   ## Description
   
   The workflow manifest is documented as the authoritative contract for 
commands, skills, stages, artifacts, and MCP tools. This is the right 
architectural direction, but the loader currently disables unknown-property 
failures, and validation is only partial.
   
   Relevant files:
   - `camel-kit-core/src/main/resources/workflow/camel-kit-workflow.yaml`
   - 
`camel-kit-core/src/main/java/io/github/luigidemasi/camelkit/workflow/WorkflowManifest.java`
   - 
`camel-kit-core/src/main/java/io/github/luigidemasi/camelkit/workflow/WorkflowManifestLoader.java`
   - 
`camel-kit-core/src/test/java/io/github/luigidemasi/camelkit/workflow/WorkflowManifestTest.java`
   
   ## Expected Behavior
   
   The workflow manifest should be treated as a strict machine-readable 
contract.
   
   Validation should fail fast when:
   
   - the YAML contains unknown fields
   - a command references a missing skill
   - a skill references a missing generated command
   - a stage references a missing skill
   - a stage transition references a missing stage
   - an artifact producer or consumer references a missing skill
   - an MCP server expected by generators is missing
   - generated command stubs and agent-specific overrides drift from the 
manifest
   
   ## Additional Context
   
   Suggested implementation:
   
   1. Enable `FAIL_ON_UNKNOWN_PROPERTIES` for workflow manifest loading.
   2. Add a `WorkflowManifestValidator` that returns structured validation 
errors.
   3. Call validation from `WorkflowManifestLoader.load(...)`.
   4. Extend `WorkflowManifestTest` with negative tests using small invalid 
fixture manifests.
   
   This should turn the manifest from shared config into an enforceable 
architecture boundary.
   
   ## Acceptance Criteria
   
   - Unknown fields in the workflow manifest fail tests/loading.
   - Invalid references across commands, skills, stages, artifacts, and MCP 
servers fail validation.
   - Validation errors clearly identify the invalid field and referenced value.
   - Existing valid manifest loads successfully.
   - Existing workflow and generator tests pass.
   
   ## Validation
   
   Run:
   
   `./mvnw -pl camel-kit-core -Dtest=WorkflowManifestTest test 
-Dformat.skip=true`
   


-- 
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]

Reply via email to