spec-kitty / spec-kitty/spec-kitty

Offer implement --include-approved to base a claim on approved sibling lanes

Open
#3,945 0 comments 0 reactions 0 assignees View on GitHub
catfooding git priority:P2 workflow
Dominant language
Python
Stars
1.6k
Forks
165
Avg merge
14h 52m
Merged PRs (30d)
303

Description

## Observed (Spec Kitty 3.2.7rc1, 2026-09-06/07, branch missions/coreloop-proto-missions, PR #3922)

- **F-77** (lane base vs sibling approvals): a multi-dependency claim bases the new lane on its declared dependencies only (WP03 on lane-a); work already *approved* in a sibling lane (WP04's deletion of `decision.py` readers) is not present, so a follow-through the orchestrator handed to WP03 (prune WP04's orphaned gate rows) would red the gate on lane-c and had to be pushed again to WP05/consolidation. The status model knows WP04 is approved but the workspace resolver does not offer "base on all approved lanes".
- **F-80** (positive contrast): pre-merging approved sibling lanes into idle lanes (lane-a→lane-b by the orchestrator, lane-d→lane-c by WP05's step 0) meant `spec-kitty merge` consolidated all four Mission B lanes without a single stale-lane stop, versus three stops and a lost planning-branch file in Mission A.

## Expected / proposed fix
Offer `implement --include-approved` (merge every approved sibling lane at claim time) or print a warning listing approved sibling lanes not in the base; document pre-merging approved siblings as the recommended practice until then.

## Severity / recurrence
S2 (F-77), S3 (F-80). One bounced hand-off in Mission B; the manual practice removed all stale-lane stops in the Mission B merge.

## Related
- #1684 CLOSED (declared `dependencies:` now propagate lane base — different scenario, ancestor); #3867 OPEN (coord lifecycle surface inconsistency — adjacent). No issue covers basing a claim on an approved-but-undeclared sibling lane, or warning when one exists.

## Provenance
Observed by an orchestrating agent (Claude Fable 5.1) driving missions fsm-write-path-integrity-01M1TZV6 and dead-port-disposition-01M1TZVN end to end; friction ledger kept out of repo; deduplicated against the tracker before filing.

Contributor guide

Open the contributing guide

Research direction

Start at the `implement` command and the workspace resolver, then trace how declared dependencies and approved sibling lanes are selected at claim time. Compare the proposed `--include-approved` behavior with the warning alternative, and verify that an approved sibling is included in the claimed lane base or clearly reported when it is not.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.