Skip to content

Conversation

@assagman
Copy link
Owner

  • Add dsgo.ExecYaml(ctx, path, ...) public entrypoint backed by internal/yamlprogram to load/build/execute YAML-defined DSGo programs
  • Introduce a strict YAML spec (unknown fields error) with defaults + runtime settings, compiled into a module.Program pipeline
  • Generate and ship a JSON Schema (dsgo-program.schema.json) for editor autocomplete/validation
  • Add signature support for array fields (core FieldTypeArray, element typing) and wire it through YAML signatures + typed tag parsing
  • Improve MCP robustness by normalizing tool schemas when inputSchema.required is null (treat as “all params required”)
  • Update examples to use the new YAML runner and include richer sample workflows (deep research, security scan, software dev)
  • Add/adjust tests for YAML loading strictness, explicit zero-value options, and array signature validation, plus a small cache TTL timing stabilization

- Extend TTL test durations from 100ms to 1s for better stability
- Increase timing checks from 150ms/110ms to 300ms/200ms
- Adjust sequential test TTL from 100ms to 500ms with proportional waits
- Reduces test flakiness in different execution environments

Signed-off-by: assagman <[email protected]>
- Add Parallel module type for concurrent execution of multiple modules
- Add MultiChainComparison module type for answer synthesis
- Update YAML schema with new module fields (modules, max_workers, source_module, m)
- Implement factory methods for creating Parallel and MCC modules
- Add validation for new module types with proper error handling
- Create pipeline_web_summary.yaml example for web search/summarization
- Improve pipeline structure display to handle modules without signatures
- Add tilde expansion support for filesystem paths

Signed-off-by: assagman <[email protected]>
Move the YAML pipeline builder into `internal/yamlprogram` and update the
`examples/yaml_program` runner to load/validate specs, emit a JSON Schema,
and execute prebuilt workflows (deep research, security scan, dev loop).

Signed-off-by: assagman <[email protected]>
Expose YAML program execution from the public API (dsgo.ExecYaml) and
re-export the generated YAML schema. Add internal/yamlprogram.Exec to
load/build/execute a spec with an optional LM factory override.

Refactor yamlprogram internals to use core/module/mcp types directly and
simplify the yaml_program example to call dsgo.ExecYaml.

Signed-off-by: assagman <[email protected]>
- Introduce `FieldTypeArray` with element typing for signatures and schemas
- Teach typed tag parser to infer slice fields as arrays with element types
- Generate and ship `dsgo-program.schema.json` for YAML program validation
- Restructure `tool_sources` to group MCP providers and builtin tools consistently

Signed-off-by: assagman <[email protected]>
Some MCP servers return `inputSchema.required: null`; treat it as “all
properties required” and ensure we never keep a nil slice so downstream
JSON/tool conversion stays stable.

Also updates the software_dev YAML example to a focused Go+HTMX flow and
constrains tool allowed_dirs to the current workspace.

Signed-off-by: assagman <[email protected]>
@assagman assagman self-assigned this Dec 19, 2025
@assagman assagman added the enhancement New feature or request label Dec 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants