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 betweenget_mcp_task_resultcalls. The agent polls continuously whilestatus="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_keysandcreate_semantic_termsMCP tools now accept both the technical name and thesemantic_*counterpart fordomainand normalize to the technical form internally —refine-semantic-foreign-keysremoves the prefix-disambiguation logic in §1 andcreate-semantic-termsadds a client-side strip when the user types the semantic form.refine_semantic_foreign_keysno 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 readslist_technical_domain_conceptsand surfaces refinability viahas_semantic_termsrather than the old "is the view in a published semantic domain?" check. Tool inputs forview_namesand similar lists are normalized server-side (leading/trailing whitespace and wrapping backticks). Documentation overhaul coversstratio-semantic-layer-tools.md, the two skill folders (SKILL + README), the triage rows insemantic-layeranddata-governance-officerAGENTS.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: extendsstratio-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 (jqfor one-shot queries or a short Python script). OpenCode'sMAX_LINE_LENGTH = 2000cap inRead/Grepis hardcoded (verified inpackages/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/andskills/each gain a human-facingREADME.mdthat serves as the authoritative catalogue and how-to for that category. The rootREADME.mdis 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 actualskills/contents. The i18n rule inAGENTS.mdis clarified to distinguish per-artifact READMEs (translatable, ship inside ZIPs) from folder-catalogue READMEs (English-only, never bundled).bin/check-translations.shupdated to exclude the new folder READMEs from the translatable scan. -
Agent renames —
data-analytics→data-analytics-officer,governance-officer→data-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 downstreamgenai-uiDockerfile updates two ENV var names and values (GENAI_DATA_ANALYTICS_COWORK_BUNDLE_NAME→GENAI_DATA_ANALYTICS_OFFICER_COWORK_BUNDLE_NAME,GENAI_GOVERNANCE_OFFICER_COWORK_BUNDLE_NAME→GENAI_DATA_GOVERNANCE_OFFICER_COWORK_BUNDLE_NAME) in a paired PR. Release order: merge + CI ingenai-agentsfirst (so the new bundles land in Nexus), then merge ingenai-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 tostratio-data-tools.md§3 andstratio-semantic-layer-tools.md§8; removes all Claude-Code-only frontmatter fields (model,effort,context: fork,agent,paths,allowed-tools,argument-hint, etc.) fromskill-creator/frontmatter-reference.mdand related files, aligning the skill-creator documentation with the OpenCode skill schema (nameanddescriptiononly). 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>.zipfor the bulk bundle, andplugin-<name>-<platform>-<version>.zip. Only the final naming inbin/package.shis affected — the pack scripts and the internal sub-bundle names inside Stratio Cowork wrappers (<name>-opencode-agent.zip,<name>-skills.zip, declared inmetadata.yaml) are unchanged. Coordinated via a paired PR ingenai-uifor 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 redundantshared-prefix is dropped (shared-skills/→skills/,shared-skill-guides/→guides/), the six agents move from the monorepo root intoagents/<name>/, and the manifests are aligned with the new naming (<agent>/shared-skills→<agent>/imported-skills,<agent>/shared-guidesand<skill>/skill-guides→guides). The bulk packaging script and the Stratio Cowork sub-bundle filename are renamed in lockstep (pack_shared_skills.sh→pack_skills.sh,{name}-shared-skills.zip→{name}-skills.zip). The published per-skill Nexus artifact prefix changes fromshared-skill-{name}toskill-{name}— coordinated via a paired PR ingenai-uifor the Dockerfile env var. No changes required togenai-api: its bundle importer reads the sub-bundle path frommetadata.yamland searches skills by recursive**/SKILL.md, both agnostic to the new naming. -
Removal of
data-analytics-lightagent 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 itses/overlay;pack_claude_code.sh(root);pack_claude_ai_project.shandpack_claude_cowork.shfromdata-quality/,governance-officer/andsemantic-layer/; per-agent.mcp.jsonfiles (these were only consumed by Claude Code, which is no longer a packaging target).bin/package.shsimplified: dropped theclaude-codepass and the_pack_agent_extrascode path. Documentation updated acrossREADME.md,AGENTS.md/CLAUDE.mdand per-agent READMEs (EN + ES). The OpenCode test skills (.claude/skills/test-opencode-*) keep working as the developer-testing path; the monorepo root.mcp.jsonandCLAUDE.mdsymlink 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) andstratio-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 declarativeplugin.yaml(name, description, tags, contents, MCPs, platforms) and a user-facingREADME.md. Validation rules (bin/validate-plugins.py) enforce schema correctness and the platform constraint that Claude does not support agents in plugins.pack_plugin.shpackages each plugin for both targets (Stratio Cowork wrapper bundle reusingagents/v1sub-ZIPs, and Claude.claude-plugin/plugin.jsonmarketplace ZIP);bin/package.shruns it as a second pass after the per-agent packaging. Thecowork-apishared skill gains a third capabilityupload-pluginthat opens the wrapper, reads the aggregatedplugin.yaml, and dispatches each sub-ZIP to the matchinggenai-apiendpoint (/v1/agents/bundle/importfor agents,/v1/agents/skills/bundle/importfor 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 fromstratio-data-tools.mdandstratio-semantic-layer-tools.mdinto 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.mdsection 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