Skip to content

0.2.0

Latest

Choose a tag to compare

@stratiocommit stratiocommit released this 28 May 17:52
· 4 commits to main since this release

Changelog

  • No explicit waits in MCP polling protocol: stratio-mcp-response-patterns.md §1 (EN + ES) no longer prescribes fixed 5 s / 10 s sleeps between get_mcp_task_result calls. The agent polls continuously while status="pending" and issues the next call as soon as the previous response is processed. Affects every agent that consumes the patterns guide.

  • Semantic-layer skills aligned with broader chain contracts: the refine_semantic_foreign_keys and create_semantic_terms MCP tools now accept both the technical name and the semantic_* counterpart for domain and normalize to the technical form internally — refine-semantic-foreign-keys removes the prefix-disambiguation logic in §1 and create-semantic-terms adds a client-side strip when the user types the semantic form. refine_semantic_foreign_keys no longer requires the views to be published in BDL — any view with a semantic business term is refinable regardless of governance state (Draft / Pending Publish / Published); the skill's §2 now reads list_technical_domain_concepts and surfaces refinability via has_semantic_terms rather than the old "is the view in a published semantic domain?" check. Tool inputs for view_names and similar lists are normalized server-side (leading/trailing whitespace and wrapping backticks). Documentation overhaul covers stratio-semantic-layer-tools.md, the two skill folders (SKILL + README), the triage rows in semantic-layer and data-governance-officer AGENTS.md, and the per-agent USER_READMEs — all in EN + ES.

  • [ROCK-14755] Follow-up: instruct subagent to use jq/Python on JSON-minified saved files: extends stratio-mcp-response-patterns.md §2 (EN + ES) with a fourth bullet telling the parent agent to indicate the file shape (JSON minified on a single line, typical for Stratio MCP outputs) and to direct the subagent to use a structural parser via Bash (jq for one-shot queries or a short Python script). OpenCode's MAX_LINE_LENGTH = 2000 cap in Read/Grep is hardcoded (verified in packages/opencode/src/tool/{read,grep}.ts) and the subagent would otherwise see only the first ~2 KB of a 200 KB JSON, reporting "1 table found". The good prompt example is updated accordingly.

  • Catalogue READMEs for top-level folders: agents/, guides/, plugins/ and skills/ each gain a human-facing README.md that serves as the authoritative catalogue and how-to for that category. The root README.md is simplified: catalogue sections (Agents, Functional plugins, Shared skills) become short pointers to the folder READMEs to eliminate the drift that was causing the shared-skills table to be out of sync with the actual skills/ contents. The i18n rule in AGENTS.md is clarified to distinguish per-artifact READMEs (translatable, ship inside ZIPs) from folder-catalogue READMEs (English-only, never bundled). bin/check-translations.sh updated to exclude the new folder READMEs from the translatable scan.

  • Agent renamesdata-analyticsdata-analytics-officer, governance-officerdata-governance-officer. Slugs, packaging targets (agent-<slug>-stratio-cowork-*.zip, agent-<slug>-opencode-*.zip) and the agent identifier on Stratio Cowork all change. Existing Cowork tenants must re-import the new bundles as new agents — projects bound to the previous agent UUIDs keep pointing to the old agent until migrated. The downstream genai-ui Dockerfile updates two ENV var names and values (GENAI_DATA_ANALYTICS_COWORK_BUNDLE_NAMEGENAI_DATA_ANALYTICS_OFFICER_COWORK_BUNDLE_NAME, GENAI_GOVERNANCE_OFFICER_COWORK_BUNDLE_NAMEGENAI_DATA_GOVERNANCE_OFFICER_COWORK_BUNDLE_NAME) in a paired PR. Release order: merge + CI in genai-agents first (so the new bundles land in Nexus), then merge in genai-ui.

  • [ROCK-14755] Fix subagent truncation protocol and skill-creator OpenCode cleanup: rewrites stratio-mcp-response-patterns.md §2 so the agent passes the literal saved-file path and the extraction goal in the Task prompt (root cause of subtasks asking the user); adds "in parallel = same-response tool calls, never Task/subtasks" clarification to stratio-data-tools.md §3 and stratio-semantic-layer-tools.md §8; removes all Claude-Code-only frontmatter fields (model, effort, context: fork, agent, paths, allowed-tools, argument-hint, etc.) from skill-creator/frontmatter-reference.md and related files, aligning the skill-creator documentation with the OpenCode skill schema (name and description only). All changes shipped in EN + ES.

  • Consistent artifact prefixes in dist/: every ZIP carries a type prefix so a reader can tell at a glance what each artifact is: agent-<name>-<format>-<version>.zip, skill-<name>-<version>.zip (already prefixed before this release), skills-<version>.zip for the bulk bundle, and plugin-<name>-<platform>-<version>.zip. Only the final naming in bin/package.sh is affected — the pack scripts and the internal sub-bundle names inside Stratio Cowork wrappers (<name>-opencode-agent.zip, <name>-skills.zip, declared in metadata.yaml) are unchanged. Coordinated via a paired PR in genai-ui for the seven Dockerfile env vars that download the artifacts from Nexus.

  • Monorepo structural cleanup: the root layout becomes agents/, skills/, guides/, plugins/ as first-class citizens. The redundant shared- prefix is dropped (shared-skills/skills/, shared-skill-guides/guides/), the six agents move from the monorepo root into agents/<name>/, and the manifests are aligned with the new naming (<agent>/shared-skills<agent>/imported-skills, <agent>/shared-guides and <skill>/skill-guidesguides). The bulk packaging script and the Stratio Cowork sub-bundle filename are renamed in lockstep (pack_shared_skills.shpack_skills.sh, {name}-shared-skills.zip{name}-skills.zip). The published per-skill Nexus artifact prefix changes from shared-skill-{name} to skill-{name} — coordinated via a paired PR in genai-ui for the Dockerfile env var. No changes required to genai-api: its bundle importer reads the sub-bundle path from metadata.yaml and searches skills by recursive **/SKILL.md, both agnostic to the new naming.

  • Removal of data-analytics-light agent and Claude-specific packaging targets (Claude Code CLI, Claude AI Projects, Claude Cowork). Functional plugins now cover the chat-oriented and Claude-marketplace use cases, so the standalone lightweight agent and the per-agent Claude packaging scripts no longer add value. Removed: data-analytics-light/ and its es/ overlay; pack_claude_code.sh (root); pack_claude_ai_project.sh and pack_claude_cowork.sh from data-quality/, governance-officer/ and semantic-layer/; per-agent .mcp.json files (these were only consumed by Claude Code, which is no longer a packaging target). bin/package.sh simplified: dropped the claude-code pass and the _pack_agent_extras code path. Documentation updated across README.md, AGENTS.md/CLAUDE.md and per-agent READMEs (EN + ES). The OpenCode test skills (.claude/skills/test-opencode-*) keep working as the developer-testing path; the monorepo root .mcp.json and CLAUDE.md symlink stay so the repo can be opened with Claude Code for monorepo-level development.

  • Functional plugins: a new top-level plugins/ directory introduces business-vertical bundles that compose existing agents and shared skills into a single deployable unit. Five reference plugins ship in this release: stratio-governance (governance-officer + data-quality + semantic-layer agents → Stratio Cowork), stratio-data (data-analytics agent → Stratio Cowork), stratio-cowork-development (agent-creator + skill-creator agents → Stratio Cowork), stratio-productivity (skills-only: pdf/docx/pptx/xlsx readers+writers + web-craft + canvas-craft + brand-kit → Stratio Cowork + Claude marketplace) and stratio-data-toolkit (skills-only: stratio-data + explore-data + propose-knowledge + assess-quality → Claude marketplace; the same skills are available to Cowork users via the agent plugins, so this toolkit is published exclusively to Claude). Each plugin is described by a declarative plugin.yaml (name, description, tags, contents, MCPs, platforms) and a user-facing README.md. Validation rules (bin/validate-plugins.py) enforce schema correctness and the platform constraint that Claude does not support agents in plugins. pack_plugin.sh packages each plugin for both targets (Stratio Cowork wrapper bundle reusing agents/v1 sub-ZIPs, and Claude .claude-plugin/plugin.json marketplace ZIP); bin/package.sh runs it as a second pass after the per-agent packaging. The cowork-api shared skill gains a third capability upload-plugin that opens the wrapper, reads the aggregated plugin.yaml, and dispatches each sub-ZIP to the matching genai-api endpoint (/v1/agents/bundle/import for agents, /v1/agents/skills/bundle/import for skills) returning an aggregated report.

  • New shared guide stratio-mcp-response-patterns.md: extracts the long-running task polling protocol and large-output truncation handling from stratio-data-tools.md and stratio-semantic-layer-tools.md into a single companion guide (EN + ES), eliminating the duplication and providing one source of truth for both MCP response patterns. Declared in all 13 manifests that already carry the parent guides.

  • stratio-data-tools.md section renumbering: false subsections §3.5 and §3.6 (appended post-hoc to §3 Strict Rules without matching §3.1-§3.4) are promoted to proper top-level sections; §4-§10 shift to §5-§12 accordingly. A new §9 "MCP Response Patterns" bridge replaces the inline polling and truncation protocols and directs to the companion guide. All external references updated across agents and skills (EN + ES).

  • [ROCK-14771] CI/CD Update builder image to fix package verification