worktree start does not link gitignored runtime files (.venv, .sdlc/project.yaml) #982
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#982
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The
worktree startcommand does not link gitignored runtime files into a new worktree. A worktree for a project that depends on these files cannot run its test suite. The programmer repair rounds cannot fix this, because the defect is in the environment and not in the code.Observed
worktree start ticket-13in/home/jared/projects/financeprinted:It did not link
.sdlc/project.yamlor the gitignored.venv/directory.The finance test suite calls
.venv/bin/bean-query. In the worktree, 4 tests failed with:The os-sdlc suite-check gate failed 3 times. The run escalated with
bound_exhausted:suite-check/fail(implementation 1, ticket forgejo:jared/finance#13).The orchestrator fixed the defect by hand. It ran
ln -s /home/jared/projects/finance/.venv .venvand copied.sdlc/project.yamlinto the worktree.Reproduce
Run the second command inside the new worktree. It fails with
No such file or directorybecause.venvis not linked.Approach
Suggested direction only. This is not a decision.
.cc-os/config..sdlc/project.yamlby default.ENOENTon a gitignored path as an environment defect, not a code failure.Origin
worktree start ticket-13in/home/jared/projects/finance, followed by the suite-check gate run for forgejo:jared/finance#13.ln -s /home/jared/projects/finance/.venv .venvand a manual copy of.sdlc/project.yaml.ENOENTon.venv/bin/bean-query←worktree startdoes not link gitignored runtime files. Stop end:IMPROVISATION(the manual symlink and copy above).worktreeCLI (os plugin) start linking.Discoverer: /home/jared/projects/finance, session c3082dee-a586-4348-8b60-57e64b92833a, 2026-10-10. The worktree start linking step omits gitignored runtime files that the test suite needs.
Evidence folded in from #526 (older, closed as superseded): hyperthrive-websites, session 01WczDUXXTYSuFuZNRQQLf49, 2026-09-03. After 'worktree start ticket-19' the worktree had .sdlc/pipeline.db linked but not .sdlc/project.yaml (gitignored in main), so os-sdlc-runner could not open the project; the user copied the file by hand. #526 expected one of two fixes: start links or copies project.yaml, or os-sdlc-runner resolves project.yaml from the main checkout. The second option is not in this ticket's Approach. Acceptance criteria #526 had: none beyond the expected behavior. Add one here: given a gitignored .sdlc/project.yaml in the main checkout, os-sdlc-runner opens in a new worktree.
From #1589 port check: FIXED for the config route, but not by the port; it is not related to the port. Links reads worktree-symlinks from .cc-os/config and links each entry that exists in the main checkout (plugins/os-git/lib/os_git/worktree/links.rb:72,127-134), so .venv and .sdlc/project.yaml link when listed. The port keeps this. There is no default link for them, and the suite-check ENOENT classification idea is not in this code. Not closed.