Packet, worktree ve merge akışı
Geliştirme · 0.0.0-dev
Yayın
- Doküman
- 0.0.0-dev
- Uygulama
- 0.0.0
Bu sayfa
- Uygulama
- 0.0.0
Her repository yazımı, kabul edilmiş bir roadmap görevine bağlı v2 execution
packet’ı ve lease-registry.yaml içindeki aktif lease ile başlar. Packet;
exact base commit’i, author ve integrator kimliğini, branch/worktree yolunu,
izinli ve yasak path’leri, concurrency key’leri ve bağımsız reviewer rolünü
sabitler.
Worktree
Bölüm başlığı “Worktree”Integrator packet ve lease’i kaydettikten sonra worktree’yi oluşturur:
MUNDERECAT_PACKET_ID=F1-030-W01 make worktree-createAuthor yazmaya başlamadan ve evidence üretmeden önce kayıtlı worktree, branch, base ve lease kimliği doğrulanır:
MUNDERECAT_PACKET_ID=F1-030-W01 make worktree-checkBaşka bir packet’ın worktree’si kullanılmaz. Lease expiry, branch adı veya holder kimliği uyuşmuyorsa mevcut çıktı stale kabul edilir.
Write Set
Bölüm başlığı “Write Set”config/governance/path-ownership.yml, kritik repository yüzeylerini bir
concurrency key ve reviewer rolüne bağlar. CODEOWNERS yalnız mevcut insan
hesabına review yönlendirir; packet quorum’unun yerine geçmez.
MUNDERECAT_PACKET_ID=F1-030-W01 \MUNDERECAT_BASE_REF=<packet-base-sha> \MUNDERECAT_WRITE_BASE_REF=<branch-point-sha> \MUNDERECAT_HEAD_REF=HEAD \make write-set-checkKontrol; allowed_paths dışını, forbidden_paths eşleşmesini, eksik protected
path key/rolünü ve çözülebilen diğer aktif branch’lerle aynı dosya çakışmasını
reddeder. Trusted pull_request_target işi candidate ve aktif branch’leri
yalnız Git nesnesi olarak fetch eder; onların scriptlerini çalıştırmaz.
agent/<packet-id>-... biçiminde olmayan PR branch’leri işi atlayamaz; job
fail-closed davranarak packet’a bağlanmamış PR’ı reddeder.
Review Ve Merge Kuyruğu
Bölüm başlığı “Review Ve Merge Kuyruğu”Author completion/evidence ile işi review’a verir. Reviewer exact review
commitini semantik ve güvenlik açısından değerlendirir; kanıtı eksik veya
çelişkili değilse test/build komutlarını tekrar etmez. Kabulden sonra yalnız
acceptance, packet durumu, generated index ve roadmap işareti değişebilir.
Kabul kaydı candidate branch’e eklenmeden önce approving reviewer veya trusted
review adapter tarafından make merge-review-attest ile Git common-dir içindeki
receipt store’a kaydedilir. Candidate branch bu alana Git içeriğiyle yazamaz;
enqueue yalnız candidate acceptance ile trusted receipt birebir eşleşirse geçer.
Review submission commitinden önce packet review durumuna alınır ve
integrator make worktree-release ile lease’i kapatır. Reviewer böylece yazma
yetkisi kalmamış exact commit’i inceler. changes_requested kararı yeni,
monoton artan lease epoch’i olmadan author’a tekrar yazma yetkisi vermez.
Integrator accepted candidate’ı append-only kuyruğa alır. Her enqueue ayrı bir
attempt kimliği taşır; iptal edilmiş bir deneme aynı packet’ın sonraki denemesini
kilitlemez. merge-gate-check;
queue hashini, exact integration/candidate commitlerini, review bağını,
closure-only delta’yı, write set’i ve geçici clone’da conflict-free merge’i
doğrular. Gate yalnız authorization JSON’u üretir; branch veya worktree’yi
değiştirmez ve production/release yetkisi vermez. Reviewed packet’ın author,
integrator, scope ve lease alanları closure commitinde değiştirilemez.
Authorization çıktısı merge boyunca geçici bir dosyada korunur:
MUNDERECAT_PACKET_ID=F1-030-W01 make merge-gate-check > /tmp/F1-030-authorization.jsongit merge --no-ff agent/F1-030-W01-worktree-mergeMUNDERECAT_PACKET_ID=F1-030-W01 \MUNDERECAT_RESULT_REF=HEAD \MUNDERECAT_AUTHORIZATION_PATH=/tmp/F1-030-authorization.json \make merge-queue-landBaşarılı gate aynı authorization’ı candidate’ın erişemediği receipt store’a da
kaydeder. land; authorization hashini, trusted receipt’i, queue eventini,
candidate’ı, merge öncesi exact
integration head’ini ve geçici clone’da hesaplanan expected tree’yi yeniden
bağlar. Yalnız exact fast-forward veya iki parent’ı beklenen sıradaki exact
merge commit kabul edilir; araya giren veya yanında ilgisiz değişiklik taşıyan
commit reddedilir. Başarılı land gate receipt’ini tüketir; aynı yetki yeniden
kullanılamaz.
Hosted branch protection ve public remote henüz etkin değilse repository gate’i
bu eksikliği gizlemez. Gerçek merge yalnız integrator tarafından, gate sonucu
başarılıyken yapılır; authorization sunulmadan landed olayı kaydedilemez.
Context Capsule
Bölüm başlığı “Context Capsule”Yeni bir specialist veya continuation agent’ına sohbet geçmişi aktarılmaz.
Packet’ın exact sözleşmesi, context.md dosyası ve en fazla sekiz
required_reads kaynağı deterministik bir capsule’a alınır. Tam dosya için repo
relative path; büyük bir Markdown içindeki tam bölüm için
path.md#heading-slug kullanılır. Seçilen heading kendi alt heading’leriyle
birlikte alınır.
MUNDERECAT_PACKET_ID=F1-032-W01 make context-capsule-checkruby scripts/governance/context_capsule.rb build F1-032-W01 \ > /tmp/F1-032-W01-capsule.jsonGenerator yalnız mevcut Git HEAD ile byte düzeyinde aynı regular dosyaları
kabul eder. Repo dışı yol, symlink, bulunamayan veya mükerrer heading, sekizden
fazla kaynak ve bütçe aşımı output üretilmeden reddedilir. Capsule; commit’i,
kaynak ve excerpt SHA-256 değerlerini, exact içeriği ve bütçe hesabını taşır.
Budget hesabı ajanın tükettiği canonical JSON’un tamamını, escaping ve provenance
metadata’sıyla birlikte ölçer. Saklanan capsule doğrulanırken kaynaklar ve policy
ilan edilen Git commitinden yeniden okunur; exact capsule byte’ları yeniden
üretilmeden continuation sonucu kabul edilmez.
İki temiz continuation agent’ı ayrı, boş ve read-only çalışma dizinlerinde aynı capsule ile çalıştırılır. Sonuçlar strict schema’da kaydedildikten sonra:
MUNDERECAT_CAPSULE_PATH=/tmp/F1-032-W01-capsule.json \MUNDERECAT_CONTINUATION_A=/tmp/F1-032-W01-agent-a.json \MUNDERECAT_CONTINUATION_B=/tmp/F1-032-W01-agent-b.json \make context-continuation-checkVerifier iki farklı agent kimliği, read_only mod, prior_context: false, aynı
capsule hash’i ve aynı continuation kararı beyanı ister. Bunlar untrusted evidence
metadata’sıdır. Verifier yalnız semantic_agreement raporlar,
execution_attested: false ve grants_authority: false döndürür. Gerçek
read-only/ephemeral çalıştırma ancak ayrıca saklanan invocation evidence ile
kanıtlanabilir; bu kanıt yoksa mode, session ve freshness yalnız lead-reported
metadata olarak yazılır. Bu test semantik context aktarımı içindir; test, lint
veya migration komutlarını agent’lara tekrar çalıştırmak için kullanılmaz.
Write Agent Readiness
Bölüm başlığı “Write Agent Readiness”Bootstrap sırasında tek writer kuralı geçerlidir. F1-033, yazma yetkili
lane’leri açmadan önce kabul edilmiş altyapı packet’larının exact Git kayıtlarını
config/governance/write-agent-readiness.yml içindeki açık listeye göre yeniden
doğrular. Seçimi bir ajan yapmaz. Üretilen
docs/project/execution/write-agent-readiness.json; kaynak commit’i, genesis
kaydını, packet/acceptance/evidence/completion hashlerini, implementation ve
review commitlerini ve approving reviewer kimliklerini bağlar.
Sertifika canonical byte biçiminde doğrulanır:
MUNDERECAT_READINESS_PATH=docs/project/execution/write-agent-readiness.json \make write-agent-readiness-checkRepository’ye eklenmiş sertifika inerttir. F1-033 bağımsız
execution-security-reviewer tarafından kabul edilip kontrollü kuyrukla
maine indikten sonra aynı approving reviewer temiz main üzerinde receipt
üretir:
MUNDERECAT_READINESS_PATH=docs/project/execution/write-agent-readiness.json \MUNDERECAT_ACTOR_ID=<approving-reviewer-id> \MUNDERECAT_OCCURRED_AT=<rfc3339-time> \make write-agent-readiness-attestReceipt Git common-dir içindeki protected store’da tutulur ve exact certificate
hashiyle integration commit’ini bağlar. Attestation ayrıca persistent review
receipt’ini, merge-queue event hashlerini, exact candidate acceptance’ını,
reviewed packet’tan yalnız review -> closed geçişini, değişmemiş evidence,
completion ve released lease snapshot’larını, iki-parentlı result topolojisini
ve result tree’den yeniden kurulan authorization digest’ini doğrular. Ancak bu
adımdan sonra write-capable agent DB hazırlığına başlanabilir. Her yeni yazma işi
yine ayrı packet, worktree, aktif lease, izinli path, bağımsız review ve
gerekiyorsa packet’a özel disposable DB şartlarına tabidir. Legacy kaynaklar
kalıcı olarak salt okunurdur.
Lead deterministik test/build/hash komutlarını bir kez çalıştırıp evidence’a kaydeder. Independent reviewer aynı komutları mekanik olarak tekrar etmez; bounded exact diff üzerinde yetki modeli, fail-closed davranış ve semantik tutarlılık inceler. Bağımsız yeniden üretim bizzat kabul kriteriyse bu durum packet’ta açıkça yazılır.