CLI 参考

DeepCell CLI 完整参考

五个界面、每一个指南主题、每一条命令、每一条规则——全部由 CLI 自身生成,所以本页写的就是你的终端会回答的内容。

要把它交给智能体而不是自己读?同样的参考,纯 markdown 版本: /product/cli.md

从这里开始

先安装 CLI。开始之前不需要账号——第一次调用会自动创建匿名会话,本页所有内容在全新安装上都能直接用。

macOS / Linux

curl -LsSf https://deepcell.net/install.sh | sh

Windows(PowerShell)

irm https://deepcell.net/install.ps1 | iex

然后用一次调用检查安装情况:版本、服务是否可达、你是谁、当前项目是哪个。

deepcell doctor

先读引导式上手说明,再列出项目里有什么。第二条能打印出结果,就说明已经连通。

deepcell guide orient/start deepcell ls

登录是可选的,而且应该发生在你的第一个文件之后,而不是之前。登录能让成果不随匿名会话消失、解除匿名额度限制,并让你分享做出来的东西。

deepcell login

五个界面

参考内容按你此刻要问的问题划分:每一类知识的形态不同、查阅频率不同、过时的风险也不同。按问题去找对应的那一个,而不是把整套读完。

界面你此刻在问什么它回答什么
deepcell help这条命令到底怎么写?Every command, flag, exit code and example as one document.
deepcell rules什么是任何时候都必须成立的?The invariants applicable to a .deepcell work shape.
deepcell guide这个阶段的标准做法是什么?Explain how DeepCell itself works.
deepcell ref这里合法的取值有哪些?Look up legal values, and resolve any typed id.
deepcell example get正确的成品长什么样?Write an example document to a local file.

其中两个——命令调用参考和合法取值参考——直接由实现推导而来,因此不可能与实现不一致。另外三个是人工撰写的,但都以机械方式绑定回实现:它们引用的每一个 id 都必须能解析,解析不到 CI 就会失败。

本页不是第六个界面,而是上述五个的一次呈现,数据来自 CLI 对外提供的同一份清单,因此两者不可能描述出不同的命令。清单版本: 0.6.3

全部指南主题

主题是有顺序的操作流程,按所属工作阶段分组。只读你当前阶段的那一篇,不必通读整个索引。任意一篇都可以在终端里打印出来:

deepcell guide orient/start
主题阶段涵盖内容
orient/startorientInspect the environment and existing work before choosing a route
orient/how-to-workorientShared working contract for connected, challengeable DeepCell work
orient/surface-ownershiporientKnow which surface owns each fact, judgment, explanation, and takeaway
orient/conceptsorientUnderstand the six core concepts used by the Spreadsheet surface
orient/choose-shapeorientChoose the decision, evidence, and work surfaces the question needs
ingest/tabularingestBring external tables in faithfully without inventing projections
generate/first-filegenerateCreate one valid file for the selected surfaces and build on it
generate/structuregenerateDefine Spreadsheet items, contexts, statuses, and dimensions
generate/calcsgenerateEncode derived Spreadsheet values as dependency-tracked calculations
generate/valuesgenerateAuthor input values and provenance at their exact coordinates
generate/whole-docgenerateUse one whole-document write when the complete initial shape is known
revise/premise-changereviseChange a premise, recompute calculations, and reassess every connected surface
revise/valuesreviseChange existing values with the narrowest typed operation
revise/structurereviseChange definitions while preserving references and dependent work
revise/scenariosreviseCompare what-if overlays without copying the underlying work
revise/reasoningreviseRecord claims and premises incrementally and preserve their lifecycle
revise/historyreviseReview and preserve the versioned history of the work
verify/lintverifyRun structural and reasoning lint as the first verification move
verify/query-backverifyRead calculated outputs back and catch an empty or misaddressed grid
verify/reviewverifyAudit every selected surface before calling the work complete
present/layoutpresentLay out Spreadsheet results for inspection and delivery
present/prosepresentAuthor long-form explanation with resolvable same-file references
present/chartspresentTurn selected Spreadsheet ranges into charts without copying values
present/deckspresentBuild a concise Deck whose takeaways remain linked to their basis
present/deck-stylepresentPick one of four deck style packs and apply its CSS before writing slides
present/deliverpresentShare or export finished work within the active transport limits
overview参考Template — three-statement model architecture: sheet layout, item order ranges, and the IS/BS/CF golden loop
assumptions参考Template — assumptions sheet: driver categories, order ranges, and why drivers are Values while anything derived is a CalcDef
income-statement参考Template — income statement items and formulas, revenue through net income
balance-sheet参考Template — balance sheet items and formulas, plus the assets = liabilities + equity check
cash-flow参考Template — cash flow statement: operating/investing/financing sections and the cash reconciliation
dcf参考Template — DCF valuation: free cash flow build, WACC, terminal value, and the equity bridge
scenarios参考Template — worked bull/base/bear setup: which variables to override and by how much (for the mechanics, read revise/scenarios)
validation参考Template — integrity check items every model should carry (balance check, cash reconciliation, coverage ratios)
orchestrator参考How to run DeepCell work — what the job is, when it is done, and how to look things up instead of guessing
bank参考Template — bank / NIM model: rate × balance grid, net interest income, efficiency ratio, provision
insurance参考Template — insurance model: earned premium, loss/expense ratios, combined ratio, underwriting result
reit参考Template — REIT model: NOI, FFO, AFFO, real-estate depreciation add-back
build-from-scratch参考Build playbook — starting with no existing .deepcell file, from empty project to a valid model
account-categorization参考Mapping a company's own statement labels onto a standard chart of accounts, without editing the extraction
chart-of-accounts-gaap参考Template — US GAAP standard chart of accounts (order 4000-4299), item ids matching the statement templates
chart-of-accounts-ifrs参考Template — IFRS standard chart of accounts, and where it diverges from US GAAP
chart-of-accounts-cas参考Template — Chinese Accounting Standards (企业会计准则) chart of accounts for A-share filers
non-gaap-metrics参考Template — non-GAAP adjusted metrics (order 4300-4399): adjusted EBITDA, net income, and EPS
schema-matching参考Mapping external data (xlsx/csv) to .deepcell item and context dimensions
house-rules参考House rules — the non-negotiable invariants every model must satisfy
review-dimensions参考Review dimensions — the model audit checklist (integrity, formulas, coverage, sanity, grounding, reasoning, intent, presentation)
model-scopes参考Choosing model scope — P&L+DCF default, 3-statement triggers, industry models
sec-extraction参考SEC extraction — raw historical layer, model mapping layer, provenance rules
cn-extraction参考A-share (cninfo) extraction — CAS statements from report PDFs, #page deep links, canonical item map
excel-import参考Excel import — dimension mapping, formula conversion, excel_import provenance

全部命令

每一条命令都列出调用形式、它接受的参数与选项以及各自的取值要求、各退出码的含义,以及一条可直接运行的示例。整份目录也可以用一次调用取回为机器可读数据——缓存一次,胜过为每条命令各跑一趟:

deepcell help

orient

look at what exists before adding to it

cat

Print file content (XML) to stdout.

deepcell cat <filename>

deepcell cat model.deepcell
参数类型是否必填
filenametext必填
选项类型默认值作用
--revision <revision>textShow file at specific revision.
--workspace <workspace_slug>textOverride active workspace.

退出码: 0 — completed

cell-meta

Show metadata for a single cell (formula, dependencies, data source).

deepcell cell-meta <filename> [item_ref_pos] [context_ref_pos]

deepcell cell-meta model.deepcell Revenue FY2026E
参数类型是否必填
filenametext必填
item_ref_postext可选
context_ref_postext可选
选项类型默认值作用
--item <item_opt>textItem ref (alternative to the ITEM_REF positional).
--context <context_opt>textContext ref (alternative to the CONTEXT_REF positional).
--status <status_ref>textStatus reference (e.g. 'actual'). A CONSTRAINT, not a hint: the read may answer from that bucket or the untagged one, never from a third. Omit to let the document decide which status answers.
--scenario <scenario_ref>textScenario dimension (omit for the base cell).
--custom-dimensions <custom_dimensions>textCustom dimensions as 'dim:member;dim:member', e.g. 'geography:na'.

退出码: 0 — completed

describe

Show a document's shape: sheets, the five dimensions, documents, decks.

deepcell describe <filename>

deepcell describe model.deepcell --lint
参数类型是否必填
filenametext必填
选项类型默认值作用
--include-reasoningbooleanAppend a compact summary of the document reasoning graph.
--scenario <scenario_id>textScenario ID whose value overrides to apply.
--lintbooleanInclude canonical structural findings; exit 1 on error-level ones. Warn-level findings print and exit 0 — read them.
--since <since_revision>textWith --lint: mark each finding pre-existing or new against this revision. Use `HEAD~1` for the commit before yours, or a SHA from `deepcell log`.
--measurebooleanWith --lint: measure every deck slide that has no fit measurement yet (one browser pass per slide in the export service) before reporting. Slides are measured on the write that changes them; use this for a deck that arrived by sync or upload, or was restyled.
--workspace <workspace_slug>textOverride active workspace.

退出码: 0 — completed · 1 — read-only-check

grep

Search for items/values matching a pattern in .deepcell files.

deepcell grep <pattern>

deepcell grep Revenue
参数类型是否必填
patterntext必填
选项类型默认值作用
--file <filename>textSearch within a specific file.
--ignore-casebooleanCase-insensitive search.

退出码: 0 — completed

ls

List files in the active workspace.

deepcell ls

退出码: 0 — completed

query

Query a .deepcell file.

deepcell query <filename> [item_ref] [context_ref] [status_ref]

deepcell query model.deepcell Revenue FY2026E
参数类型是否必填
filenametext必填
item_reftext可选
context_reftext可选
status_reftext可选
选项类型默认值作用
--status <status_opt>textStatus dimension — the same thing as the third positional. `edit`, `defs add-calc` and `cell-meta` all spell it this way; accepted here so the four agree.
--scenario <scenario_ref>textScenario dimension (omit for default scenario).
--custom-dimensions <custom_dimensions>textCustom dimensions as 'dim:member;dim:member', e.g. 'geography:na'.
--cells <cells_arg>textRead several cells that do NOT share a row, in one call: 'ITEM@CONTEXT,ITEM@CONTEXT,...' (add a third '@STATUS' segment per cell to pin its status). This is the check-my-outputs form — a comma-separated CONTEXT_REF only walks one item.
--sheet <sheet_id>textRender a full sheet as markdown table.
--block <block_id>textRender a specific block within a sheet.
--workspace <workspace_slug>textOverride active workspace.

退出码: 0 — completed

ingest

external data in (skip for from-scratch work)

import

Import an xlsx or csv file into a .deepcell document.

deepcell import <file> --items <items> --contexts <contexts>

deepcell import variance.xlsx --name variance_import --items '[{"id":"Revenue","name":"Revenue","level":0,"row":2,"sheet":"Variance"}]' --contexts '[{"id":"FY25A","name":"FY25 actual","period_type":"annual","status":"actual","column":"B"}]'
参数类型是否必填
filepath必填
选项类型默认值作用
--items <items>text必填Items JSON string or path to JSON file.
--contexts <contexts>text必填Contexts JSON string or path to JSON file.
--name <name>textName for the .deepcell file (default: input filename).
--workspace <workspace>textTarget workspace slug.
--aggregations <aggregations>textAggregation rules JSON string or path to JSON file.
--keep-rawbooleanStore raw values alongside aggregated results.

退出码: 0 — completed · 1 — partial

ingest cn extract

Extract one statement's table — rows, canonical items, #page deep link.

deepcell ingest cn extract <pdf_url>

deepcell ingest cn extract https://static.cninfo.com.cn/finalpage/2026-03-28/1224567890.PDF --statement income --persist
参数类型是否必填
pdf_urltext必填
选项类型默认值作用
--statement <statement>text合并利润表Chinese heading or income | balance | cash_flow
--persistbooleanMirror the source PDF into DeepCell storage and return a durable `source_page_url` to record as the <Source> <Locator>. --no-persist skips the mirror (faster, but the only url you get back is the volatile cninfo link).

退出码: 0 — completed

ingest cn filings

List annual / interim reports with PDF permalinks.

deepcell ingest cn filings <code>

deepcell ingest cn filings 600519 --type annual --count 5
参数类型是否必填
codetext必填
选项类型默认值作用
--type <filing_type>textannualannual | interim | semiannual | q1 | q3
--count <count>integer range5number of reports (1-30)

退出码: 0 — completed

Resolve a 6-digit code, company name (中文简称), or pinyin.

deepcell ingest cn search <keywords>

deepcell ingest cn search 600519
参数类型是否必填
keywordstext必填

退出码: 0 — completed

ingest cn statements

Locate the financial statements inside a report PDF (page + scale).

deepcell ingest cn statements <pdf_url>
参数类型是否必填
pdf_urltext必填

退出码: 0 — completed

generate

create one file, then build only the surfaces the work needs

deck add

Add a Deck to a .deepcell file.

deepcell deck add <filename> --name <name>

deepcell deck add model.deepcell --name <name>
参数类型是否必填
filenametext必填
选项类型默认值作用
--deck-id <deck_id>textDeck id. Omit to let the server assign one.
--name <name>text必填Display name for the deck.
--aspect-ratio <aspect_ratio>16:9 | 4:3Slide aspect ratio. Omit for the format default (16:9).
--index <index>integerPosition among decks (0-based).
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed

deck add-slide

Add an empty slide to a deck.

deepcell deck add-slide <filename> --deck <deck_id> --name <name>

deepcell deck add-slide model.deepcell --deck <deck_id> --name <name>
参数类型是否必填
filenametext必填
选项类型默认值作用
--deck <deck_id>text必填Deck to add the slide to.
--slide-id <slide_id>textSlide id. Omit to let the server assign one.
--name <name>text必填Display name for the slide.
--index <index>integerPosition within the deck (0-based).
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed

deck bind

Point a slide at a live value, or update an existing binding.

deepcell deck bind <filename> --deck <deck_id> --binding-id <binding_id> --binding-kind <binding_kind>

deepcell deck bind model.deepcell --deck <deck_id> --binding-id <binding_id> --binding-kind <binding_kind>
参数类型是否必填
filenametext必填
选项类型默认值作用
--deck <deck_id>text必填Deck the binding lives on.
--binding-id <binding_id>text必填Binding id. Reusing one updates it in place.
--binding-kind <binding_kind>value | series | chart | document_stat | reasoning | source | htmlblock必填What the binding renders. Decides which address flag it takes.
--field <field>textWhich text of the addressed thing to render, not an address itself.
--ref <ref>textSingle coordinate the binding reads.
--refs <refs>textComma-separated coordinates — the address a `series` binding takes. Single-quote an item id that contains a comma.
--metric <metric>dataSourceCount | claimCount | assumptionCount | evidenceCountFor --binding-kind document_stat only: which element type to count.
--number-format <number_format>textExcel-style number pattern the value renders with — `#,##0.0`, `0.0%`, `#,##0;(#,##0)`. It labels the stored value and never divides it.
--prefix <prefix>textText rendered before the value.
--suffix <suffix>textText rendered after the value.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed

