cents factory
For running the factory on a recurring schedule (cron / launchd recipes, cost-cap discipline, editable-install drift), see the dedicated Scheduling page.
Run and inspect the autonomous factory loop.
Synopsis
Section titled “Synopsis”cents factory <subcommand> [OPTIONS] [ARGS]...Subcommands
Section titled “Subcommands”cents factory analyze— Outcomes stratified by one or more discovery / cohort / regime axes.cents factory funnel— Per-arm open-phase funnel: evaluated → rejected (by reason) → opened.cents factory init— Scaffold ~/.cents/factory.toml with sensible defaults.cents factory run— Run the factory engine once.cents factory status— Summarize the factory’s current state.
cents factory analyze
Section titled “cents factory analyze”Outcomes stratified by one or more discovery / cohort / regime axes.
Synopsis
cents factory analyze [OPTIONS]Options
| Option | Type | Default | Description |
|---|---|---|---|
--since-days INTEGER | integer | 90 | Look-back window in days |
--by TEXT | text | cohort | Comma-separated grouping axes (cohort,discovery,regime,orchestrator,premise_classification_source,premise_tags_count,hedge_basis). Multiple axes produce a cross-tab. Default: cohort. |
--include-cost-per-outcome | boolean | false | Augment each cell with LLM cost per opened / judged / correct thesis. Lets the operator see whether spend per outcome exceeds the average P&L per outcome (negative-EV pipeline check). Adds an unattributable_cost_usd top-level field for LLM spend that could not be attributed to any thesis in the window. |
| `—output/-o [text | json]` | [text | json] |
Example
cents factory analyze [OPTIONS]cents factory funnel
Section titled “cents factory funnel”Per-arm open-phase funnel: evaluated → rejected (by reason) → opened.
Run cents shadow backfill first so rejection rows carry forward
returns — those tell you whether a rejection rule is leaving signal
on the table. The crowding section attributes concentration_cap
rejections to the arm(s) whose open theses held the bucket.
Synopsis
cents factory funnel [OPTIONS]Options
| Option | Type | Default | Description |
|---|---|---|---|
--since-days INTEGER | integer | 30 | Look-back window in days |
| `—output/-o [text | json]` | [text | json] |
Example
cents factory funnel [OPTIONS]cents factory init
Section titled “cents factory init”Scaffold ~/.cents/factory.toml with sensible defaults.
Synopsis
cents factory init [OPTIONS]Options
| Option | Type | Default | Description |
|---|---|---|---|
--force | boolean | false | Overwrite existing config |
Example
cents factory init [OPTIONS]cents factory run
Section titled “cents factory run”Run the factory engine once.
Synopsis
cents factory run [OPTIONS]Options
| Option | Type | Default | Description |
|---|---|---|---|
--dry-run | boolean | false | Plan actions without mutating state |
--universe TEXT | text | Universe name (defaults to config / default) | |
--max-cost-usd FLOAT | float | Abort the run if cumulative LLM spend would exceed this many USD. Checked PRE-call against a token estimate so the offending call is never made. | |
| `—orchestrator [llm | random]` | [llm | random] | llm |
--orchestrator-seed INTEGER | integer | RNG seed for —orchestrator random (reproducibility). | |
--force-frozen-drift | boolean | false | Acknowledge factory.toml drift from the active experiment’s frozen SHA and run anyway. cents-eat0: by default a drifted config aborts the run to preserve pre-registration discipline. Use only when you’ve decided the discipline violation is acceptable (e.g. unblocking a non-pilot ad-hoc run while an experiment is active). The drift is still persisted in summary_json so analytics can see it. |
| `—output/-o [text | json]` | [text | json] |
Example
cents factory run [OPTIONS]cents factory status
Section titled “cents factory status”Summarize the factory’s current state.
Synopsis
cents factory status [OPTIONS]Options
| Option | Type | Default | Description |
|---|---|---|---|
| `—output/-o [text | json]` | [text | json] |
Example
cents factory status [OPTIONS]