Adds the Blueforce Field OS provisioning stack on top of the existing fleet architecture, without rewriting the working systems (installer, diagnostics, Ansible, WireGuard/SSH/xRDP/RustDesk, Docker policies, monitoring, Docusaurus). ISO build (the previous builder was a skeleton that produced no medium): - boot layout is read from the base ISO at build time via `xorriso -report_el_torito as_mkisofs` and rebuilt with `-as mkisofs`; `-boot_image any replay` cannot work on Ubuntu live ISOs because the GRUB2 MBR lives in the source image's first 16 sectors and the EFI system partition is an appended partition, neither of which is a file in the ISO9660 tree - preflight now asserts El Torito boot metadata positively: xorriso exits 0 on a non-ISO input, which previously let an arbitrary file pass --check - artifact produced and verified: dist/Blueforce-Field-OS-1.0.0-amd64.iso, 6 481 917 952 bytes, SHA256 cb0cc56f...d431296, BIOS+UEFI entries preserved, /autoinstall.yaml at the media root, casper/minimal.squashfs byte-identical to the base - recorded baseline deviation: the verified medium on the build host is the Desktop flavour, so the manifest carries a baseline_deviation block instead of hiding it; Server remains one flag away Offline and identity: - offline APT contract with concrete package requirements, pin format and an audit table; builds fail closed while pins are UNPINNED - autoinstall keeps interactive-sections: [storage]: the operator confirms the target disk, and no automatic wipe is ever performed - firstboot terminal wizard for the 8-digit dealer id, three-state lifecycle (PROVISIONED_OFFLINE -> ENROLLED -> READY) with fail-closed gates, so a missing internet link or WireGuard handshake cannot fail provisioning but can never produce a false READY Fleet and migration: - five read-only Ansible playbooks for Field OS version, provisioning, enrollment, remote channels and offline readiness, all wave-scoped with a separate production override - Windows pre-migration inventory and data export extended to the full brief scope, read-only, never collecting credentials Tests: tests/run-all.sh -> 8/8 pass, exit 0. Boot acceptance (UEFI, Legacy BIOS, Secure Boot), air-gapped install, real enrollment endpoint and Windows rollback remain LAB work and are listed in IMPLEMENTATION-REPORT.md.
23 KiB
32 — Repository Denetimi ve Çelişki Raporu
Kısa özet:
Blueforce-Linuxdeposunun Field OS provisioning hedefine karşı denetimi ve çelişki envanteri. Bulgular kanıta dayanır; B-1…B-7'nin bu turda (2026-09-16, ikinci tur) hangi kısmının giderildiği, hangisinin açık kaldığı ve kimin kapsamında olduğu burada dürüstçe kayıtlıdır.
- Dosya:
docs/32-REPOSITORY-AUDIT-AND-CONFLICTS.md - İlgili kararlar:
24-DECISION-LOG.md#K-20(medya stratejisi),#K-21(durum modeli),#K-22(RDP/bf-gui-*),#K-23(GNOME vs XFCE A/B),#K-24(sürüm kimliği); çelişki giderimi ayrıca#K-01…#K-19ile karşılaştırılmıştır - Durum: [x] Rapor (denetim güncellemesi: 2026-09-16); [ ] Açık maddeler (
§9) kapanmadan kapatılmaz
1. Amaç
İki amaç: (1) Field OS hedefiyle mevcut çalışan sistem arasındaki farkı kanıtla göstermek, (2) dokümanlar arasındaki çelişkileri görünür kılmak ve her birinin giderim durumunu izlemek. Doğrulanamayan hiçbir iddia "tamam" sayılmaz.
2. Kapsam
- Kapsam içi: dosya sistemi kanıtı,
git status/git log, test sonuçları, resmi kaynak doğrulaması, doküman çelişkileri ve giderim durumu. - Kapsam dışı: gerçek donanım/QEMU/Windows testleri, gerçek ISO ve offline paket deposunun üretimi (F2B işi), merkezi kontrol düzlemi kodlaması.
3. Bulgular
KARAR: Bu doküman salt-okunur bir DENETİM raporudur; kendisi mimari karar üretmez, karar günlüğünü (24) ve yol haritasını (25) denetler ve çelişkileri kayıt altına alır.
GEREKÇE: Denetim bulgusunun karar yerine geçmesi, "kanıt" ile "tercih" ayrımını bozar; bu yüzden her bulgu ya bir K-kararına bağlanır ya da açık madde olarak yazılır.
ALTERNATİF: Bulguları doğrudan karar olarak yazmak — aynı konunun iki yerde farklı kararla anılması çelişkisi doğar → elendi.
RİSK: Rapor bayatlarsa yanlış "tamam" izlenimi üretir; azaltma: her turda tarih + giderim durumu tablosu güncellenir (§9).
MALİYET: Ücretsiz.
LİSANS: Yok (kurum içi denetim raporu).
3.1 Özet (ilk tur, 2026-09-16 — tarihsel kayıt)
Depo, prompt'un büyük bölümünü zaten uygulamış durumda; ancak ilk turda iki kritik çıktı eksikti: gerçek bir Field OS ISO'su üretilmiyordu ve offline paket deposu boştu. V1 medya kararı (upstream ISO + seed USB) prompt'un istediği tek-medya deneyimiyle çelişiyordu.
| Durum (ilk tur) | Sayı |
|---|---|
| Tüm statik testler | GEÇTİ (5/5) — ikinci turda test seti 7 scripte çıktı ve 2 script kırmızı; bkz. §10 |
| Doküman | 32 (26–31 dahil) — ikinci turda 33 (32 dahil) |
| Commit edilmemiş değişiklik | 1 büyük çalışma ağacı |
Anlık görüntü uyarısı: Bu depo 2026-09-16 turunda paralel çalışma akışlarıyla aynı anda düzenlenmektedir (offline repo, firstboot, testler, playbook'lar ve bu rapor dahil). §9 ve §10'daki durumlar 10:52 itibarıyla doğrulanmış anlık görüntüdür; aynı gün içinde başka bir akış tarafından değiştirilebilir. Bir maddeyi kapatmadan önce ilgili komutu yeniden çalıştırın.
3.2 Git durumu
HEAD: 64a557f chore: keep local .hermes plans out of the repo
0b56649 docs: Blueforce 700-device fleet architecture (TR) - GNOME baseline
6402e85 first init.
- 14 doküman
modified(README, SUMMARY, docs/01,03,04,05,07,08,14,16,20,21,24,25) - ~70+ yeni dosya
untracked(ansible, config, monitoring, provisioning, scripts, tests, rustdesk, docs-site, docs/26–31, IMPLEMENTATION-REPORT.md) - Hiçbiri commit edilmemiş. Bu turda da commit atılmadı (bilinçli).
3.3 Zaten var olanlar (korunacak — yeniden yazılmayacak)
| Alan | Kanıt |
|---|---|
blueforce-install.sh + 18 modül |
scripts/install/installer/modules/01..18 |
BF-<8>/bf-<8> standardı |
blueforce-install.sh bayi no kapısı ^[0-9]{8}$ |
bf-status, bf-diagnostics, bf-support-bundle, bf-hardware-inventory.sh |
scripts/diagnostics/ |
| 3-aşamalı durum scriptleri | bf-check-local, bf-check-enrollment, bf-check-ready |
| Yeni komutlar | bf-enroll, bf-enroll-now, bf-enrollment-status, bf-release, bf-remote-status |
| Canlı HW kontrolü | scripts/diagnostics/bf-live-hw-check (91 satır, mutasyonsuz) |
| Windows geçiş araçları | scripts/migration/windows/BF-WindowsPreMigrationInventory.ps1, BF-WindowsDataExport.ps1 |
| Ansible | 16 playbook + 4 rol + inventory (dalga grupları pilot_1/wave_1 Ansible-uyumlu) |
| Update kapıları | bf-deploy-update.yml dalga + production_override + halt_on_fail |
| WireGuard/SSH/xRDP/RustDesk | config/ + installer modülleri 06,07,08,09 |
| MeshCentral | erişim kanalı olarak dokümante (docs/07) |
| Docker politikaları | config/docker/daemon.json, DOCKER-USER kalıcı servis |
| Monitoring | monitoring/ Prometheus + Grafana OSS + Uptime Kuma |
| Docusaurus | docs-site/ (build PASS) |
| Firewall / logging / recovery | config/ + docs/15, 17 |
| Provisioning iskeleti | provisioning/{autoinstall,iso,offline-repo,firstboot,enrollment,release} |
| Testler | 5 script + QEMU planı |
4. Neden Bu Karar?
Denetim, "çalışıyor mu?" sorusunu kanıtla yanıtlamak için vardır. Bu depoda en pahalı hata tipi, "dokümanda yazıyor" ile "gerçekten üretildi" farkının karışmasıdır: ISO dosyası, offline paket deposu ve merkezi enrollment endpoint'i olmadan "offline kurulum çalışıyor" denemez. Aynı şekilde iki doküman aynı konuda farklı şey söylüyorsa (RDP bir yerde bf-gui-on gerektirir, başka yerde her zaman hazır; GNOME bir yerde tamamen kapanmış, başka yerde ölçüm adayı), saha teknisyeni yanlış prosedürü uygular. Bu rapor o farkı görünür tutar.
5. Alternatifler
| Alternatif | Artı | Eksi | Sonuç |
|---|---|---|---|
| Kanıt-temelli yazılı denetim (bu rapor) | Tekrarlanabilir, izlenebilir | Gerçek donanım kanıtı vermez | Seçildi |
| Yalnız test çıktısıyla denetim | Hızlı | Doküman çelişkilerini görmez | Yetersiz |
| Yalnız gözle denetim | Esnek | Kanıtsız, tekrar üretilemez | Elendi |
6. Avantajlar
- Her bulgu dosya/satır kanıtına bağlı; "tamam" iddiası yalnız çalıştırılan komutla veriliyor.
- Giderim durumu tur tur izlenebiliyor (§9), böylece kimse "bu madde kapandı mı?" diye tahmin etmiyor.
- Yazma yetkisi dışında kalan artıklar (örn.
docs/26) açıkça sahiplendiriliyor; sessiz çelişki kalmıyor.
7. Dezavantajlar
- Rapor, doküman setinin "kanonik" sayısını artırır (33 numaralı dosya) ve
tests/check-specs.shsabitleriyle uyumsuzluk doğurur (§10). - Bazı maddeler (B-1/B-2) kod gerektirir; rapor onları kapatamaz, yalnız işaretler.
8. Riskler
| Risk | Olasılık | Etki | Azaltma |
|---|---|---|---|
| Rapor bayatlar, kapanmış madde açık görünür | Orta | Orta | Her turda §9 tablosu ve tarih güncellenir |
| "Doküman kapandı" diye kod işi (ISO/offline repo) kapanmış sayılır | Orta | Yüksek | §9'da "doküman katmanı" ile "kod/artefact" ayrımı ayrı sütunlarda |
| Yazma yetkisi dışındaki dosyalarda çelişki kalır ve sahaya yansır | Orta | Yüksek | §9'daki "kalan artık + sahip" listesi; PR sahibi atanır |
9. Uygulama Planı — Giderim Durumu (2026-09-16, ikinci tur)
Sütunlar: Durum = bu turda değişti mi · Kalan artık = hâlâ açık olan kısım ve sahibi.
| ID | İş | Öncelik | Durum (ikinci tur) | Kalan artık |
|---|---|---|---|---|
| B-1 | Gerçek bootable ISO builder | KRİTİK | KAPANDI (kod) — builder gerçek medya üretiyor. Boot düzeni xorriso -report_el_torito as_mkisofs reçetesinden okunup -as mkisofs ile yeniden kuruluyor (sabit değer gömülü değil); üretilen artefakt doğrulandı: dist/Blueforce-Field-OS-1.0.0-amd64.iso, 6 481 917 952 byte, SHA256 cb0cc56f…d431296, El Torito BIOS+UEFI korunmuş, /autoinstall.yaml kökte, interactive-sections:[storage], kimlik/secret yok, casper/minimal.squashfs base ile birebir aynı |
LAB işi: UEFI/Legacy/Secure Boot boot kabulü, Desktop autoinstall kabulü, air-gapped kurulum (sahibi: LAB; F2B/F3) |
| B-2 | Offline paket manifestleri (somut pin) + repo üretimi | KRİTİK | KISMEN İLERLEDİ — manifestler artık yalnız yorum değil: pin biçim sözleşmesi + requirements.tsv denetim tablosu + packages.lock.schema.tsv yazıldı, build-offline-repo.sh --dry-run-plan ile sapma denetliyor, tests/check-offline-repo-static.sh PASS. Ama pinler hâlâ UNPINNED sentinel (base-packages 14, docker 7, remote-access 7 satır), packages.lock.tsv ve .deb havuzu yok, provisioning/offline-repo/packages/ boş |
Onaylanmış .deb havuzu + gerçek package=version pinleri + packages.lock.tsv + air-gapped kurulum kanıtı (sahibi: release yöneticisi; F2B) |
| B-3 | Medya kararını uyumlaştır (tek USB, yine assisted) | KRİTİK | KISMEN KAPANDI (doküman katmanı) — docs/24 K-20 eklendi (autoinstall = motor, Field OS ISO = paketleme; interactive-sections: [storage] korunur), README/SUMMARY/docs/25 bu karara göre yazıldı; K-15 silinmedi, yedek yol olarak korundu |
docs/26 hâlâ "V1 medya = upstream ISO + seed, custom ISO tamamlayıcı" diyor; docs/26 K-20 ile hizalanmalı (sahibi: 26 yazarı). ISO'nun kendisi B-1'de |
| B-4 | Firstboot terminal wizard | YÜKSEK | BÜYÜK ÖLÇÜDE İLERLEDİ — provisioning/firstboot/bf-firstboot 23 → 381 satır: Türkçe etiketli interaktif konsol wizard (konsol varsa varsayılan), --interactive, --dealer-id, --dealer-id-file, --force-reidentity, --check ve test modu. Statik kanıt kapısı bu tur içinde yeşile döndü (tests/test-firstboot-static.sh PASS, 10:52) |
Gerçek konsol/LAB kanıtı (wizard + installer uçtan uca, kimlik değişim prosedürü) ve 3.5'teki docs/28 bağlantısı (sahibi: provisioning; F2B) |
| B-5 | --offline bayrağı doğrula + uygula |
YÜKSEK | KAPANDI (kanıtlı) — scripts/install/blueforce-install.sh --offline bayrağını gerçekten destekliyor: yalnız yerel file: APT kaynağı, uzak indirme yok, başarıda state.json'a phase=PROVISIONED_OFFLINE yazıyor; bf-firstboot bu bayrağı kullanıyor; --offline olmadan damga yazılmıyor |
Yok (paket seti için B-2) |
| B-6 | Migration/hw-check konum ve adlarını dokümante et | ORTA | KAPANDI (dokümante) — eşleme aşağıda (3.4) yazılı; konum farkı scripts/ tutarlılığı lehine kabul edildi |
Yok |
| B-7 | Doküman çelişkilerini gider | ORTA | KISMEN KAPANDI — README başlığı/Faz 3'te dolar ifadesi düzeltildi; GNOME/XFCE çelişkisi docs/24 K-02 güncellemesi + K-23 ile çözüldü; custom ISO/Field OS ISO çelişkisi K-20 ile çözüldü; SUMMARY'nin 11. cevabı (RDP) ve 4. cevabı (bf-gui-*) düzeltildi; docs/24 Ek B notu ("SUMMARY Faz 4'te üretilecek") güncellendi |
Aşağıdaki 6 artık (§3.5) — hepsi yazma kapsamı dışındaki dosyalarda |
3.4 B-6 kapanış kaydı: ad ve konum eşlemesi
| Prompt'ta istenen | Depodaki gerçek | Not |
|---|---|---|
migration/windows/bf-win-inventory.ps1 |
scripts/migration/windows/BF-WindowsPreMigrationInventory.ps1 |
Konum scripts/ altında kabul edildi (depo tutarlılığı); içerik mutasyonsuz/credential'sız (test edilir) |
migration/windows/bf-win-network-export.ps1 + bf-win-software-export.ps1 + bf-win-device-export.ps1 |
scripts/migration/windows/BF-WindowsDataExport.ps1 |
Tek script aynı veri sınıflarını dışa aktarır |
scripts/live/bf-live-hw-check |
scripts/diagnostics/bf-live-hw-check |
Canlı HW kontrolü tanı grubunda |
scripts/live/… AnyDesk modülü |
scripts/install/optional/anydesk/install-anydesk.sh |
Opsiyonel modül; lisans onayı olmadan indirme/kurulum yapmaz |
3.5 B-7 artıkları (bu turda giderilemeyen çelişkiler — yazma kapsamı dışı)
| Konu | Dosya (düzeltilmeli) | Sorun | Öneri |
|---|---|---|---|
| GNOME/XFCE | docs/03-UBUNTU-BASELINE.md (§3 K-02 bloğu, §5 tablo satırı) |
"XFCE elendi; yedekte tutulmaz" — docs/24 K-02+K-23 ile artık ölçüme bağlı |
§3'te ALTERNATİF satırını "LAB A/B ölçüm adayı (K-23), saha standardı GNOME" yap; §5 tablosunda sonucu "LAB A/B ölçümü" yaz |
| Custom ISO / Field OS ISO | docs/04-GOLDEN-IMAGE-AND-PROVISIONING.md (§3 KARAR, §4, §5) |
(a) "Custom ISO/Packer elendi" ve "Custom Field ISO → LAB artefact / F6" — K-20 ile assisted Field ISO F2B'ye taşındı (Packer hâlâ elenmiş durumda); (b) §3 KARAR "V1'de resmi upstream ISO + ayrı NoCloud seed USB kullanılır" — K-20'de birincil teslim medyası F2B tek-USB'dir, upstream ISO + seed geri dönüş yoludur | §4'ü "autoinstall motoru + Field OS ISO paketleme (K-20)" olarak ayır; §5 satırını "F2B assisted artefact; Packer elendi" yap; §3'te "V1'de resmi upstream ISO + seed" cümlesine "geri dönüş yolu" nitelemesi ekle |
| V1 medya (mimari) | docs/01-ARCHITECTURE.md (§3 KARAR) |
"V1 medya = upstream ISO + ayrı NoCloud seed USB" — K-20/F2B ile birincil medya tek USB Field OS ISO, upstream+seed yedek yol | Cümleyi "birincil: F2B tek-USB Field OS ISO; yedek: upstream ISO + seed (K-20)" olarak güncelle |
| V1 medya (öğrenme rehberi) | docs/31-LEARNING-GUIDE.md (§9 konu 11) |
"V1'de upstream ISO + ayrı NoCloud seed USB, custom Field ISO'dan daha az risklidir; ikisi tamamlayıcıdır" — F2B hedefiyle çelişir | "assisted tek-USB Field OS ISO (K-20) esas; upstream ISO + seed geri dönüş yolu" olarak düzelt |
| V1 medya (ISO dokümanı) | docs/26-BLUEFORCE-FIELD-OS-ISO.md (§3 KARAR, §5 tablo, §7, §12 kontrol listesi) |
"V1 kurulum medyası = upstream ISO + ayrı NoCloud seed USB; custom ISO tamamlayıcı" ve "V1 etiketi upstream ISO + seed olarak basıldı" — K-20 ile birincil teslim F2B tek-USB assisted medyadır | K-15 bloğuna "K-20 ile birlikte okunur" notu ekle; §5 tablosunda V1/F2B eşlemesini düzelt; §12 kontrol listesini "F2B tek-USB ISO etiketi" olarak güncelle |
RDP / bf-gui-on |
docs/07-REMOTE-ACCESS.md (§3 ilk KARAR bloğu) |
"GUI varsayılan kapalıdır, bakım penceresinde bf-gui-on ile açılır" ifadesi RDP'yi anahtara bağlı gösterir; aynı dosyanın ikinci KARAR bloğu ve docs/16 xrdp'in her zaman ready olduğunu söyler |
İlk blokta "GUI" yerine "yerel fiziksel GUI" yaz ve xRDP'in bundan bağımsız her zaman aktif olduğunu ekle (K-22) |
| Windows geçiş kapsamı | docs/28 §9.2 "Onaylı araçla geri dönüş imajı al…" |
Araç adı (BF-Windows…ps1) anılmıyor — B-6 kapanışıyla hizalanması iyi olur |
§9.2'ye script adlarını ekle |
3.6 Bu turda eklenen yeni bulgular
| ID | Bulgu | Kanıt | Açık mı? |
|---|---|---|---|
| B-9 | /etc/blueforce-release yazılmıyor: yalnız bf-release okuma yolu + legacy KEY=VALUE uyumluluğu var; yazan bir release pipeline adımı depoda yok |
grep -rn blueforce-release → sadece bf-release (okuma) ve 17-healthcheck'in /etc/blueforce/release-manifest.yaml kopyası |
AÇIK — sahibi 30-release; K-24 risk satırında kayıtlı |
| B-10 | tests/check-specs.sh sabitleri bayat: "exactly docs/00 through docs/31" (32 dosya) ve "expected 34 Mermaid blocks" — depo gerçekte 33 numaralı dosya ve 35 Mermaid bloğu içeriyor |
bash tests/check-specs.sh → FAIL: expected 32 numbered docs, found 33 / FAIL: expected 34 Mermaid blocks, found 35 |
AÇIK — düzeltme tests/ kapsamında (bu raporun yazma kapsamı dışı) |
| B-11 | Kanonik doküman sayısı ikinci turda 32→33 oldu; bu rapor da numaralı namespace'te olduğu için B-10'un kök nedeni buradadır | ls docs/[0-9][0-9]-*.md | wc -l = 33 |
AÇIK — iki seçenek: sabitleri güncelle, veya bu raporu numaralı namespace dışına taşı |
| B-12 | Paralel düzenleme çakışması: aynı gün başka bir çalışma akışı bu dosyayı (10:37:21) düzenledi; bu raporun güncellemesi (10:39:32) onun sürümünün üzerine yazıldı ve o sürüm kurtarılamadı (dosya git'te untracked, yedek yok) | Hermes araç uyarısı: "was modified by sibling subagent … after this agent's last read"; git status → ?? docs/32-…; session kayıtlarında içerik izi yok |
AÇIK (süreç) — o akışın eklemek istediği bilgi varsa yeniden yazılmalı. Ders: aynı dosyaya iki akış yazacaksa tek sahip atanmalı veya yazmadan önce dosya yeniden okunmalı |
3.7 Açık ve doğrulanmamış iddialar (bilgi amaçlı, değişmedi)
- Hiç ISO build edilmedi (rapor da kabul ediyor).
- Hiç offline repo üretilmedi.
- Merkezi enrollment endpoint'i yok.
- Gerçek donanım/Windows/QEMU testi yapılmadı.
sudogerektiren komutlar bu turda çalıştırılmadı (parolasız sudo yok).
10. Test Planı (bu turda çalıştırılanlar ve sonuçları)
Anlık görüntü: 2026-09-16 10:52. Paralel çalışma akışları test setini aynı gün genişlettiği için bu tablo bir iddia değil, zaman damgalı kanıttır.
| Komut | Sonuç | Not |
|---|---|---|
tests/check-specs.sh |
FAIL | (B-10) iki bayat sabit: expected 32 numbered docs, found 33 ve expected 34 Mermaid blocks, found 35; ayrıca içindeki çağrıyla test-field-os-lifecycle.sh düşüyor (aşağıdaki satır) |
tests/check-offline-repo-static.sh |
PASS | Bu tur eklenen offline repo pin/biçim sözleşmesi denetimi |
tests/check-provisioning-static.sh |
PASS | — |
tests/check-migration-static.sh |
PASS | — |
tests/check-configs.sh |
PASS | — |
tests/test-field-os-lifecycle.sh |
FAIL | ENROLLED state with independent local and central evidence must become ready-check eligible — durum makinesi/READY kapısı üzerinde devam eden akış (K-21/K-22 ile ilişkili) |
tests/test-firstboot-static.sh |
PASS (10:52) | Firstboot wizard/installer bayrak sözleşmesi bu tur içinde yeşile döndü; gerçek konsol LAB kanıtı yine de gerekir (B-4) |
Doküman yapı denetimi (docs/[0-9][0-9]-*.md) |
33/33 uyumlu | Her dosyada §1–§13 sırası + ≥1 Mermaid (bu rapor bu turda §1–§13 + 1 diyagrama getirildi) |
| Üretim artefaktı denetimi | YOK | *.iso yok, *.deb yok, packages.lock.tsv yok, provisioning/offline-repo/packages/ boş |
| URL doğrulaması (curl, HTTP 200) | PASS | Subiquity autoinstall referansı, cloud-init NoCloud, gnome.org, xfce.org, neutrinolabs/xrdp |
Test sonucu yorumu: Altı script yeşil; tek kırmızı test-field-os-lifecycle.sh ve bu, K-21/K-22 (durum modeli + RDP/READY sözleşmesi) üzerinde hâlâ çalışılan akışa işaret ediyor. Bu rapor kırmızı testi olan sözleşmeyi kapalı saymaz.
Resmi kaynak doğrulaması (canlı, 2026-09-16 — canonical-subiquity.readthedocs-hosted.com/en/latest/reference/autoinstall-reference.html, HTTP 200):
/autoinstall.yamlyolu sabit: "The autoinstall configuration is available at/autoinstall.yaml(irrespective of how it was provided)" → ISO köküne konan autoinstall desteklenir.interactive-sectionsdestekli: "A list of configuration keys to still show in the user interface (UI)".storageinteractive olabilir: "can be interactive: true" + varsayılan "use the lvm layout on single-disk systems" → storage interactive bırakılmazsa en büyük disk kendiliğinden bölümlenir; bu yüzdeninteractive-sections: [storage]hem tek-USB deneyimini hem "otomatik disk silme yok" şartını sağlar.- Offline davranış resmi anahtar:
apt.fallbackvarsayılanıoffline-install— "revert to an offline installation". seedyolu ve NoCloud resmi quickstart'ta belgeli (cloud-localds,user-data+meta-data,ds=nocloud).
Doğrulanamayan: xorriso/remaster ile 26.04 UEFI/Legacy/Secure Boot davranışı — LAB testi gerekir (B-1).
11. Rollback
- Bu rapor bir denetim kaydıdır; hatalı bir bulgu düzeltilecekse aynı dosyada tarihli düzeltme notu düşülür (silme yok).
- Bu turda yapılan doküman değişiklikleri commit edilmediği için geri alma
git checkout -- README.md SUMMARY.md docs/24-*.md docs/25-*.md docs/32-*.mdile tek adımda yapılabilir. - Karar seviyesindeki geri alma (örn. K-20 medya stratejisi)
docs/24PR'ı ile yapılır ve bağımlı dosyalar (README, SUMMARY, 25, 26, 31) aynı PR'da güncellenir.
12. Kontrol Listesi
- B-1…B-7'nin her biri için bu turdaki durum yazıldı (kapandı / kısmen / açık).
- Kapanan maddeler kanıtla desteklendi (B-5:
--offline+state.json; B-6: eşleme tablosu). - Giderilemeyen çelişkiler dosya + öneri ile listelendi (§3.5).
- Yeni bulgular (B-9…B-12) kayda geçti.
- B-1 (ISO), B-2 (gerçek paket pinleri/pool) ve B-4 (firstboot testleri yeşil) kapanmadan bu rapor "tamam" sayılmaz.
- §3.5 artıkları (docs/03, 04, 26, 07, 28) doküman PR'ıyla kapatılmalı.
tests/check-specs.shsabitleri güncellenmeli (B-10) veya bu rapor numaralı namespace dışına taşınmalı (B-11).- Kırmızı testler (
test-field-os-lifecycle.sh,test-firstboot-static.sh) yeşile dönmeli; kapanış ancak bundan sonra ilan edilir. - Bu rapora aynı gün içinde tek sahip atanmalı (B-12: paralel yazım çakışması bir tur kaybettirdi).
13. Açık Sorular
- Remaster edilmiş Field OS ISO'nun UEFI/Legacy/Secure Boot matrisi — LAB (sahibi: provisioning/release, F2B).
- Offline APT snapshot'ın yenileme sıklığı ve paket onay süreci (sahibi: release yöneticisi, F2B).
docs/32kanonik doküman sayılsın mı, yoksa numaralı namespace dışına mı taşınsın (sahibi: doküman sahibi + test sahibi).- Bu raporun
docs-site'a dahil edilip edilmeyeceği (numaralı dosya olduğu için şu an sitede yayınlanıyor) (sahibi: 22 yazarı).
Ek: Çelişki ve giderim haritası
flowchart TB
subgraph KONU["Çelişki konuları"]
G["GNOME / XFCE"]
M["Custom ISO / Field OS ISO"]
R["RDP / bf-gui-on"]
S["READY / 3 durum"]
F["Unattended F6 / Assisted F2"]
O["Offline / network zorunlu mu"]
end
subgraph KARAR["Karar günlüğü (kilit kaynak)"]
K02["K-02 + K-23"]
K20["K-20 (K-15 ile)"]
K22["K-22 (K-03 ile)"]
K21["K-21 (K-16/K-17 ile)"]
K25["Roadmap F2A/F2B + F6"]
K16["K-16 + K-21"]
end
subgraph DURUM["Bu turdaki durum"]
D1["Giderildi: README/SUMMARY/24/25<br/>Artık: docs/03"]
D2["Giderildi: 24/README/SUMMARY/25<br/>Artık: docs/04, docs/26"]
D3["Giderildi: SUMMARY/24<br/>Artık: docs/07"]
D4["Giderildi: 24/25/README/SUMMARY<br/>Artık yok"]
D5["Giderildi: 25 F2A/F2B/F6<br/>Artık yok"]
D6["Giderildi: 24/SUMMARY<br/>Artık yok"]
end
G --> K02 --> D1
M --> K20 --> D2
R --> K22 --> D3
S --> K21 --> D4
F --> K25 --> D5
O --> K16 --> D6