From 4d5492c99812238942dd8e8634a7892c742ab2d1 Mon Sep 17 00:00:00 2001 From: Hare Date: Sun, 7 Jun 2026 16:38:00 +0900 Subject: [PATCH] ticket: approve yoi worktree sparse exclusions --- .../item.md | 2 +- .../thread.md | 72 +++++++++++++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) diff --git a/.yoi/tickets/open/20260607-062902-narrow-yoi-worktree-sparse-exclusions/item.md b/.yoi/tickets/open/20260607-062902-narrow-yoi-worktree-sparse-exclusions/item.md index b496b34e..cc698295 100644 --- a/.yoi/tickets/open/20260607-062902-narrow-yoi-worktree-sparse-exclusions/item.md +++ b/.yoi/tickets/open/20260607-062902-narrow-yoi-worktree-sparse-exclusions/item.md @@ -8,7 +8,7 @@ priority: P1 labels: [worktree, workflow, memory, ticket, orchestration] workflow_state: ready created_at: 2026-06-07T06:29:02Z -updated_at: 2026-06-07T07:28:48Z +updated_at: 2026-06-07T07:37:53Z assignee: null legacy_ticket: null --- diff --git a/.yoi/tickets/open/20260607-062902-narrow-yoi-worktree-sparse-exclusions/thread.md b/.yoi/tickets/open/20260607-062902-narrow-yoi-worktree-sparse-exclusions/thread.md index 7e98fae8..36916414 100644 --- a/.yoi/tickets/open/20260607-062902-narrow-yoi-worktree-sparse-exclusions/thread.md +++ b/.yoi/tickets/open/20260607-062902-narrow-yoi-worktree-sparse-exclusions/thread.md @@ -111,3 +111,75 @@ Reported validation: External review will be delegated before merge. --- + + + +## Review: request changes + +Request changes. + +Blocker: +- `worktree-workflow` sparse-checkout rules do not exclude recursive `.yoi/**/_logs/**`, even though the Ticket explicitly requires generated log paths under `.yoi/**/_logs/**` to remain out of child worktrees. + +Evidence: +- `.yoi/workflow/worktree-workflow.md` only excludes root log dirs: + - `!/.yoi/logs/` + - `!/.yoi/logs/**` + - `!/.yoi/_logs/` + - `!/.yoi/_logs/**` +- There is no committed recursive `_logs` sparse rule. +- The validation block checks for any `*/_logs` directory, so a tracked nested `.yoi//_logs/...` path would be allowed by sparse-checkout and then fail validation rather than being excluded by the rules. + +Suggested minimal fix: +- Add recursive sparse exclusions such as: + - `!/.yoi/**/_logs/` + - `!/.yoi/**/_logs/**` +- Consider whether the same recursive treatment is intended for `logs`, `locks`, `local`, `runtime`, `pods`, `sessions`, `sockets`, `tmp`, `cache`, and `secrets`; the required blocker is strongest for `_logs` because the Ticket names `.yoi/**/_logs/**` explicitly. + +Other checks passed: +- Workflow docs no longer require whole-directory `.yoi` exclusion. +- Project records are allowed in child worktrees. +- Ticket edit policy is clear enough and keeps final review/approval/close as main-workspace responsibilities. +- Generated role guidance/tests align with the new boundary. +- Memory root detection was not changed. + +Reviewer validation: +- `cargo test -p client ticket_role --lib` +- `cargo test -p tui ticket_queue_notification --lib` +- `target/debug/yoi ticket doctor` +- `cargo fmt --check` +- `git diff --check develop...HEAD` +- `nix build .#yoi` +- `git merge-tree --write-tree develop HEAD` + +Merge readiness: not ready until recursive `_logs` sparse exclusion is fixed. + +--- + + + +## Review: approve + +Approved after fixup commit `6f33275`. + +Evidence: +- Previous blocker is fixed in `.yoi/workflow/worktree-workflow.md`: sparse rules now include both `!/.yoi/**/_logs/` and `!/.yoi/**/_logs/**`. +- Nearby guidance explicitly says generated log trees exclude root `_logs` and recursive `.yoi/**/_logs/**`. +- No broad `.yoi/**` exclusion was reintroduced. +- `.yoi` project records remain allowed in child worktrees. +- Generated/local state remains excluded: `.yoi/memory`, logs, locks, local/runtime/pods/sessions/sockets/tmp/cache/secrets, local overrides, and secret-like files remain listed in sparse rules. +- Ticket edit policy remains intact: active orchestration progress and final review/approval/close remain main-workspace responsibilities. +- Memory root detection was not changed; diff remains limited to workflow/guidance files. + +Reviewer validation: +- `cargo test -p client ticket_role --lib` +- `cargo test -p tui ticket_queue_notification --lib` +- `target/debug/yoi ticket doctor` +- `cargo fmt --check` +- `git diff --check develop...HEAD` +- `nix build .#yoi` +- `git merge-tree --write-tree develop HEAD` + +Merge readiness: approved; worktree clean at `6f33275`. + +---