spec-kitty / spec-kitty/spec-kitty

Make charter operations respect owned worktrees and activate hosted-binding recovery doctrine

Open
#4,250 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1.6k
Forks
165
Avg merge
14h 22m
Merged PRs (30d)
343

Description

SaaS incident recovery parent: https://github.com/spec-kitty/spec-kitty-saas/issues/1713 (program #1711).

While implementing activated recovery doctrine in a canonical runtime lane, `spec-kitty charter new` wrote new project artifacts into the repository-root checkout and `charter context` read that checkout's stale authority. Version 3.2.7: doctrine.new uses locate_project_root(); charter.context uses find_repo_root(), whose contract deliberately returns the main checkout. `charter activate` accepts an explicit hidden --repo-root, so activation and context can disagree about the owner. No installed tool was modified; only newly created untracked scaffolds were moved to their intended lane.

Implement supported explicit owned-checkout selection at the canonical charter authoring/context entry points, validated against repository identity and linked-worktree ownership. Preserve default semantics and refusal outside valid ownership. Add real linked-worktree CLI regressions proving target-only writes, lane-specific effective activation and no leakage from an inactive or stale primary charter.

Also activate CLI_HOSTED_BINDING_COMPATIBILITY and its verification procedure in this project's existing charter: stable provider repository ID survives renamed/transferred locators, supported CLI/SaaS/relay contract versions are explicit, unavailable/denied/mismatched identity fails closed, and source release is distinct from deployment/repair completion. Preserve canonical-source, credential, role separation and red-main doctrine.

Acceptance: independently reviewed runtime WPs, actual canonical activation/context positive and negative witnesses, source/tests plus current usage docs, and program receipt naming source revision, authority digest and consumer. No production mutation, merge, deployment or claims of installed protection belong to this issue.

Contributor guide

Open the contributing guide

Research direction

Start at the `spec-kitty charter new`, `charter context`, and `charter activate` entry points, comparing `doctrine.new`/`locate_project_root()` with `charter.context`/`find_repo_root()` and the explicit `--repo-root` path. Add linked-worktree CLI regressions for target-only writes, lane-specific activation, and stale-primary isolation, then verify the existing charter's hosted-binding procedure and receipt requirements without production mutation.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, python
Domain
cli, developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.