deck brand

Recolour a deck by ROLE without touching its stylesheet.

deepcell deck brand <filename> --deck <deck_id>

deepcell deck brand model.deepcell --deck <deck_id>
参数类型是否必填
filenametext必填
选项类型默认值作用
--deck <deck_id>text必填Deck to recolour.
--set <assignments>textColour-role override, repeatable: --set accent=#0A5C3B --set ink=#111111. Roles are the pack's colour names — accent, ink, series-1 … (`deepcell ref deck-style/hooks`).
--clearbooleanRemove the brand; the pack's own palette shows again.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed

deck delete

Delete a deck and every slide on it.

deepcell deck delete <filename> <deck_id>

deepcell deck delete model.deepcell <deck_id>
参数类型是否必填
filenametext必填
deck_idtext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed

deck delete-slide

Delete one slide, and the HTML on it.

deepcell deck delete-slide <filename> <slide_id> --deck <deck_id>

deepcell deck delete-slide model.deepcell <slide_id> --deck <deck_id>
参数类型是否必填
filenametext必填
slide_idtext必填
选项类型默认值作用
--deck <deck_id>text必填Deck the slide belongs to.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed

deck rename

Change a deck's display NAME.

deepcell deck rename <filename> <deck_id> <new_name>

deepcell deck rename model.deepcell <deck_id> <new_name>
参数类型是否必填
filenametext必填
deck_idtext必填
new_nametext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed

deck rename-slide

Change a slide's display NAME.

deepcell deck rename-slide <filename> <slide_id> <new_name> --deck <deck_id>

deepcell deck rename-slide model.deepcell <slide_id> <new_name> --deck <deck_id>
参数类型是否必填
filenametext必填
slide_idtext必填
new_nametext必填
选项类型默认值作用
--deck <deck_id>text必填Deck the slide belongs to.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed

deck reorder

Move a deck to TO_INDEX in the deck order (0-based).

deepcell deck reorder <filename> <deck_id> <to_index>

deepcell deck reorder model.deepcell <deck_id> <to_index>
参数类型是否必填
filenametext必填
deck_idtext必填
to_indexinteger必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed

deck reorder-slide

Move a slide to TO_INDEX within its deck (0-based).

deepcell deck reorder-slide <filename> <slide_id> <to_index> --deck <deck_id>

deepcell deck reorder-slide model.deepcell <slide_id> <to_index> --deck <deck_id>
参数类型是否必填
filenametext必填
slide_idtext必填
to_indexinteger必填
选项类型默认值作用
--deck <deck_id>text必填Deck the slide belongs to.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed

deck unbind

Remove a binding, leaving whatever the slide's HTML says in its place.

deepcell deck unbind <filename> <binding_id> --deck <deck_id>

deepcell deck unbind model.deepcell <binding_id> --deck <deck_id>
参数类型是否必填
filenametext必填
binding_idtext必填
选项类型默认值作用
--deck <deck_id>text必填Deck the binding lives on.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed

defs add-axis-member

Add a row or a column to a Block.

deepcell defs add-axis-member <filename> --sheet <sheet_id> --block <block_id> --axis <axis> --member <member> --ref <ref>

