@clickzetta/cz-cli-darwin-x64 0.5.16 → 0.5.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/bin/cz-cli +0 -0
  2. package/bin/skills/lakehouse-doc-en/SKILL.md +6 -11
  3. package/bin/skills/lakehouse-doc-en/references/AIGateway.md +58 -13
  4. package/bin/skills/lakehouse-doc-en/references/Computation.md +1 -1
  5. package/bin/skills/lakehouse-doc-en/references/DataSource_Amazon_DocumentDB.md +3 -1
  6. package/bin/skills/lakehouse-doc-en/references/Foreach.md +14 -14
  7. package/bin/skills/lakehouse-doc-en/references/JDBC-Driver.md +0 -1
  8. package/bin/skills/lakehouse-doc-en/references/LakehouseAI-overview.md +21 -8
  9. package/bin/skills/lakehouse-doc-en/references/LakehouseDataGPT-tour.md +4 -9
  10. package/bin/skills/lakehouse-doc-en/references/LakehouseStudio-tour.md +14 -19
  11. package/bin/skills/lakehouse-doc-en/references/Lakehouse_Zilliz_MakeDataReadyforBIandAI.md +1 -1
  12. package/bin/skills/lakehouse-doc-en/references/Logstash.md +3 -3
  13. package/bin/skills/lakehouse-doc-en/references/Migrate_Spark_DataEngineeringBestPractices_Project_to_Lakehouse.md +1 -1
  14. package/bin/skills/lakehouse-doc-en/references/Notebook.md +17 -17
  15. package/bin/skills/lakehouse-doc-en/references/RemoteFunction-as-udf.md +14 -14
  16. package/bin/skills/lakehouse-doc-en/references/SQL_External_Catalog_Guide.md +1 -9
  17. package/bin/skills/lakehouse-doc-en/references/SUMMARY.md +59 -29
  18. package/bin/skills/lakehouse-doc-en/references/WINDOWFUNCTION.md +99 -57
  19. package/bin/skills/lakehouse-doc-en/references/Zettapark_Data_Engineering_Demo.md +1 -1
  20. package/bin/skills/lakehouse-doc-en/references/access-control-configuration.md +1 -8
  21. package/bin/skills/lakehouse-doc-en/references/aigw-2026-2-5-1.0.md +16 -0
  22. package/bin/skills/lakehouse-doc-en/references/aigw-2026-3-29-1.0.2.md +14 -0
  23. package/bin/skills/lakehouse-doc-en/references/aigw-2026-3-8-1.0.1.md +16 -0
  24. package/bin/skills/lakehouse-doc-en/references/aigw-2026-4-28-1.1.md +29 -0
  25. package/bin/skills/lakehouse-doc-en/references/aigw-2026-5-12-1.1.1.md +18 -0
  26. package/bin/skills/lakehouse-doc-en/references/aigw-2026-5-15-1.2.md +9 -0
  27. package/bin/skills/lakehouse-doc-en/references/aigw-2026-5-21-1.3.md +9 -0
  28. package/bin/skills/lakehouse-doc-en/references/aigw-2026-5-28-1.4.md +10 -0
  29. package/bin/skills/lakehouse-doc-en/references/aigw-2026-6-3-1.5.md +9 -0
  30. package/bin/skills/lakehouse-doc-en/references/alicloud-arn-externalid.md +0 -5
  31. package/bin/skills/lakehouse-doc-en/references/answer-accuracy-improve.md +120 -103
  32. package/bin/skills/lakehouse-doc-en/references/application-list.md +1 -3
  33. package/bin/skills/lakehouse-doc-en/references/approval-list.md +16 -17
  34. package/bin/skills/lakehouse-doc-en/references/batch-load-parquet-file-into-lakehouse.md +1 -1
  35. package/bin/skills/lakehouse-doc-en/references/batch_sync.md +9 -9
  36. package/bin/skills/lakehouse-doc-en/references/batch_sync_Sop.md +2 -2
  37. package/bin/skills/lakehouse-doc-en/references/batchloadparquetfileintoLakehouse.md +1 -1
  38. package/bin/skills/lakehouse-doc-en/references/bulkloadv1-python-sdk.md +3 -3
  39. package/bin/skills/lakehouse-doc-en/references/chart-auto-refresh-guide.md +12 -6
  40. package/bin/skills/lakehouse-doc-en/references/clickzetta-sample-data.md +3 -3
  41. package/bin/skills/lakehouse-doc-en/references/code_approval.md +1 -5
  42. package/bin/skills/lakehouse-doc-en/references/composite_task.md +31 -42
  43. package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_environment_and_data_generate.md +6 -9
  44. package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_javasdk_bulkload_realtime.md +4 -10
  45. package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_kafka_realtime_sync.md +1 -10
  46. package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_local_file_into_table_by_studio.md +0 -6
  47. package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_studio_batchload_public_network.md +0 -5
  48. package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_studio_python_node.md +2 -7
  49. package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_studio_realtime_cdc_public_network.md +13 -18
  50. package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_studio_sql_insert.md +0 -1
  51. package/bin/skills/lakehouse-doc-en/references/concepts.md +1 -1
  52. package/bin/skills/lakehouse-doc-en/references/config-datasource.md +5 -7
  53. package/bin/skills/lakehouse-doc-en/references/connect-with-cli.md +116 -72
  54. package/bin/skills/lakehouse-doc-en/references/connect-with-cz-cli.md +151 -0
  55. package/bin/skills/lakehouse-doc-en/references/continue-job.md +9 -17
  56. package/bin/skills/lakehouse-doc-en/references/create-api-connection.md +315 -286
  57. package/bin/skills/lakehouse-doc-en/references/create-catalog-connection.md +1 -0
  58. package/bin/skills/lakehouse-doc-en/references/create-dynamic-table.md +4 -4
  59. package/bin/skills/lakehouse-doc-en/references/create-external-catalog.md +85 -22
  60. package/bin/skills/lakehouse-doc-en/references/create-table-ddl.md +45 -0
  61. package/bin/skills/lakehouse-doc-en/references/creating_alicloud_privatelinkendpoint.md +4 -6
  62. package/bin/skills/lakehouse-doc-en/references/creating_alicloud_privatelinkservice.md +4 -7
  63. package/bin/skills/lakehouse-doc-en/references/creating_tencentcloud_privatelinkendpoint.md +2 -7
  64. package/bin/skills/lakehouse-doc-en/references/creating_tencentcloud_privatelinkservice.md +1 -5
  65. package/bin/skills/lakehouse-doc-en/references/cz-cli-agent.md +15 -10
  66. package/bin/skills/lakehouse-doc-en/references/cz-cli-datasource.md +0 -8
  67. package/bin/skills/lakehouse-doc-en/references/cz-cli-sql.md +2 -45
  68. package/bin/skills/lakehouse-doc-en/references/cz-cli.md +53 -42
  69. package/bin/skills/lakehouse-doc-en/references/dashboard-version-management-guide.md +12 -4
  70. package/bin/skills/lakehouse-doc-en/references/data-integration-intro.md +1 -1
  71. package/bin/skills/lakehouse-doc-en/references/data-integration.md +29 -27
  72. package/bin/skills/lakehouse-doc-en/references/data-load-summary.md +3 -3
  73. package/bin/skills/lakehouse-doc-en/references/data-quality.md +25 -25
  74. package/bin/skills/lakehouse-doc-en/references/data-sharing.md +31 -54
  75. package/bin/skills/lakehouse-doc-en/references/data-sources.md +45 -45
  76. package/bin/skills/lakehouse-doc-en/references/data_catalog.md +23 -25
  77. package/bin/skills/lakehouse-doc-en/references/data_privacy.md +5 -2
  78. package/bin/skills/lakehouse-doc-en/references/data_sharing_between_accounts_guide.md +0 -4
  79. package/bin/skills/lakehouse-doc-en/references/data_visualization.md +4 -15
  80. package/bin/skills/lakehouse-doc-en/references/dataagent.md +39 -7
  81. package/bin/skills/lakehouse-doc-en/references/databricks-delta-to-lakehouse-migration.md +168 -0
  82. package/bin/skills/lakehouse-doc-en/references/databricks-dlt-to-lakehouse-migration.md +331 -0
  83. package/bin/skills/lakehouse-doc-en/references/databricks-external-catalog-practice.md +367 -0
  84. package/bin/skills/lakehouse-doc-en/references/databricks-jobs-to-studio-migration.md +199 -0
  85. package/bin/skills/lakehouse-doc-en/references/databricks-notebook-to-studio-migration.md +350 -0
  86. package/bin/skills/lakehouse-doc-en/references/databricks-uc-governance-to-lakehouse-migration.md +327 -0
  87. package/bin/skills/lakehouse-doc-en/references/datagpt-model-config.md +34 -0
  88. package/bin/skills/lakehouse-doc-en/references/datagpt_data_source.md +50 -37
  89. package/bin/skills/lakehouse-doc-en/references/datagpt_introduction.md +55 -79
  90. package/bin/skills/lakehouse-doc-en/references/datagpt_quickstart.md +50 -64
  91. package/bin/skills/lakehouse-doc-en/references/datalake-acceleration.md +75 -2
  92. package/bin/skills/lakehouse-doc-en/references/dbt-databricks-to-clickzetta-migration.md +242 -0
  93. package/bin/skills/lakehouse-doc-en/references/dynamic-mask.md +30 -30
  94. package/bin/skills/lakehouse-doc-en/references/dynamic-table-bestpractice.md +1 -1
  95. package/bin/skills/lakehouse-doc-en/references/dynamic-table-introduce.md +1 -1
  96. package/bin/skills/lakehouse-doc-en/references/dynamic_table_summary.md +1 -1
  97. package/bin/skills/lakehouse-doc-en/references/eco_integration/streamlit.md +1 -1
  98. package/bin/skills/lakehouse-doc-en/references/eco_integration/superset.md +1 -1
  99. package/bin/skills/lakehouse-doc-en/references/ecosystem-all.md +1 -3
  100. package/bin/skills/lakehouse-doc-en/references/ecosystem.md +145 -0
  101. package/bin/skills/lakehouse-doc-en/references/external-catalog-summary.md +33 -38
  102. package/bin/skills/lakehouse-doc-en/references/external-function-combo-practice.md +466 -0
  103. package/bin/skills/lakehouse-doc-en/references/f6fc6447ee.md +7 -9
  104. package/bin/skills/lakehouse-doc-en/references/federation-query.md +56 -6
  105. package/bin/skills/lakehouse-doc-en/references/finebi-mysql.md +2 -0
  106. package/bin/skills/lakehouse-doc-en/references/get-started-with-sample-data.md +10 -11
  107. package/bin/skills/lakehouse-doc-en/references/gitfolder.md +2 -3
  108. package/bin/skills/lakehouse-doc-en/references/grant-privileges.md +2 -0
  109. package/bin/skills/lakehouse-doc-en/references/iceberg-rest-catalog-databricks.md +166 -0
  110. package/bin/skills/lakehouse-doc-en/references/ide.md +1 -1
  111. package/bin/skills/lakehouse-doc-en/references/if_else_task.md +59 -57
  112. package/bin/skills/lakehouse-doc-en/references/input_output.md +10 -7
  113. package/bin/skills/lakehouse-doc-en/references/jobprofile-bestpractices.md +60 -64
  114. package/bin/skills/lakehouse-doc-en/references/kafka-connection.md +0 -1
  115. package/bin/skills/lakehouse-doc-en/references/key-concepts.md +146 -117
  116. package/bin/skills/lakehouse-doc-en/references/lakehouse-ai-gateway-cz-cli.md +317 -0
  117. package/bin/skills/lakehouse-doc-en/references/lakehouse-ai-sql-analysis.md +345 -0
  118. package/bin/skills/lakehouse-doc-en/references/lakehouse-dqc-guide.md +300 -0
  119. package/bin/skills/lakehouse-doc-en/references/lakehouse-medallion-sql-dt-guide.md +543 -0
  120. package/bin/skills/lakehouse-doc-en/references/lakehouse-multi-cloud-acceleration.md +274 -0
  121. package/bin/skills/lakehouse-doc-en/references/lakehouse-multimodal-ai-pipeline.md +198 -0
  122. package/bin/skills/lakehouse-doc-en/references/lakehouse-quick-experience_guide.md +49 -52
  123. package/bin/skills/lakehouse-doc-en/references/lakehouse-volume-pipe-acceleration-guide.md +380 -0
  124. package/bin/skills/lakehouse-doc-en/references/langchain-plug-installation.md +1 -1
  125. package/bin/skills/lakehouse-doc-en/references/management.md +4 -9
  126. package/bin/skills/lakehouse-doc-en/references/medallion-lakehouse-from-scratch.md +2 -1
  127. package/bin/skills/lakehouse-doc-en/references/metrics_answer_build.md +58 -21
  128. package/bin/skills/lakehouse-doc-en/references/migrate-spark-data-engineering-best-practices-to-lakehouse.md +1 -1
  129. package/bin/skills/lakehouse-doc-en/references/mindsdb.md +1 -1
  130. package/bin/skills/lakehouse-doc-en/references/monitoring_and_alerting.md +65 -60
  131. package/bin/skills/lakehouse-doc-en/references/monitoring_item_specification.md +33 -33
  132. package/bin/skills/lakehouse-doc-en/references/multitable_batch_sync.md +16 -16
  133. package/bin/skills/lakehouse-doc-en/references/multitable_realtime_sync.md +65 -72
  134. package/bin/skills/lakehouse-doc-en/references/multitable_realtime_sync_sop.md +54 -52
  135. package/bin/skills/lakehouse-doc-en/references/navicat-mysql.md +2 -0
  136. package/bin/skills/lakehouse-doc-en/references/om-dynamic-table.md +71 -66
  137. package/bin/skills/lakehouse-doc-en/references/om-vcluster.md +2 -0
  138. package/bin/skills/lakehouse-doc-en/references/open-api-create-session.md +79 -0
  139. package/bin/skills/lakehouse-doc-en/references/open-api-generate-auth-token.md +63 -0
  140. package/bin/skills/lakehouse-doc-en/references/open-api-overview.md +96 -0
  141. package/bin/skills/lakehouse-doc-en/references/open-api-quick-start.md +286 -0
  142. package/bin/skills/lakehouse-doc-en/references/open-api-response-guide.md +264 -0
  143. package/bin/skills/lakehouse-doc-en/references/open-api-safe-question-poll.md +201 -0
  144. package/bin/skills/lakehouse-doc-en/references/open-api-text2insight-query.md +99 -0
  145. package/bin/skills/lakehouse-doc-en/references/open-api-text2insight-stop.md +74 -0
  146. package/bin/skills/lakehouse-doc-en/references/overview.md +6 -7
  147. package/bin/skills/lakehouse-doc-en/references/permission-application.md +5 -5
  148. package/bin/skills/lakehouse-doc-en/references/pipe-introduction.md +1 -0
  149. package/bin/skills/lakehouse-doc-en/references/pipe-kafka-table-stream.md +72 -70
  150. package/bin/skills/lakehouse-doc-en/references/pipe-kafka.md +105 -110
  151. package/bin/skills/lakehouse-doc-en/references/pipe-overview.md +40 -40
  152. package/bin/skills/lakehouse-doc-en/references/pipe-storage-object.md +43 -48
  153. package/bin/skills/lakehouse-doc-en/references/pipe-summary.md +14 -4
  154. package/bin/skills/lakehouse-doc-en/references/pipe-syntax.md +58 -151
  155. package/bin/skills/lakehouse-doc-en/references/practice_python_task.md +4 -4
  156. package/bin/skills/lakehouse-doc-en/references/pricing-ai-gateway.md +181 -0
  157. package/bin/skills/lakehouse-doc-en/references/pricing-lakehouse.md +316 -0
  158. package/bin/skills/lakehouse-doc-en/references/pricing.md +44 -288
  159. package/bin/skills/lakehouse-doc-en/references/private-link-general.md +0 -2
  160. package/bin/skills/lakehouse-doc-en/references/pyspark-to-zettapark-migration-f1.md +1 -1
  161. package/bin/skills/lakehouse-doc-en/references/python-igs.md +7 -3
  162. package/bin/skills/lakehouse-doc-en/references/python-sample-put-github-rt-events.md +1 -1
  163. package/bin/skills/lakehouse-doc-en/references/python-task.md +1 -1
  164. package/bin/skills/lakehouse-doc-en/references/python_reference/connector.md +3 -3
  165. package/bin/skills/lakehouse-doc-en/references/python_reference/connector_advanced.md +2 -2
  166. package/bin/skills/lakehouse-doc-en/references/python_reference/connector_examples.md +2 -2
  167. package/bin/skills/lakehouse-doc-en/references/python_sdk_guide.md +1 -1
  168. package/bin/skills/lakehouse-doc-en/references/python_shell_datasource.md +11 -9
  169. package/bin/skills/lakehouse-doc-en/references/quick_start_batch_sync_data.md +9 -18
  170. package/bin/skills/lakehouse-doc-en/references/quick_start_bi_analysis.md +8 -25
  171. package/bin/skills/lakehouse-doc-en/references/quick_start_create_workspace.md +4 -6
  172. package/bin/skills/lakehouse-doc-en/references/quick_start_data_quality.md +8 -8
  173. package/bin/skills/lakehouse-doc-en/references/quick_start_etl.md +16 -20
  174. package/bin/skills/lakehouse-doc-en/references/quick_start_monitoring_and_alerting.md +10 -18
  175. package/bin/skills/lakehouse-doc-en/references/quick_start_sql_query.md +7 -10
  176. package/bin/skills/lakehouse-doc-en/references/quick_start_upload_data.md +5 -7
  177. package/bin/skills/lakehouse-doc-en/references/quick_start_user_management.md +8 -8
  178. package/bin/skills/lakehouse-doc-en/references/quick_start_workspace.md +0 -5
  179. package/bin/skills/lakehouse-doc-en/references/quick_start_workspace_user.md +8 -8
  180. package/bin/skills/lakehouse-doc-en/references/quickstart.md +69 -56
  181. package/bin/skills/lakehouse-doc-en/references/quickstart_datashare_between_companies.md +0 -5
  182. package/bin/skills/lakehouse-doc-en/references/quickstart_envirment_for_team.md +0 -24
  183. package/bin/skills/lakehouse-doc-en/references/realtime-pipeline-selection-guide.md +1 -2
  184. package/bin/skills/lakehouse-doc-en/references/realtime-sales-dashboard-with-dynamic-table.md +3 -3
  185. package/bin/skills/lakehouse-doc-en/references/realtime_sync.md +0 -1
  186. package/bin/skills/lakehouse-doc-en/references/release-note-2026-05-19.md +5 -3
  187. package/bin/skills/lakehouse-doc-en/references/revoke-privileges.md +3 -1
  188. package/bin/skills/lakehouse-doc-en/references/roles.md +2 -3
  189. package/bin/skills/lakehouse-doc-en/references/row-filter.md +165 -0
  190. package/bin/skills/lakehouse-doc-en/references/row_level_permission.md +30 -19
  191. package/bin/skills/lakehouse-doc-en/references/scheduled_task.md +28 -21
  192. package/bin/skills/lakehouse-doc-en/references/security_overview.md +99 -21
  193. package/bin/skills/lakehouse-doc-en/references/set-command.md +1 -1
  194. package/bin/skills/lakehouse-doc-en/references/setup.md +13 -15
  195. package/bin/skills/lakehouse-doc-en/references/show-grants.md +1 -1
  196. package/bin/skills/lakehouse-doc-en/references/snowflake-dynamic-tables-to-lakehouse.md +2 -2
  197. package/bin/skills/lakehouse-doc-en/references/spark-connector-summary.md +1 -1
  198. package/bin/skills/lakehouse-doc-en/references/sql_functions/context_functions/current_vcluster.md +1 -1
  199. package/bin/skills/lakehouse-doc-en/references/sso-configuration.md +2 -2
  200. package/bin/skills/lakehouse-doc-en/references/streaming_pipeline_with_dynamic_table.md +0 -1
  201. package/bin/skills/lakehouse-doc-en/references/studio-incremental-sync-practice.md +27 -23
  202. package/bin/skills/lakehouse-doc-en/references/studio-shell-task.md +1 -1
  203. package/bin/skills/lakehouse-doc-en/references/supported-cloud-platforms.md +32 -0
  204. package/bin/skills/lakehouse-doc-en/references/table_rendering.md +18 -12
  205. package/bin/skills/lakehouse-doc-en/references/task-develop.md +89 -91
  206. package/bin/skills/lakehouse-doc-en/references/task_development.md +19 -17
  207. package/bin/skills/lakehouse-doc-en/references/task_group.md +16 -14
  208. package/bin/skills/lakehouse-doc-en/references/task_instance.md +21 -21
  209. package/bin/skills/lakehouse-doc-en/references/task_param.md +38 -35
  210. package/bin/skills/lakehouse-doc-en/references/task_param_reference.md +81 -79
  211. package/bin/skills/lakehouse-doc-en/references/task_scheduling_dependency.md +20 -21
  212. package/bin/skills/lakehouse-doc-en/references/tencentcloud_arn_and_externalid.md +1 -5
  213. package/bin/skills/lakehouse-doc-en/references/trial-account-quotas-and-limits.md +1 -3
  214. package/bin/skills/lakehouse-doc-en/references/tutorial_connect_to_lakehouse.md +69 -0
  215. package/bin/skills/lakehouse-doc-en/references/tutorials.md +4 -1
  216. package/bin/skills/lakehouse-doc-en/references/unique-key.md +167 -0
  217. package/bin/skills/lakehouse-doc-en/references/usageandbillingview.md +138 -0
  218. package/bin/skills/lakehouse-doc-en/references/use-dbt-dev.md +3 -3
  219. package/bin/skills/lakehouse-doc-en/references/use-java-sdk-realtime-uploaddata.md +1 -1
  220. package/bin/skills/lakehouse-doc-en/references/use-java-sdk-upload-data-local.md +3 -3
  221. package/bin/skills/lakehouse-doc-en/references/use-models.md +128 -0
  222. package/bin/skills/lakehouse-doc-en/references/use-mysql-client.md +81 -81
  223. package/bin/skills/lakehouse-doc-en/references/use-python-sdk-upload-data.md +10 -12
  224. package/bin/skills/lakehouse-doc-en/references/user-identification.md +2 -3
  225. package/bin/skills/lakehouse-doc-en/references/user_permission_grand_guide.md +1 -1
  226. package/bin/skills/lakehouse-doc-en/references/using-udf-in-dynamic-table.md +1 -1
  227. package/bin/skills/lakehouse-doc-en/references/vc_cache.md +18 -22
  228. package/bin/skills/lakehouse-doc-en/references/vcluster_size_description.md +33 -31
  229. package/bin/skills/lakehouse-doc-en/references/virtual-cluster.md +43 -45
  230. package/bin/skills/lakehouse-doc-en/references/web-job-history.md +94 -108
  231. package/bin/skills/lakehouse-doc-en/references/web_search.md +16 -7
  232. package/bin/skills/lakehouse-doc-en/references/zettapark-data-engineering-demo.md +1 -1
  233. package/bin/skills/lakehouse-doc-en/references/zettapark-dataframe-guide.md +144 -70
  234. package/bin/skills/lakehouse-doc-en/references/zettapark-dynamic-table-guide.md +2 -2
  235. package/bin/skills/lakehouse-doc-en/references/zettapark-etl-guide.md +73 -33
  236. package/bin/skills/lakehouse-doc-en/references/zettapark-feature-engineering.md +2 -2
  237. package/bin/skills/lakehouse-doc-en/references/zettapark-functions-guide.md +75 -46
  238. package/bin/skills/lakehouse-doc-en/references/zettapark-quick-start.md +2 -2
  239. package/bin/skills/lakehouse-doc-en/references/zettapark-stream-guide.md +4 -4
  240. package/bin/skills/lakehouse-doc-en/references/zettapark-volume-guide.md +93 -29
  241. package/package.json +1 -1
  242. package/bin/skills/lakehouse-doc-en/references/CLAUDE.md +0 -606
  243. package/bin/skills/lakehouse-doc-en/references/modelprice.md +0 -155
