yoi/.yoi/tickets/open/20260607-062902-narrow-yoi-worktree-sparse-exclusions/thread.md

5.5 KiB

Created

Created by LocalTicketBackend create.


Plan

Preflight / implementation intent

Classification: implementation-ready and should run before memory-root-uses-yoi-memory-marker.

Intent:

  • Stop treating child worktrees as code-only surfaces that exclude all .yoi/**.
  • Keep Yoi project records visible in child worktrees where useful: Tickets, workflows, curated Knowledge, and project config.
  • Continue excluding generated/personal/local runtime state, especially .yoi/memory.

Updated decision from discussion:

  • .yoi remains the project records/workspace marker.
  • .yoi/memory is the repo-local memory marker and should not be copied into child worktrees.
  • The worktree workflow should stop saying child worktrees must not contain .yoi; it should instead define which .yoi subpaths are included/excluded and how Ticket edits are split between branch-local artifacts and main-workspace final records.

Implementation direction:

  • Update .yoi/workflow/worktree-workflow.md:
    • replace !/.yoi/** sparse rules with narrower exclusions for .yoi/memory, logs, locks, local/runtime/secret-like paths;
    • update validation from test ! -e .../.yoi to checks that memory/local paths are absent and project records are allowed;
    • update child-worktree prohibitions from “no .yoi” to “no generated memory/local/runtime files”;
    • define Ticket edit policy: branch-local artifacts/dossiers may live in child worktree; active orchestration progress and final review/close remain main-workspace responsibilities unless explicitly designed otherwise.
  • Update .yoi/workflow/multi-agent-workflow.md where it still says .yoi is excluded or that Ticket/workflow/docs records are always main-workspace-only.
  • Update generated role guidance/tests if code still says child worktrees exclude .yoi broadly.
  • Keep the change focused on worktree sparse/workflow policy; memory root detection changes belong to memory-root-uses-yoi-memory-marker.

Validation:

  • Run focused tests for any crate touched.
  • Run target/debug/yoi ticket doctor, cargo fmt --check, and git diff --check.
  • If only workflow/docs change, no broad cargo tests are required beyond relevant prompt/guidance tests if touched.

Intake summary

Implementation-ready: keep .yoi as the project records marker, stop excluding all .yoi/** from child worktrees, include tracked project records, exclude .yoi/memory/logs/local/runtime files, and update workflow/role guidance plus Ticket edit policy. Memory root detection remains a separate follow-up ticket.


State changed

Ticket intake complete; workflow_state intake -> ready.


Implementation report

Delegation

Implementation delegated to child Pod narrow-yoi-worktree-coder-20260607 in worktree .worktree/narrow-yoi-worktree-sparse-exclusions on branch work/narrow-yoi-worktree-sparse-exclusions.

This worktree intentionally uses the proposed narrower sparse rules:

  • includes .yoi project records;
  • excludes .yoi/memory, memory logs, ticket backend lock, and local/runtime paths.

Scope:

  • Update worktree-workflow and multi-agent-workflow away from .yoi whole-directory exclusion.
  • Define project-record vs generated-memory/local-runtime boundaries.
  • Update role guidance/tests if they still say child worktrees exclude all .yoi.
  • Do not implement memory-root detection; memory-root-uses-yoi-memory-marker follows after this.

The child should commit implementation work in the child worktree and report diff/tests. Merge, review, Ticket closure, and cleanup remain with the parent/human workflow.


Implementation report

Implementation report

Coder Pod narrow-yoi-worktree-coder-20260607 completed implementation in .worktree/narrow-yoi-worktree-sparse-exclusions.

Commit:

  • ee85b51 workflow: narrow yoi worktree sparse exclusions

Reported summary:

  • Updated .yoi/workflow/worktree-workflow.md so child worktrees may include tracked .yoi project records.
  • Replaced broad .yoi/** sparse exclusion guidance with narrower exclusions for .yoi/memory, logs, locks, local/runtime/cache/tmp/session/socket/pod state, and secret-like paths.
  • Updated validation guidance to allow .yoi while checking .yoi/memory and local/runtime/log/lock/secret-like paths are absent.
  • Added explicit Ticket edit policy: branch-local artifacts/dossiers may live in child worktrees; active orchestration progress and final review/approval/close stay main-workspace responsibilities.
  • Updated .yoi/workflow/multi-agent-workflow.md to stop describing .yoi as broadly excluded and to clarify child-worktree project-record boundaries.
  • Updated generated role guidance/tests in crates/client/src/ticket_role.rs and crates/tui/src/multi_pod.rs.
  • Did not implement memory root detection and did not recreate .yoi/memory.

Reported 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
  • nix build .#yoi

External review will be delegated before merge.