Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
552 commits
Select commit Hold shift + click to select a range
935a167
feat(gateway): delete command supports --remove-from-llm and hints li…
Jun 2, 2026
8dfe91b
docs: add lakehouse-doc-en companion skill reference to agent prompt
Jun 2, 2026
e8da65f
feat(install): add cz-agent shortcut for cz-cli agent
Jun 2, 2026
f73105c
docs(skill): use cz-agent shortcut in cz-cli skill
Jun 2, 2026
09ea33b
docs: use cz-cli.ai/install.sh in README
Jun 2, 2026
11a95e5
docs: update README commands table with gateway, datasource, agent llm
Jun 2, 2026
c30b3e4
docs: fix README hero install to use cz-cli.ai/install.sh
Jun 2, 2026
c0dd862
docs: remove pin version example from README
Jun 2, 2026
ed78e84
refactor: rename gateway command to ai-gateway
Jun 2, 2026
3770610
ci: downgrade bun to 1.2.15 (stable, pre-Rust rewrite)
Jun 2, 2026
7c469f8
feat(tool): add built-in fetch_job_performance_data MCP tool
Jun 2, 2026
c92a2cf
ci: align packageManager field to bun@1.2.15
Jun 2, 2026
e6962c7
ci: bump bun to 1.2.16 (fixes Windows hoisted resolution bug)
Jun 2, 2026
0bd88d8
ci: revert bun to 1.3.11 (bundler requires 1.3.x features)
Jun 2, 2026
71f06d6
fix(update): restore method-aware upgrade (npm/bun via package manage…
Jun 3, 2026
745be02
fix(agent): honor -p as clickzetta profile alias
Jun 3, 2026
c227904
fix(cz-cli): align sql variable syntax with studio style
Jun 3, 2026
4622f88
fix(update): fallback to install script when package manager upgrade …
Jun 3, 2026
aeb399f
feat(ai-gateway): remove get cmd, add --reveal to list, show full quo…
Jun 3, 2026
e02699c
feat(ai-gateway): all commands accept alias or key; restore get; show…
Jun 3, 2026
aaace0a
fix(ai-gateway): reject masked keys in model list; require -y for delete
Jun 3, 2026
165f720
feat(ai-gateway): add tests, fix thread types, refine help and README
Jun 3, 2026
4041b2a
ci: delete existing release before creating to prevent draft accumula…
Jun 3, 2026
f4ba070
ci: notify Feishu group on release via webhook
Jun 3, 2026
63b89d8
ci: Feishu notification uses release notes content with HMAC signing
Jun 3, 2026
e5b8d9f
feat(agent): rotate exhausted clickzetta keys at runtime
Jun 3, 2026
a047238
fix(otel): preserve session trace context for ai sdk calls
Jun 3, 2026
298c814
fix(tui): force table output for generated sql commands
Jun 3, 2026
f1edf8b
feat(setup): install cz-agent wrapper
Jun 3, 2026
da57773
fix(agent): ensure rotated key is picked up on retry
Jun 3, 2026
7da2bc2
fix(sql): schema hint was showing schema names instead of table names…
Jun 3, 2026
df3e141
fix(agent): use English for rotation prompts
Jun 3, 2026
e4d3d86
feat: add --debug logging to studio workspace resolution; use detectE…
Jun 3, 2026
d970480
fix: align listUserWorkspaces params with browser (listType=3, forWri…
Jun 3, 2026
05aa9df
fix: resolve instanceId from portal API instead of login token (fixes…
Jun 3, 2026
ae1f347
fix: align listUserWorkspaces params with Python SDK (forWrite string…
Jun 3, 2026
35bdcbf
fix(studio): add env:prod header and use lowercase instanceid in stud…
Jun 3, 2026
c59ed77
fix: remove debug log truncation in listUserWorkspaces
Jun 3, 2026
a514a36
fix: use lowercase header keys in listUserWorkspaces (align browser);…
Jun 3, 2026
2142def
fix(task): use batchDeleteCycleTask for offline (fixes permission err…
Jun 3, 2026
90fcd92
chore: minor fixes
Jun 3, 2026
930b565
fix(sql): --field extracts column by name from SQL rows; --limit acce…
Jun 3, 2026
f21e73a
fix: #5 --set nargs=1, #6 session --limit alias, #8 refill operate_us…
Jun 3, 2026
d65be6e
ci: remove Feishu webhook signing (disabled on bot side)
Jun 3, 2026
3e33a08
feat(cli): add --limit to datasource subcommands; trim runs list to s…
Jun 3, 2026
ef896fc
docs(prompt): emphasize --write is required for ALL DDL/DML operations
Jun 4, 2026
e78b06f
wip: local changes
Jun 4, 2026
e2c183c
feat: TUI tool timeline collapse, doom loop fix, aimesh endpoint routing
Jun 4, 2026
e8050d9
refactor(agent): remove source_profile, use current profile for key r…
Jun 4, 2026
8d2680d
Remove install metadata method dependency
Jun 4, 2026
b5e7b8c
feat(update): add --target option for version downgrade
Jun 4, 2026
43e247b
support cos build
Jun 4, 2026
0db374b
feat(ai-gateway): 优化命令输出和提示
Jun 4, 2026
5c8506e
fix(build): macOS binary 构建后添加 ad-hoc codesign
Jun 4, 2026
286f557
feat(agent): add data engineer agent
Jun 7, 2026
0dd3b48
fix(llm): reuse clickzetta rotation keys
Jun 7, 2026
5b227d9
fix(agent): accept session status format option
Jun 7, 2026
d0e0c3e
docs(prompt): require lakehouse docs for sql
Jun 7, 2026
9770a66
feat(otel): trace session turn lifecycle
Jun 7, 2026
fa6eb14
ci(release): use release assets for publish jobs
Jun 8, 2026
674a155
ci(release): harden skills archive download
Jun 8, 2026
470718c
ci(release): clone skills for release builds
Jun 8, 2026
84744c6
ci(release): tolerate zip filename warnings
Jun 8, 2026
f341bf6
fix(update): --force 时跳过 install.sh 版本检查,确保重新下载
Jun 5, 2026
97b21f2
fix: 阻止工具调用循环并接入 Langfuse
Jun 5, 2026
a710a4c
feat(provider): enable clickzetta prompt cache
Jun 8, 2026
8aa1389
refactor: unify skill installation across all install paths
Jun 8, 2026
98042bf
Fix cz-cli update install method detection
Jun 8, 2026
85901fc
feat: add job analyze command with MCP-based performance analysis
Jun 8, 2026
f60dd08
feat(agent): add anti-hallucination rule for URLs and identifiers
Jun 9, 2026
bb9ac2c
Add cz-agent wrapper to Windows installer
Jun 8, 2026
cd136ca
Fix update skill reinstall and macOS release diagnostics
Jun 9, 2026
b93008b
fix(langfuse): use dynamic import instead of require for ESM compatib…
Jun 9, 2026
9089e82
feat(cz-cli): rename gateway to ai-gateway, fix set-quota positional …
Jun 9, 2026
03e63fc
feat(clickzetta-sdk): extend session, volume, and error APIs with tests
Jun 9, 2026
15e73ea
refactor(job): overhaul job profile/analyze commands and tests
Jun 9, 2026
2ba20a0
Refine job profile duration timeline
Jun 9, 2026
b805bdf
refactor: remove external .agents skill loader and CLAUDE.md prompt l…
Jun 9, 2026
e2e0439
fix(update): isolate release channel and fix auto-update for stable
Jun 9, 2026
1518c28
feat(job): add --limit/--no-limit and --path to `job profile --raw`
Jun 9, 2026
3d523bd
docs: translate auto-update and release-channel specs to Chinese
Jun 9, 2026
477d1e2
fix(job): fix URL base path being dropped when baseUrl contains a pat…
Jun 9, 2026
d93cae7
test(job): add regression test for baseUrl with path segment
Jun 9, 2026
41cc02f
fix: prioritize which path for install method detection and pre-remov…
Jun 9, 2026
d23b1d1
fix: install.sh uses npm/bun uninstall for package manager binaries i…
Jun 9, 2026
8a77efb
docs: document TDD + OpenSpec workflow in AGENTS.md
Jun 9, 2026
2edb645
fix: install.sh removes ALL shadowing binaries via which -a, not just…
Jun 9, 2026
a9be678
fix: remove quarantine bit and re-sign binary after install on macOS
Jun 9, 2026
8c5b581
fix: install/update path priority and parallel archive compression
Jun 9, 2026
ce88871
文档:更新 opencode 提交规范
Jun 9, 2026
b14fba6
feat(opencode): multi-llm-entry, quota recovery UI, and OTel improvem…
Jun 9, 2026
a2ca54c
feat(agent): data_engineer as default mode, full tool access, stronge…
Jun 9, 2026
12a42b3
fix: handle quota and billing errors
Jun 10, 2026
1c670e9
fix: refine quota and billing recovery
Jun 10, 2026
9757b24
add workspaceName for studioRequest Header
Jun 10, 2026
0274f3f
fix: 修复自动更新后重启退出码
Jun 10, 2026
ba3a7f6
fix(setup): add codesign and quarantine clearing for macOS
Jun 10, 2026
48f1109
Handle ClickZetta billing errors
Jun 10, 2026
7c05a1d
fix: avoid spurious "Model not valid" toast after quota key rotation
Jun 10, 2026
5d41d35
fix(install): register cz-cli skill into external agent dirs across a…
Jun 10, 2026
1abb6e6
feat: expose serve command through cz-cli
Jun 11, 2026
e364de6
fix(cz-cli): cap aigw model list by default
Jun 11, 2026
84c8f51
fix(llm): map all providers to correct @ai-sdk npm package
Jun 11, 2026
db53c6c
fix(install): improve Windows PowerShell installer
Jun 12, 2026
0b48f83
fix(install): improve Windows PowerShell installer
Jun 12, 2026
9f93256
fix: open setup browser on Windows
Jun 12, 2026
096cddf
chore: archive completed openspec changes
Jun 12, 2026
7c9661b
fix: install bundled skills on Windows
Jun 12, 2026
7a61090
fix: 改进 Windows 更新失败提示
Jun 12, 2026
b12c279
feat: add task stats command with run instance breakdown
yunqiqiliang Jun 14, 2026
9aaef64
feat: add task search command with resolved folder path
yunqiqiliang Jun 14, 2026
c45244c
feat: task search enriches results with last_edit_time, sorts by recency
yunqiqiliang Jun 14, 2026
934202f
fix: limit getTaskDetail concurrency to 20 in task search
yunqiqiliang Jun 14, 2026
272d128
feat: task search add --folder, --owner, --sort; use locale for aiMes…
yunqiqiliang Jun 14, 2026
855653c
fix: task stats --folder now counts tasks recursively across subfolders
yunqiqiliang Jun 14, 2026
09c0bad
feat: add task schedule-detail, downstream, cron-preview commands
yunqiqiliang Jun 14, 2026
8580c94
feat: add task create-and-setup and task status high-level commands
yunqiqiliang Jun 14, 2026
2d30704
fix: task create/create-and-setup/deploy robustness improvements
yunqiqiliang Jun 14, 2026
de7dee4
fix: allow explicit root folder with warning instead of hard error
yunqiqiliang Jun 14, 2026
cc25ced
feat: add task folder-tree command; improve create folder guidance
yunqiqiliang Jun 14, 2026
978c3b5
fix: folder-tree gives actionable guidance when result is empty
yunqiqiliang Jun 14, 2026
5005b13
feat: JDBC task datasource binding via save-content and create-and-setup
yunqiqiliang Jun 14, 2026
4570703
fix: three robustness improvements for task lifecycle
yunqiqiliang Jun 14, 2026
946286c
feat: task execute --save-params persists ad-hoc params to scheduled …
yunqiqiliang Jun 14, 2026
75505a5
feat: add task save-cdc command for CDC multi-table real-time sync
yunqiqiliang Jun 14, 2026
892612d
fix: improve deploy error messages for sync task types
yunqiqiliang Jun 14, 2026
bd8c299
fix: all non-CDC sync types get Studio UI warning before deploy
yunqiqiliang Jun 14, 2026
c762d51
feat: add task save-integration for INTEGRATION single-table offline …
yunqiqiliang Jun 14, 2026
e65f416
refactor: split save-integration into integration-schema + save-integ…
yunqiqiliang Jun 14, 2026
a318fb1
feat: integration-schema aiMessage embeds Lakehouse type mapping rules
yunqiqiliang Jun 14, 2026
0ce9595
fix: INTEGRATION task deploy and save-integration error recovery
yunqiqiliang Jun 14, 2026
c48e9c6
fix: INTEGRATION deploy requires both field mapping AND schedule config
yunqiqiliang Jun 14, 2026
4e3035c
feat: integration-schema returns target table check, splitPk hint, fu…
yunqiqiliang Jun 14, 2026
00ddf97
feat: integration-schema returns source_params_template per datasourc…
yunqiqiliang Jun 14, 2026
0fe6ca4
fix: INTEGRATION task execute uses etlVcCode as adhocVcCode for Sync VC
yunqiqiliang Jun 14, 2026
c92f414
fix: adhocVcId uses VC name string for Sync VCluster resolution
yunqiqiliang Jun 14, 2026
01b9da7
fix: INTEGRATION task execute resolves VC name to numeric ID via vclu…
yunqiqiliang Jun 14, 2026
2756924
fix: save-integration and save-cron now resolve etlVcId from vcluster…
yunqiqiliang Jun 14, 2026
b72e09f
fix: save-integration only updates etlVcId when cron already exists
yunqiqiliang Jun 14, 2026
8595e1c
feat: integration-schema smart config inference and column alignment …
yunqiqiliang Jun 14, 2026
264ff2b
feat: integration-schema DB-specific where format, splitPk, and parti…
yunqiqiliang Jun 14, 2026
58f3de0
feat: integration-schema add complex type support (ARRAY/MAP/STRUCT)
yunqiqiliang Jun 14, 2026
c07e1ac
feat: integration-schema replace type mapping rules with LLM-friendly…
yunqiqiliang Jun 14, 2026
a47d31d
refactor: replace hardcoded thresholds with LLM-friendly principles i…
yunqiqiliang Jun 14, 2026
bce5eb8
fix: handle PostgreSQL native types in integration-schema column alig…
yunqiqiliang Jun 14, 2026
a1bace8
fix: splitPk only recommended when table has explicit primary key
yunqiqiliang Jun 14, 2026
06974b5
fix: comprehensive PostgreSQL native type mapping in integration-schema
yunqiqiliang Jun 14, 2026
2692c85
fix: use timestamp instead of timestamp_ntz for INTEGRATION sink columns
yunqiqiliang Jun 14, 2026
119d252
fix: include inferred where and splitPk directly in source_params_tem…
yunqiqiliang Jun 14, 2026
fa16287
feat: add task start/stop commands for CDC/streaming tasks
yunqiqiliang Jun 14, 2026
ccf0bec
feat(task): expose CDC startup params as CLI options, fix real-time r…
yunqiqiliang Jun 14, 2026
5c5d24f
feat(task): add --vc option to save-cdc, fix saveTaskConfig defaults
yunqiqiliang Jun 14, 2026
b6fcfb7
feat(task): PG CDC slot auto-detection, listPgSlots/listPgPublication…
yunqiqiliang Jun 14, 2026
96e7c2f
feat(datasource): add check-cdc command; save-cdc auto prereq check
yunqiqiliang Jun 14, 2026
e5e1dea
feat(task): add create-multi-realtime command (prereq check + create …
yunqiqiliang Jun 14, 2026
523245b
feat(datasource): add SQL Server and DM CDC prerequisite checks
yunqiqiliang Jun 14, 2026
97a8332
fix(task): CDC multi-table sync only allows Lakehouse as target
yunqiqiliang Jun 14, 2026
106617c
feat(task): add create-multi-di command for MULTI_DI offline batch sync
yunqiqiliang Jun 14, 2026
f73b5b4
feat(task): support REALTIME (type=14) single-table streaming start/s…
yunqiqiliang Jun 15, 2026
2d4ca83
feat(task): add create-realtime command for REALTIME (type=14) single…
yunqiqiliang Jun 15, 2026
73e681f
fix(task): create-realtime adhocConfigs includes VC, fixes create-mul…
yunqiqiliang Jun 15, 2026
a57562d
refactor(task): rename sync commands for clarity
yunqiqiliang Jun 15, 2026
7ea83a6
feat(task): add create-single-table-batch-sync command
yunqiqiliang Jun 15, 2026
e995376
refactor(task): rename save-integration and save-cdc for consistency
yunqiqiliang Jun 15, 2026
ae3dd71
refactor(task): rename ambiguous subcommands for agent clarity
yunqiqiliang Jun 15, 2026
d65a23a
chore: add @opentelemetry/exporter-logs-otlp-http dependency
yunqiqiliang Jun 15, 2026
92bc63b
refactor(task): shorten subcommand names, improve help descriptions
yunqiqiliang Jun 15, 2026
bf055b0
fix(task): create-batch-sync always saves cron config required for de…
yunqiqiliang Jun 15, 2026
3d52f13
fix(resolver): eliminate duplicate error output when task not found
yunqiqiliang Jun 15, 2026
96dc71c
fix: flow commands — env=prod, bind/unbind by name, run with --param,…
yunqiqiliang Jun 15, 2026
f2ad1df
feat: flow node/task param configuration and run override
yunqiqiliang Jun 15, 2026
8329a4c
feat: flow/task param configuration
yunqiqiliang Jun 15, 2026
6cbcb31
fix: node-save preserves existing content when only --param/--flow-pa…
yunqiqiliang Jun 15, 2026
1551d7d
fix: save-offline-sync support --flow-id for flow node configuration
yunqiqiliang Jun 15, 2026
348c8e9
feat: save-offline-sync output create_table_ddl when target not exists
yunqiqiliang Jun 15, 2026
263b5f8
fix: add ai_message forward-chain guidance to all key commands
yunqiqiliang Jun 15, 2026
f090124
fix: code review issues — fileType unwrap, orphan task, NaN, resolver…
yunqiqiliang Jun 15, 2026
0e6da6c
添加 analytics-agent cli命令
zhaxinmeng Jun 14, 2026
66c7c1c
创建session必须指定domainId,在session中会话必须指定questionId
zhaxinmeng Jun 14, 2026
0ff4af4
CZPDEV-24802 analytics agent cli相关接口修复
zhaxinmeng Jun 15, 2026
c467772
解决轮询重复解析参数的问题
zhaxinmeng Jun 16, 2026
898e00b
合并run + result,用户查询一次直接返回结果
zhaxinmeng Jun 16, 2026
6901839
在线问答输出格式化总结信息
zhaxinmeng Jun 16, 2026
9e70a30
优化agent响应过程
zhaxinmeng Jun 16, 2026
05f9ba6
Merge pull request #13 from clickzetta/feature/analytics-agent-cli
zhaxinmeng Jun 16, 2026
f72d7bd
fix(update): reject unusable PATH cz-cli
Jun 12, 2026
fedb8a7
fix(job,table): job status 完成时提示执行计划命令,table create 兼容 --write 参数
Jun 16, 2026
9cf7b98
feat(task): 新增任务血缘解析和自动保存依赖
Jun 16, 2026
16dcb49
fix(task): 明确 lineage 任务参数说明
Jun 16, 2026
f83fbd7
fix(release): support dev-v nightly versions
Jun 16, 2026
308ec04
Merge pull request #15 from clickzetta/feat/task-lineage-dependency-o…
lyman Jun 16, 2026
dd51bc2
fix(sql,job): 修复字段截断破坏 JSON 结构的问题
Jun 16, 2026
a4c6aa5
Merge pull request #16 from clickzetta/fix/dev-release-version-format
lyman Jun 16, 2026
23f8c09
fix(task): 保存调度改为显式解析血缘
Jun 16, 2026
930742a
Merge pull request #17 from clickzetta/fix/save-lineage-explicit-cont…
hellozepp Jun 17, 2026
6667354
docs: migrate openspec specs
Jun 17, 2026
0a55a4e
docs: remove agent guide spec
Jun 17, 2026
def71a8
Merge pull request #18 from clickzetta/docs/migrate-openspec-specs
hellozepp Jun 17, 2026
d3bf508
add inner skills
Jun 17, 2026
711a2f4
fix(task): recover --output-tables when shell/agent strips quotes or …
Jun 17, 2026
b0b1189
fix(cron-adapter): handle hour=* with fixed minute as hourly schedule
Jun 17, 2026
b57dd78
Merge pull request #19 from clickzetta/fix/cron-adapter-hourly-wildcard
hellozepp Jun 17, 2026
339c28b
fix(tui): keep copy-on-select toast visible and show char count
Jun 17, 2026
987094d
fix(llm): pin AIGW admin calls to Shanghai for alicloud regions
Jun 17, 2026
624b254
feat(analytics-agent): session run 新增 --formatted 输出推理过程
lxh-CS Jun 18, 2026
41820f9
refactor(analytics-agent): --formatted 重命名为 --summary
lxh-CS Jun 18, 2026
5319c45
Merge pull request #22 from lxh-CS/feat/analytics-agent-session-run-o…
zhaxinmeng Jun 18, 2026
56f4a10
fix: rename fetch_job_performance_data → analyze_lakehouse_job
Jun 18, 2026
0b3ba60
fix(task): recover --output-tables when shell/agent strips quotes or …
Jun 19, 2026
cacfe0d
Merge pull request #23 from clickzetta/fix/rename-job-performance-tool
hellozepp Jun 19, 2026
faaaf44
Merge pull request #24 from clickzetta/fix/task-params-and-job-commands
hellozepp Jun 19, 2026
695e101
fix(task): preserve params in save-config/save-cron and fix paramType…
Jun 22, 2026
42a4509
Merge pull request #25 from clickzetta/fix/task-param-preserve
hellozepp Jun 22, 2026
f51f962
docs: refine cz-cli skill trigger description
Jun 22, 2026
d90ca0d
Merge pull request #26 from clickzetta/docs/skill-trigger-description
hellozepp Jun 22, 2026
a79a793
fix(connection): preserve port and vcluster aliases in JDBC URL parsing
Jun 23, 2026
8f6f32e
fix(profile): use shared JDBC parser in profile create (bug-38)
Jun 23, 2026
78ade55
fix(table): use DESC EXTENDED and parse table properties so __metadat…
Jun 24, 2026
320c5dc
Merge pull request #29 from clickzetta/fix/table-describe-extended-pr…
hellozepp Jun 24, 2026
62bf28e
feat(cli): support cookie-based authentication for profiles
Jun 24, 2026
0833070
fix: handle /api/ path prefix in JDBC URL parsing
Jun 25, 2026
8afe311
docs: add Python cz-cli connection example
Jun 25, 2026
6bb6b86
Merge pull request #33 from clickzetta/fix/jdbc-api-path-prefix
hellozepp Jun 25, 2026
c8a78df
feat(task): deterministic offline data-integration commands
Jun 26, 2026
c99a48f
fix(release): pin ghostty-web git dependency
Jun 26, 2026
d7fa805
Merge pull request #35 from clickzetta/fix/pin-ghostty-web-release-dep
lyman Jun 26, 2026
0196953
fix: display bugs, cron-preview fallback, CDC validation, Oracle/SQL …
yunqiqiliang Jun 26, 2026
0312bf4
fix: create-setup --description, schedule-info errors, REALTIME deplo…
yunqiqiliang Jun 26, 2026
4a10f98
feat(cli): agent-facing error handling, output robustness, and /sql f…
Jun 24, 2026
1d20387
fix(cli): correct ai_message guidance and honor invocation args in su…
Jun 29, 2026
715e679
fix(task): rename flow instances --instance to --run_id (#38)
RayVs Jun 29, 2026
b7cc7e9
fix: support weekly selected-day task schedules (#37)
hellozepp Jun 29, 2026
9babf10
test: cover workspace-param help (#40)
hellozepp Jun 30, 2026
f9d6549
feat: 扩展analytics-agent命令支持metric、answer-builder和domain joins管理
mayz429 Jun 30, 2026
e7acfb2
fix(connection): support cookie-token auth for studio, agent and gate…
Jul 1, 2026
31eb350
docs: add MoA (mixture of agents) port design
Jul 1, 2026
c8fe076
test(config): align model-precedence test with profiles.toml ownership
Jul 2, 2026
b8fb184
feat(moa): add pure preset config normalization
Jul 2, 2026
f12592c
feat(moa): add reference view, tool-list, and context injection
Jul 2, 2026
d69d01c
refactor(moa): hoist ModelMessage type import to top of file
Jul 2, 2026
09fcbd0
feat(moa): add moa presets to config schema
Jul 2, 2026
f82df84
feat(moa): register moa as a virtual provider with aggregator capabil…
Jul 2, 2026
8ba0b13
fix(moa): narrow injectContext assignment to satisfy ModelMessage union
Jul 2, 2026
1005cce
feat(moa): add bounded reference fan-out with failure degradation
Jul 2, 2026
0812dee
feat(moa): run reference fan-out and inject context in the llm loop
Jul 2, 2026
cbcc21e
fix(moa): degrade reference resolution failures instead of aborting t…
Jul 2, 2026
213e6da
test(moa): add env-gated real multi-model e2e
Jul 2, 2026
2da0ca5
fix(moa): inject context into array-content user messages, not just s…
Jul 2, 2026
6c3d72c
fix(moa): surface moa presets in the TUI model picker
Jul 2, 2026
a1e4b70
feat(moa): source MoA config from profiles.toml [moa] instead of czcl…
Jul 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
50 changes: 50 additions & 0 deletions .agents/skills/cz-cli-inner/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
name: cz-cli-inner
description: Use when answering operational ClickZetta Studio or Lakehouse requests from inside a cz-cli-aware agent, including listing metadata, running SQL, managing tasks, checking runs, or operating datasource and AI Gateway resources.
---

# cz-cli Inner

Use `cz-cli` proactively for ClickZetta operational requests. Do not ask for information that can be discovered with `cz-cli` commands.

## Core Rules

- Use `cz-cli` from `PATH` for Lakehouse and Studio operations.
- Run `cz-cli <command> --help` when exact flags are unclear.
- Prefer `--format json` for machine-readable output and preserve `ai_message` guidance.
- Use `--profile <name>` when the user names an environment or profile.
- On `NO_PROFILE`, guide the user to run `cz-cli setup`.
- Stop after the same command fails twice or repeated minor variations make no progress; report what failed and change approach or ask for guidance.
- Never fabricate URLs, task IDs, run IDs, table names, or profile names. Use exact command output.

## SQL Rules

- Current default SQL mode is sync: `cz-cli sql "SELECT ..."` waits for results.
- Use `--async` for large or long-running queries, then inspect with `cz-cli sql status <job-id>` or `cz-cli job status <job-id>`.
- Write operations always require `--write`, including DDL and DML.
- If SQL contains quotes, `$`, backticks, backslashes, or newlines, write it to a file and run `cz-cli sql -f <file>` to avoid shell corruption.
- Use ClickZetta Lakehouse SQL syntax only. Before generating, modifying, validating, explaining, or running non-trivial Lakehouse SQL, load the Lakehouse documentation skill if available.

## Studio Task Rules

- Always pass `--type` when creating tasks.
- Flow tasks use `cz-cli task flow *` commands for nodes; do not use normal task content/deploy commands on flow nodes.
- Merge tasks use `cz-cli task create <name> --type MERGE` and `cz-cli task save-merge <task> --dependency <upstream> --status SUCCESS --status FAILED`; use `--status SKIPPED` only for upstream if/condition tasks.
- For standalone task runtime params, use `cz-cli task save-content <task> --params '{"key":"value"}'` while saving script content, or `cz-cli task save-config <task> --param key=value` to merge/update params without changing script content.
- `cz-cli task content <task>` returns saved `params`, and may also return `input_params` / `output_params` when the backend has those lists.
- For flow node params, use `cz-cli task flow node-save`: `--param key=value` for manual defaults, `--flow-param key` for values inherited from parent flow execution params, `--output-param key` to declare `$[output]`, and `--input-param key=upstreamNodeName` to consume an upstream node output. Bind the upstream dependency first so the upstream node can resolve from the DAG.
- Confirm intent before destructive or state-changing operations: deploy, undeploy, execute, delete, refill/backfill, stop, rerun, and similar actions.
- For historical reruns or backfills, use `cz-cli runs refill <task> --from YYYY-MM-DD --to YYYY-MM-DD`; this is under `runs`, not `task`.
- For output table JSON flags such as `--output-tables`, pass the JSON array as one shell argument, usually with single quotes.

## Output Handling

- `--format json`: best for parsing.
- `--format toon`: line-per-field output, useful with `grep` or `head`.
- `--format table`, `--format csv`, `--format pretty`: human-readable.
- `--field <name>`: extracts one field as raw text.
- Paginated list commands usually return page 1; check `ai_message` for next-page hints.

## Command Reference

Read `references/command-reference.md` when you need examples or command coverage beyond these core rules.
143 changes: 143 additions & 0 deletions .agents/skills/cz-cli-inner/references/command-reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# cz-cli Command Reference

Use `cz-cli <command> --help` for authoritative options. This reference is a compact command map for common operations.

## SQL and Jobs

```bash
cz-cli sql "<statement>" # Execute SQL, sync by default
cz-cli sql "<statement>" --async # Return job_id immediately for large/long-running queries
cz-cli sql status <job-id> # Check async SQL job status
cz-cli job status <job-id> # Job status and summary
cz-cli job result <job-id> # Fetch job result set
cz-cli job profile <job-id> # Flattened job profile basics; use --raw for raw content
```

## Schemas and Tables

```bash
cz-cli schema list [--like <pattern>]
cz-cli schema describe <name>
cz-cli schema create <name>
cz-cli schema drop <name>

cz-cli table list [--schema <name>]
cz-cli table describe <name>
cz-cli table preview <name>
cz-cli table stats <name>
cz-cli table history [name]
cz-cli table create "<ddl>"
cz-cli table drop <name>
```

## Workspaces and Profiles

```bash
cz-cli workspace current
cz-cli status
cz-cli profile list
```

## Studio Tasks

```bash
cz-cli task list
cz-cli task create <name> --type <TYPE> # SQL/PYTHON/SHELL/SPARK/FLOW/MERGE
cz-cli task content <task> # Draft script, config, params, input_params, output_params
cz-cli task save-content <task> --file <f> # Save task script; --params JSON sets runtime params
cz-cli task save-config <task> # Save non-cron config: retry, deps, VC, schema, timeout; --param key=value merges params
cz-cli task save-merge <task> # Save MERGE rule content and upstream schedule dependencies
cz-cli task save-cron <task> # Save cron schedule config
cz-cli task lineage <task> # Parse outputs/dependencies; returns save_payload
cz-cli task deps <task> # Draft dependencies
cz-cli task deploy <task> # Publish/deploy; alias: online
cz-cli task undeploy <task> # Undeploy; alias: offline
cz-cli task execute <task> # Ad-hoc execution
cz-cli task delete <task> # Delete draft/offline task
cz-cli task flow dag <task> # Get flow DAG
cz-cli task flow node-save <task> --name N # Save node script/params; supports --param, --flow-param, --output-param, --input-param
```

For standalone task params:

```bash
cz-cli task save-content <task> --file script.sql --params '{"city":"beijing","dt":"bizdate","yd":"$[yyyy-MM-dd,-1d]"}'
cz-cli task save-config <task> --param city=shanghai --param tenant=acme
```

`save-content --params` stores params while saving content. `save-config --param key=value` merges overrides with existing task params and preserves script content. System params such as `bizdate`, `sys_plan_day`, and `sys_biz_datetime` are auto-detected for JSON `--params` values.

For flow node params:

```bash
cz-cli task flow node-save <flow> --name upstream --output-param result_value
cz-cli task flow bind <flow> --upstream upstream --downstream downstream
cz-cli task flow node-save <flow> --name downstream --input-param up_value=upstream
cz-cli task flow node-save <flow> --name worker --param city=beijing --flow-param bizdate
```

`--output-param key` declares an output value as `$[output]`. `--input-param key=upstreamNodeName` resolves the upstream node id from the flow DAG, so create/bind nodes before using it. `--flow-param key` marks a child node param as inherited from the parent flow execution params (`ref=2`).

For merge tasks:

```bash
cz-cli task create merge_task --type MERGE --folder <folder>
cz-cli task save-merge merge_task --dependency upstream_task --status SUCCESS --status FAILED --status SKIPPED
```

`save-merge` writes the merge rule content and saves the upstream task as a schedule dependency. `--status` is repeatable or comma-separated. `SKIPPED` only applies to upstream if/condition tasks.

For manual output tables, quote JSON as one argument:

```bash
cz-cli task save-config <task> --outputs replace --output-tables '[{"outputTableName":"ws.table","refTableName":"ws.public.table"}]'
```

## Runs and Attempts

```bash
cz-cli runs list [--task <name>]
cz-cli runs detail <id>
cz-cli runs wait <id>
cz-cli runs logs <id>
cz-cli runs deps <task> # Published dependencies
cz-cli runs stop <id>
cz-cli runs refill <task> --from D --to D # D is YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS
cz-cli runs rerun <id>
cz-cli runs stats

cz-cli attempts list [id]
cz-cli attempts log [id]
```

## Datasources

```bash
cz-cli datasource list [--type <type>] [--name <filter>]
cz-cli datasource catalogs <name_or_id>
cz-cli datasource objects <name_or_id> <catalog>
cz-cli datasource describe <name_or_id> <catalog> <object>
cz-cli datasource test <name_or_id>
cz-cli datasource sample <name_or_id> <catalog> <object>
```

## AI Gateway

```bash
cz-cli ai-gateway key list
cz-cli ai-gateway key create <alias>
cz-cli ai-gateway key upsert <alias>
cz-cli ai-gateway key get <ref>
cz-cli ai-gateway key set-quota --ref R --period P --quota N
cz-cli ai-gateway key enable <ref>
cz-cli ai-gateway key disable <ref>
cz-cli ai-gateway key delete <ref>
cz-cli ai-gateway model list [ref]
```

Useful key flags:

- `key list`: `--alias`, `--key`, `--status 1|0`, `--mine`, `--reveal`
- `key create/upsert`: `--period daily|weekly|monthly|total`, `--quota N`, `--route-type default|provider|byok`, `--providers <id ...>`, `--provider-sort price|throughput|latency`, `--private-keys <alias ...>`, `--add-to-llm [name]`, `--use`
- `key get`: `<ref>` can be an alias, masked key, or key value; supports `--add-to-llm [name]` and `--use`
- `key delete`: `--remove-from-llm`
156 changes: 156 additions & 0 deletions .agents/skills/openspec-apply-change/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
---
name: openspec-apply-change
description: Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
license: MIT
compatibility: Requires openspec CLI.
metadata:
author: openspec
version: "1.0"
generatedBy: "1.2.0"
---

Implement tasks from an OpenSpec change.

**Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.

**Steps**

1. **Select the change**

If a name is provided, use it. Otherwise:
- Infer from conversation context if the user mentioned a change
- Auto-select if only one active change exists
- If ambiguous, run `openspec list --json` to get available changes and use the **AskUserQuestion tool** to let the user select

Always announce: "Using change: <name>" and how to override (e.g., `/opsx:apply <other>`).

2. **Check status to understand the schema**
```bash
openspec status --change "<name>" --json
```
Parse the JSON to understand:
- `schemaName`: The workflow being used (e.g., "spec-driven")
- Which artifact contains the tasks (typically "tasks" for spec-driven, check status for others)

3. **Get apply instructions**

```bash
openspec instructions apply --change "<name>" --json
```

This returns:
- Context file paths (varies by schema - could be proposal/specs/design/tasks or spec/tests/implementation/docs)
- Progress (total, complete, remaining)
- Task list with status
- Dynamic instruction based on current state

**Handle states:**
- If `state: "blocked"` (missing artifacts): show message, suggest using openspec-continue-change
- If `state: "all_done"`: congratulate, suggest archive
- Otherwise: proceed to implementation

4. **Read context files**

Read the files listed in `contextFiles` from the apply instructions output.
The files depend on the schema being used:
- **spec-driven**: proposal, specs, design, tasks
- Other schemas: follow the contextFiles from CLI output

5. **Show current progress**

Display:
- Schema being used
- Progress: "N/M tasks complete"
- Remaining tasks overview
- Dynamic instruction from CLI

6. **Implement tasks (loop until done or blocked)**

For each pending task:
- Show which task is being worked on
- Make the code changes required
- Keep changes minimal and focused
- Mark task complete in the tasks file: `- [ ]` → `- [x]`
- Continue to next task

**Pause if:**
- Task is unclear → ask for clarification
- Implementation reveals a design issue → suggest updating artifacts
- Error or blocker encountered → report and wait for guidance
- User interrupts

7. **On completion or pause, show status**

Display:
- Tasks completed this session
- Overall progress: "N/M tasks complete"
- If all done: suggest archive
- If paused: explain why and wait for guidance

**Output During Implementation**

```
## Implementing: <change-name> (schema: <schema-name>)

Working on task 3/7: <task description>
[...implementation happening...]
✓ Task complete

Working on task 4/7: <task description>
[...implementation happening...]
✓ Task complete
```

**Output On Completion**

```
## Implementation Complete

**Change:** <change-name>
**Schema:** <schema-name>
**Progress:** 7/7 tasks complete ✓

### Completed This Session
- [x] Task 1
- [x] Task 2
...

All tasks complete! Ready to archive this change.
```

**Output On Pause (Issue Encountered)**

```
## Implementation Paused

**Change:** <change-name>
**Schema:** <schema-name>
**Progress:** 4/7 tasks complete

### Issue Encountered
<description of the issue>

**Options:**
1. <option 1>
2. <option 2>
3. Other approach

What would you like to do?
```

**Guardrails**
- Keep going through tasks until done or blocked
- Always read context files before starting (from the apply instructions output)
- If task is ambiguous, pause and ask before implementing
- If implementation reveals issues, pause and suggest artifact updates
- Keep code changes minimal and scoped to each task
- Update task checkbox immediately after completing each task
- Pause on errors, blockers, or unclear requirements - don't guess
- Use contextFiles from CLI output, don't assume specific file names

**Fluid Workflow Integration**

This skill supports the "actions on a change" model:

- **Can be invoked anytime**: Before all artifacts are done (if tasks exist), after partial implementation, interleaved with other actions
- **Allows artifact updates**: If implementation reveals design issues, suggest updating artifacts - not phase-locked, work fluidly
Loading