deepcell defs add-axis-member model.deepcell --sheet variance --block revenue_table --axis rows --member item --ref Gross_Profit
参数类型是否必填
filenametext必填
选项类型默认值作用
--sheet <sheet_id>text必填Sheet containing the block.
--block <block_id>text必填blockId to edit.
--axis <axis>rows | columns必填Which axis to edit: 'rows' (the block's @itemOrders) or 'columns' (its @contextRefs).
--member <member>item | context必填What kind of id --ref is. Pair 'item' with rows, 'context' with columns.
--ref <ref>text必填The item id or context id to add.
--index <index>integer range0-based position on the axis (default: append at the end).
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs add-block

Add a presentation Block (table or chart) to a sheet.

deepcell defs add-block <filename> --sheet <sheet_id> --block-type <block_type> --name <name>

deepcell defs add-block model.deepcell --sheet variance --block-type table --name 'Revenue vs budget' --item-orders Revenue,COGS --context-refs FY2025,FY2026
参数类型是否必填
filenametext必填
选项类型默认值作用
--sheet <sheet_id>text必填Sheet to add the block to.
--block-type <block_type>text必填One of: table, chart, sensitivity, key_value, text. The server stores any string, but the renderer skips a block whose type it does not know, so anything else is written and never drawn.
--name <name>text必填Display name / section heading.
--item-orders <item_orders>textComma-separated rows, in order: item ids, @order values, or order ranges (e.g. 'revenue,cogs,gross_profit' or '4000-4099'). Stored verbatim as @itemOrders; the reader resolves each token — a number or a range matches @order, anything else matches an itemId. Omit and the block renders empty — see the note above.
--context-refs <context_refs>textComma-separated context ids forming the block's columns, in order (e.g. 'FY2024,FY2025'). Omit to show every context.
--index <index>integerInsertion index within the sheet (default: append at the end).
--format-ref <format_ref>textFormatDefinitions id this block resolves against. Omit and the block takes the document default (the Format named default_format, else the first one defined). See `deepcell ref format`.
--chart-type <chart_type>bar | bar_stacked | bar_horizontal | line | area | pie | donut | waterfall | range_bar | scatterChart type (chart blocks only). 'waterfall' bridges deltas between declared totals; 'range_bar' draws a low..high band per category (the football field).
--category-axis <category_axis>context | itemWhich dimension is the category axis (chart blocks only).
--total-item-refs <total_item_refs>textWhitespace/comma-separated refs naming the plotted categories that rest on the baseline instead of floating on the running sum (--chart-type=waterfall only). Declared, never inferred: omit it and every step is a delta.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs add-calc

Add a CalculationDefinition (formula).

deepcell defs add-calc <filename> --item <item_id> --formula <formula>

deepcell defs add-calc model.deepcell --item Revenue --calc-id calc_revenue --formula 'Units_Sold[CURRENT] * Unit_Price[CURRENT]' --status projected
参数类型是否必填
filenametext必填
选项类型默认值作用
--item <item_id>text必填Item the calc resolves into (itemId).
--calc-id <calc_id>textStable calcId for the new calc (e.g. 'calc_stress_low'). Errors if the id is already taken. Omit to let the server assign one — but an auto id is what `defs delete-calc` and `reasoning add-claim --calc-ref` must then quote, so choose your own when the calc has to be citable.
--formula <formula>text必填Jingwei formula, e.g. "Revenue[PREVIOUS] * 1.1".
--context <context_ref>textPin calc to one or more contextRefs. Pass a CSV (e.g. 'FY25,FY26,FY27') to pin a roll-forward chain to several periods in one call — omit the seed period so its literal is kept. Omit entirely to fan out across every period the item lacks a literal value.
--scenario <scenario_ref>textLimit calc to this scenarioRef.
--status <status_ref>textPin calc to a statusRef (e.g. 'projected'). Strongly recommended for forecast formulas so they coexist with the historical actuals in the same item/context slots — without it the projection stores one untagged cell that answers every status, leaving the actuals nowhere to sit. Not enforced: omitting it succeeds, and the cost shows up later as an actual you cannot store.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs add-context

Add a ContextDefinition — a period, or a non-temporal axis member.

deepcell defs add-context <filename>

deepcell defs add-context model.deepcell --name FY2025 --context FY2025 --kind period --state closed --status actual
参数类型是否必填
filenametext必填
选项类型默认值作用
--name <name>textThe context IDENTIFIER (@contextId), e.g. 'Low_Rent' — not a display label. Must satisfy the reference-id grammar. Set the readable name afterwards with `defs update-context --label`.
--status <status_ref>textstatusRef (optional).
--context <context_ref>textExplicit contextRef (else server-assigned).
--kind <kind>textContext kind. Omit (or 'period' / temporal alias) for time columns; pass 'program', 'segment', 'fund', 'region', 'entity', 'product', 'other' (or any snake_case label, ≤32 chars) for non-temporal axes. Always written as @kind on the <Context> element.
--state <state>textPeriod state: closed | open | future. This is what says whether the period is over — the question the A/E suffix on a context id used to answer by accident. Only meaningful for --kind period.
--as-of <as_of>textISO YYYY-MM-DD the period's numbers are stated as of. Documentation and lint input only; never consulted when rendering.
--index <index>integerPosition in contexts list (omit to append at end).
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs add-doc

Add a <Document> — the prose that ships with the model.

deepcell defs add-doc <filename>

deepcell defs add-doc model.deepcell --doc-id variance_note --name 'July variance note' --lang en --body-file variance-note.md
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc-id <doc_id>textDocument identifier (@docId). Must match [A-Za-z0-9_.-]+ so a deepcell:doc/<id> reference to it parses back.
--name <name>textDisplay title.
--lang <lang>textBCP-47 language tag, e.g. 'en' or 'zh'.
--body-file <body_file>fileFile holding the initial body (else empty).
--notation <notation>markdown | textWhat the body IS. A new document is markdown unless you say 'text', which also stops anchors being stamped into it.
--index <index>integerPosition among documents.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs add-format

Add a <Format formatId="..."> to FormatDefinitions.

deepcell defs add-format <filename> <format_id>

deepcell defs add-format model.deepcell fmt_statement --rule 'default:fontName=Arial'
参数类型是否必填
filenametext必填
format_idtext必填
选项类型默认值作用
--rule <rule_strs>textOne rule as semicolon-separated key=value pairs, e.g. 'target=default; font_color=#000000; number_format=#,##0'. Commas inside a value (such as Excel number formats) are preserved. Repeat the flag for multiple rules. Keys: target, font_color, background_color, font_weight, font_style, font_name, font_size, text_align, indent, number_format, border_top/bottom/left/right.
--inheritboolean--no-inherit opts the Format out of the IB default base (a total custom theme; writes @inherit="false"). Default inherits the base (add-on model). See `deepcell ref format`.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs add-item

Add an ItemDefinition (no value).

deepcell defs add-item <filename> --name <name>

deepcell defs add-item model.deepcell --name Revenue --label Revenue --data-type monetary --scale 6 --currency USD --order-mode append
参数类型是否必填
filenametext必填
选项类型默认值作用
--name <name>text必填Item name (itemId basis).
--label <label>textDisplay label (e.g. 'Gross Margin %'); defaults to a humanized form of --name. Written as one <Label lang="en">: no typed op adds a second locale, so a bilingual item (en + zh) is seeded in the initial `deepcell write`.
--level <level>integerHierarchy level (0-3).
--parent <parent_item_id>textParent itemId (omit for root).
--index <index>integerPosition among siblings (omit to append at end).
--order <order>integerExplicit @order (must be unique; presentation blocks address rows by order ranges). Overrides --index placement.
--order-mode <order_mode>append'append' assigns max(existing orders) + 10 — no need to know which orders are taken. Mutually exclusive with --order; overrides --index.
--data-type <data_type>textDataType element (e.g. 'monetary', 'percentage', 'number').
--unit <unit>textUnit element (e.g. '%', 'hours', 'tonnes').
--scale <scale>integerScale element (units multiplier exponent).
--currency <currency>textCurrency element (ISO code, e.g. 'USD').
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs add-period

Add a ContextDefinition (period, or non-temporal axis member).

deepcell defs add-period <filename>

deepcell defs add-period model.deepcell --name FY2026 --context FY2026 --state future --status projected
参数类型是否必填
filenametext必填
选项类型默认值作用
--name <name>textThe period IDENTIFIER (@contextId), e.g. FY2027E — not a display label. Must satisfy the reference-id grammar. Set the readable name afterwards with `defs update-context --label`.
--status <status_ref>textstatusRef (e.g. 'projected').
--context <context_ref>textExplicit contextRef (else server-assigned).
--kind <kind>textContext kind. Omit (or pass 'period' / a temporal alias like 'time' / 'year' / 'annual' / 'fy') for time columns; pass e.g. 'program', 'segment', 'fund', 'region', 'entity', 'product', 'other' (or any snake_case label, ≤32 chars) for non-temporal axes. Always written as @kind on the <Context> element.
--state <state>textPeriod state: closed | open | future. This is what says whether the period is over — the question the A/E suffix on a context id used to answer by accident. Only meaningful for --kind period.
--as-of <as_of>textISO YYYY-MM-DD the period's numbers are stated as of. Documentation and lint input only; never consulted when rendering.
--index <index>integerPosition in contexts list (omit to append at end).
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs add-rule

Add a <Rule> to an existing <Format>.

deepcell defs add-rule <filename> <format_id> --target <target>

deepcell defs add-rule model.deepcell fmt_statement --target 'level:0:item' --font-weight bold --number-format '#,##0'
参数类型是否必填
filenametext必填
format_idtext必填
选项类型默认值作用
--target <target>text必填Rule @target selector (see `deepcell ref format`).
--bg-color <background_color>textHex color '#RRGGBB' for backgroundColor.
--font-color <font_color>textHex color '#RRGGBB' for fontColor.
--font-weight <font_weight>texte.g. 'bold' / 'normal'.
--font-style <font_style>texte.g. 'italic' / 'normal'.
--font-name <font_name>textFont family name.
--font-size <font_size>floatFont size in points.
--text-align <text_align>text'left' | 'center' | 'right'.
--indent <indent>integerIndent character count.
--number-format <number_format>textExcel-style pattern, e.g. '#,##0'.
--border-top <border_top>texte.g. 'thin #000000' (style + optional hex color).
--border-bottom <border_bottom>textBottom border, e.g. 'thin #000000' (style + optional hex color).
--border-left <border_left>textLeft border, e.g. 'thin #000000' (style + optional hex color).
--border-right <border_right>textRight border, e.g. 'thin #000000' (style + optional hex color).
--index <index>integerInsert position (omit to append).
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs add-scenario

Add a ScenarioDefinition.

deepcell defs add-scenario <filename>

deepcell defs add-scenario model.deepcell --name downside
参数类型是否必填
filenametext必填
选项类型默认值作用
--name <name>textThe scenario IDENTIFIER (@scenarioId), e.g. 'Bull' — not a display label. Must satisfy the reference-id grammar. Set the readable name afterwards with `defs update-scenario --label`.
--base <base_scenario_ref>text(removed) @baseScenarioRef no longer exists — see `deepcell guide revise/scenarios`.
--context <context_ref>textThe scenario IDENTIFIER (@scenarioId) under the op's wire name, contextRef — the same thing as --name, not a period. Legacy spelling; if both are given, --context wins.
--is-defaultbooleanMark as the document's default scenario — clears @isDefault from every other scenario.
--index <index>integerPosition (omit to append at end).
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs add-sensitivity

Add a sensitivity block (data table / scenario comparison).

deepcell defs add-sensitivity <filename> --sheet <sheet_id> --name <name> --spec-file <spec_file>

deepcell defs add-sensitivity model.deepcell --sheet summary --name 'IRR sensitivity' --spec-file sensitivity.json
参数类型是否必填
filenametext必填
选项类型默认值作用
--sheet <sheet_id>text必填Sheet to add the block to.
--name <name>text必填Display name of the sensitivity block.
--index <index>integerPosition among sheet blocks (omit to append at end).
--format-ref <format_ref>textFormatDefinitions id.
--spec-file <spec_file>filename必填JSON with {"axes": [...], "outputs": [...]} (use "-" for stdin).
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs add-sheet

Add a presentation Sheet — a tab in the rendered document.

deepcell defs add-sheet <filename> --label <label>

deepcell defs add-sheet model.deepcell --label 'Variance review' --index 1
参数类型是否必填
filenametext必填
选项类型默认值作用
--label <label>text必填Sheet tab label, e.g. 'Dashboard'.
--index <index>integer range0-based position among the sheets (default: append at the end).
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs add-source

Declare a <Source> - the one place an outward address may live.

deepcell defs add-source <filename> --id <source_id>

deepcell defs add-source model.deepcell --id <source_id>
参数类型是否必填
filenametext必填
选项类型默认值作用
--id <source_id>text必填Stable sourceId, e.g. 'src_aapl_10k_fy25'.
--kind <kind>textWhat the source physically IS - closed set: filing, webpage, pdf, workbook, dataset, query, transcript, media, message, document, person, derived, other. What it is USED AS goes in --role.
--role <role>textWhat the source is being used AS - free text: historical_actual, assumption, analyst_estimate, management_guidance, industry_benchmark, market_data, manual, ...
--reach <reach>textCan a recipient open it? public | account | private | offline. 'private' withholds the locator on share and export; 'offline' means no locator exists, which is a complete record, not a broken one.
--title <title>textHuman-readable title - what renders when the locator is withheld.
--locator <locator>textThe one outward address (URL, path, DSN).
--description <description>textLonger note about the source.
--at <at>textDefault position inside the source: text:HEADING[,SUFFIX] | page:47 | sheet:Name!A1:B9 | row:1042 | col:arr | t:00:14:32 | anchor:id.
--effective-date <effective_date>textISO date the source describes.
--retrieved-at <retrieved_at>textISO timestamp it was fetched.
--issuer <issuer>textWho published it.
--ticker <issuer_ticker>textIssuer ticker symbol.
--identity <identities>textDeclared identity as 'scheme:value' (e.g. 'sec.accession:0000320193-25-000079'). Repeatable.
--items <item_refs>textCSV of itemRefs this source backs.
--contexts <context_refs>textCSV of contextRefs. Omit to cover every context the statusRef allows.
--status <status_ref>textstatusRef for the coverage row.
--scenario <scenario_ref>textscenarioRef for the coverage row.
--custom-dimensions <custom_dimensions>text'dim:member;dim:member' for the coverage row.
--index <index>integerPosition (omit to append at end).
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs add-status

Add a StatusDefinition.

deepcell defs add-status <filename>

deepcell defs add-status model.deepcell --name Budget --ref budget --archetype budget --authority derived
参数类型是否必填
filenametext必填
选项类型默认值作用
--name <name>textThe status IDENTIFIER (@statusId), e.g. 'Forecast' — not a display label. Must satisfy the reference-id grammar. Set the readable name afterwards with `defs update-status --label`.
--ref <status_ref>textThe status IDENTIFIER (@statusId) under the op's wire name, statusRef — the same thing as --name. If both are given, --ref wins.
--color <color>text(removed) color is a FormatDefinitions concern — see `deepcell defs add-format`.
--is-defaultbooleanMark as the document's default status — clears @isDefault from every other status.
--archetype <archetype>textWhat this status MEANS: actual | preliminary | restated | estimate | guidance | consensus | forecast | budget | plan | target. Its realized/expected nature is derived from it. Omitting it leaves the meaning to be guessed from the id's spelling — see `deepcell ref status`.
--assurance <assurance>textOptional refinement: audited | reviewed | unaudited.
--authority <authority>textOptional refinement — who asserted the number: reported | derived | guidance | consensus | third_party.
--index <index>integerPosition (omit to append at end).
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs apply

Apply a batch of ops atomically.

deepcell defs apply <filename>

deepcell defs apply model.deepcell --ops-file ops.json --dry-run
参数类型是否必填
filenametext必填
选项类型默认值作用
--ops-file <ops_file>filenameJSON file with an `ops` array (use '-' for stdin).
--ops <ops_inline>textInline ops JSON (same shapes as --ops-file); mirrors the agent tool's `defs apply --ops '<json>'` form.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs delete-axis-member

Remove a row or a column from a Block.

deepcell defs delete-axis-member <filename> --sheet <sheet_id> --block <block_id> --axis <axis> --ref <ref>

deepcell defs delete-axis-member model.deepcell --sheet variance --block revenue_table --axis rows --ref Gross_Profit
参数类型是否必填
filenametext必填
选项类型默认值作用
--sheet <sheet_id>text必填Sheet containing the block.
--block <block_id>text必填blockId to edit.
--axis <axis>rows | columns必填Which axis to edit: 'rows' (the block's @itemOrders) or 'columns' (its @contextRefs).
--ref <ref>text必填The item id or context id to remove.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs delete-block

Delete a Block from a Sheet.

deepcell defs delete-block <filename> --sheet <sheet_id> --block <block_id>

deepcell defs delete-block model.deepcell --sheet <sheet_id> --block <block_id>
参数类型是否必填
filenametext必填
选项类型默认值作用
--sheet <sheet_id>text必填Sheet containing the block.
--block <block_id>text必填blockId to delete.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs delete-calc

Delete a CalculationDefinition by calcId.

deepcell defs delete-calc <filename> <calc_id>

deepcell defs delete-calc model.deepcell <calc_id>
参数类型是否必填
filenametext必填
calc_idtext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs delete-context

Delete a Context (period or non-temporal axis member).

deepcell defs delete-context <filename> <context_ref>

deepcell defs delete-context model.deepcell <context_ref>
参数类型是否必填
filenametext必填
context_reftext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs delete-doc

Delete a Document and its body.

deepcell defs delete-doc <filename> <doc_id>

deepcell defs delete-doc model.deepcell <doc_id>
参数类型是否必填
filenametext必填
doc_idtext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs delete-format

Delete a <Format> by formatId.

deepcell defs delete-format <filename> <format_id>

deepcell defs delete-format model.deepcell <format_id>
参数类型是否必填
filenametext必填
format_idtext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs delete-item

Delete an item, and with --cascade its descendants too.

deepcell defs delete-item <filename> <item_id>

deepcell defs delete-item model.deepcell Revenue --cascade
参数类型是否必填
filenametext必填
item_idtext必填
选项类型默认值作用
--cascadebooleanAlso delete all descendants.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs delete-rule

Delete a <Rule> by index or by @target.

deepcell defs delete-rule <filename> <format_id>

deepcell defs delete-rule model.deepcell <format_id>
参数类型是否必填
filenametext必填
format_idtext必填
选项类型默认值作用
--index <index>integerDelete the rule at this position.
--target <target>textDelete the first rule with this @target.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs delete-scenario

Delete a ScenarioDefinition by its contextRef.

deepcell defs delete-scenario <filename> <scenario_ref>

deepcell defs delete-scenario model.deepcell <scenario_ref>
参数类型是否必填
filenametext必填
scenario_reftext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs delete-sheet

Delete a presentation Sheet and every Block on it.

deepcell defs delete-sheet <filename> <sheet_id>

deepcell defs delete-sheet model.deepcell <sheet_id>
参数类型是否必填
filenametext必填
sheet_idtext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs delete-source

Remove a <Source>.

deepcell defs delete-source <filename> --id <source_id>

deepcell defs delete-source model.deepcell --id <source_id>
参数类型是否必填
filenametext必填
选项类型默认值作用
--id <source_id>text必填sourceId to delete.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs delete-status

Delete a StatusDefinition by its statusRef.

deepcell defs delete-status <filename> <status_ref>

deepcell defs delete-status model.deepcell <status_ref>
参数类型是否必填
filenametext必填
status_reftext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs header set

Set or replace a Header property.

deepcell defs header set <filename> <key> <value>

deepcell defs header set model.deepcell <key> <value>
参数类型是否必填
filenametext必填
keytext必填
valuetext必填
选项类型默认值作用
--type <prop_type>string | number | boolean | datetimestringProperty type tag written into <Property @type>.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs header unset

Delete a Header property.

deepcell defs header unset <filename> <key>

deepcell defs header unset model.deepcell <key>
参数类型是否必填
filenametext必填
keytext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs list

List what the document DEFINES: items, calcs, contexts, scenarios, statuses.

deepcell defs list <filename>

deepcell defs list model.deepcell
参数类型是否必填
filenametext必填
选项类型默认值作用
--workspace <workspace_slug>textOverride active workspace.

退出码: 0 — completed · 1 — read-only-check

defs rename-block

Change a Block's display name — its section heading in the render.

deepcell defs rename-block <filename> <new_name> --sheet <sheet_id> --block <block_id>

deepcell defs rename-block model.deepcell <new_name> --sheet <sheet_id> --block <block_id>
参数类型是否必填
filenametext必填
new_nametext必填
选项类型默认值作用
--sheet <sheet_id>text必填Sheet containing the block.
--block <block_id>text必填blockId to rename.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs rename-context

Rename a Context's @contextId; references cascade.

deepcell defs rename-context <filename> <context_ref> <new_name>

deepcell defs rename-context model.deepcell <context_ref> <new_name>
参数类型是否必填
filenametext必填
context_reftext必填
new_nametext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs rename-dimension

Rename a custom Dimension's @dimensionId.

deepcell defs rename-dimension <filename> <dimension_id> <new_name>

deepcell defs rename-dimension model.deepcell <dimension_id> <new_name>
参数类型是否必填
filenametext必填
dimension_idtext必填
new_nametext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs rename-item

Rename an item's stable identifier; references cascade.

deepcell defs rename-item <filename> <item_id> <new_name>

deepcell defs rename-item model.deepcell Revenue Total_Revenue
参数类型是否必填
filenametext必填
item_idtext必填
new_nametext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs rename-member

Rename one Member's @memberId within a custom Dimension.

deepcell defs rename-member <filename> <dimension_id> <member_id> <new_name>

deepcell defs rename-member model.deepcell <dimension_id> <member_id> <new_name>
参数类型是否必填
filenametext必填
dimension_idtext必填
member_idtext必填
new_nametext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs rename-scenario

Rename a scenario's IDENTIFIER (@scenarioId); references cascade.

deepcell defs rename-scenario <filename> <scenario_ref> <new_name>

deepcell defs rename-scenario model.deepcell downside bear
参数类型是否必填
filenametext必填
scenario_reftext必填
new_nametext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs rename-sheet

Change a Sheet's displayed tab label.

deepcell defs rename-sheet <filename> <sheet_id> <new_label>

deepcell defs rename-sheet model.deepcell <sheet_id> <new_label>
参数类型是否必填
filenametext必填
sheet_idtext必填
new_labeltext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs rename-status

Change a status's IDENTIFIER (@statusId); references cascade.

deepcell defs rename-status <filename> <status_ref> <new_name>

deepcell defs rename-status model.deepcell <status_ref> <new_name>
参数类型是否必填
filenametext必填
status_reftext必填
new_nametext必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs reorder-axis-member

Move a row or a column to a new position within a Block.

deepcell defs reorder-axis-member <filename> --sheet <sheet_id> --block <block_id> --axis <axis> --ref <ref> --to-index <to_index>

deepcell defs reorder-axis-member model.deepcell --sheet variance --block revenue_table --axis rows --ref Gross_Profit --to-index 0
参数类型是否必填
filenametext必填
选项类型默认值作用
--sheet <sheet_id>text必填Sheet containing the block.
--block <block_id>text必填blockId to edit.
--axis <axis>rows | columns必填Which axis to edit: 'rows' (the block's @itemOrders) or 'columns' (its @contextRefs).
--ref <ref>text必填The item id or context id to move.
--to-index <to_index>integer range必填Final 0-based position on the axis. 0 = first row / leftmost column.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs reorder-block

Move a Block to a new position within its Sheet.

deepcell defs reorder-block <filename> --sheet <sheet_id> --block <block_id> --to-index <to_index>

deepcell defs reorder-block model.deepcell --sheet variance --block revenue_table --to-index 0
参数类型是否必填
filenametext必填
选项类型默认值作用
--sheet <sheet_id>text必填Sheet containing the block.
--block <block_id>text必填blockId to move.
--to-index <to_index>integer range必填Final 0-based position among the sheet's blocks. 0 = topmost.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs reorder-contexts

Move a Context to a new position in the contexts list.

deepcell defs reorder-contexts <filename> <context_ref> <to_index>

deepcell defs reorder-contexts model.deepcell <context_ref> <to_index>
参数类型是否必填
filenametext必填
context_reftext必填
to_indexinteger必填
选项类型默认值作用
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs reorder-item

Move an item to a new position among its siblings (final-position index).

deepcell defs reorder-item <filename> <item_id> --to-index <to_index>

deepcell defs reorder-item model.deepcell Revenue --to-index 0
参数类型是否必填
filenametext必填
item_idtext必填
选项类型默认值作用
--to-index <to_index>integer必填Final 0-based position among the item's siblings. 0 = first. Lets you place a referenced item before its referencer (avoids a forward item-order reference).
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs reorder-scenarios

Move a scenario to a new position in the scenario list.

deepcell defs reorder-scenarios <filename> <scenario_ref> --to-index <to_index>

deepcell defs reorder-scenarios model.deepcell <scenario_ref> --to-index <to_index>
参数类型是否必填
filenametext必填
scenario_reftext必填
选项类型默认值作用
--to-index <to_index>integer range必填Final 0-based position among the scenarios. 0 = first.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs reorder-sheets

Move a Sheet to a new position in the tab order.

deepcell defs reorder-sheets <filename> <sheet_id> --to-index <to_index>

deepcell defs reorder-sheets model.deepcell variance --to-index 0
参数类型是否必填
filenametext必填
sheet_idtext必填
选项类型默认值作用
--to-index <to_index>integer range必填Final 0-based position among the sheets. 0 = leftmost tab.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs set-block-attrs

Set presentation-layout attributes on an existing block.

deepcell defs set-block-attrs <filename> --sheet <sheet_id> --block <block_id>

deepcell defs set-block-attrs model.deepcell --sheet variance --block revenue_table --status-refs actual,budget --status-expansion columns
参数类型是否必填
filenametext必填
选项类型默认值作用
--sheet <sheet_id>text必填Sheet containing the block.
--block <block_id>text必填blockId of the block to edit.
--format-ref <format_ref>textFormatDefinitions id this block resolves against. Pass an empty string to clear it back to the document default (the Format named default_format, else the first one defined). See `deepcell ref format`.
--status-expansion <status_expansion>none | columns | seriesSide-by-side status-column layout. 'columns' lays each status in --status-refs out as its own run of context columns; 'series' is the chart form, one series per status; 'none' (default) keeps the single-column-per-context layout.
--status-refs <status_refs>textWhitespace/comma-separated status ids to expand into columns (e.g. "actual budget"). Required for --status-expansion=columns.
--dim-expansion <dim_expansion>none | rows | seriesCustom-dimension member sub-rows. 'rows' lays each member of --dim-ref out as a contiguous sub-row under its item; 'series' is the chart form, one series per member; 'none' (default) keeps the one-row-per-item layout.
--dim-ref <dim_ref>textDimension id whose members are expanded into sub-rows (e.g. "geography"). Required for --dim-expansion=rows.
--dim-expansion-cap <dim_expansion_cap>integer rangeMax members to expand into sub-rows before falling back to a single row (positive int; default 24). Used with --dim-expansion=rows.
--dim-member-refs <dim_member_refs>textWhitespace/comma-separated member ids of --dim-ref, order preserved. With --dim-expansion it selects which members expand; without one, a single id pins that member for every cell the block reads — how a chart plots one slice of a dimension-sliced item.
--dim-filter <dim_filter>textPin the dimensions the block does NOT expand, one member each: 'region:na;cohort:c1'. Same dim:member spelling and ';' separator as customDimensions on a Value, so a stored coordinate can be copied across. A block expands one dimension (--dim-ref), so this is what makes a cell keyed on two or more custom dimensions addressable.
--scenario-expansion <scenario_expansion>none | columns | seriesSide-by-side scenario-column layout. 'columns' lays each scenario in --scenario-refs out as its own run of context columns; 'series' is the chart form, one series per scenario; 'none' (default) keeps the single-column-per-context layout.
--scenario-refs <scenario_refs>textWhitespace/comma-separated scenario ids to expand into columns (e.g. "Base Bull"). Required for --scenario-expansion=columns.
--chart-type <chart_type>bar | bar_stacked | bar_horizontal | line | area | pie | donut | waterfall | range_bar | scatterChart type (chart blocks only). 'waterfall' bridges deltas between declared totals; 'range_bar' draws a low..high band per category (the football field).
--category-axis <category_axis>context | itemWhich dimension is the category axis (chart blocks only).
--total-item-refs <total_item_refs>textWhitespace/comma-separated refs naming the plotted categories that rest on the baseline instead of floating on the running sum (--chart-type=waterfall only). Declared, never inferred: omit it and every step is a delta.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs set-format

Set cell/row/column formatting (resolves the governing <Format>).

deepcell defs set-format <filename> --sheet-id <sheet_id> --item-ref <item_ref> --scope <scope>

deepcell defs set-format model.deepcell --sheet-id ic --block-id deal_summary --item-ref Entry_Multiple --scope item --number-format '0.0x' --bold
参数类型是否必填
filenametext必填
选项类型默认值作用
--sheet-id <sheet_id>text必填Sheet id of the cell.
--block-id <block_id>textGoverning block id (resolves @formatRef).
--item-ref <item_ref>text必填Item ref of the cell.
--context-ref <context_ref>textContext ref (required for cell/column scope).
--scope <scope>cell | item | context必填cell:ITEM:CONTEXT | item:ITEM | context:CONTEXT
--number-format <number_format>textExcel pattern, e.g. '#,##0'.
--font-name <font_name>textFont family name.
--font-size <font_size>floatFont size in points.
--boldbooleanSet/clear bold.
--italicbooleanSet/clear italic.
--fg-color <fg_color>textText hex '#RRGGBB'.
--bg-color <bg_color>textFill hex '#RRGGBB'.
--text-align <text_align>text'left'|'center'|'right'.
--indent <indent>integerIndent character count.
--border-top <border_top>texte.g. 'thin #000000'.
--border-bottom <border_bottom>textBottom border, e.g. 'thin #000000' (style + optional hex color).
--border-left <border_left>textLeft border, e.g. 'thin #000000' (style + optional hex color).
--border-right <border_right>textRight border, e.g. 'thin #000000' (style + optional hex color).
--clear <clear>textToken name to revert to inherit (repeatable).
--clear-allbooleanDelete the target's rule entirely.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs set-source-cites

Replace which cells a <Source> backs.

deepcell defs set-source-cites <filename> --id <source_id>

deepcell defs set-source-cites model.deepcell --id <source_id>
参数类型是否必填
filenametext必填
选项类型默认值作用
--id <source_id>text必填sourceId whose coverage to replace.
--items <item_refs>textCSV of itemRefs this source backs.
--contexts <context_refs>textCSV of contextRefs. Omit to cover every context the statusRef allows.
--status <status_ref>textstatusRef for the coverage row.
--scenario <scenario_ref>textscenarioRef for the coverage row.
--custom-dimensions <custom_dimensions>text'dim:member;dim:member' for the coverage row.
--at <at>textPosition override for this coverage row.
--clearbooleanRemove every coverage row instead of setting one.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs show

Show one item's ItemDef and every CalcDef that governs it.

deepcell defs show <filename> <item_id>

deepcell defs show model.deepcell Revenue
参数类型是否必填
filenametext必填
item_idtext必填
选项类型默认值作用
--workspace <workspace_slug>textOverride active workspace.

退出码: 0 — completed · 1 — read-only-check

defs update-calc

Patch a CalcDef; only the fields you pass are changed.

deepcell defs update-calc <filename> <calc_id>

deepcell defs update-calc model.deepcell calc_revenue --formula 'Units_Sold[CURRENT] * Unit_Price[CURRENT] * 1.02'
参数类型是否必填
filenametext必填
calc_idtext必填
选项类型默认值作用
--formula <formula>textReplace the formula.
--context <context_ref>textChange contextRef.
--scenario <scenario_ref>textChange scenarioRef.
--status <status_ref>textChange statusRef (e.g. 'projected'). Pass '' to clear.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs update-context

Patch a Context's name / status / kind; only fields you pass are sent.

deepcell defs update-context <filename> <context_ref>

deepcell defs update-context model.deepcell FY2025 --state closed --as-of 2025-12-31
参数类型是否必填
filenametext必填
context_reftext必填
选项类型默认值作用
--name <name>textRename the contextId; references cascade. NOT the display name — see --label.
--label <new_label>textChange the context's DISPLAY LABEL (emits set_context_label). The contextId is untouched — use --name to change the identifier.
--status <status_ref>textSet statusRef.
--clear-statusbooleanClear statusRef (explicit-null).
--kind <kind>textContext kind. Omit / null / 'period' / temporal alias collapses to canonical 'period'; any other snake_case label marks a non-temporal context. Always written to @kind.
--state <state>textPeriod state: closed | open | future. This is what says whether the period is over — the question the A/E suffix on a context id used to answer by accident. Only meaningful for --kind period.
--as-of <as_of>textISO YYYY-MM-DD the period's numbers are stated as of. Documentation and lint input only; never consulted when rendering.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs update-doc

Update a Document's attributes.

deepcell defs update-doc <filename> <doc_id>

deepcell defs update-doc model.deepcell <doc_id>
参数类型是否必填
filenametext必填
doc_idtext必填
选项类型默认值作用
--name <name>textNew display title.
--lang <lang>textNew BCP-47 language tag.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs update-format

Rename a <Format> and/or toggle its IB-default inheritance.

deepcell defs update-format <filename> <format_id>

deepcell defs update-format model.deepcell <format_id>
参数类型是否必填
filenametext必填
format_idtext必填
选项类型默认值作用
--new-id <new_id>textNew formatId; cascades through every <Block @formatRef>.
--inheritbooleanToggle the IB default base. --no-inherit makes this a total custom theme (@inherit="false"); --inherit returns to the add-on default. See `deepcell ref format`.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs update-item

Patch an item; only fields you pass are sent.

deepcell defs update-item <filename> <item_id>

deepcell defs update-item model.deepcell Revenue --scale 3 --currency USD
参数类型是否必填
filenametext必填
item_idtext必填
选项类型默认值作用
--name <name>textRename the itemId; references cascade. Equivalent to `defs rename-item`.
--label <new_label>textChange the item's DISPLAY LABEL (emits set_item_label). The itemId is untouched — use `defs rename-item` to change the identifier. Rewrites the text of the item's first <Label> and keeps its lang; other locales are left alone and cannot be added here.
--level <level>integerChange hierarchy level.
--parent <parent_item_id>textChange parent itemId.
--clear-parentbooleanMake item a root (explicit-null parentItemId).
--data-type <data_type>textSet DataType element (e.g. 'monetary', 'percentage', 'number').
--unit <unit>textSet Unit element (e.g. '%', 'hours', 'tonnes').
--scale <scale>integerSet Scale element.
--currency <currency>textSet Currency element (ISO code).
--clear-data-typebooleanRemove the DataType element (explicit-null).
--clear-unitbooleanRemove the Unit element (explicit-null).
--clear-scalebooleanRemove the Scale element (explicit-null).
--clear-currencybooleanRemove the Currency element (explicit-null).
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs update-scenario

Patch a scenario; only the fields you pass are sent.

deepcell defs update-scenario <filename> <scenario_ref>

deepcell defs update-scenario model.deepcell downside --label 'Bear case'
参数类型是否必填
filenametext必填
scenario_reftext必填
选项类型默认值作用
--name <name>textRename the scenarioId; references cascade. Equivalent to `defs rename-scenario`. NOT the display name — see --label.
--label <new_label>textChange the scenario's DISPLAY LABEL (emits set_scenario_label). The scenarioId is untouched — use --name to change the identifier.
--is-defaultbooleanMake this the document's default scenario (clears @isDefault from every other scenario), or strip the flag from this one.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs update-sensitivity

Edit a sensitivity block's name, format, or axes/outputs.

deepcell defs update-sensitivity <filename> --sheet <sheet_id> --block <block_id>

deepcell defs update-sensitivity model.deepcell --sheet <sheet_id> --block <block_id>
参数类型是否必填
filenametext必填
选项类型默认值作用
--sheet <sheet_id>text必填Sheet containing the block.
--block <block_id>text必填blockId of the block to edit.
--name <name>textNew display name.
--format-ref <format_ref>textNew FormatDefinitions id.
--spec-file <spec_file>filenameJSON with {"axes": [...], "outputs": [...]} to replace both.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs update-source

Change fields on a <Source>.

deepcell defs update-source <filename> --id <source_id>

deepcell defs update-source model.deepcell --id <source_id>
参数类型是否必填
filenametext必填
选项类型默认值作用
--id <source_id>text必填sourceId to update.
--kind <kind>textNew @kind (closed set).
--role <role>textNew @role (free text).
--reach <reach>textpublic | account | private | offline.
--title <title>textNew title. Pass '' to clear.
--locator <locator>textNew locator. Pass '' to clear.
--description <description>textNew description. Pass '' to clear.
--at <at>textNew default position.
--effective-date <effective_date>textNew effective date.
--retrieved-at <retrieved_at>textNew retrieval timestamp.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

defs update-status

Patch a status; only the fields you pass are sent.

deepcell defs update-status <filename> <status_ref>

deepcell defs update-status model.deepcell budget --archetype budget --label Budget
参数类型是否必填
filenametext必填
status_reftext必填
选项类型默认值作用
--name <name>textRename the statusId; references cascade. Equivalent to `defs rename-status`. NOT the display name — see --label.
--label <new_label>textChange the status's DISPLAY LABEL (emits set_status_label). The statusId is untouched — use --name to change the identifier.
--is-defaultbooleanMake this the document's default status (clears @isDefault from every other status), or strip the flag from this one.
--archetype <archetype>textWhat this status MEANS: actual | preliminary | restated | estimate | guidance | consensus | forecast | budget | plan | target. Pass an empty string to clear it (and fall back to inference).
--assurance <assurance>textaudited | reviewed | unaudited.
--authority <authority>textreported | derived | guidance | consensus | third_party.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.
--dry-runbooleanValidate only: run the full server-side pipeline (per-op validation, formula parse, post-apply cycle check + recompute) and report errors without persisting anything — no commit, no revision bump.

退出码: 0 — completed · 1 — nothing-changed

Show what cites a reference: prose, slides and reasoning, this file only.

deepcell doc backlinks <filename> --target <target>

deepcell doc backlinks model.deepcell --target <target>
参数类型是否必填
filenametext必填
选项类型默认值作用
--target <target>text必填Reference to invert, e.g. 'claim/t_hold'.

退出码: 0 — completed

doc blocks

List every block and the id it can be edited by.

deepcell doc blocks <filename>

deepcell doc blocks model.deepcell
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>textDocument ID (default: the first).

退出码: 0 — completed

doc delete-block

Delete one block.

deepcell doc delete-block <filename> --doc <doc_id> --block <block_id>

deepcell doc delete-block model.deepcell --doc <doc_id> --block <block_id>
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>text必填Document ID.
--block <block_id>text必填Block id to delete.
--rationale <rationale>textCommit message recording why.
--revision <revision>textCompare-and-swap token from `cat`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed

doc insert-block

Insert a new block after another one, or at the top of the document.

deepcell doc insert-block <filename> --doc <doc_id> --markdown-file <markdown_file>

deepcell doc insert-block model.deepcell --doc <doc_id> --markdown-file <markdown_file>
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>text必填Document ID.
--after <after_block_id>textInsert after this block id. Omit to insert at the top.
--markdown-file <markdown_file>file必填File holding the new block's markdown.
--rationale <rationale>textCommit message recording why.
--revision <revision>textCompare-and-swap token from `cat`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed

List every deepcell: reference, and whether it resolved.

deepcell doc links <filename>

deepcell doc links model.deepcell --doc variance_note --unresolved
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>textRestrict to one document.
--unresolvedbooleanOnly references that did not resolve.

退出码: 0 — completed

doc lint

Check a document's references.

deepcell doc lint <filename>

deepcell doc lint model.deepcell --doc variance_note --strict
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>textRestrict to one document.
--strictbooleanAlso flag numerals that match a modelled value but are typed, not linked.

退出码: 0 — completed

doc list

List every <Document> in the file.

deepcell doc list <filename>

deepcell doc list model.deepcell
参数类型是否必填
filenametext必填

退出码: 0 — completed

doc move-block

Move a block after another one, or to the top.

deepcell doc move-block <filename> --doc <doc_id> --block <block_id>

deepcell doc move-block model.deepcell --doc <doc_id> --block <block_id>
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>text必填Document ID.
--block <block_id>text必填Block id to move.
--after <after_block_id>textMove after this block id. Omit to move to the top.
--rationale <rationale>textCommit message recording why.
--revision <revision>textCompare-and-swap token from `cat`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed

doc outline

Print the headings and the anchor each one is addressable by.

deepcell doc outline <filename>

deepcell doc outline model.deepcell --doc variance_note
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>textDocument ID (default: the first).

退出码: 0 — completed

doc patch-body

Replace one anchored section of a document.

deepcell doc patch-body <filename> --doc <doc_id> --anchor <anchor> --markdown <markdown>

deepcell doc patch-body model.deepcell --doc variance_note --anchor outlook --markdown '## Outlook {#outlook}\n\nQ4 pipeline covers the gap.'
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>text必填Document ID.
--anchor <anchor>text必填Explicit {#id} anchor of the section to replace.
--markdown <markdown>text必填Replacement markdown for that section.
--notation <notation>markdown | textWhat the body IS. Omitted keeps whatever the document already declared, so editing text never retypes it.
--rationale <rationale>textCommit message recording why.
--revision <revision>textCompare-and-swap token from `cat`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed

doc replace-block

Replace one block, addressed by its id.

deepcell doc replace-block <filename> --doc <doc_id> --block <block_id> --markdown-file <markdown_file>

deepcell doc replace-block model.deepcell --doc <doc_id> --block <block_id> --markdown-file <markdown_file>
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>text必填Document ID.
--block <block_id>text必填Block id from `deepcell doc blocks`.
--markdown-file <markdown_file>file必填File holding the replacement markdown.
--rationale <rationale>textCommit message recording why.
--revision <revision>textCompare-and-swap token from `cat`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed

doc set-body

Replace a document's whole body.

deepcell doc set-body <filename> --doc <doc_id> --body-file <body_file>

deepcell doc set-body model.deepcell --doc variance_note --body-file variance-note.md -m 'Rewrite the July variance note'
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>text必填Document ID.
--body-file <body_file>file必填File holding the new body.
--notation <notation>markdown | textWhat the body IS. Omitted keeps whatever the document already declared, so editing text never retypes it.
--rationale <rationale>textCommit message recording why.
--revision <revision>textCompare-and-swap token from `cat` (refuses if the file moved).
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed

doc set-notation

Say what a document's body IS, without touching a byte of it.

deepcell doc set-notation <filename> --doc <doc_id> --notation <notation>

deepcell doc set-notation model.deepcell --doc <doc_id> --notation <notation>
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>text必填Document ID.
--notation <notation>markdown | text必填What the body IS.
--rationale <rationale>textCommit message recording why.
--revision <revision>textCompare-and-swap token from `cat`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed

doc show

Print one document.

deepcell doc show <filename>

deepcell doc show model.deepcell --doc variance_note --as markdown
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>textDocument ID (default: the first).
--scenario <scenario_id>textScenario to resolve values under.
--as <rendering>text | markdowntextmarkdown keeps the [[deepcell:...]] source; text shows resolved values.
--with-idsbooleanPrefix each block with the id it can be edited by.

退出码: 0 — completed

doc stamp-ids

Give every block without an id a stable `{#id}`, so it can be edited.

deepcell doc stamp-ids <filename> --doc <doc_id>

deepcell doc stamp-ids model.deepcell --doc <doc_id>
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>text必填Document ID.
--rationale <rationale>textCommit message recording why.
--revision <revision>textCompare-and-swap token from `cat`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed

edit

Write literal cell values (assumptions, historical actuals).

deepcell edit <filename> [item_ref] [context_ref] [new_value]

deepcell edit model.deepcell Growth_Rate FY2026E 0.12
参数类型是否必填
filenametext必填
item_reftext可选
context_reftext可选
new_valuetext可选
选项类型默认值作用
--forcebooleanType over a calculated cell, REMOVING the formula that computed it (no in-document undo).
--clearbooleanRemove the literal value cell (NEW_VALUE omitted) so a CalcDef can re-govern it.
--status <status_ref>textStatus reference (e.g. 'projected').
--scenario <scenario_ref>textScenario dimension — must be a defined scenarioId (omit for the base cell).
--custom-dimensions <custom_dimensions>textCustom dimensions as 'dim:member;dim:member', e.g. 'geography:na;product_line:ent'.
--batch <batch_file>textBatch edits as a JSON file path, '-' for stdin, or inline JSON (a value starting with '[' or '{').
--revision <revision>textExpected revision SHA for optimistic locking.
--rationale <commit_message>textWhy this edit was made. Written as the commit message body (and a trailer), so history reads as the decision instead of '[batch-edit] Item[Ctx]'. Sent as `rationale`; `-m` / `--message` are aliases of `--rationale`.
--title <commit_title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'.
--auto-create-contextbooleanAuto-create missing context definitions.
--replacebooleanDEPRECATED alias for `deepcell replace FILE OLD NEW` — still works, will be removed in a future release. Note the exit codes listed here are `edit`'s: in replace mode, exit 1 means the replacement IS already in the file and the document is invalid.
--replace-allbooleanReplace all occurrences (with the deprecated --replace).
--workspace <workspace_slug>textOverride active workspace.

退出码: 0 — completed · 1 — partial

reasoning add-argument

Add a new <Argument> edge to FILENAME's <Reasoning> section.

deepcell reasoning add-argument <filename> --from-id <from_id> --to-id <to_id> --rel <rel>

deepcell reasoning add-argument model.deepcell --from-id r_pricing --to-id t_gm --rel refutes --weight 0.6
参数类型是否必填
filenametext必填
选项类型默认值作用
--from-id <from_id>text必填Source node id.
--to-id <to_id>text必填Target node id.
--rel <rel>supports | refutes | depends_on | derives_from | variant_of | supersedes | contradicts | references | answers必填How --from-id relates to --to-id: supports / refutes (evidential), depends_on (falsifying the target falsifies the source), derives_from (computed or inferred from it), answers (this conclusion settles that question), variant_of (your view vs a consensus claim), supersedes (replaces an older node), contradicts, references. See `deepcell ref rel`.
--id <arg_id>textArgument id (auto-generated if omitted).
--weight <weight>floatHow much this edge carries, 0-1 (optional).
--body <body>text<Body> text.
--body-file <body_file>fileFile holding the <Body> text; '-' reads stdin. Prefer this over --body for text containing '$' — inline shell arguments mangle dollar amounts.
--body-notation <body_notation>markdown | textWhat the <Body> IS: markdown or literal text. Declared, never sniffed — no reader guesses from the bytes. Omitted leaves it as it was.
--status <status>textArgument lifecycle status (active/superseded/revoked).
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning add-assumption

Add a new <Assumption> to FILENAME's <Reasoning> section.

deepcell reasoning add-assumption <filename> --id <assumption_id>

deepcell reasoning add-assumption model.deepcell --id a_hiring --label 'Hiring lands on plan' --body 'Sales headcount reaches 40 by Q3.' --item-refs Headcount
参数类型是否必填
filenametext必填
选项类型默认值作用
--id <assumption_id>text必填New Assumption id.
--label <label>text<Label> text. The finding itself, not the subject it concerns — "Working capital is a source of cash", not "Working capital". Renders as the reasoning outline row, and a Deck may bind it as a slide headline.
--label-file <label_file>fileFile holding the <Label> text; '-' reads stdin. Prefer this over --label for text containing '$' — inline shell arguments mangle dollar amounts.
--body <body>text<Body> text.
--body-file <body_file>fileFile holding the <Body> text; '-' reads stdin. Prefer this over --body for text containing '$' — inline shell arguments mangle dollar amounts.
--body-notation <body_notation>markdown | textWhat the <Body> IS: markdown or literal text. Declared, never sniffed — no reader guesses from the bytes. Omitted leaves it as it was.
--status-ref <status_ref>textModel Status dimension id (e.g. actual / projected) — NOT the assumption's lifecycle state (that is --status).
--calc-ref <calc_ref>textCalcDef id anchoring this assumption to a formula in the model.
--item-refs <item_refs>textComma-separated item ids the assumption constrains. When a Spreadsheet exists, omitting it triggers unanchored_assumption because the premise cannot be item-impact-traced as actuals drift in. A qualitative no-grid file and macro assumptions may legitimately omit it.
--confidence <confidence>floatHow strongly you hold this assumption, 0-1.
--status <status>holding | uncertain | broken | supersededAssumption lifecycle state: holding until something contradicts it, broken once actuals do, superseded when a newer assumption replaces it.
--verified-at <verified_at>textISO date (YYYY-MM-DD) this assumption was last confirmed to still hold (@verifiedAt). Records WHEN it was checked; --status holding records that it stands.
--broken-at <broken_at>textISO date (YYYY-MM-DD) this assumption was found no longer to hold (@brokenAt). Records WHEN it failed; --status broken records THAT it failed — set both when actuals contradict an assumption.
--parent-claim-ref <parent_claim_ref>textClaim id this assumption hangs under (hierarchy, not an Argument edge).
--context-refs <context_refs>textComma-separated context (period) ids this node reasons across.
--scenario-ref <scenario_ref>textScenario id this node is about, when it holds only in one world.
--custom-dimensions <custom_dimensions>textCustom dimension members as `dim:member;dim2:member2` — the fifth axis of the anchor (e.g. `region:emea`).
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning add-claim

Add a new <Claim> to FILENAME's <Reasoning> section.

deepcell reasoning add-claim <filename> --id <claim_id> --kind <kind>

deepcell reasoning add-claim model.deepcell --id t_gm --kind thesis --label 'Gross margin expands' --body 'Mix shift to subscription lifts GM 200bps.' --item-refs Gross_Margin_Pct --confidence 0.62
参数类型是否必填
filenametext必填
选项类型默认值作用
--id <claim_id>text必填New Claim id.
--kind <kind>thesis | risk | catalyst | counter | question | market_consensus必填What the claim is: thesis (what you conclude), risk / catalyst (what moves it, needs --probability), counter (the case against), question (open), market_consensus (someone else's view, needs --attribution). See `deepcell guide revise/reasoning`.
--label <label>text<Label> text. The finding itself, not the subject it concerns — "Working capital is a source of cash", not "Working capital". Renders as the reasoning outline row, and a Deck may bind it as a slide headline.
--label-file <label_file>fileFile holding the <Label> text; '-' reads stdin. Prefer this over --label for text containing '$' — inline shell arguments mangle dollar amounts.
--body <body>text<Body> text.
--body-file <body_file>fileFile holding the <Body> text; '-' reads stdin. Prefer this over --body for text containing '$' — inline shell arguments mangle dollar amounts.
--body-notation <body_notation>markdown | textWhat the <Body> IS: markdown or literal text. Declared, never sniffed — no reader guesses from the bytes. Omitted leaves it as it was.
--status-ref <status_ref>textModel Status dimension id (e.g. actual / projected) — NOT the claim lifecycle state (that is --status).
--calc-ref <calc_ref>textCalcDef id anchoring this claim to a formula in the model.
--item-refs <item_refs>textComma-separated item ids anchoring this claim to a Spreadsheet. When Items exist, thesis/risk/catalyst claims need --item-refs or --calc-ref, else unanchored_claim warns (they become invisible to reasoning-diff and item-scoped queries). A qualitative no-grid file does not invent Items; question/market_consensus are always exempt.
--probability <probability>floatLikelihood, 0-1 (required for kind=risk / catalyst).
--severity <severity>low | med | highQualitative impact (required for kind=risk).
--confidence <confidence>floatHow strongly you hold this claim, 0-1.
--strength <strength>low | med | highHow strongly the claim is held, qualitatively. Independent of --confidence (the numeric form); a claim may carry both.
--parent-claim-ref <parent_claim_ref>textClaim id this one hangs under (hierarchy, not an Argument edge).
--attribution <attribution>textWho holds this view (required for kind=market_consensus), e.g. 'Bloomberg consensus, 2026-07'.
--status <status>draft | active | superseded | falsified | revokedClaim lifecycle state — NOT the model's Status dimension (that is --status-ref).
--context-refs <context_refs>textComma-separated context (period) ids this node reasons across.
--scenario-ref <scenario_ref>textScenario id this node is about, when it holds only in one world.
--custom-dimensions <custom_dimensions>textCustom dimension members as `dim:member;dim2:member2` — the fifth axis of the anchor (e.g. `region:emea`).
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning add-evidence

Add a new <Evidence> to FILENAME's <Reasoning> section.

deepcell reasoning add-evidence <filename> --id <evidence_id> --source-ref <source_ref>

deepcell reasoning add-evidence model.deepcell --id e_10k --source-ref src_aapl_10k_fy25 --excerpt 'Gross margin of 46.2%' --retrieved-at 2026-02-19T10:30:00Z
参数类型是否必填
filenametext必填
选项类型默认值作用
--id <evidence_id>text必填New Evidence id.
--source-ref <source_ref>text必填sourceId of a <Source> in <SourceDefinitions>.
--excerpt <excerpt>text<Excerpt> text.
--excerpt-file <excerpt_file>fileFile holding the <Excerpt> text; '-' reads stdin. Prefer this over --excerpt for text containing '$' — inline shell arguments mangle dollar amounts.
--at <at>textPosition in the source (page:47, t:00:14:32, text:HEADING).
--reliability <reliability>textprimary | secondary | tertiary.
--effective-date <effective_date>textISO8601 date.
--retrieved-at <retrieved_at>textISO8601 date.
--item-refs <item_refs>textComma-separated item ids this evidence bears on. Anchoring it here is what lets `reasoning impact` reach the evidence when one of those items moves; `update-evidence` can retrofit it later.
--status-ref <status_ref>textModel Status dimension id (e.g. actual / projected) the evidence speaks to.
--context-refs <context_refs>textComma-separated context (period) ids this node reasons across.
--scenario-ref <scenario_ref>textScenario id this node is about, when it holds only in one world.
--custom-dimensions <custom_dimensions>textCustom dimension members as `dim:member;dim2:member2` — the fifth axis of the anchor (e.g. `region:emea`).
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning apply

Apply a batch of reasoning ops atomically.

deepcell reasoning apply <filename>

deepcell reasoning apply model.deepcell
参数类型是否必填
filenametext必填
选项类型默认值作用
--ops-file <ops_file>filenameJSON file with an `ops` array (use '-' for stdin).
--ops <ops_inline>textInline ops JSON (same shapes as --ops-file).
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed

reasoning delete-argument

Delete one <Argument> edge from FILENAME's <Reasoning> section.

deepcell reasoning delete-argument <filename> [argument_id]

deepcell reasoning delete-argument model.deepcell --from-id r_pricing --edge-rel refutes --to-id t_gm
参数类型是否必填
filenametext必填
argument_idtext可选
选项类型默认值作用
--from-id <from_id>textAddress: the edge's @from.
--edge-rel <edge_rel>supports | refutes | depends_on | derives_from | variant_of | supersedes | contradicts | references | answersAddress: the edge's @rel.
--to-id <to_id>textAddress: the edge's @to.
--cascadebooleanAlso remove every Argument touching the node (default). --no-cascade keeps them, and is refused with code=would_dangle unless you also pass --allow-dangling — a dangling edge lints, and is still addressable by its (from, rel, to) or its id, so it can be cleaned up later.
--allow-danglingbooleanWith --no-cascade, permit the delete even though it orphans Arguments.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning delete-assumption

Delete the <Assumption> NODE_ID from FILENAME's <Reasoning> section.

deepcell reasoning delete-assumption <filename> <node_id>

deepcell reasoning delete-assumption model.deepcell <node_id>
参数类型是否必填
filenametext必填
node_idtext必填
选项类型默认值作用
--cascadebooleanAlso remove every Argument touching the node (default). --no-cascade keeps them, and is refused with code=would_dangle unless you also pass --allow-dangling — a dangling edge lints, and is still addressable by its (from, rel, to) or its id, so it can be cleaned up later.
--allow-danglingbooleanWith --no-cascade, permit the delete even though it orphans Arguments.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning delete-claim

Delete the <Claim> NODE_ID from FILENAME's <Reasoning> section.

deepcell reasoning delete-claim <filename> <node_id>

deepcell reasoning delete-claim model.deepcell t_gm --cascade
参数类型是否必填
filenametext必填
node_idtext必填
选项类型默认值作用
--cascadebooleanAlso remove every Argument touching the node (default). --no-cascade keeps them, and is refused with code=would_dangle unless you also pass --allow-dangling — a dangling edge lints, and is still addressable by its (from, rel, to) or its id, so it can be cleaned up later.
--allow-danglingbooleanWith --no-cascade, permit the delete even though it orphans Arguments.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning delete-evidence

Delete the <Evidence> NODE_ID from FILENAME's <Reasoning> section.

deepcell reasoning delete-evidence <filename> <node_id>

deepcell reasoning delete-evidence model.deepcell <node_id>
参数类型是否必填
filenametext必填
node_idtext必填
选项类型默认值作用
--cascadebooleanAlso remove every Argument touching the node (default). --no-cascade keeps them, and is refused with code=would_dangle unless you also pass --allow-dangling — a dangling edge lints, and is still addressable by its (from, rel, to) or its id, so it can be cleaned up later.
--allow-danglingbooleanWith --no-cascade, permit the delete even though it orphans Arguments.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning graph

Render the Argument graph from FILENAME as Mermaid (default) or DOT.

deepcell reasoning graph <filename>

deepcell reasoning graph model.deepcell --syntax mermaid
参数类型是否必填
filenametext必填
选项类型默认值作用
--syntax <graph_syntax>mermaid | dotmermaidGraph syntax to emit. Use the global -f json for the raw graph payload.

退出码: 0 — completed

reasoning impact

Walk Argument edges from CLAIM_ID and list downstream nodes affected if it's falsified.

deepcell reasoning impact <filename> <claim_id>

deepcell reasoning impact model.deepcell a_hiring
参数类型是否必填
filenametext必填
claim_idtext必填

退出码: 0 — completed

reasoning lint

Lint the <Reasoning> section of FILENAME for structural issues.

deepcell reasoning lint <filename>

deepcell reasoning lint model.deepcell --strict
参数类型是否必填
filenametext必填
选项类型默认值作用
--strictbooleanExit non-zero on warn-level findings too (default: only error-level findings fail).

退出码: 0 — completed · 1 — read-only-check

reasoning set-conclusion

Declare which Claim is FILENAME's main conclusion.

deepcell reasoning set-conclusion <filename> [claim_id]

deepcell reasoning set-conclusion model.deepcell t_gm
参数类型是否必填
filenametext必填
claim_idtext可选
选项类型默认值作用
--clearbooleanRemove the declaration and fall back to deriving the apex from the argument topology.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning set-exhibit

Declare which deck or slide to show beside FILENAME's conclusion.

deepcell reasoning set-exhibit <filename> [exhibit_ref]

deepcell reasoning set-exhibit model.deepcell
参数类型是否必填
filenametext必填
exhibit_reftext可选
选项类型默认值作用
--clearbooleanRemove the declaration. The conclusion then renders full width.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed

reasoning set-key-question

Declare which question FILENAME exists to answer.

deepcell reasoning set-key-question <filename> [claim_id]

deepcell reasoning set-key-question model.deepcell
参数类型是否必填
filenametext必填
claim_idtext可选
选项类型默认值作用
--clearbooleanRemove the declaration. The header then falls back to the `answers` edge off the conclusion, then to the document's only question, and otherwise shows nothing.
--needs-reviewbooleanMark the question as inferred rather than stated, so it renders as provisional until someone confirms it. Declaring without this flag clears it.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed

reasoning supersede-assumption

Replace ASSUMPTION_ID with a new Assumption, keeping the old as history.

deepcell reasoning supersede-assumption <filename> <assumption_id> --id <new_id>

deepcell reasoning supersede-assumption model.deepcell a_hiring --id a_hiring_v2 --label 'Hiring lands one quarter late'
参数类型是否必填
filenametext必填
assumption_idtext必填
选项类型默认值作用
--id <new_id>text必填Id of the replacement Assumption.
--label <label>text<Label> text of the replacement. The finding itself, not the subject it concerns — "Working capital is a source of cash", not "Working capital". Renders as the reasoning outline row, and a Deck may bind it as a slide headline.
--label-file <label_file>fileFile holding the replacement <Label> text; '-' reads stdin. Prefer this over --label for text containing '$' — inline shell arguments mangle dollar amounts.
--body <body>text<Body> text of the replacement.
--body-file <body_file>fileFile holding the replacement <Body> text; '-' reads stdin. Prefer this over --body for text containing '$' — inline shell arguments mangle dollar amounts.
--body-notation <body_notation>markdown | textWhat the <Body> IS: markdown or literal text. Declared, never sniffed — no reader guesses from the bytes. Omitted leaves it as it was.
--item-refs <item_refs>textComma-separated item ids.
--status-ref <status_ref>textModel Status dimension id.
--calc-ref <calc_ref>textCalcDef id this assumption drives.
--confidence <confidence>floatConfidence in the replacement, 0-1.
--status <status>holding | uncertain | broken | supersededLifecycle status of the replacement.
--verified-at <verified_at>textISO date (YYYY-MM-DD) this assumption was last confirmed to still hold (@verifiedAt). Records WHEN it was checked; --status holding records that it stands.
--broken-at <broken_at>textISO date (YYYY-MM-DD) this assumption was found no longer to hold (@brokenAt). Records WHEN it failed; --status broken records THAT it failed — set both when actuals contradict an assumption.
--context-refs <context_refs>textComma-separated context (period) ids this node reasons across.
--scenario-ref <scenario_ref>textScenario id this node is about, when it holds only in one world.
--custom-dimensions <custom_dimensions>textCustom dimension members as `dim:member;dim2:member2` — the fifth axis of the anchor (e.g. `region:emea`).
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning supersede-claim

Replace CLAIM_ID with a new Claim, keeping the old one as history.

deepcell reasoning supersede-claim <filename> <claim_id> --id <new_id>

deepcell reasoning supersede-claim model.deepcell t_gm --id t_gm_v2 --label 'Gross margin expands, slower' --body 'Mix shift lifts GM 120bps.' --confidence 0.55
参数类型是否必填
filenametext必填
claim_idtext必填
选项类型默认值作用
--id <new_id>text必填Id of the replacement Claim.
--label <label>text<Label> text of the replacement. The finding itself, not the subject it concerns — "Working capital is a source of cash", not "Working capital". Renders as the reasoning outline row, and a Deck may bind it as a slide headline.
--label-file <label_file>fileFile holding the replacement <Label> text; '-' reads stdin. Prefer this over --label for text containing '$' — inline shell arguments mangle dollar amounts.
--body <body>text<Body> text of the replacement.
--body-file <body_file>fileFile holding the replacement <Body> text; '-' reads stdin. Prefer this over --body for text containing '$' — inline shell arguments mangle dollar amounts.
--body-notation <body_notation>markdown | textWhat the <Body> IS: markdown or literal text. Declared, never sniffed — no reader guesses from the bytes. Omitted leaves it as it was.
--kind <kind>thesis | risk | catalyst | counter | question | market_consensusKind of the replacement (defaults to the superseded claim's kind).
--item-refs <item_refs>textComma-separated item ids.
--context-refs <context_refs>textComma-separated context ids.
--status-ref <status_ref>textModel Status dimension id.
--calc-ref <calc_ref>textCalcDef id this claim is anchored to.
--confidence <confidence>floatConfidence in the replacement, 0-1.
--strength <strength>low | med | highHow strongly the replacement is held, qualitatively. Not inherited from the superseded claim: a reassessment that reused the old strength would publish a judgement nobody made.
--scenario-ref <scenario_ref>textScenario id this node is about, when it holds only in one world.
--custom-dimensions <custom_dimensions>textCustom dimension members as `dim:member;dim2:member2` — the fifth axis of the anchor (e.g. `region:emea`).
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning update-argument

Patch an <Argument> edge; only the attributes you pass are changed.

deepcell reasoning update-argument <filename> [argument_id]

deepcell reasoning update-argument model.deepcell arg_pricing --weight 0.6
参数类型是否必填
filenametext必填
argument_idtext可选
选项类型默认值作用
--from-id <from_id>textAddress: the edge's @from.
--edge-rel <edge_rel>supports | refutes | depends_on | derives_from | variant_of | supersedes | contradicts | references | answersAddress: the @rel the edge has now. --rel is what to change it to.
--to-id <to_id>textAddress: the edge's @to.
--rel <rel>supports | refutes | depends_on | derives_from | variant_of | supersedes | contradicts | references | answersReclassify the edge — see `deepcell reasoning add-argument --help`.
--weight <weight>floatHow much this edge carries, 0-1.
--body <body>textReplacement <Body> text.
--body-file <body_file>fileFile holding the replacement <Body> text; '-' reads stdin. Prefer this over --body for text containing '$' — inline shell arguments mangle dollar amounts.
--body-notation <body_notation>markdown | textWhat the <Body> IS: markdown or literal text. Declared, never sniffed — no reader guesses from the bytes. Omitted leaves it as it was.
--status <status>textArgument lifecycle status (active / superseded / revoked).
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning update-assumption

Update attributes on an existing <Assumption> ASSUMPTION_ID.

deepcell reasoning update-assumption <filename> <assumption_id>

deepcell reasoning update-assumption model.deepcell a_hiring --status broken --broken-at 2026-07-31
参数类型是否必填
filenametext必填
assumption_idtext必填
选项类型默认值作用
--label <label>textReplacement <Label> text. The finding itself, not the subject it concerns — "Working capital is a source of cash", not "Working capital". Renders as the reasoning outline row, and a Deck may bind it as a slide headline.
--label-file <label_file>fileFile holding the replacement <Label> text; '-' reads stdin. Prefer this over --label for text containing '$' — inline shell arguments mangle dollar amounts.
--body <body>textReplacement <Body> text.
--body-file <body_file>fileFile holding the replacement <Body> text; '-' reads stdin. Prefer this over --body for text containing '$' — inline shell arguments mangle dollar amounts.
--body-notation <body_notation>markdown | textWhat the <Body> IS: markdown or literal text. Declared, never sniffed — no reader guesses from the bytes. Omitted leaves it as it was.
--status-ref <status_ref>textModel Status dimension id (e.g. actual / projected) — NOT the assumption's lifecycle state (that is --status).
--calc-ref <calc_ref>textCalcDef id anchoring this assumption to a formula in the model.
--item-refs <item_refs>textComma-separated item ids the assumption constrains — the fix for unanchored_assumption when the file has Items.
--confidence <confidence>floatHow strongly you hold this assumption, 0-1.
--status <status>holding | uncertain | broken | supersededAssumption lifecycle state: holding until something contradicts it, broken once actuals do, superseded when a newer assumption replaces it.
--verified-at <verified_at>textISO date (YYYY-MM-DD) this assumption was last confirmed to still hold (@verifiedAt). Records WHEN it was checked; --status holding records that it stands.
--broken-at <broken_at>textISO date (YYYY-MM-DD) this assumption was found no longer to hold (@brokenAt). Records WHEN it failed; --status broken records THAT it failed — set both when actuals contradict an assumption.
--context-refs <context_refs>textComma-separated context (period) ids this node reasons across.
--scenario-ref <scenario_ref>textScenario id this node is about, when it holds only in one world.
--custom-dimensions <custom_dimensions>textCustom dimension members as `dim:member;dim2:member2` — the fifth axis of the anchor (e.g. `region:emea`).
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning update-claim

Update attributes on an existing <Claim> CLAIM_ID in FILENAME.

deepcell reasoning update-claim <filename> <claim_id>

deepcell reasoning update-claim model.deepcell t_gm --status falsified
参数类型是否必填
filenametext必填
claim_idtext必填
选项类型默认值作用
--kind <kind>thesis | risk | catalyst | counter | question | market_consensusReclassify the claim — see `deepcell reasoning add-claim --help` for what each kind means.
--label <label>textReplacement <Label> text. The finding itself, not the subject it concerns — "Working capital is a source of cash", not "Working capital". Renders as the reasoning outline row, and a Deck may bind it as a slide headline.
--label-file <label_file>fileFile holding the replacement <Label> text; '-' reads stdin. Prefer this over --label for text containing '$' — inline shell arguments mangle dollar amounts.
--body <body>textReplacement <Body> text.
--body-file <body_file>fileFile holding the replacement <Body> text; '-' reads stdin. Prefer this over --body for text containing '$' — inline shell arguments mangle dollar amounts.
--body-notation <body_notation>markdown | textWhat the <Body> IS: markdown or literal text. Declared, never sniffed — no reader guesses from the bytes. Omitted leaves it as it was.
--status-ref <status_ref>textModel Status dimension id (e.g. actual / projected) — NOT the claim lifecycle state (that is --status).
--calc-ref <calc_ref>textCalcDef id anchoring this claim to a formula in the model.
--item-refs <item_refs>textComma-separated item ids anchoring this claim to a Spreadsheet — the fix for unanchored_claim when the file has Items.
--probability <probability>floatLikelihood, 0-1 (required for kind=risk / catalyst).
--severity <severity>low | med | highQualitative impact (required for kind=risk).
--confidence <confidence>floatHow strongly you hold this claim, 0-1.
--strength <strength>low | med | highHow strongly the claim is held, qualitatively. Independent of --confidence (the numeric form); a claim may carry both.
--parent-claim-ref <parent_claim_ref>textClaim id this one hangs under (hierarchy, not an Argument edge).
--attribution <attribution>textWho holds this view (required for kind=market_consensus).
--status <status>draft | active | superseded | falsified | revokedClaim lifecycle state — NOT the model's Status dimension (that is --status-ref).
--context-refs <context_refs>textComma-separated context (period) ids this node reasons across.
--scenario-ref <scenario_ref>textScenario id this node is about, when it holds only in one world.
--custom-dimensions <custom_dimensions>textCustom dimension members as `dim:member;dim2:member2` — the fifth axis of the anchor (e.g. `region:emea`).
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

reasoning update-evidence

Patch an <Evidence> node; only the attributes you pass are changed.

deepcell reasoning update-evidence <filename> <evidence_id>

deepcell reasoning update-evidence model.deepcell <evidence_id>
参数类型是否必填
filenametext必填
evidence_idtext必填
选项类型默认值作用
--label <label>textReplacement <Label> text. The finding itself, not the subject it concerns — "Working capital is a source of cash", not "Working capital". Renders as the reasoning outline row, and a Deck may bind it as a slide headline.
--label-file <label_file>fileFile holding the replacement <Label> text; '-' reads stdin. Prefer this over --label for text containing '$' — inline shell arguments mangle dollar amounts.
--body <body>textReplacement <Body> text.
--body-file <body_file>fileFile holding the replacement <Body> text; '-' reads stdin. Prefer this over --body for text containing '$' — inline shell arguments mangle dollar amounts.
--source <source>textReplacement @source (where the evidence came from).
--url <url>textReplacement @url.
--as-of <as_of>textReplacement @asOf date (ISO).
--item-refs <item_refs>textComma-separated item ids.
--context-refs <context_refs>textComma-separated context ids.
--status-ref <status_ref>textModel Status dimension id (e.g. actual / projected) the evidence speaks to.
--scenario-ref <scenario_ref>textScenario id this node is about, when it holds only in one world.
--custom-dimensions <custom_dimensions>textCustom dimension members as `dim:member;dim2:member2` — the fifth axis of the anchor (e.g. `region:emea`).
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

write

Create a file, or replace an existing one wholesale.

deepcell write <filename>

deepcell write model.deepcell --file ./model.deepcell
参数类型是否必填
filenametext必填
选项类型默认值作用
--stdinbooleanRead content from stdin.
--file <from_file>pathRead content from a local file.
--content <from_content>textPass file content inline (useful for MCP/programmatic access).
--content-base64 <from_b64>textPass file content as a base64-encoded string.
--revision <revision>textExpected revision SHA for optimistic locking — the `Revision:` line `deepcell cat` prints on stderr. The write is refused with a conflict if FILENAME changed since (a change to a different file is not a conflict).
--sharebooleanPrint a view-only share link for FILENAME as well. On by default when you are not signed in, where it is the only URL that opens in a browser; off by default when signed in, since the workbench link already works. An existing live link for the file is reused rather than duplicated.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

revise

change a premise and reassess what depends on it

changes diff

Show what one change did, semantically.

deepcell changes diff <base_revision> [head_revision]

deepcell changes diff <base_revision>
参数类型是否必填
base_revisionrevision必填
head_revisionrevision可选
选项类型默认值作用
--file <filename>textFilter diff by filename.

退出码: 0 — completed

changes list

List document changes, newest first.

deepcell changes list [filename_pos]

deepcell changes list
参数类型是否必填
filename_postext可选
选项类型默认值作用
--file <filename>textFilter by filename.
--limit <limit>integer range20Number of changes to show (1-200).
--since <since_revision>revisionOnly changes that moved the branch forward from this revision.

退出码: 0 — completed

changes revert

Undo one change by committing its inverse onto the current tip.

deepcell changes revert <base_revision> <head_revision>
参数类型是否必填
base_revisionrevision必填
head_revisionrevision必填
选项类型默认值作用
--yesbooleanSkip confirmation prompt.

退出码: 0 — completed

commit

Commit changes staged on the server by something other than you.

deepcell commit
选项类型默认值作用
--message <message>textCommit message.

退出码: 0 — completed · 1 — written-but-invalid

diff

Show diff between two revisions (like git diff).

deepcell diff <revision_a> [revision_b]

deepcell diff <revision_a>
参数类型是否必填
revision_atext必填
revision_btext可选
选项类型默认值作用
--file <filename>textFilter diff by filename.

退出码: 0 — completed

log

Show version history for the workspace (like git log).

deepcell log [filename_pos]

deepcell log
参数类型是否必填
filename_postext可选
选项类型默认值作用
--file <filename>textFilter by filename.
--limit <limit>integer20Number of entries to show.
--after <after_sha>textPagination cursor: start AFTER this commit sha. Pass the last sha of the previous page to read the next one.

退出码: 0 — completed

replace

Replace raw XML text in a file — the last-resort editor.

deepcell replace <filename> [old_string] [new_string]

deepcell replace model.deepcell "<Old>text</Old>" "<New>text</New>"
参数类型是否必填
filenametext必填
old_stringtext可选
new_stringtext可选
选项类型默认值作用
--replace-allbooleanReplace every occurrence instead of requiring a unique match.
--batch <batch_file>textReplacement as a JSON object {"old_string": "...", "new_string": "..."} — a file path, '-' for stdin, or inline JSON. Use this for multiline XML.
--revision <revision>textExpected revision SHA for optimistic locking.
--workspace <workspace_slug>textOverride active workspace.
--rationale <rationale>textWhy this edit was made. Becomes the commit message body, so the history reads as the decision rather than the coordinates the diff already shows. `-m` and `--message` are aliases of `--rationale`.
--title <title>textShort commit subject (e.g. 'Q3 actuals update'). Combined with --rationale as 'title: rationale'. The mechanical summary the server would have written is kept as a Summary trailer either way.

退出码: 0 — completed · 1 — written-but-invalid

restore

Restore the workspace to a previous revision (like git checkout).

deepcell restore <revision>
参数类型是否必填
revisiontext必填
选项类型默认值作用
--file <filename>textRestore specific file only.
--yesbooleanSkip confirmation prompt.

退出码: 0 — completed

rm

Delete a file from the workspace.

deepcell rm <filename>

deepcell rm model.deepcell
参数类型是否必填
filenametext必填
选项类型默认值作用
--yesbooleanSkip confirmation prompt.

退出码: 0 — completed

variant checkout

Check out a variant branch for local edits.

deepcell variant checkout [name]

deepcell variant checkout
参数类型是否必填
nametext可选
选项类型默认值作用
--mainbooleanSwitch back to the main branch (clear active variant).

退出码: 0 — completed

variant create

Create a new variant branch.

deepcell variant create <name>
参数类型是否必填
nametext必填

退出码: 0 — completed

variant diff

Show diff between a variant branch and main.

deepcell variant diff [name]

deepcell variant diff
参数类型是否必填
nametext可选
选项类型默认值作用
--file <file_path>textLimit the diff to a single file.

退出码: 0 — completed

variant list

List variants in the workspace.

deepcell variant list

退出码: 0 — completed

variant merge

Merge a variant branch back into main.

deepcell variant merge [name]

deepcell variant merge
参数类型是否必填
nametext可选
选项类型默认值作用
--resolve <resolve>ours | theirsConflict resolution strategy: 'ours' keeps main, 'theirs' keeps variant.

退出码: 0 — completed · 1 — conflict

verify

change one thing, see everything it affects

assumption impact

List Claims that depend_on ASSUMPTION_ID.

deepcell assumption impact <filename> <assumption_id>

deepcell assumption impact model.deepcell a_hiring
参数类型是否必填
filenametext必填
assumption_idtext必填

退出码: 0 — completed · 2 — unparseable-document

claim falsified

List every Claim in FILENAME whose status is `falsified`.

deepcell claim falsified <filename>

deepcell claim falsified model.deepcell
参数类型是否必填
filenametext必填

退出码: 0 — completed · 2 — unparseable-document

claim history

Walk the supersedes chain backwards from CLAIM_ID (newest first).

deepcell claim history <filename> <claim_id>

deepcell claim history model.deepcell <claim_id>
参数类型是否必填
filenametext必填
claim_idtext必填

退出码: 0 — completed · 2 — unparseable-document

claim variant

Show your view of CLAIM_ID beside the consensus it is a variant of.

deepcell claim variant <filename> <claim_id>

deepcell claim variant model.deepcell <claim_id>
参数类型是否必填
filenametext必填
claim_idtext必填

退出码: 0 — completed · 2 — unparseable-document

impact apply

Apply one reviewed fix, and record it as `revised`.

deepcell impact apply <filename> <item_key> --surface <surface> --locator <locator> --op <op> --target-id <target_id>

deepcell impact apply model.deepcell <item_key> --surface <surface> --locator <locator> --op <op> --target-id <target_id>
参数类型是否必填
filenametext必填
item_keytext必填
选项类型默认值作用
--surface <surface>text必填The surface the item is on.
--locator <locator>text必填The item's address.
--op <op>text必填The reasoning op to apply.
--target-id <target_id>text必填The Claim or Assumption it addresses.
--payload <payload>textThe op's fields, as JSON. Omit for an op that needs none.
--new-claim <new_claim>textJSON for the replacement Claim. Required by supersede_claim.
--new-assumption <new_assumption>textJSON for the replacement Assumption. Required by supersede_assumption.
--expected-revision <expected_revision>textThe revision you read at. A newer document is a 409 rather than an overwrite.

退出码: 0 — completed

impact reopen

Undo one review decision.

deepcell impact reopen <filename> <item_key>

deepcell impact reopen model.deepcell <item_key>
参数类型是否必填
filenametext必填
item_keytext必填

退出码: 0 — completed

impact review

Mark one item reviewed — the marker disappears.

deepcell impact review <filename> <item_key> --surface <surface> --locator <locator>

deepcell impact review model.deepcell <item_key> --surface <surface> --locator <locator>
参数类型是否必填
filenametext必填
item_keytext必填
选项类型默认值作用
--surface <surface>text必填The surface the item is on, as `impact show` prints it.
--locator <locator>text必填The item's address — the `locator` line `impact show` prints.
--outcome <outcome>confirmed | revisedconfirmedconfirmed: it still reads correctly. revised: it was rewritten.
--kind <kind>textThe item's kind. An unresolved one is refused: it needs a rebind.

退出码: 0 — completed

impact show

List every place that may need review after a change.

deepcell impact show <filename> --since <base_revision>

deepcell impact show model.deepcell --since <base_revision>
参数类型是否必填
filenametext必填
选项类型默认值作用
--since <base_revision>text必填The revision to compare from: a SHA from `deepcell log`, or HEAD~N for the N-th commit before the workspace's newest (resolved through the log here; the server takes a 7-64 character SHA only). Note the SHA before you edit — a premise change is usually several commits, and HEAD~1 reaches only the last of them.
--revision <revision>textThe revision to compare to (a SHA or HEAD~N). Defaults to the working tree.
--threshold <threshold>floatRelative move at or above which a value change is material. Defaults to the built-in 1%.
--include-reviewedbooleanAlso show items somebody has already marked reviewed.

退出码: 0 — completed

reasoning-diff

Warn when an edit moved something a Claim was anchored to.

deepcell reasoning-diff <file>

deepcell reasoning-diff model.deepcell
参数类型是否必填
filepath必填
选项类型默认值作用
--acceptbooleanPrint warnings but exit 0 (acknowledge and continue).
--since-branch-base <since_branch_base>pathPath to a third .deepcell file representing the branch base. When supplied, drift is computed across both branch_base->HEAD and HEAD->working intervals so accumulated commits surface.

退出码: 0 — completed · 1 — read-only-check · 2 — unparseable-document

relationships

Show the relationship graph of a .deepcell file.

deepcell relationships <filename>

deepcell relationships model.deepcell --type business
参数类型是否必填
filenametext必填
选项类型默认值作用
--type <graph_type>items | dependencies | blocks | business | unifiedunifiedGraph type. 'business' is the Item-centric Relationships workspace.

退出码: 0 — completed

present

deliver the work to someone else

share create

Create a share link for FILENAME and print its viewer URL.

deepcell share create <filename>

deepcell share create model.deepcell --permission view
参数类型是否必填
filenametext必填
选项类型默认值作用
--permission <permission>view | editviewAccess level for the link. Edit links require an account.
--expires-days <expires_days>integer rangeDays until the link expires. Every link expires; omit this to take the server default (90 days, or 7 for a password-less --permission edit link). Larger values are clamped to that cap.
--expires-hours <expires_hours>integer rangeThe same lifetime in hours, for a link that should outlive a meeting and not a day. Clamped against the same caps as --expires-days; pass one or the other, not both.
--password <password>textPassword-protect the link (account required).
--label <label>textLabel to recognize the link in `share list`.

退出码: 0 — completed

share list

List active share links in the workspace.

deepcell share list
选项类型默认值作用
--file <filename>textOnly links for this file.

退出码: 0 — completed

share revoke

Revoke a share link by its id (see `share list`).

deepcell share revoke <share_id>
参数类型是否必填
share_idtext必填

退出码: 0 — completed

to-docx

Export one document's prose as a Word file.

deepcell to-docx <filename>

deepcell to-docx model.deepcell --doc variance_note -o variance-note.docx
参数类型是否必填
filenametext必填
选项类型默认值作用
--doc <doc_id>textDocument ID (required when the file has multiple documents).
--scenario <scenario_id>textDocument scenario ID to export.
--output <out_path>textOutput path (default: <filename>.docx).
--bundlebooleanLink to sibling .xlsx / .pptx exports written alongside this one.

退出码: 0 — completed

to-excel

Export a .deepcell file to Excel format.

deepcell to-excel <filename>

deepcell to-excel model.deepcell -o model.xlsx
参数类型是否必填
filenametext必填
选项类型默认值作用
--output <out_path>textOutput file path (default: <filename>.xlsx).
--formulasbooleanExport with live Excel formulas.
--recalculatebooleanRecompute formula values via the LibreOffice service (requires --formulas).
--scenario <scenario_id>textDocument scenario ID to export (applies its VariableOverrides; omit for the default scenario).
--variant <variant_id>text(removed) Never worked — see --scenario for document scenarios.

退出码: 0 — completed

to-pdf

Export a deck or a document as a PDF.

deepcell to-pdf <filename>

deepcell to-pdf model.deepcell
参数类型是否必填
filenametext必填
选项类型默认值作用
--from <source>deck | docdeckWhich surface to render: the presentation deck, or the prose document.
--deck <deck_id>textDeck ID (required when the file has multiple decks).
--doc <doc_id>textDocument ID (required when the file has multiple documents).
--scenario <scenario_id>textDocument scenario ID to export.
--output <out_path>textOutput path (default: <filename>_<deck|doc>.pdf).

退出码: 0 — completed

to-pptx

Export one document-defined HTML deck as editable PowerPoint objects.

deepcell to-pptx <filename>

deepcell to-pptx model.deepcell --deck board -o board.pptx
参数类型是否必填
filenametext必填
选项类型默认值作用
--deck <deck_id>textDeck ID (required when the document has multiple decks).
--scenario <scenario_id>textDocument scenario ID to export.
--output <out_path>textOutput path (default: <filename>.pptx).

退出码: 0 — completed

viewer

Print the browser URL to open FILENAME in the web workbench.

deepcell viewer <filename>

deepcell viewer model.deepcell
参数类型是否必填
filenametext必填
选项类型默认值作用
--workspace <workspace_slug>textOverride active workspace.
--openbooleanOpen the URL in the default browser.

退出码: 0 — completed

session

who you are and where your work lands

account delete

Permanently delete your account and everything it owns.

deepcell account delete
选项类型默认值作用
--confirm-email <confirm_email>textYour account email. Prompted for if omitted.
--password <password>textAccount password. Prompted for if the account has one.
--yesbooleanSkip the interactive 'this is irreversible' confirmation.

退出码: 0 — completed

account export

Download every record DeepCell holds about your account.

deepcell account export
选项类型默认值作用
--output <out_path>fileWrite the export to this file instead of stdout.

退出码: 0 — completed

doctor

Check this machine's setup: version, server, identity, workspace.

deepcell doctor

deepcell doctor -f json
选项类型默认值作用
--timeout <timeout>float10How long to wait for the server probe.

退出码: 0 — completed

login

Authenticate with the DeepCell API.

deepcell login
选项类型默认值作用
--email <email>textEmail for direct login (headless/CI).
--password <password>textPassword for direct login (headless/CI).

退出码: 0 — completed

logout

Log out and remove stored credentials.

deepcell logout

退出码: 0 — completed

project create

Create a new project.

deepcell project create <name>
参数类型是否必填
nametext必填
选项类型默认值作用
--slug <slug>textURL-friendly slug. Derived from the name by the server, with a short random suffix, if omitted — slugs are unique across all projects.
--description <description>text""Project description.

退出码: 0 — completed

project info

Show project details.

deepcell project info [slug]

deepcell project info
参数类型是否必填
slugtext可选

退出码: 0 — completed

project list

List projects you belong to.

deepcell project list

退出码: 0 — completed

project use

Set the active project for subsequent commands.

deepcell project use <slug>

deepcell project use my-project
参数类型是否必填
slugtext必填

退出码: 0 — completed

register

Create a new DeepCell account (headless/CI).

deepcell register
选项类型默认值作用
--email <email>textAccount email.
--password <password>textAccount password (min 8 chars).
--name <display_name>textYour display name.
--locale <locale>textzh-CNLocale (default: zh-CN).

退出码: 0 — completed

upgrade

Check whether a newer deepcell CLI has been published.

deepcell upgrade

退出码: 0 — completed

upgrade check

Ask the package index right now and update the cached answer.

deepcell upgrade check
选项类型默认值作用
--timeout <timeout>float3How long to wait for each package index.

退出码: 0 — completed

upgrade disable

Turn the automatic upgrade check off.

deepcell upgrade disable

退出码: 0 — completed

upgrade enable

Turn the automatic upgrade check on (the default).

deepcell upgrade enable

退出码: 0 — completed

upgrade status

Show the setting and the last cached answer.

deepcell upgrade status

退出码: 0 — completed

verify-email

Verify your email address.

deepcell verify-email

退出码: 0 — completed

whoami

Show the currently authenticated user.

deepcell whoami

退出码: 0 — completed

sync

local <-> cloud

clone

Clone a workspace to a local folder.

deepcell clone <slug> [directory]

deepcell clone <slug>
参数类型是否必填
slugtext必填
directorytext可选

退出码: 0 — completed

download

Download a file from the workspace to the local filesystem.

deepcell download <filename>

deepcell download model.deepcell
参数类型是否必填
filenametext必填
选项类型默认值作用
--output <out_path>textOutput file path (default: same as filename).
--revision <revision>textDownload file at specific revision.

退出码: 0 — completed

merge apply

Apply conflict resolutions to a pending merge session.

deepcell merge apply <session_id> --resolve <strategy>
参数类型是否必填
session_idtext必填
选项类型默认值作用
--resolve <strategy>ours | theirs必填Resolution strategy for all conflicts.
--file <filename>textWrite merged result to this local file.

退出码: 0 — completed · 1 — conflict

merge preview

Preview a three-way merge for a .deepcell file.

deepcell merge preview <filename>

deepcell merge preview model.deepcell
参数类型是否必填
filenametext必填
选项类型默认值作用
--base <base_rev>textBase revision SHA (defaults to last_sync_sha).
--theirs-rev <theirs_rev>textRevision for theirs (defaults to HEAD).

退出码: 0 — completed · 1 — conflict

merge resolve

Resolve a sync conflict for a .deepcell file.

deepcell merge resolve <filename>

deepcell merge resolve model.deepcell
参数类型是否必填
filenametext必填
选项类型默认值作用
--ourstextResolve all conflicts with local values.
--theirstextResolve all conflicts with remote values.

退出码: 0 — completed · 1 — conflict

pull

Fetch latest cloud changes to the local folder.

deepcell pull

退出码: 0 — completed · 1 — conflict

push

Upload local changes to the cloud workspace.

deepcell push
选项类型默认值作用
--message <message>text""Commit message for the push.

退出码: 0 — completed · 1 — written-but-invalid

status

Show local changes vs last sync.

deepcell status

退出码: 0 — completed

learn

the five reference surfaces

example

Complete, valid documents to copy the shape from.

deepcell example
选项类型默认值作用
--pack <pack>textCore examples plus this pack's.

退出码: 0 — completed

example get

Write an example document to a local file.

deepcell example get <name> --into <into>
参数类型是否必填
nametext必填
选项类型默认值作用
--into <into>file必填Local path to write the document to.
--layer <layer>skeleton | fullfullWhich document to seed from.
--forcebooleanOverwrite an existing file.

退出码: 0 — completed

example list

List every example name — the same output as bare `deepcell example`.

deepcell example list
选项类型默认值作用
--pack <pack>textCore examples plus this pack's.

退出码: 0 — completed

example show

Print one layer of an example: skeleton, full, or transcript.

deepcell example show [name] [layer]

deepcell example show
参数类型是否必填
nametext可选
layertext可选

退出码: 0 — completed

guide

Explain how DeepCell itself works.

deepcell guide [topic]

deepcell guide orient/start
参数类型是否必填
topictext可选
选项类型默认值作用
--stage <stage>textOnly this stage's topics (e.g. generate).
--pack <pack>textOne domain pack: its vocabulary page, then its topics (e.g. finance).
--packsbooleanList the domain packs.
--capabilitiesbooleanShow the Jingwei/CLI/reference/transport capability contract.
--allbooleanAlso show the long-form reference pages and domain packs.
--search <search>textTopics whose name or description matches, across both catalogs.

退出码: 0 — completed

help

Every command, flag, exit code and example as one document.

deepcell help [command...]

deepcell help
参数类型是否必填
command...text可选
选项类型默认值作用
--stage <stage>textOnly this stage's commands (e.g. generate). Same stages as `deepcell guide`.
--search <search>textCommands whose name or summary matches TEXT.

退出码: 0 — completed

ref

Look up legal values, and resolve any typed id.

deepcell ref [target...]

deepcell ref lint/hardcoded_literal_in_calc
参数类型是否必填
target...text可选
选项类型默认值作用
--limit <limit>integer40Maximum search results.

退出码: 0 — completed

rules

The invariants applicable to a .deepcell work shape.

deepcell rules [rule_id]

deepcell rules R2
参数类型是否必填
rule_idtext可选
选项类型默认值作用
--pack <pack>textAdd this domain pack's rules when their selected surface applies.
--surfaces <surfaces>textComma-separated selected surfaces: reasoning,spreadsheet,document,deck. Omit for universal rules only.
--allbooleanEvery rule, whatever work shape it applies to. Overrides --surfaces/--pack.
--fullbooleanPrint every applicable rule in full, not just the index — one call, no per-rule round trips.

退出码: 0 — completed

规则

每个模型都必须满足的不变量,每一条都有稳定的 id,供其他界面引用。凡是有 lint 支撑的规则,违反时打印的就是这里列出的代码——正是它把一条建议变成可以自查的约定。其余的规则在评审中人工核查。

deepcell rules R2
规则内容由什么保障Lint 代码
rule:R1Native generation — Excel at the edges onlyreview
rule:R2Driver-based forecastslinthardcoded_literal_in_calc
rule:R3One file per request, edited in placereview
rule:R4Forecasts must populate — verify by query-backreview
rule:R5Self-checking calculationsreview
rule:R6Point-in-time results stay in their periodreview
rule:R7Canonical naming and unitslintmonetary_units
rule:R8Reasoning stays connected to the work it explainslintunanchored_claim, unanchored_assumption, exclusivity_assertion, body_itemrefs_mismatch
rule:R9Spreadsheet values have an intentional presentationlintunrendered_value
rule:R10A DCF carries a real FCF bridgereview
rule:R11Circular structures by deliberate convention — and seededreview
rule:R12Assumptions are groundedlintunsourced_actual, source_unused
rule:R13Statuses and periods declare what they meanlintundeclared_status_archetype, undeclared_context_state
rule:R14Analytical reasoning states its conclusionlintmissing_apex_recommendation, dangling_conclusion_ref
rule:R15Prose that asserts a value must link itlintuncited_level
rule:R16An outward address lives in exactly one placereview
rule:R17A cross-surface reference is a deepcell: URIreview
rule:R18Overriding a calculated cell removes its formulareview
rule:R19Analytical reasoning states the question it answerslintdangling_key_question_ref, ambiguous_key_question, key_question_not_answered, answers_non_question, unreviewed_key_question

范例

可以直接拿来起步的完整、合法文档,选取标准是它展示的机制,而不是所属行业。它们会在 CI 中依据各自的构建记录重建并做 lint 检查,因此不会是过时的片段。复制某一条下面的命令,即可用它初始化一个文件。

范例展示的机制领域
decision/vendor-diligencequalitative evidence-to-decision graph with a linked memo and no gridprocurement / security diligence
finance/cn-a-share-3s-dcfextraction-based raw/model layering with filing provenanceA-share equity research
finance/ic-decka styled multi-slide deck bound onto a finished model, then exportedinvestment committee readout
finance/saas-dcfthe full three-statement + DCF loopfinance
ingest/board-packfaithful workbook import — row/column mapping, converted formulas, per-cell provenancepublic transport, board reporting
manufacturing/line-debottleneckan author-drawn SVG exhibit whose geometry carries the argumentindustrial manufacturing, plant throughput
ops/headcount-planitems × contexts, drivers, and scenariosHR / operations
product/launch-decisionsmall all-four-surface premise change with selective reassessmentproduct launch governance
project/build-budgetstatus axis (committed / actual / forecast) and variance self-checksconstruction, grants
research/experiment-resultscustom dimensions, actual vs expected status, and a <Document> write-upscience / experimental research
supply/inventory-plansensitivity blockslogistics

decision/vendor-diligence

A complete decision can be qualitative: source-backed Evidence and explicit Assumptions connect to a declared conclusion, while the memo links those live nodes instead of inventing Items, Contexts, Values, a Sheet, or a Block.

deepcell example get decision/vendor-diligence --into <into>

finance/cn-a-share-3s-dcf

An A-share issuer's three consolidated CAS statements pulled from cninfo with `deepcell ingest cn` and stored as an immutable raw layer — 元, full precision, bilingual labels, one <Source kind="filing"> whose <Cites at="page:N"> deep-link each statement — with historical mapping calcs onto the CAS chart's `_Model` ids, six mapping checks that read 0 on both filed years, and a P&L + DCF projection (the model-scopes default) on top.

deepcell example get finance/cn-a-share-3s-dcf --into <into>

finance/ic-deck

The model is done and the audience is a committee. Starting from the finished Lumenwave DCF, the transcript records the recommendation as a Claim first, then adds one deck, applies the consulting style pack verbatim, and writes seven slides whose every number, chart, sentence of reasoning and footnote is a binding against the model's real ids — value, series, chart, reasoning, source and document_stat — before reading `describe --lint` for the deck codes, exporting the .pptx and handing a reviewer a share link.

deepcell example get finance/ic-deck --into <into>

finance/saas-dcf

A linked income statement, balance sheet and cash flow statement feeding an unlevered DCF whose every forecast number traces to a driver item — with the three self-checks (BS_Check, CF_Recon, EV_Check) that prove the loop closed.

deepcell example get finance/saas-dcf --into <into>

ingest/board-pack

One `deepcell import` turns a board pack into the file — statuses with an archetype, contexts with a state, scale and currency on every monetary row, the pack's own formulas as live calcs, and one workbook Source citing the cell each number came from — and the work is what comes before it (reading the sheet into two JSON payloads) and after it (the round trip, verified before anything is built on top). Nothing is projected: three closed months and their quarter go in, and the same come out.

deepcell example get ingest/board-pack --into <into>

manufacturing/line-debottleneck

The measured line is already in the file and the numbers are not in dispute; what a table of five station cycle times cannot say is that the leak test's rejects re-enter the line upstream, at the weld cell. So the exhibit is a drawing. The transcript records the judgement as a Claim first, adds one deck, applies the product pack verbatim plus the ten classes the drawing needs, and writes an inline `<svg>` on the shape subset — `<defs><marker>` arrowheads reached by a local `url(#id)` fragment, colour and weight taken from the pack's own tokens so a restyle carries the drawing with it. Every figure stays outside the drawing and bound, because a `<dc-value>` inside an `<svg>` resolves to an HTML span that an SVG paints as nothing at all.

deepcell example get manufacturing/line-debottleneck --into <into>

ops/headcount-plan

Two hiring plans out of one model — every derived number traces to an editable driver row, and the second scenario is the handful of cells that differ rather than a second copy of the file. A check row rolls the whole group forward by a second route and reads 0 under both scenarios, and a <Document> summary quotes the same Q4 cells twice — once per scenario, by the `@scenario` tail of the cell locator.

deepcell example get ops/headcount-plan --into <into>

product/launch-decision

One calculation supports a declared launch decision, a memo, and a one-slide deck. The transcript starts from the before-state, changes one demand premise, discovers impact and backlinks, preserves the conclusion after checking its boundary, reconnects the replacement assumption, and verifies every selected surface.

deepcell example get product/launch-decision --into <into>

project/build-budget

Three readings of the same cell live on the Status dimension — not in three parallel item trees — a calc reaches across them with `Item[ctx]#status`, and every allocation and variance carries a cross-check whose correct answer is known to be 0.

deepcell example get project/build-budget --into <into>

research/experiment-results

A third axis and a second reading on the same row — the phenotype class is a custom Dimension that slices every data row instead of doubling it, and observed sits beside predicted under one item id rather than under two. The data is Mendel's published F2 counts for his seven traits, so the file has to carry a real result and a real objection to it at once: the counts fit 3:1, and CHIDIST says they fit it more closely than sampling error alone explains. The readout itself ships as a <Document>: every number in the prose is a link, so re-running the counts refreshes the values and identifies prose whose surrounding judgment must be reassessed explicitly.

deepcell example get research/experiment-results --into <into>

supply/inventory-plan

Sensitivity is a native `blockType="sensitivity"` block whose every cell is a transient recompute of the model — never a ladder of near-duplicate perturbation items — shown in all three legal shapes: 2-variable grid, 1-variable table, and scenario comparison.

deepcell example get supply/inventory-plan --into <into>
要给一个从没接触过 DeepCell 的智能体做配置? 打开智能体上手指南