@@ -1,606 +0,0 @@
1
- # Singdata Lakehouse Documentation — Collaboration Guidelines
2
-
3
- ## Documentation Quality Goals
4
-
5
- Core user pain points: **content too shallow, lack of examples, slow updates, errors (typos + incorrect SQL)**.
6
-
7
- Before delivering any document, self-check against these standards:
8
-
9
- - After reading the first screen, the user can decide "is this feature right for my use case"
10
- - Every SQL example has setup data + actual output, verified with cz-cli
11
- - Critical warnings appear next to the parameter that triggers them, not only at the bottom
12
- - No typos, no unverified SQL
13
-
14
- ---
15
-
16
- ## Content Quality Standards
17
-
18
- ### Concept Documents (Feature Introduction Pages)
19
-
20
- The first screen must answer three questions:
21
-
22
- 1. **What is it**: One-sentence analogy using something the user already knows
23
- 2. **When to use it**: Comparison with similar features (table or brief explanation)
24
- 3. **Core mechanism**: The single most important working principle to build a mental model
25
-
26
- Example (what a Dynamic Table first screen should contain):
27
- > A Dynamic Table is like an "auto-refreshing query result table" — you define a SQL query, and the system incrementally computes and maintains the result. Use it to build ODS→DWD→ADS data pipelines. If you only need transparent query acceleration, use a Materialized View. If you only need logical encapsulation without storing data, use a View.
28
-
29
- ### SQL Reference Documents (Command Reference Pages)
30
-
31
- **Purpose**: Users come here to look up uncertain syntax or parameter meanings. Organized by command structure.
32
-
33
- **Fixed structure** (order must not change):
34
-
35
- 1. `# COMMAND NAME` — all-caps English (`MERGE INTO`)
36
- 2. `## Overview` — one sentence on purpose + positioning (when to use this command vs. alternatives)
37
- 3. `## Syntax` — code block annotated ` ```Plain `, use `<placeholder>` for parameters
38
- 4. `## Parameters` — each parameter describes behavior, format: what it does — when to use this value; critical constraints follow the parameter inline with `> ⚠️`
39
- 5. `## Examples` — three-part: setup data → core SQL → actual output
40
- 6. `## Notes` — summary of critical constraints (also inline next to parameters)
41
- 7. `## Related Documentation` — link to the corresponding usage guide
42
-
43
- **Parameter description format**: describe behavior, not just definition.
44
-
45
- ```
46
- # Bad: `BUILD DEFERRED`: Boolean, controls whether to defer build
47
- # Good: `BUILD DEFERRED`: Does not generate data at creation time; use when you want to
48
- # define the structure first and trigger the initial refresh manually.
49
- # Required when using CREATE OR REPLACE.
50
- ```
51
-
52
- **Warnings first**: Critical constraints must appear in two places:
53
- - Next to the parameter/feature that triggers them (`> ⚠️ Note: ...`)
54
- - In the Notes section at the bottom (summary)
55
-
56
- ### Usage Guide Documents (SQL_*_Guide.md)
57
-
58
- **Purpose**: Users come here when they have a clear business goal ("I need to do funnel analysis", "I need deduplication") and want complete, runnable examples. Organized by business scenario.
59
-
60
- **Fixed structure** (order must not change):
61
-
62
- 1. `# Lakehouse X Guide` (or "X Operations Guide")
63
- 2. `## Overview` — 2-3 sentences on business context + quick navigation anchor list
64
- 3. `## SQL Commands Used` — table: Command/Function | Purpose | Use Case (for easy navigation to SQL reference pages)
65
- 4. `## Prerequisites` — CREATE TABLE + INSERT test data; all examples in the document share this one setup, do not create separate setups per scenario; test table names use `doc_` prefix (e.g., `doc_funnel_events`)
66
- 5. `## Scenario 1/2/3...` — each scenario: complete SQL → actual output (markdown table or code block) → result interpretation
67
- 6. `## Related Documentation` — link back to the corresponding SQL reference pages
68
-
69
- **Quality standards**:
70
- - Cover at least 2-3 real business variants (different grouping dimensions, different time granularities, etc.)
71
- - Results must include interpretation explaining what the output means, not just numbers
72
- - Do not repeat parameter syntax in guides; point to SQL reference pages for syntax details
73
-
74
- ### Key Difference Between the Two Document Types
75
-
76
- | | SQL Reference | Usage Guide |
77
- |---|---|---|
78
- | User intent | Look up syntax/parameters | Complete a business task |
79
- | Organized by | Command structure | Business scenario |
80
- | Number of examples | Cover all parameter combinations | Cover typical business variants |
81
- | Data setup | Each example has its own minimal data | Entire document shares one setup (`doc_` prefix) |
82
- | Cross-references | Link to usage guide at the end | Link back to SQL reference at the end |
83
-
84
- ---
85
-
86
- ## SQL Validation Standards
87
-
88
- **All SQL examples in all documents, whether command reference or usage guide, must be verified by actually running them. Guessing expected output is not allowed.** Any tool works: cz-cli, Lakehouse Studio, JDBC client — but output must come from actual execution.
89
-
90
- ### Validation Tool (cz-cli examples)
91
-
92
- ```bash
93
- # Query
94
- cz-cli sql "<SQL>" --profile aliyun_shanghai_prod --sync
95
-
96
- # DDL/DML (CREATE TABLE, INSERT, ALTER)
97
- cz-cli sql "CREATE TABLE ..." --profile aliyun_shanghai_prod --sync --write
98
- ```
99
-
100
- ### ⚠️ Hallucination Incident Log (Critical — Must Read)
101
-
102
- **Row-level permission SQL does not exist**: Lakehouse has no `CREATE ROW ACCESS POLICY`, `ALTER TABLE ... ADD ROW ACCESS POLICY`, or any row-level permission DDL syntax. These statements were completely fabricated and appeared in documentation causing serious misguidance. Row-level permissions **exist only in the DataGPT Studio UI configuration**, not as Lakehouse SQL objects. They must not appear in the object model section and must not have any SQL examples. Lesson: security/permission features must be verified with cz-cli before writing documentation — never infer from other databases (Snowflake/BigQuery).
103
-
104
- ### Common Pitfalls (Traps Already Encountered — Read Before Writing)
105
-
106
- **Numeric display**: `1.0` may actually return `1`, `[3.0, 8.0]` may return `[3, 8]`. Use actual output.
107
-
108
- **JSON serialization**: The `count` field in `approx_top_k`/`approx_histogram` is a string type (`"3"` not `3`). JSON output has no space after colon (`{"x":1}` not `{"x": 1}`).
109
-
110
- **Non-deterministic functions**: `ANY_VALUE` may return NULL. Do not hardcode specific values in examples; note non-determinism.
111
-
112
- **FILTER clause**: Not all aggregate functions support it. `MEDIAN` does not; `GROUP_CONCAT ... SEPARATOR ... FILTER` errors (use `WM_CONCAT` instead).
113
-
114
- **DISTINCT semantics**: `COLLECT_LIST_ON_ARRAY(DISTINCT ...)` deduplicates entire array rows, not elements within arrays.
115
-
116
- **APPROX_HISTOGRAM boundary values**: Floating-point precision may produce `0.6499999999999999` instead of `0.65`.
117
-
118
- **PERCENT_RANK**: Takes no arguments. `percent_rank(col)` errors; correct form is `PERCENT_RANK()`.
119
-
120
- **TABLE_CHANGES timestamps**: Only accepts literal constants; expressions like `NOW() - INTERVAL 1 HOUR` are not supported. `DESC HISTORY` returns UTC time; note timezone when querying (default UTC+8).
121
-
122
- **GROUP_BITMAP series**: `GROUP_BITMAP`/`GROUP_BITMAP_AND`/`GROUP_BITMAP_OR`/`GROUP_BITMAP_XOR`/`GROUP_BITMAP_MERGE` return cardinality (INT), not a bitmap object. Use `GROUP_BITMAP_STATE` for a bitmap object.
123
-
124
- **Unordered sets**: `COLLECT_SET` and `COLLECT_LIST(DISTINCT ...)` result order is non-deterministic. Do not hardcode order; note "result order is not guaranteed" in documentation.
125
-
126
- **FROM_JSON case sensitivity**: Field names are forced to lowercase. Fields with different cases that would collide are silently dropped. Use `PARSE_JSON` to preserve uppercase field names.
127
-
128
- **Context functions**: `CURRENT_SESSION_ID()`, `CURRENT_VCLUSTER()` return different values each time. Use comments in examples rather than hardcoding specific values.
129
-
130
- **LAST_VALUE window frame**: Default frame is `ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW`, causing `LAST_VALUE` to return the current row rather than the last row. Explicitly specify `ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING`.
131
-
132
- **Two-level window aggregation**: `SUM(SUM(col)) OVER (...)` is valid — the outer SUM is a window function, the inner SUM is an aggregate function, and it must be used with GROUP BY.
133
-
134
- ### Document Consistency Review (Required After SQL Verification)
135
-
136
- **Background**: SQL verification ensures "each SQL block runs correctly in isolation" but cannot catch inconsistencies between table definitions and later usage, missing cross-section references, or undocumented implicit assumptions. These errors are not exposed by isolated testing — only a full read-through from the reader's perspective reveals them.
137
-
138
- **After completing SQL verification for any usage guide, perform these three additional checks:**
139
-
140
- | Check | Method | Typical Error |
141
- |---|---|---|
142
- | Table definition completeness | Scan all SQL in the document, extract all columns/CTEs used, compare against the `CREATE TABLE` or setup data at the top | Time-Decay attribution uses `conversion_time` column, but it's not in the table definition |
143
- | CTE context references | Check whether each CTE referenced in a SQL block is defined in the same section or earlier; can the reader trace it back | Advanced scenario references `with_session` but doesn't say it comes from the session-splitting in Section 1 |
144
- | Implicit assumptions made explicit | List key facts confirmed during testing but not mentioned in the document; decide whether they need to be stated | The depth formula works for both LPAD-padded and unpadded paths, but readers may wonder |
145
-
146
- **How to execute**:
147
- 1. After writing all SQL and completing verification, **read the entire document from start to finish**
148
- 2. For each SQL block, ask: "If I only see up to this point, can I understand where all variables come from?"
149
- 3. For each table/CTE definition, ask: "Are all columns used later defined here?"
150
- 4. For key facts discovered during testing, ask: "Will readers have the same questions I had while testing?"
151
-
152
- ---
153
-
154
- ### Example Coverage Standards
155
-
156
- Function documentation examples must cover:
157
- 1. Basic usage (required)
158
- 2. Optional parameters listed in the syntax (DISTINCT, FILTER, ORDER BY, limit, etc.)
159
- 3. NULL value handling (when behavior is non-obvious)
160
- 4. GROUP BY usage (aggregate functions)
161
-
162
- Alias functions (e.g., `STD` = `STDDEV_SAMP`) may have fewer examples, but must cover at least FILTER and GROUP BY.
163
-
164
- ### Test Temporary Table Naming
165
-
166
- When testing multiple function groups in parallel, use different prefixes to avoid conflicts:
167
- - `test_agg_g1_`, `test_agg_g2_` … for aggregate_functions
168
- - Run `DROP TABLE IF EXISTS` to clean up after testing
169
-
170
- ---
171
-
172
- ## Documentation Writing Standards
173
-
174
- ### Document Structure Templates
175
-
176
- **SQL syntax documents** (e.g., `show-schemas.md`):
177
- - `## Overview`: one sentence on purpose + positioning
178
- - `## Syntax`: code block, annotated ` ```sql ` or ` ```Plain `
179
- - `## Parameters`: parameter names in inline code, describe behavior not definition
180
- - `## Examples`: three-part (setup data + SQL + output)
181
- - `## Notes`: critical constraints, also inline next to parameters
182
- - `## Related Guides`: link to the corresponding usage guide
183
-
184
- **Feature concept documents** (e.g., `table_stream.md`):
185
- - First screen: analogy + positioning + core mechanism
186
- - `## How It Works` or `## Core Concepts`
187
- - `## Use Cases`
188
- - `## Notes` / `## Cost`
189
- - `## Related Documentation`
190
-
191
- **Usage guide documents** (`SQL_*_Guide.md`):
192
- - `## Overview`: scenario description + quick navigation
193
- - `## SQL Commands Used`: command reference table
194
- - `## Prerequisites`: CREATE TABLE + INSERT test data
195
- - Scenario sections: complete SQL + output + explanation
196
- - `## Related Documentation`
197
-
198
- ### Heading Levels
199
-
200
- **Each document must have exactly one `#` H1 heading, and it must be the first line of content.** This is the first element users see when opening a page and directly affects orientation.
201
-
202
- **H1 naming rules** (by document type):
203
-
204
- | Document type | H1 format | Example |
205
- |---|---|---|
206
- | SQL command | `# COMMAND NAME` (all caps) | `# INSERT`, `# ALTER TABLE`, `# SHOW SCHEMAS` |
207
- | Concept/feature | `# Feature Name` | `# Materialized View`, `# Dynamic Table`, `# Table Stream` |
208
- | Operations guide | `# Verb + Object` | `# Load Data from Object Storage`, `# Configure Network Policy` |
209
- | Ecosystem integration | `# Tool Connection Guide` | `# FineBI Connection Guide`, `# PowerBI Connection Guide` |
210
- | Best practices | `# Topic Best Practices` | `# Table Design Best Practices`, `# Index Usage Best Practices` |
211
-
212
- **First `##` section name rules**:
213
- - SQL command documents: `## Overview` (consistent — do not use "Description", "Introduction", etc.)
214
- - Concept/feature documents: start with body text directly, no `## Overview` heading
215
- - Other types: `## Overview` or start with body text directly
216
-
217
- **Prohibited**:
218
- - Section numbering (`## 1.`, `## 2.` Word-style)
219
- - H1 using context-free words (`# Feature`, `# Overview`, `# Introduction`)
220
- - Starting directly from `##` without an H1
221
- - Emoji in headings
222
-
223
- ### Code Block Language Annotations
224
-
225
- | Content | Annotation |
226
- |------|------|
227
- | SQL statements | ` ```sql ` |
228
- | Syntax structure (with placeholders) | ` ```Plain ` |
229
- | Shell / cz-cli commands | ` ```bash ` |
230
- | JSON | ` ```json ` |
231
- | Agent prompt text | ` ```Plain ` |
232
- | No specific language | no annotation |
233
-
234
- Do not use ` ```Scala `, ` ```SQL ` (uppercase), or other non-standard annotations.
235
-
236
- ### Inline Formatting
237
-
238
- - Command names, parameter names, field names, table names, function names: wrap in backticks, e.g., `SHOW SCHEMAS`, `ON_ERROR`
239
- - UI buttons, menu paths: **bold**, e.g., **Development → Tasks**
240
- - Important notes or constraints: **bold** key words
241
- - Internal document links: relative paths, e.g., `[Real-time Sync Tasks](realtime_sync.md)`
242
-
243
- ### Code in Table Cells
244
-
245
- Backtick code spans (`<code>`) default to `white-space: nowrap` and will not wrap in table cells, breaking the table layout when too long.
246
-
247
- Rules:
248
- - **Short commands or identifiers** (roughly 30 characters or fewer, e.g., `SHOW SHARES`, `instance_admin`): keep backticks
249
- - **Long SQL commands** (GRANT, REVOKE, CREATE SCHEMA, etc. with parameters): remove backticks, use plain text to allow natural wrapping
250
- - **Angle bracket placeholders** (`<name>`): use HTML entities `&lt;name&gt;` in table cells to prevent the platform from parsing them as HTML tags
251
-
252
- ### Language Style
253
-
254
- - Technical terms stay in English (SCHEMA, VCLUSTER, DML, etc.)
255
- - Sentences are concise; avoid colloquial language
256
- - Use ordered lists for step-by-step instructions, unordered lists for notes
257
- - Parameter descriptions use "what it does — when to use this value" format, not "what it is" format
258
-
259
- ### Pronoun Convention
260
-
261
- - Use **"you"** consistently to address the reader
262
- - Exception: `privacy-policy.md`, `user-aggrement.md`, and other legal agreement files may use more formal language
263
- - Do not refer to readers as "customers" or "users" — use "you" or "your team"
264
-
265
- ### Warning Block Format
266
-
267
- Critical warnings use blockquote + ⚠️ format:
268
-
269
- ```
270
- > ⚠️ **Note**: warning content
271
- ```
272
-
273
- Supplementary tips use blockquote + 💡 format:
274
-
275
- ```
276
- > 💡 **Tip**: tip content
277
- ```
278
-
279
- Do not use `> Note`, `> **Note**`, `> Tip`, `> **Tip**` (without emoji) variants.
280
-
281
- ### Paragraph Spacing
282
-
283
- - Leave one blank line before and after section headings
284
- - Leave one blank line before and after code blocks
285
- - Generally no blank lines between list items; add blank lines when items are long
286
-
287
- ### Images
288
-
289
- Images are uploaded by the platform and auto-generate paths:
290
-
291
- ```
292
- ![](.topwrite/assets/image_xxxxxxxxxx.png)
293
- ```
294
-
295
- Centered display uses platform-specific syntax:
296
-
297
- ```
298
- :-: ![](.topwrite/assets/image_xxxxxxxxxx.png =740)
299
- ```
300
-
301
- `=740` specifies width. Add `^` before and after centered images as paragraph separators. Do not manually move or rename files under `.topwrite/assets/`.
302
-
303
- ---
304
-
305
- ## Pre-submission Checklist
306
-
307
- Review before each submission:
308
-
309
- - [ ] All SQL examples have been actually run with cz-cli; output matches documentation
310
- - [ ] Examples include setup data (CREATE TABLE/INSERT) and execution output
311
- - [ ] Critical warnings are inline next to parameters, not only at the bottom
312
- - [ ] New files are registered in `SUMMARY.md`
313
- - [ ] No filename typos (configration/worksapce/materialzied/informaiton/parquert/buckload)
314
- - [ ] No emoji in headings
315
- - [ ] New SQL function documents placed in the correct `sql_functions/` subdirectory
316
- - [ ] Warning blocks use `> ⚠️ **Note**:` format
317
- - [ ] Shell/cz-cli command code blocks annotated ` ```bash `, not ` ```Plain ` or ` ```Scala `
318
-
319
- ---
320
-
321
- ## Translation Rules (CN → EN)
322
-
323
- When translating from the Chinese documentation:
324
-
325
- | Chinese | English |
326
- |---------|---------|
327
- | 云器 | Singdata |
328
- | ClickZetta / clickzetta | Singdata |
329
- | `*.clickzetta.com` | `*.singdata.com` |
330
-
331
- - Code blocks and SQL: preserve as-is, do not translate
332
- - Image paths: preserve as-is
333
- - Internal link filenames: keep consistent with the EN filename
334
- - Files excluded from translation (use EN version directly): `pricing.md`, `user-aggrement.md`, `product-trial-agreement.md`, `billing.md`, `cost_management.md`, `account-funds.md`
335
- - `llms.txt` and `llms-full.txt`: regenerate, do not translate
336
-
337
- ---
338
-
339
- ## File and Directory Management
340
-
341
- ### File Naming Conventions
342
-
343
- - Separate words with hyphens `-` or underscores `_`, consistent with existing file style
344
- - Do not use uppercase letters to start filenames (except SQL keyword documents, e.g., `ALTER-TABLE.md`)
345
- - SQL function documents go in the appropriate `sql_functions/` subdirectory, not the root
346
-
347
- ### Complete Process for Renaming Files
348
-
349
- 1. `git mv <old> <new>` to rename
350
- 2. `grep -rl "<old-name>" --include="*.md" .` to find all documents referencing the old filename
351
- 3. Bulk replace old filename
352
- 4. Update `SUMMARY.md`
353
- 5. Grep again to confirm no remaining references
354
- 6. Commit all changes together
355
-
356
- ### macOS Case-Sensitivity Trap
357
-
358
- macOS filesystem is case-insensitive — `CREATE-TABLE.md` and `create-table.md` appear to both exist locally, but git only has one. The Linux server (documentation publishing environment) is case-sensitive; uppercase links will 404.
359
-
360
- **Always use `git ls-files <filename>` to confirm the actual filename in git** before acting — do not rely on macOS local `ls` results.
361
-
362
- ### SUMMARY.md
363
-
364
- `SUMMARY.md` is the documentation table of contents. All additions, deletions, and renames must be synced here. Format:
365
-
366
- ```markdown
367
- * [Document Title](filename.md)
368
- ```
369
-
370
- ### Image Storage
371
-
372
- - Images are managed by the TopWrite platform, not through Git LFS
373
- - Do not manually modify the `.topwrite/assets/` directory
374
- - `.gitattributes` is configured to not use LFS for that directory
375
- - `lfs.skipdownloaderrors true` is set locally; LFS prompts during pull do not affect usage
376
-
377
- ---
378
-
379
- ## Git Workflow
380
-
381
- ### Daily Development
382
-
383
- Each collaborator maintains their own long-lived personal branch (e.g., `qiliang`); do not work directly on `master`.
384
-
385
- **Before starting work**, sync the latest from master:
386
-
387
- ```bash
388
- git checkout qiliang
389
- GIT_LFS_SKIP_SMUDGE=1 git pull origin master --rebase
390
- ```
391
-
392
- **Before merging to master**, rebase again to ensure no conflicts:
393
-
394
- ```bash
395
- GIT_LFS_SKIP_SMUDGE=1 git pull origin master --rebase
396
-
397
- git checkout master
398
- GIT_LFS_SKIP_SMUDGE=1 git pull
399
- git merge --ff-only qiliang
400
- git push
401
- git checkout qiliang
402
- ```
403
-
404
- `--ff-only` errors immediately if rebase is incomplete, forcing you to finish the rebase before merging and avoiding merge commits.
405
-
406
- ### SUMMARY.md Conflict Resolution
407
-
408
- Multiple people modifying SUMMARY.md simultaneously is the most common conflict scenario. When a conflict occurs during rebase, after manually resolving:
409
-
410
- ```bash
411
- git add SUMMARY.md
412
- git rebase --continue
413
- ```
414
-
415
- If push is rejected (non-fast-forward), master has new commits — go back to your personal branch and rebase again:
416
-
417
- ```bash
418
- git checkout qiliang
419
- GIT_LFS_SKIP_SMUDGE=1 git pull origin master --rebase
420
- ```
421
-
422
- ### Before Pulling
423
-
424
- - Run `git stash` if you have uncommitted changes
425
- - Move untracked new files out of the way if they block rebase
426
-
427
- ### Files to Leave Alone
428
-
429
- - `.topwrite/` directory: platform resource directory, do not modify manually
430
-
431
- ---
432
-
433
- ## Repository Information
434
-
435
- - Remote: `git@k.topthink.com:4v2dmg3x2e/k7pl9zonpy.git`
436
- - Main branch: `master`
437
- - Frontend editor: https://4v2dmg3x2e.k.topthink.com/-/book/k7pl9zonpy/edit
438
-
439
- ---
440
-
441
- ## Architecture Diagram Standards
442
-
443
- Architecture diagrams in product documentation are drawn as SVGs, stored in `/Users/liangmo/Desktop/lakehouse-diagrams/`, named `NN-description.svg` (e.g., `05-object-hierarchy.svg`). Convert to PNG with `rsvg-convert` when uploading to the documentation platform:
444
-
445
- ```bash
446
- rsvg-convert -z 2 file.svg -o file.png
447
- ```
448
-
449
- ### Visual Standards
450
-
451
- **Canvas and Background**
452
-
453
- - Background gradient: `#EEF4FF` → `#E8F0FE` (left to right)
454
- - Standard width: 900px or 960px; height adjusts to content, ensure content is not cramped
455
- - Font: `'Inter','PingFang SC','Helvetica Neue',Arial,sans-serif`
456
-
457
- **Cards and Containers**
458
-
459
- - White card with shadow: `filter: feDropShadow dx=0 dy=2 stdDeviation=4 flood-color=#2563EB flood-opacity=0.09`
460
- - Primary blue header: `#2563EB` → `#1D4ED8` (gradient)
461
- - Deep blue header (instance level): `#1D4ED8` solid
462
- - Light blue content area background: `#F0F6FF`, border `#BFDBFE`
463
- - Chip/tag background: `#EFF6FF`, border `#BFDBFE`, text `#1E40AF`
464
- - Corner radius: container `rx=14`, card `rx=10`, chip `rx=6~8`
465
-
466
- **Text**
467
-
468
- - Title (page level): `font-size=14~15`, `font-weight=700`, `fill=#1E3A8A`
469
- - Card header text: `font-size=11~12`, `font-weight=700`, `fill=white`
470
- - Body chip text: `font-size=9.5~10`, `fill=#1E40AF`
471
- - Caption text: `font-size=9~9.5`, `fill=#64748B`
472
-
473
- **Arrows**
474
-
475
- Use solid-filled polygon markers, not stroke-only paths (which are invisible):
476
-
477
- ```xml
478
- <marker id="arr" markerWidth="10" markerHeight="7" refX="10" refY="3.5" orient="auto">
479
- <polygon points="0,0 10,3.5 0,7" fill="#2563EB"/>
480
- </marker>
481
- ```
482
-
483
- **Language**
484
-
485
- All text in diagrams uses **English**.
486
-
487
- ### Object Hierarchy Color Conventions
488
-
489
- | Level | Color |
490
- |------|------|
491
- | Instance header | `#1D4ED8` |
492
- | Workspace header | `#2563EB` |
493
- | Schema header | `#60A5FA` |
494
- | GP VCluster | `#2563EB` → `#1D4ED8` |
495
- | AP VCluster | `#059669` → `#047857` |
496
- | Integration VCluster | `#7C3AED` → `#6D28D9` |
497
- | Alibaba Cloud | `#FF6A00` |
498
- | Tencent Cloud | `#0052D9` |
499
- | AWS | `#F59E0B` |
500
-
501
- ### Layout Principles
502
-
503
- - Elements in the same row have uniform width and consistent spacing; calculate coordinates mathematically
504
- - Header bar rounded corners use two stacked rects: top one with rx, bottom one covering the lower straight corners
505
- - Bottom caption bar: `fill=white opacity=0.7`, `rx=6~8`
506
- - No redundant text inside diagrams; explanations go in the document body
507
-
508
- ---
509
-
510
- ## Animated Diagram (Animated SVG) Standards
511
-
512
- Animated diagrams illustrate incremental computation, data flow, and other time-sequenced concepts. Filename prefix: `anim-NN-description.svg`, stored in the same directory. Animated diagrams are **not converted to PNG** — open directly in a browser to verify.
513
-
514
- ### Dark Theme Design System
515
-
516
- Animated diagrams use a dark background to distinguish them from static diagrams with light blue backgrounds:
517
-
518
- **Canvas**
519
- - Background gradient: `#0D1117` → `#161B26` (top-left to bottom-right)
520
- - Standard width: **960px** (consistent across all three diagrams)
521
- - Height by content, typically 480–520px
522
- - Canvas corner radius: `rx=16`
523
- - Font: `'Inter','SF Pro Display','Helvetica Neue',Arial,sans-serif` (not SF Mono)
524
-
525
- **Title and Subtitle (must be consistent across all three diagrams)**
526
- - Title: `font-size=17`, `font-weight=700`, `fill=#F9FAFB`, `y=32`
527
- - Subtitle: `font-size=10.5`, `fill=#4B5563`, `y=50`
528
- - Title centered: `x=480 text-anchor=middle`
529
-
530
- **Node Color Semantics**
531
- | Purpose | Fill | Border |
532
- |------|--------|--------|
533
- | Data source / static node | `#1E293B` | `#374151` |
534
- | Dynamic Table (compute layer) | `#2563EB`→`#1D4ED8` | `#3B82F6` |
535
- | Output / consumption layer | `#059669`→`#047857` | `#059669` |
536
- | Warning / problem | `#1F2937` | `#DC2626` |
537
- | Advantage / benefit | `#0F172A` | `#059669` |
538
- | Caption text (dark) | `#6B7280` | — |
539
- | Caption text (light) | `#94A3B8` | — |
540
-
541
- **SPOT Four-Principle Colors**
542
- - S (Standard SQL): `#2563EB` / `#93C5FD`
543
- - P (Performance): `#059669` / `#34D399`
544
- - O (Open Format): `#7C3AED` / `#A78BFA`
545
- - T (Trade-off): `#D97706` / `#FBBF24`
546
-
547
- ### CSS Animation Standards
548
-
549
- **Flowing arrows (pipeline data flow)**
550
- ```css
551
- @keyframes flow { 0%{stroke-dashoffset:40} 100%{stroke-dashoffset:0} }
552
- .pipe { stroke-dasharray:8 4; animation:flow 1.2s linear infinite; }
553
- ```
554
-
555
- **Node heartbeat glow**
556
- ```css
557
- @keyframes glow {
558
- 0%,100% { filter:drop-shadow(0 0 4px #2563EB); opacity:0.88; }
559
- 50% { filter:drop-shadow(0 0 14px #60A5FA); opacity:1; }
560
- }
561
- .node { animation:glow 2s ease-in-out infinite; transform-origin:center; }
562
- ```
563
-
564
- **Elements flying in one by one**
565
- ```css
566
- @keyframes fly-in {
567
- from { opacity:0; transform:translateX(-14px); }
568
- to { opacity:1; transform:translateX(0); }
569
- }
570
- .item1 { animation:fly-in 0.4s 0.3s both; }
571
- .item2 { animation:fly-in 0.4s 0.7s both; }
572
- ```
573
-
574
- **Progress bar animation**
575
- ```css
576
- @keyframes bar-grow { from{width:0} to{width:Xpx} }
577
- .bar { animation:bar-grow 1.8s 0.5s ease-out forwards; width:0; }
578
- ```
579
- > ⚠️ Do not use `width:100%` — use a fixed pixel value, otherwise it calculates relative to the parent container and overflows.
580
-
581
- **Scan line (moving up and down within a container)**
582
-
583
- CSS `transform:translateY` escapes `clipPath` bounds — use **SMIL `<animate>`** to drive the `y` attribute instead:
584
- ```xml
585
- <clipPath id="cp"><rect x="20" y="86" width="258" height="212"/></clipPath>
586
- <g clip-path="url(#cp)">
587
- <rect x="20" y="86" width="258" height="10" fill="#60A5FA" opacity="0.4">
588
- <animate attributeName="y" from="86" to="298" dur="2.4s" repeatCount="indefinite"/>
589
- <animate attributeName="opacity" values="0;0.4;0.4;0" keyTimes="0;0.05;0.92;1" dur="2.4s" repeatCount="indefinite"/>
590
- </rect>
591
- </g>
592
- ```
593
-
594
- ### Multi-Diagram Consistency Checklist
595
-
596
- Before publishing a set of animated diagrams, verify:
597
-
598
- - [ ] Canvas width consistent (960px)
599
- - [ ] Title font-size 17, color `#F9FAFB`, y=32
600
- - [ ] Subtitle font-size 10.5, color `#4B5563`, y=50
601
- - [ ] Font is `SF Pro Display` (not SF Mono)
602
- - [ ] Background gradient IDs differ but colors are consistent (`#0D1117`→`#161B26`)
603
- - [ ] Progress bar animation uses fixed px width, not `100%`
604
- - [ ] Scan line uses SMIL `<animate>`, not CSS `transform:translateY`
605
- - [ ] All text uses English
606
- - [ ] Actually open in a browser to verify animation; do not rely on static screenshots