5.1 KiB
5.1 KiB
作成
LocalTicketBackend によって作成されました。
Plan
Workspace Backend config file schema を定義する Ticket として詳細化した。
決定:
- 新規 Backend 設定項目は CLI flag として増やさない。
- config file は固定 path
<workspace_root>/.yoi/workspace-backend.local.tomlから読む。 - config file は workspace-local だが
.local名にして git 管理外にする。 - config は server/listen/static assets/data path override/limits/remote runtime source などの方針だけを持つ。
- data 本体、workspace identity、Ticket/Objective、Runtime fs-store、transcript、secret 値は config file に入れない。
Intake summary
Marked ready by yoi ticket state.
State changed
Marked ready by yoi ticket state.
State changed
Ticket を yoi ticket が queued にしました。
State changed
State changed to inprogress.
Implementation report
Implemented Workspace Backend config file schema and resolver.
Changes:
- Added
workspace_server::configwithWorkspaceBackendConfigFileserde TOML schema. - Fixed config path:
<workspace_root>/.yoi/workspace-backend.local.toml. - Config file absence resolves to defaults.
- Unknown TOML fields are rejected via
deny_unknown_fields. - Relative paths resolve from workspace root; absolute paths are preserved.
- Added resolved config boundary for
ServerConfig, listen address, and database path. - Added data root derivation for
workspace.dbandembedded-runtime. - Added remote runtime config schema with
token_ref, while failing closed until secret ref resolution exists; raw token values are not in schema. - Updated
yoi-workspace-server serveto load config before applying existing legacy dev CLI overrides. - Added focused tests for defaults, unknown fields, path resolution, data root derivation, secret value rejection, and token_ref fail-closed behavior.
Validation:
cargo test -p yoi-workspace-servercargo check -p yoicargo fmt --checkgit diff --checknix build .#yoi --no-link
State changed
State changed to done.
State changed
Ticket を closed にしました。
完了
Implemented Workspace Backend config file schema and resolver.
Delivered:
WorkspaceBackendConfigFileTOML schema withserver,data,limits, andruntimes.remotesections.- Fixed workspace-local config path
.yoi/workspace-backend.local.toml. - Defaults when config file is absent.
- Unknown-field rejection.
- Workspace-root relative path resolution and absolute path preservation.
- Resolved config boundary for
ServerConfig, listen address, and database path. - Data root derivation for
workspace.dbandembedded-runtime. - Secret value exclusion from schema;
token_reffails closed until secret ref resolution is implemented. yoi-workspace-server serveloads config and applies only existing legacy dev CLI overrides.- Focused tests for defaults, unknown fields, path handling, data overrides, and secret field behavior.
Validation:
cargo test -p yoi-workspace-servercargo check -p yoicargo fmt --checkgit diff --checknix build .#yoi --no-link
Implementation report
Moved the Workspace Backend default config template into runtime resources and wired init-time copying.
Changes:
- Added
resources/workspace-backend.default.tomlas the packaged template source. - Embedded the template with
include_str!fromworkspace-server::config. - Added
.yoi/workspace-backend.default.tomlas the workspace-local copied template path. yoi-workspace-server servenow ensures the default template exists after workspace identity initialization and before reading.localconfig.- Copying uses create-new semantics and does not overwrite an existing workspace-local default template.
- Removed the previously untracked
.yoi/workspace-backend.default.tomlworkspace copy from the repository root.
Validation:
cargo fmt --checkcargo test -p yoi-workspace-servercargo check -p yoi- TOML parse check with Deno
git diff --checknix build .#yoi --no-link