"""Creates and removes a disposable synthetic local Git repository. No network."""
from pathlib import Path
import tempfile,subprocess,json,os
def demo():
    env={k:v for k,v in os.environ.items() if not k.startswith('GIT_')}
    env.update({'GIT_CONFIG_NOSYSTEM':'1','GIT_CONFIG_GLOBAL':os.devnull,'GIT_AUTHOR_NAME':'Synthetic Fixture','GIT_AUTHOR_EMAIL':'fixture@example.invalid','GIT_COMMITTER_NAME':'Synthetic Fixture','GIT_COMMITTER_EMAIL':'fixture@example.invalid','GIT_AUTHOR_DATE':'2026-10-10T00:00:00Z','GIT_COMMITTER_DATE':'2026-10-10T00:00:00Z'})
    with tempfile.TemporaryDirectory(prefix='fewertools-worktree-') as tmp:
        root=Path(tmp);main=root/'main';main.mkdir()
        def git(where,*args):
            return subprocess.run(['git','-C',str(where),*args],env=env,capture_output=True,text=True,check=True).stdout.strip()
        git(main,'-c','init.templateDir=','init','-b','main');(main/'answer.txt').write_text('baseline\n')
        git(main,'add','answer.txt');git(main,'commit','-m','Synthetic baseline')
        start=git(main,'rev-parse','HEAD')
        git(main,'worktree','add','-b','trial-a',str(root/'trial-a'),start)
        git(main,'worktree','add','-b','trial-b',str(root/'trial-b'),start)
        (root/'trial-a/answer.txt').write_text('candidate A\n')
        checks={'mainContentUnchanged':(main/'answer.txt').read_text()=='baseline\n','otherWorktreeContentUnchanged':(root/'trial-b/answer.txt').read_text()=='baseline\n','sameStartingCommit':all(git(root/x,'rev-parse','HEAD')==start for x in ('trial-a','trial-b')),'sharedCommonDirectory':len({str((root/x/git(root/x,'rev-parse','--git-common-dir')).resolve()) for x in ('main','trial-a','trial-b')})==1}
        assert all(checks.values()),checks
        return {'scope':'Local Git fixture only; no AI tool executed','gitVersion':git(main,'--version'),'startingCommit':start,'checks':checks,'checkCount':len(checks),'nativeProviderExecutions':0}
if __name__=='__main__':print(json.dumps(demo(),sort_keys=True,indent=2))
