Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

Pokračovat ve správném worktree, nikdy proti cizí úloze

Najděte předávku, která patří k tomuto worktree a větvi, a podívejte se, jak se záznam úlohy z jiného checkoutu hlásí jako cizí, místo aby se tu vynucoval.

zaručeno Relace a předávkapokročilýagentzapisuje stav

Situace

Dva checkouty jednoho repozitáře, dva workeři. Záznam úlohy, který putuje s větví do worktree, jenž si ho nikdy nenárokoval, by držel špatného člověka u špatného rozsahu a předávka z jiné větve nabídnutá jako ta, z níž se má pokračovat, by poslala dalšího workera špatnou cestou.

Co spouštíte

  • handover --resolve: nejrelevantnější předchozí předávka pro tento worktree a větev, nebo jasná absence
  • check: odmítne vyhodnotit úlohu, kterou tento checkout nevlastní
  • context: vlastní identita této worktree, bez úlohy vypůjčené odjinud

Scénář

setup: two-worktrees
given:
  - 'installed and wired, with a second worktree on another branch holding an active task scoped to lib'
steps:
  - id: nothing-here
    run: ['handover', '--resolve']
    note: 'no handover was written for this worktree and branch; absence is reported, never a record from elsewhere'
    expect:
      exit: 0
      stdout_contains: ['No relevant handover']
  - id: not-my-task
    run: ['check']
    note: 'the other worktree’s task is not this checkout’s; check reports no active task here instead of holding this checkout to a scope it never claimed'
    expect:
      exit: 12
      stdout_contains: ['no active task']
  - id: read-only-view
    run: ['context']
    note: 'what this worktree knows: its own git identity and no task'
    expect:
      exit: 0
      stdout_contains: ['^## GIT', 'none active']
then:
  - 'handover --resolve never offered a record from another branch'
  - 'check did not enforce the other worktree’s scope here'
  - 'local state under .ai/local/ is this checkout’s own and untracked'

Výsledek

Záznamy se řeší podle worktree a větve. Co dělá jiný checkout, je viditelné přes překryv, ne zde vynucené, a nic pod .ai/local/ se nesdílí přes git.

Scénář

Provedeno proti skutečnému nástroji v repozitáři připraveném pomocí two-worktrees, při každém generování tohoto webu. To, co následuje, není popis toho, co by se mělo stát; je to to, co se stalo.

dáno

  • nainstalováno a zapojeno, s druhým worktree na jiné větvi držícím aktivní úlohu s rozsahem lib

kdy

  1. 1majordomus handover --resolve
  2. 2majordomus check
  3. 3majordomus context

pak

  • handover --resolve nikdy nenabídl záznam z jiné větve
  • check zde nevynutil rozsah druhého worktree
  • lokální stav pod .ai/local/ je vlastní věcí tohoto checkoutu a nesleduje se

Co nástroj udělal

Důkaz běhu, z něhož byla tato stránka vygenerována: pass, 3 kroky. Výstup je normalizován: cesta k repozitáři, časová razítka, id a doby trvání jsou zástupné hodnoty; nic dalšího se neupravuje.

Testováno v test/cases/94_use_cases.sh, který spouští každý scénář a odmítne krok, jehož zaznamenaný výstup není tím, co vyprodukoval.

  1. pro tento worktree a větev nebyla napsána žádná předávka; nepřítomnost se hlásí, nikdy záznam odjinud

    No relevant handover.
    • exit 0
    • stdout_contains /No relevant handover/
  2. 2$ majordomus check ukončení 12

    úloha jiného worktree není úlohou tohoto checkoutu; check hlásí, že zde není aktivní úloha, místo aby tento checkout držel k rozsahu, který nikdy nenárokoval

    majordomus: no active task (.ai/local/state/current.yaml); run: majordomus start
    • ukončení 12
    • stdout_contains /no active task/
  3. co tento worktree ví: vlastní identitu v gitu a žádnou úlohu

    # Majordomus context — <time>
    # a projection of durable state, not a source of truth: validate every line against git
    
    ## GIT
    repository   <repo>
    branch       main
    head         <sha>
    working_tree clean
    
    ## TASK
    none active — run: majordomus start "<task>" --scope <paths>
    
    ## KNOWLEDGE (candidates awaiting review on this branch; majordomus knowledge candidates)
    No knowledge candidates await review on this branch. That is an answer, not a gap: `majordomus knowledge candidates` lists every branch.
    
    ## EXCLUDED
    - context documents — no active task names a scope; run: majordomus context resolve <path>
    - handover — no record for this worktree and branch — absence, not a stale match
    
    ## BUDGET
    21 of 300 lines
    • exit 0
    • stdout_contains /^## GIT/
    • stdout_contains /none active/

Proč to nástroj ví

Řetězec od této stránky ke kódu: případ užití jmenuje příkazy, pravidla a tvrzení; každé pravidlo se dispatchuje z registru a každé tvrzení jmenuje test, který ho dokazuje; scénář výše provedl příkazy. Nic v tomto řetězci není text o záměru.

Pravidla, díky nimž platí

Uplatněné záruky

Související případy užití

Vypočteno z toho, co sdílejí: tvrzení, pravidla, příkazy, kategorie, aplikace. Tento seznam nikdo neudržuje.

Okamžiky, na které to odpovídá

Prohledává názvy a popisy všech stránek, které tento web publikuje.