9.3 KiB
作成
LocalTicketBackend によって作成されました。
Intake summary
Marked ready by yoi ticket state.
State changed
Marked ready by yoi ticket state.
State changed
Ticket を workspace-panel が queued にしました。
Decision
Routing decision: implementation_ready
Reason:
- Ticket includes a concrete
schema-v0.mdartifact defining the Workspace DB canonical schema target and migration stance。 - Artifact is precise enough to implement a non-breaking schema/migration alignment slice and/or finish design documentation without inventing semantics。
- Relations are non-blocking context relations; no blocker relation is recorded。
- Current Workspace backend has an older bootstrap SQLite schema in
crates/workspace-server/src/store.rswithruns,ticket_projections,objective_projections, and run-linked artifacts, whileschema-v0.mdexplicitly says no separateRunentity and Host/Worker are live views. This gives a concrete implementation alignment target。 - Orchestrator worktree is clean on
orchestrationatb7c890d3; target worktree / branch is not present。 - Current queued Ticket is this Ticket only。
Evidence checked:
- Ticket body / thread / artifacts via
TicketShowand direct read ofartifacts/schema-v0.md。 TicketRelationQuery(00001KVNKD56W): 2 relation records, no blocking relation reported。TicketOrchestrationPlanQuery(00001KVNKD56W): no records。TicketList(state=queued): this Ticket is the only queued Ticket。- Orchestrator git state / branch list checked from
/home/hare/Projects/yoi/.worktree/orchestrationonly。 - Bounded code map:
crates/workspace-server/src/store.rscurrently owns SQLite migrations and schema versioning。- Current store still has bootstrap
runsand projection-oriented tables;schema-v0.mdsays v0 should not include separateruns, Host/Worker canonical DB tables, generic JSON blobs, or validation result tables。 - Current repository/objective/ticket read APIs are filesystem read-through and must keep working。
IntentPacket:
Intent:
- Turn the Workspace DB canonical schema v0 design into a durable implementation/design artifact and align the current SQLite bootstrap migration where safely non-breaking。
Binding decisions / invariants:
- Ticket and Objective filesystem records remain the active authority; do not switch write authority to DB。
- No generic JSON/payload/metadata columns in the v0 canonical schema。
- Do not add canonical
hosts/workersDB tables; Host/Worker remain live runtime views。 - Do not add a top-level
runscanonical table; execution history belongs to Ticket events, TicketWorkerLinks, and Artifacts。 - Do not add CI/validation result tables in this Ticket。
- Do not add Actor table in v0; authorship is embedded typed snapshot fields。
- Keep existing Workspace APIs/tests working。
- Non-breaking migration is acceptable; destructive migration of existing user DBs is not required in this slice unless clearly safe and tested。
Requirements / acceptance criteria:
schema-v0.mdremains consistent with implemented/bootstrap migration semantics。- Workspace-server migration/schema tests cover new v0 schema version and expected tables/absence of forbidden tables。
- Empty/safe tables from minimal implementation guidance may be added:
repositories,ticket_targets,ticket_target_paths,ticket_worker_links,artifacts,audit_events, and supporting Ticket/Objective current/event tables if included。 - Remove or replace obsolete
runstable/API/store concept if it conflicts with v0, or clearly demote it to non-canonical compatibility only if removal is out of scope。 - No canonical host/worker tables are added。
- Existing filesystem read-through APIs for Tickets/Objectives/Repository pages keep passing。
- Docs/tests make clear that Host/Worker API is live view and Ticket thread/events are execution authority。
Implementation latitude:
- If full schema migration is too large, implement the smallest safe migration alignment plus tests and record remaining tables as future follow-up comments。
- Prefer typed tables/columns over catch-all text/json columns。
- SQLite schema version can advance if migrations change。
runsAPI placeholder may be removed if no longer used; ensure frontend/tests do not depend on it。- Keep API surface read-only unless Ticket explicitly requires otherwise; this one does not require write APIs。
Escalate if:
- Removing current
runstable/API would break existing accepted frontend or tests in a way that needs product decision。 - Existing DB migration compatibility requires a complex destructive migration or data backfill policy。
- Implementing full TicketEvents/TicketWorkerLinks/Artifacts read/write surfaces grows beyond schema/bootstrap alignment。
- Schema design conflicts with recent Repository/Objectives pages in a way not anticipated by artifact。
Validation plan:
cargo fmt --checkcargo test -p yoi-workspace-servercargo check -p yoi-workspace-servergit diff --checkcargo run -p yoi -- ticket doctornix build .#yoi --no-linkif package/source/dependency behavior changes。- Deno check/build only if frontend/runs API removal touches frontend。
State changed
Human authorized queue routing from Workspace Dashboard. Ticket has a concrete schema-v0 design artifact and current workspace-server migration has a clear non-breaking alignment target, so Orchestrator accepts implementation/design alignment.
Implementation report
Implementation start report:
- Created child implementation worktree:
/home/hare/Projects/yoi/.worktree/00001KVNKD56W-workspace-db-schema-v0
- Created branch:
impl/00001KVNKD56W-workspace-db-schema-v0
- Base commit:
f17a458a ticket: accept workspace db schema v0
- Confirmed tracked Ticket project records are visible in the child worktree。
- Confirmed
.yoi/memoryhas no tracked/untracked entries in the child worktree check。 - Spawned sibling Coder Pod:
yoi-coder-00001KVNKD56W
- Coder scope:
- read:
/home/hare/Projects/yoi - write:
/home/hare/Projects/yoi/.worktree/00001KVNKD56W-workspace-db-schema-v0
- read:
Next action:
- Wait for Coder implementation/design-alignment report, then spawn Reviewer read-only for the implementation diff。
Implementation report
Coder implementation report received from yoi-coder-00001KVNKD56W.
Implementation commit:
5149ab70 workspace: implement db schema v0 bootstrap
Changed areas:
.yoi/tickets/00001KVNKD56W/artifacts/schema-v0.md- Added implementation alignment notes for SQLite schema version 2。
- Documented legacy preservation/demotion for old bootstrap tables。
crates/workspace-server/src/store.rs- Replaced old bootstrap schema with Workspace DB canonical schema v0 tables。
- Advanced schema version to
2。 - Added typed v0 tables:
tickets,ticket_events,ticket_relations,objectives,objective_ticket_links,repositories,ticket_targets,ticket_target_paths,ticket_worker_links,artifacts,audit_events。 - Removed active/canonical
runsstore concept andRunSummary。 - Added legacy migration handling that renames old bootstrap tables to
legacy_*preservation tables instead of treating them as canonical。 - Added tests for fresh v0 schema boundaries and legacy upgrade behavior, including forbidden table absence。
crates/workspace-server/src/server.rs- Removed
/api/runsroute。 - Kept Host/Worker APIs as live runtime views。
- Added test coverage that
/api/runsis no longer served。
- Removed
web/workspace/src/routes/+page.svelte- Removed Runs endpoint card/reference。
Coder validation reported:
cargo fmt --check: passedcargo test -p yoi-workspace-server: passedcargo check -p yoi-workspace-server: passedgit diff --check: passedcargo run -p yoi -- ticket doctor: passed (doctor: ok)cd web/workspace && deno task check: passedcd web/workspace && deno task build: passed
Not run by Coder:
nix build .#yoi --no-link: not run because no dependency/package/source-filter changes。
Orchestrator evidence checked:
- Worktree clean on
impl/00001KVNKD56W-workspace-db-schema-v0at5149ab70。 - Diff
f17a458a..HEADtouches expected design/backend/frontend files only。 git diff --check f17a458a..HEAD: passed。- Deno validation generated ignored frontend artifacts; Orchestrator removed
web/workspace/node_modules/,.svelte-kit/, andbuild/before Reviewer routing。
Next action:
- Route to read-only Reviewer Pod for acceptance review。