onto-mcp 0.4.11 → 0.4.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.onto/authority/core-lexicon.yaml +1 -1
- package/.onto/authority/supported-models.yaml +153 -0
- package/.onto/domains/accounting-kr/competency_qs.md +153 -153
- package/.onto/processes/reconstruct/obligation-coverage-ledger.yaml +842 -0
- package/.onto/processes/reconstruct/obligation-coverage-recorded.yaml +225 -0
- package/.onto/processes/reconstruct/ontology-seeding-and-maturation-design.md +93 -54
- package/.onto/processes/reconstruct/reconstruct-contract-registry.yaml +202 -49
- package/.onto/processes/reconstruct/reconstruct-execution-ux-contract.md +72 -1
- package/.onto/processes/reconstruct/source-profiles/spreadsheet.md +35 -0
- package/.onto/processes/review/nesting-batch-worker-contract.md +1 -1
- package/.onto/processes/review/productized-live-path.md +9 -5
- package/.onto/processes/review/prompt-execution-runner-contract.md +32 -8
- package/.onto/processes/review/review-target-profile-contract.md +47 -4
- package/.onto/processes/shared/pipeline-execution-ledger-contract.md +11 -0
- package/.onto/processes/shared/target-material-kind-contract.md +1 -1
- package/README.md +64 -1
- package/dist/cli.js +11 -1
- package/dist/core-api/reconstruct-api.js +679 -18
- package/dist/core-api/review-api.js +70 -5
- package/dist/core-api/review-progress.js +7 -0
- package/dist/core-api/runtime-observation.js +7 -0
- package/dist/core-runtime/artifact-io.js +131 -0
- package/dist/core-runtime/cli/claude-code-review-unit-executor.js +21 -9
- package/dist/core-runtime/cli/claude-nesting-batch-worker.js +4 -2
- package/dist/core-runtime/cli/materialize-review-prompt-packets.js +68 -14
- package/dist/core-runtime/cli/prepare-review-session.js +34 -1
- package/dist/core-runtime/cli/render-review-final-output.js +2 -1
- package/dist/core-runtime/cli/run-review-prompt-execution.js +758 -48
- package/dist/core-runtime/cli/run-seats.js +18 -0
- package/dist/core-runtime/cli/runtime-submit-context.js +10 -2
- package/dist/core-runtime/cli/unit-resubmit.js +269 -0
- package/dist/core-runtime/cli/worker-structured-output.js +80 -2
- package/dist/core-runtime/discovery/host-detection.js +71 -22
- package/dist/core-runtime/discovery/review-cert-assemble.js +208 -0
- package/dist/core-runtime/discovery/review-cert-record.js +442 -0
- package/dist/core-runtime/discovery/review-execution-units.js +22 -0
- package/dist/core-runtime/discovery/seat-inventory.js +167 -0
- package/dist/core-runtime/discovery/settings-chain.js +311 -52
- package/dist/core-runtime/discovery/supported-models.js +289 -25
- package/dist/core-runtime/discovery/synthesize-cert-assemble.js +197 -0
- package/dist/core-runtime/discovery/synthesize-cert-capsule.js +399 -0
- package/dist/core-runtime/discovery/synthesize-cert-judge.js +340 -0
- package/dist/core-runtime/discovery/synthesize-cert-loop.js +234 -0
- package/dist/core-runtime/discovery/synthesize-cert-mutation.js +117 -0
- package/dist/core-runtime/discovery/synthesize-cert-packet.js +182 -0
- package/dist/core-runtime/discovery/synthesize-cert-record.js +831 -0
- package/dist/core-runtime/discovery/synthesize-cert-sampler.js +336 -0
- package/dist/core-runtime/effort-calibration-ingest.js +326 -0
- package/dist/core-runtime/effort-calibration-reconstruct.js +47 -0
- package/dist/core-runtime/effort-calibration-review.js +22 -0
- package/dist/core-runtime/effort-calibration-sweep.js +110 -0
- package/dist/core-runtime/effort-frontier.js +134 -0
- package/dist/core-runtime/llm/claude-bin.js +77 -0
- package/dist/core-runtime/llm/dispatch-breaker.js +412 -0
- package/dist/core-runtime/llm/dispatch-fallback-adapter-capabilities.js +33 -0
- package/dist/core-runtime/llm/llm-caller.js +316 -35
- package/dist/core-runtime/llm/mock-llm-realization.js +35 -4
- package/dist/core-runtime/llm/model-switcher.js +1 -1
- package/dist/core-runtime/llm/openai-responses-incomplete-error.js +46 -0
- package/dist/core-runtime/llm/sealed-dispatch-capability.js +359 -0
- package/dist/core-runtime/llm/structured-dispatch-error.js +15 -0
- package/dist/core-runtime/onboard/claude-profile-scan.js +65 -0
- package/dist/core-runtime/onboard/cli-host.js +5 -2
- package/dist/core-runtime/onboard/configure-provider.js +33 -1
- package/dist/core-runtime/onboard/host-target.js +28 -3
- package/dist/core-runtime/onboard/register.js +54 -12
- package/dist/core-runtime/pipeline-execution-ledger.js +10 -0
- package/dist/core-runtime/reconstruct/artifact-types.js +37 -0
- package/dist/core-runtime/reconstruct/benchmark-evidence.js +16 -0
- package/dist/core-runtime/reconstruct/claim-projection-validation.js +19 -5
- package/dist/core-runtime/reconstruct/competency-projection-contract.js +63 -0
- package/dist/core-runtime/reconstruct/comprehension-artifact.js +321 -0
- package/dist/core-runtime/reconstruct/comprehension-reduce.js +367 -0
- package/dist/core-runtime/reconstruct/comprehension-semantic-map.js +771 -0
- package/dist/core-runtime/reconstruct/contract-registry.js +20 -0
- package/dist/core-runtime/reconstruct/directive-validation.js +4 -3
- package/dist/core-runtime/reconstruct/dispatch-fallback-artifacts.js +640 -0
- package/dist/core-runtime/reconstruct/execution-telemetry.js +84 -9
- package/dist/core-runtime/reconstruct/final-output-sections.js +89 -0
- package/dist/core-runtime/reconstruct/governing-snapshot.js +36 -1
- package/dist/core-runtime/reconstruct/leaf-reader.js +305 -0
- package/dist/core-runtime/reconstruct/llm-dispatch-failure.js +270 -0
- package/dist/core-runtime/reconstruct/llm-touch-fingerprint.js +94 -0
- package/dist/core-runtime/reconstruct/material-admission-validation.js +20 -5
- package/dist/core-runtime/reconstruct/material-profile-validation.js +24 -6
- package/dist/core-runtime/reconstruct/materialize-preparation.js +380 -23
- package/dist/core-runtime/reconstruct/maturation-validation.js +1522 -67
- package/dist/core-runtime/reconstruct/mock-llm-realization.js +120 -1
- package/dist/core-runtime/reconstruct/obligation-assertion.js +18 -0
- package/dist/core-runtime/reconstruct/ontology-seed-validation.js +39 -7
- package/dist/core-runtime/reconstruct/output-budget.js +6 -0
- package/dist/core-runtime/reconstruct/pipeline-execution-ledger.js +112 -5
- package/dist/core-runtime/reconstruct/post-seed-validation.js +122 -11
- package/dist/core-runtime/reconstruct/proof-authority-validation.js +2 -6
- package/dist/core-runtime/reconstruct/purpose-authority-validation.js +119 -7
- package/dist/core-runtime/reconstruct/record.js +49 -3
- package/dist/core-runtime/reconstruct/registry-verification-validation.js +41 -5
- package/dist/core-runtime/reconstruct/run-control-validation.js +1019 -37
- package/dist/core-runtime/reconstruct/run.js +5409 -517
- package/dist/core-runtime/reconstruct/seed-authoring-readiness-validation.js +56 -8
- package/dist/core-runtime/reconstruct/semantic-quality-gate.js +112 -7
- package/dist/core-runtime/reconstruct/source-observation-delta-validation.js +53 -5
- package/dist/core-runtime/reconstruct/source-observations.js +166 -0
- package/dist/core-runtime/reconstruct/source-safety-validation.js +77 -188
- package/dist/core-runtime/reconstruct/source-scout-pack-validation.js +50 -6
- package/dist/core-runtime/reconstruct/terminal-validation.js +145 -13
- package/dist/core-runtime/review/continuation-plan.js +12 -5
- package/dist/core-runtime/review/issue-artifact-runtime.js +4 -1
- package/dist/core-runtime/review/materializers.js +100 -11
- package/dist/core-runtime/review/nesting-batch.js +6 -2
- package/dist/core-runtime/review/obligation-shardability.js +138 -0
- package/dist/core-runtime/review/pipeline-execution-ledger.js +42 -2
- package/dist/core-runtime/review/review-artifact-utils.js +219 -7
- package/dist/core-runtime/review/review-execution-steps.js +32 -8
- package/dist/core-runtime/review/review-progress-contract.js +8 -0
- package/dist/core-runtime/review/review-prompt-budget.js +97 -0
- package/dist/core-runtime/review/semantic-quality-gate.js +33 -7
- package/dist/core-runtime/review/spreadsheet-review-disposition.js +94 -0
- package/dist/core-runtime/route-identity.js +182 -0
- package/dist/core-runtime/spreadsheet-header-escalation.js +204 -0
- package/dist/core-runtime/spreadsheet-structure-observer.js +2689 -0
- package/dist/core-runtime/target-material-kind.js +58 -0
- package/dist/mcp/server.js +27 -5
- package/dist/mcp/tool-schemas.js +8 -0
- package/dist/tui/app.js +167 -0
- package/dist/tui/data/event-follower.js +116 -0
- package/dist/tui/data/node-detail.js +42 -0
- package/dist/tui/data/projection-poll.js +26 -0
- package/dist/tui/data/session-discovery.js +65 -0
- package/dist/tui/index.js +108 -0
- package/dist/tui/screens/log.js +25 -0
- package/dist/tui/screens/node-detail.js +17 -0
- package/dist/tui/screens/session-selector.js +26 -0
- package/dist/tui/screens/workflow-tree.js +90 -0
- package/dist/tui/view-model/reconstruct-adapter.js +162 -0
- package/dist/tui/view-model/review-adapter.js +270 -0
- package/dist/tui/view-model/tree-view-model.js +19 -0
- package/package.json +20 -3
- package/settings.example.json +77 -16
|
@@ -60,7 +60,7 @@ runtime은 아래만 한다.
|
|
|
60
60
|
- `prompt-packets/synthesis/{issue_id}.prompt.md`
|
|
61
61
|
9. executor realization
|
|
62
62
|
- `worker`
|
|
63
|
-
- `
|
|
63
|
+
- `direct_call`
|
|
64
64
|
10. host runtime
|
|
65
65
|
- `codex`
|
|
66
66
|
- `openai`
|
|
@@ -108,6 +108,9 @@ runtime은 아래만 한다.
|
|
|
108
108
|
9. `execution-result.yaml`
|
|
109
109
|
10. `review-run-manifest.yaml`
|
|
110
110
|
11. `error-log.md`
|
|
111
|
+
12. `dispatch-incomplete.yaml` — dispatch breaker가 켜진 배치(lens/issue-stance)의
|
|
112
|
+
end state (완료/dead-letter/미완료 집합). 트립이든 완주든 기록하며, OFF에서는
|
|
113
|
+
쓰지 않는다
|
|
111
114
|
|
|
112
115
|
원칙:
|
|
113
116
|
|
|
@@ -121,6 +124,22 @@ runtime은 아래만 한다.
|
|
|
121
124
|
- `execution-result.yaml`은 actual execution truth의 canonical seat다
|
|
122
125
|
- `execution-result.yaml`과 `review-run-manifest.yaml`은 effective retry policy를 기록해야 한다
|
|
123
126
|
- `lens-completion-barrier.yaml`은 downstream stage 진입 gate다
|
|
127
|
+
- `review.execution.retry.dispatch_breaker`(opt-in)가 켜지면 lens/issue-stance
|
|
128
|
+
fan-out 풀의 **flat per-unit 루프**는 유닛의 최종 outcome을 계통 실패 분류
|
|
129
|
+
(rate_limit/auth/transport)로 관찰하고, 서로 다른 유닛에 걸친 연속 계통 실패가
|
|
130
|
+
임계에 닿으면 잔여 유닛을 디스패치하지 않고 halt한다 (`halt_reason` prefix
|
|
131
|
+
`dispatch_breaker:`, lens 풀은 `halt_phase=lens_dispatch_breaker`). 미완료
|
|
132
|
+
집합은 `dispatch-incomplete.yaml`이 회복 계약(재디스패치 집합 == 미완료 집합)
|
|
133
|
+
으로 영속하며, 트립 halt의 execution-result는 완료 유닛 행을 보존한다.
|
|
134
|
+
nested-workers 1차 배치가 실행된 스테이지도 breaker가 적용된다(§4-1): 배치-창
|
|
135
|
+
SUCCESS는 실 디스패치가 아니므로 완료로만 집계돼 계통 streak을 리셋하지 않고,
|
|
136
|
+
배치-창 FAILURE는 flat 경로처럼 실패로 분류된다(item-local→dead-letter, 계통→
|
|
137
|
+
회복 미완료 집합). 배치-실패 유닛의 flat 재시도가 계통 실패를 직접 관찰·구동
|
|
138
|
+
한다. lens/issue-stance 풀의 실제 dispatch width가 2 이상이면 runner가
|
|
139
|
+
breaker policy를 내부적으로 `concurrent:true`로 투영해 완료순서가 poison-vs-outage
|
|
140
|
+
회복 집합을 결정하지 못하게 한다. 이 값은 사용자 설정 키가 아니라 runtime-owned
|
|
141
|
+
execution projection이다. OFF(기본)는 현행 halt/배리어 동작이며 nested 경로도
|
|
142
|
+
무변경이다
|
|
124
143
|
- degraded case / partial failure는 `error-log.md`에 기록해야 한다
|
|
125
144
|
- runtime unavailable completion으로 root unit이 completed가 된 경우에도 원 실패는 child unit result로 보존하고 degradation evidence에 포함해야 한다
|
|
126
145
|
- `error-log.md`는 최소 한 번 `EffectiveBoundaryState`를 기록해야 한다
|
|
@@ -168,13 +187,18 @@ evidence로 쓰지 않는다.
|
|
|
168
187
|
|
|
169
188
|
현재 구현에서 prompt execution runner를 통해 실행되는 execution profile:
|
|
170
189
|
|
|
171
|
-
- `
|
|
172
|
-
- `
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
190
|
+
- `main-workers + codex|claude_code` (Codex CLI 또는 Claude Code CLI 경로)
|
|
191
|
+
- `main-workers + direct_call` (API/local provider 경로)
|
|
192
|
+
- `nested-workers + codex|claude_code` (outer OAuth worker가 ready unit batch를
|
|
193
|
+
fan-out하고, inner unit은 flat 경로와 동일한 unit-executor CLI/seat/검증 계약을
|
|
194
|
+
따른다)
|
|
195
|
+
|
|
196
|
+
`nested-workers + direct_call`은 outer worker seat가 없으므로
|
|
197
|
+
`nested_workers_executor_unsupported` structured failure로 fail-closed한다. raw
|
|
198
|
+
provider-CLI inner bridge는 retired 경로이며, active nested path의 계약은
|
|
199
|
+
`nesting-batch-worker-contract.md`가 소유한다. mock-backed nested harness는 wiring,
|
|
200
|
+
schema, artifact contract, route/failure 검증 evidence이며 product semantic
|
|
201
|
+
completion 또는 semantic quality evidence로 승격하지 않는다.
|
|
178
202
|
|
|
179
203
|
원칙:
|
|
180
204
|
|
|
@@ -93,8 +93,8 @@ material_profile:
|
|
|
93
93
|
target_material_kind: code
|
|
94
94
|
target_material_kind_candidates:
|
|
95
95
|
- code
|
|
96
|
-
support_status:
|
|
97
|
-
unsupported_reason:
|
|
96
|
+
support_status: supported
|
|
97
|
+
unsupported_reason: null
|
|
98
98
|
detection:
|
|
99
99
|
owner: runtime_heuristic
|
|
100
100
|
confidence: 0.92
|
|
@@ -157,8 +157,51 @@ This axis must stay separate from:
|
|
|
157
157
|
- `medium`: a cross-product reference and learning frame
|
|
158
158
|
|
|
159
159
|
The current runtime records material kind and detection confidence as a bounded
|
|
160
|
-
heuristic.
|
|
161
|
-
|
|
160
|
+
heuristic. Per-material review handling is implemented for **spreadsheet** through a
|
|
161
|
+
**single per-ref disposition** (`computeSpreadsheetDisposition`, the SSOT): every
|
|
162
|
+
spreadsheet honesty surface — `support_status`, `target_refs[].inspectable`/`.sha256`,
|
|
163
|
+
the `review_goal` obligations, the prompt `material_kind_obligations`, and the render
|
|
164
|
+
notes — **projects from one record computed once over the shared observation**, instead
|
|
165
|
+
of each surface re-deriving its claim from a different proxy. The structural inventory is
|
|
166
|
+
rendered into `materialized-input.md` with detail (formula text, named-range references,
|
|
167
|
+
data-validation rules incl. operator + formula bounds, protections, risk signals) —
|
|
168
|
+
**structure inspected only, not recalculated**.
|
|
169
|
+
|
|
170
|
+
Two distinct axes, deliberately not coupled:
|
|
171
|
+
|
|
172
|
+
- **`inspectable`** — the workbook was read (`unsupported_reason === null`) AND has
|
|
173
|
+
renderable structure, *including plain tabular data* (columns / per-column cardinality /
|
|
174
|
+
distinct-value counts). The aggregate-only rule is NARROWED, not preserved: the single
|
|
175
|
+
value-bearing field is `data_validations[].members` — bounded DECLARED type=list enum labels
|
|
176
|
+
parsed from a formula1 literal (never observed/free/high-cardinality cell values).
|
|
177
|
+
A clean CSV or a formula-free data `.xlsx` is `inspectable` and stays
|
|
178
|
+
`support_status: supported`. It is NOT coupled to whether any obligation is backed.
|
|
179
|
+
- **`backed_goals`** — the POSITIVE subset of the six obligations whose specific evidence
|
|
180
|
+
exists in that ref's inventory; this drives `review_goal`. `review_goal` therefore
|
|
181
|
+
carries **only the backed subset, not always all six**: a plain-data CSV backs none
|
|
182
|
+
(and so carries no spreadsheet obligation while remaining `supported`); a macro-only or
|
|
183
|
+
protection-only workbook backs only `access_and_protection_hygiene`. `structural_risk_signals`
|
|
184
|
+
is backed by genuine structural risk only — `unreadable_sheet_part` (an observation-failure
|
|
185
|
+
marker) and the `macro_present` / `external_links_present` signals (owned by other goals)
|
|
186
|
+
do not back it.
|
|
187
|
+
|
|
188
|
+
`support_status` runs the gate over the **union of resolved and materialized** spreadsheet
|
|
189
|
+
refs the prompt renders — **regardless of the resolved material kind**, so a `code`-resolved
|
|
190
|
+
target carrying a materialized workbook the observer could not read degrades to `partial`
|
|
191
|
+
(it is not gated only when the resolved kind is spreadsheet). If **any** rendered spreadsheet
|
|
192
|
+
ref is uninspectable the target is `partial`, with a reason naming each uninspected ref by
|
|
193
|
+
its full resolved path and actual cause; obligations are dropped only when **no** ref is
|
|
194
|
+
inspectable. A `supported`/`null` profile is never emitted for a workbook the render shows as
|
|
195
|
+
`unsupported`. The render emits obligation-backing detail **before** the per-sheet bodies so
|
|
196
|
+
the prompt embed cut cannot strip an obligation's evidence, and protected/hidden sheets beyond
|
|
197
|
+
the render cap are disclosed by count. Observation bounds the number of sheets read
|
|
198
|
+
(`max_sheets_observed`, conservatively high) and a CSV/workbook whose decode or parse throws
|
|
199
|
+
degrades to an honest `unsupported` inventory rather than aborting review prep.
|
|
200
|
+
|
|
201
|
+
`code`, `document`, `database`, and `unknown` retain their prior support states
|
|
202
|
+
until their per-material review adapters land. A spreadsheet inside a `mixed`
|
|
203
|
+
bundle does not yet receive spreadsheet obligations (a known limitation,
|
|
204
|
+
consistent with the `mixed` support state).
|
|
162
205
|
|
|
163
206
|
---
|
|
164
207
|
|
|
@@ -81,6 +81,7 @@ interface PipelineExecutionLedgerUnitEntry {
|
|
|
81
81
|
lastFailureMessage: string | null;
|
|
82
82
|
upstreamUnitIds: string[];
|
|
83
83
|
downstreamUnitIds: string[];
|
|
84
|
+
resolution?: "demoted";
|
|
84
85
|
executionTelemetry?: PipelineUnitExecutionTelemetry | null;
|
|
85
86
|
}
|
|
86
87
|
|
|
@@ -170,6 +171,16 @@ Execution telemetry rules:
|
|
|
170
171
|
competency-question assessment) so batching changes stay attributable.
|
|
171
172
|
- Units that made no LLM call carry no telemetry field; absence is not a
|
|
172
173
|
failure signal.
|
|
174
|
+
- `resolution: "demoted"` marks terminal resolution outside the trusted-output
|
|
175
|
+
path (bounded resubmit exhausted, complete-with-failure): the downstream
|
|
176
|
+
stage product consumed and disclosed the gap (review: issue-stance-matrix
|
|
177
|
+
`validation.missing_stances`), so the unit owes no further dispatch — it
|
|
178
|
+
must not reappear on the frontier, block convergence, or block downstream
|
|
179
|
+
upstream-trust. `status`/`lastFailureMessage` keep the audit truth
|
|
180
|
+
(typically `failed`); a resolved unit contributes no preserved artifacts.
|
|
181
|
+
Frontier/convergence consumers use `isResolvedLedgerUnit`
|
|
182
|
+
(trusted-or-resolved); artifact-preservation consumers keep
|
|
183
|
+
`isTrustedLedgerUnit`.
|
|
173
184
|
- Current population status: `reconstruct` populates telemetry from its run
|
|
174
185
|
manifest steps. `review` does not populate it yet.
|
|
175
186
|
|
|
@@ -81,7 +81,7 @@ the lexicon.
|
|
|
81
81
|
|
|
82
82
|
| Process | Required alignment |
|
|
83
83
|
|---|---|
|
|
84
|
-
| `review` | `review-target-profile.yaml` records `target_material_kind
|
|
84
|
+
| `review` | `review-target-profile.yaml` records `target_material_kind` and provides a per-material review adapter for `spreadsheet` via a **single per-ref disposition** (`computeSpreadsheetDisposition`): every honesty surface (`support_status`, `target_refs[].inspectable`, `review_goal`, prompt obligations, render notes) projects from one record. `inspectable` (the workbook was read and has renderable structure, *including plain tabular data*) drives `support_status`; the **positive** `backed_goals` subset drives `review_goal`, so `review_goal` carries only the backed obligations — a plain CSV is `supported`/`inspectable` yet backs none, and a macro/protection-only workbook backs only `access_and_protection_hygiene`. `support_status` degrades to `partial` when **any** rendered ref across the resolved∪materialized union is uninspectable (unsupported format .xls/.xlsb/.ods, unreadable/oversized/empty, or a corrupt shell), and the gate runs regardless of the resolved kind (a code target carrying a materialized uninspectable workbook also degrades). `code` stays `supported`, `document`/`database` stay `partial`, `mixed` stays `partial_composite`, and `unknown` stays `unknown` until their adapters land (precise per-kind states owned by `review-target-profile-contract.md` §6). Review `support_status` and reconstruct `runtime_implementation_status` are **independent per-process axes over the same shared inventory backing**: review `supported` does not imply the reconstruct seed pipeline is fully wired (it remains `partially_wired`). |
|
|
85
85
|
| `reconstruct` | Source profiles, source adapters, source observations, and directive validation must be keyed by `target_material_kind`. |
|
|
86
86
|
| `evolve` | Future adapters must not assume code-product inputs; adapter selection should start from `target_material_kind` as defined in `.onto/processes/evolve/material-kind-adapter-contract.md`. |
|
|
87
87
|
|
package/README.md
CHANGED
|
@@ -55,7 +55,19 @@ only host-owned config; it never writes onto runtime data. Override the
|
|
|
55
55
|
launched command or server name with `--command <cmd>` / `--name <id>`.
|
|
56
56
|
|
|
57
57
|
**Claude Code profiles.** Claude Code stores MCP servers per config directory
|
|
58
|
-
(`CLAUDE_CONFIG_DIR`).
|
|
58
|
+
(`CLAUDE_CONFIG_DIR`). To register every profile in one command, let `onto`
|
|
59
|
+
discover them — it scans `~/.claude` and `~/.claude-*` for real config dirs
|
|
60
|
+
(those carrying `settings.json`, `.credentials.json`, `.claude.json`, or
|
|
61
|
+
`projects/`) plus any ambient `CLAUDE_CONFIG_DIR`, and registers each:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
onto register --hosts claude-code --all-claude-profiles --yes # every profile
|
|
65
|
+
onto register --all --all-claude-profiles --yes # profiles + other hosts
|
|
66
|
+
onto register --all-claude-profiles --list # preview discovered profiles
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
To target a single profile instead, name it explicitly (mutually exclusive with
|
|
70
|
+
`--all-claude-profiles`):
|
|
59
71
|
|
|
60
72
|
```bash
|
|
61
73
|
onto register --hosts claude-code --claude-config-dir ~/.claude-1 --yes
|
|
@@ -284,6 +296,57 @@ LLM switcher axes:
|
|
|
284
296
|
|
|
285
297
|
Unsupported settings stop during profile resolution.
|
|
286
298
|
|
|
299
|
+
### provider·model 전환 (권장: `onto configure-provider`)
|
|
300
|
+
|
|
301
|
+
`settings.json`을 손으로 고치는 대신 `onto configure-provider`가 actor LLM 블록을
|
|
302
|
+
라우트 검증 후 기록합니다(units 등 다른 설정은 보존). 라우팅 불가능한 조합은 기록
|
|
303
|
+
전에 fail-loud 합니다.
|
|
304
|
+
|
|
305
|
+
```sh
|
|
306
|
+
# Codex (OpenAI) OAuth
|
|
307
|
+
onto configure-provider --provider openai --model gpt-5.5 --auth oauth \
|
|
308
|
+
--effort medium --service-tier fast
|
|
309
|
+
|
|
310
|
+
# Claude Code (Anthropic) OAuth
|
|
311
|
+
onto configure-provider --provider anthropic --model claude-opus-4-8 --auth oauth \
|
|
312
|
+
--effort high
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
- `--service-tier`는 `openai`+`oauth`(Codex) 경로 전용입니다 — anthropic에 주면
|
|
316
|
+
profile 해석 단계에서 거부됩니다.
|
|
317
|
+
- `--auth`를 주면 reconstruct actor 블록(`semantic_author`/`confirmation_provider`)도
|
|
318
|
+
함께 기록합니다. 생략하면 review actor만 기록하고 loader가 provider 기본 auth를 파생합니다.
|
|
319
|
+
- `--timeout-ms <ms>`는 각 actor `llm` 블록에 per-actor `timeout_ms`(양의 정수)를
|
|
320
|
+
함께 기록합니다 — codex/claude direct-call worker 호출 타임아웃(아래 [타임아웃](#타임아웃)
|
|
321
|
+
참고). api_key SDK 경로에는 적용되지 않습니다.
|
|
322
|
+
- `--project`는 프로젝트 seat(`.onto/settings.json`)에, 생략하면 사용자 seat
|
|
323
|
+
(`~/.onto/settings.json`)에 기록합니다.
|
|
324
|
+
- 지원 model id는 [`.onto/authority/supported-models.yaml`](.onto/authority/supported-models.yaml)가
|
|
325
|
+
authority입니다(현재 anthropic: `claude-opus-4-8`; `claude-sonnet-5`는
|
|
326
|
+
`semantic_map_synthesize` 역할 전용).
|
|
327
|
+
- 이 명령은 actor 블록만 기록합니다. `units[].llm.model`로 unit별 model을 고정해
|
|
328
|
+
두었다면(위 정적 프로필 예시가 그렇습니다) 같은 model로 바꾸거나 그 `model` 키를
|
|
329
|
+
지워 actor 값을 상속하게 하세요.
|
|
330
|
+
|
|
331
|
+
### 타임아웃
|
|
332
|
+
|
|
333
|
+
| 경로 | 기본값 | 조절 knob (우선순위) |
|
|
334
|
+
|---|---|---|
|
|
335
|
+
| review unit worker (codex/claude) | 240s (짧은 응답 단계 180s, `issue_stance_matrix` 120s) | `units[].timeout_ms` |
|
|
336
|
+
| direct-call CLI worker (codex/claude) — reconstruct·inline review | 600s | actor `llm.timeout_ms` → 없으면 `ONTO_LLM_TIMEOUT_MS` |
|
|
337
|
+
| SDK direct call (`api_key`) | 120s | `ONTO_LLM_TIMEOUT_MS` (ms) |
|
|
338
|
+
|
|
339
|
+
`llm.timeout_ms`(ms)는 actor `llm` 블록에 넣는 per-actor 값으로, codex/claude CLI worker
|
|
340
|
+
경로(reconstruct의 `semantic_author`/`confirmation_provider`, inline review actor)의 호출
|
|
341
|
+
타임아웃을 그 값으로 고정합니다. 없으면 env `ONTO_LLM_TIMEOUT_MS`, 그것도 없으면 기본값을
|
|
342
|
+
씁니다(api_key SDK 경로에는 적용되지 않고 `ONTO_LLM_TIMEOUT_MS`만 반영). 이 knob은 review의
|
|
343
|
+
`units[].timeout_ms`(worker 프로세스 bound)와 구분되는 별개 계층입니다.
|
|
344
|
+
|
|
345
|
+
`ONTO_LLM_TIMEOUT_MS`(ms)는 direct-call/CLI-worker와 SDK 경로 기본값을 전역으로 덮어씁니다.
|
|
346
|
+
opus 같은 프론티어 모델의 긴 단일-turn authoring도 600s worker 기본값으로 완료되므로 지원
|
|
347
|
+
모델에는 override가 필요 없습니다. 특정 review unit이 오래 걸리면 그 unit의
|
|
348
|
+
`units[].timeout_ms`만 키우면 됩니다(모든 unit에 큰 값을 박을 필요 없음).
|
|
349
|
+
|
|
287
350
|
## Documentation
|
|
288
351
|
|
|
289
352
|
| Document | Contents |
|
package/dist/cli.js
CHANGED
|
@@ -40,6 +40,8 @@ function printHelp() {
|
|
|
40
40
|
" mcp Start the MCP stdio tool server",
|
|
41
41
|
" register Register the onto MCP server into supported hosts",
|
|
42
42
|
" configure-provider Write LLM provider settings into the settings.json chain",
|
|
43
|
+
" seats List every LLM model seat, resolved (--json for machine output)",
|
|
44
|
+
" watch Live read-only TUI for review/reconstruct sessions",
|
|
43
45
|
"",
|
|
44
46
|
"Available MCP tools:",
|
|
45
47
|
" onto_review",
|
|
@@ -63,7 +65,7 @@ function printHelp() {
|
|
|
63
65
|
function unsupportedCommandMessage(subcommand) {
|
|
64
66
|
return [
|
|
65
67
|
`[onto] Unsupported public CLI subcommand: ${subcommand}`,
|
|
66
|
-
"Active public commands: onto mcp, onto register, onto configure-provider",
|
|
68
|
+
"Active public commands: onto mcp, onto register, onto configure-provider, onto seats, onto watch",
|
|
67
69
|
].join("\n");
|
|
68
70
|
}
|
|
69
71
|
async function main() {
|
|
@@ -80,10 +82,18 @@ async function main() {
|
|
|
80
82
|
const { runRegister } = await import("./core-runtime/onboard/register.js");
|
|
81
83
|
return runRegister(argv.slice(1));
|
|
82
84
|
}
|
|
85
|
+
case "watch": {
|
|
86
|
+
const { runWatch } = await import("./tui/index.js");
|
|
87
|
+
return runWatch(argv.slice(1));
|
|
88
|
+
}
|
|
83
89
|
case "configure-provider": {
|
|
84
90
|
const { runConfigureProvider } = await import("./core-runtime/onboard/configure-provider.js");
|
|
85
91
|
return runConfigureProvider(argv.slice(1));
|
|
86
92
|
}
|
|
93
|
+
case "seats": {
|
|
94
|
+
const { runSeats } = await import("./core-runtime/cli/run-seats.js");
|
|
95
|
+
return runSeats(argv.slice(1));
|
|
96
|
+
}
|
|
87
97
|
case "--version":
|
|
88
98
|
case "-v": {
|
|
89
99
|
const version = await readOntoVersion();
|