Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -255,8 +255,12 @@ jobs:
run: npm run build:all
- name: Run tests with coverage (threshold gate enforced)
# Threshold violation = exit 1 = job FAIL = CI red.
# 530 (CI-COVERAGE-JOB-WALL-001): the old 20-minute cap killed every
# 2026-08-05 main run at ~21min — the instrumented full suite has no
# green datapoint under it. 45min is a measure-then-calibrate ceiling:
# the first green run records the real duration, then tighten if wide.
run: npm run test:coverage
timeout-minutes: 20
timeout-minutes: 45
- name: Upload coverage report
# always() — eşik ihlali durumunda bile rapor artefakt olarak yüklensin
# ki contributor coverage farkını görebilsin.
Expand Down
5 changes: 5 additions & 0 deletions docs/MASTER-PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,9 @@ Current receipt register:
| `GR-2026-08-05-BUILTINS-HERM-527-01` | CI-BUILTINS-DRIFT-HERMETIC-001 | G1 | `tests/scripts/builtins-drift-check.test.ts@193d70d4c8967104f4d41cb6dad42d23bc12162b786aaf9cf916485259992aec`; 527 fix'i: canlı-iki-ağaç taramasının '.deckent/skills/docs dışlanır' pini varlık-koşullu yapılır — dizin 62aafff34'te index'ten silinmiş makine-lokal memory-export dizinidir, temiz checkout'ta yoktur; pin dizin mevcutken aynen korunur, yokken atlanır (hermetiklik: test lokal-duruma bağımlı olamaz) | owner=Alperen; decision=APPROVED; scope=exact one-path hermetic existence-guard for live-scan pin; exclusions=sprint,provider-call,build,destructive-action,other-files | 2026-08-05T22:48:58Z | `ONE_SHOT`: consumed@2026-08-05T22:53:41Z |
| `GR-2026-08-05-ALP-DISC-104-01` | DOCS-ALP-DISCIPLINE-SYNC-001 | G1 | `alp-discipline/AMENDMENTS.md@ae77ba1c647053d76ebf718a39e5f4322878bbd99f179b69be4829e7bdbef2ec`; `alp-discipline/DISCIPLINE.md@53679470f16a1d74ae2eaca22e6be4bbc464f9751f1655b3389071d437b07891`; `alp-discipline/ESSENCE.md@cf81b98aa480d7ded0420a44b40a756f8d67ef49e4f0ab22a0dae640f7e15ed5`; `alp-discipline/README.md@153d216abb112fbb125840507f6393e11287be24257255bcd1a561c1e5ae7b92`; `alp-discipline/ACKNOWLEDGEMENTS.md@7434fb399eb9939a3663fa18ccd5dcecf2e044fd1689f75a5fcb6e1dc34e403d`; `alp-discipline/translations/tr/DISCIPLINE.md@751c39401397c40693ba8eb4a606a1c79040a74e329df108f55061add023f1e2`; `alp-discipline/translations/tr/ESSENCE.md@d68288408cf1745784ea8a261e372a34e7ffc36eefe0568f0f7f1628847abc5b`; `alp-discipline/translations/tr/README.md@d857938e8e9d16563deabd96f4dd105759524c9952e6d51a10b3f2a9c63858a3`; vendor senkronu (Alperen canlı talimatı): VerhexIO/alp-discipline v1.0.4 tag'i (a810c42, consistency audit) birebir çekilir — 7 dosya güncellenir, ACKNOWLEDGEMENTS.md upstream kaldırımı aynalanır, lokal-only .deckent ve .gitignore korunur; içerik upstream-birebir, elle metin yok | owner=Alperen; decision=APPROVED; scope=exact eight-path vendored discipline sync to upstream v1.0.4; exclusions=sprint,provider-call,build,destructive-action,other-files | 2026-08-05T22:48:58Z | `ONE_SHOT`: consumed@2026-08-05T22:53:41Z |
| `GR-2026-08-05-TREND-STATS-SUPP-01` | CI-BUILTINS-DRIFT-HERMETIC-001 | G1 | `README.md@93a405375102493df56de5d437ff53aaee95e94ead7b124a7f123bfc5b28f9d2`; `README.tr.md@8a0a5e0e5269e2ed867372a1fa3c7f8e3600cc8ec72eff37e75d5c0ff66dc4e5`; `.deckent/workspace/IDENTITY.md@6a03af730c4a347e06c363bc7ff93f8e5dc9be6611ac371cbffb0e9470941f14`; tren-d ek-dilimi (W3B2-SUPP emsali): 527 fix'inin it.runIf deseni test-sayaç regex'ince sayılmadığından rozet-sayısı değişir; üç regen hedefi mekanik docs:stats write çıktısıyla güncellenir — elle metin yok | owner=Alperen; decision=APPROVED; scope=exact three-path mechanical stats regen for train-d test-count delta; exclusions=sprint,provider-call,build,destructive-action,other-files | 2026-08-05T22:53:05Z | `ONE_SHOT`: consumed@2026-08-05T22:53:41Z |
| `GR-2026-08-05-TASKKILL-RACE-529-01` | CI-SCRIPTS-TASKKILL-RACE-001 | G1 | `tests/scripts/scripts.test.ts@2a39ecc93c4f9a4aeace18b620ea7639355ee33bd15d6771e89fb816cf597bf7`; 529 fix'i: runScriptAsync taskkill it.each testinin 25ms taskkillTimeoutMs'i doymuş runner'da gerçek Node-process spawn+exit süresinin (~50-200ms) altında — taskkill-tamamlanması-gereken senaryolar (false-success/nonzero/error) yanlış aşamaya düşüyor (run 31054702920: 'taskkill timeout' raporlandı, 'child close timeout' bekleniyordu); bütçe senaryo-bağımlı yapılır: tamamlanma-senaryolarında geniş (5s), hang-senaryosunda ('timeout') mevcut küçük değer deterministik olduğundan kalır; üretim kontratı değişmez | owner=Alperen; decision=APPROVED; scope=exact one-path scenario-dependent taskkill timing budget; exclusions=sprint,provider-call,build,destructive-action,other-files | 2026-08-05T23:28:16Z | `ONE_SHOT`: consumed@2026-08-05T23:31:51Z |
| `GR-2026-08-05-COVERAGE-WALL-530-01` | CI-COVERAGE-JOB-WALL-001 | G1 | `.github/workflows/ci.yml@31eda0aa18ee1e13bce505df31c3a6e34086a3e00a721924d196448de05da636`; `tests/scripts/lint-test-hermeticity.test.ts@a68e8405112f35e94022e57171d62bcb4c90a3cda694bd5fd5cde194213a1899`; 530 fix'i: Coverage Report kronik kırmızı — enstrümante tam-suite step-cap'i 20dk'ya çarpıyor (bugünkü tüm main koşularında ~21dk'da duvar; hiç yeşil veri noktası yok) → 45dk ölçüm-sonrası-kalibre edilecek tavan; ayrıca scanTestDir production-scale merge testi enstrümantasyon-yüküyle 11.9s ölçülüp 10s default'una çarpıyor → açık 60s test-timeout (×5 headroom) | owner=Alperen; decision=APPROVED; scope=exact two-path coverage wall and instrumented test timeout raise; exclusions=sprint,provider-call,build,destructive-action,other-files | 2026-08-05T23:28:16Z | `ONE_SHOT`: consumed@2026-08-05T23:31:51Z |
| `GR-2026-08-05-TREN-E-BASELINE-SUPP-01` | CI-SCRIPTS-TASKKILL-RACE-001, CI-COVERAGE-JOB-WALL-001 | G1 | `scripts/lint-test-hermeticity.mjs@22c3f1ab85960a3ad184946ba92f22aa1b8e6ac3f08ede2ec377dbdb125528c8`; tren-e ek-dilimi (yerleşik emsal): 529/530 test-düzenlemeleri unresolved-registry digest'ini oynatır (sayı 12481 sabit); baseline sabiti mekanik build-free ölçümle tazelenir — başka değişiklik yok | owner=Alperen; decision=APPROVED; scope=exact one-path mechanical hermeticity baseline digest refresh; exclusions=sprint,provider-call,build,destructive-action,other-files | 2026-08-05T23:30:46Z | `ONE_SHOT`: consumed@2026-08-05T23:31:51Z |

### 3.5 Typed blocker register

Expand Down Expand Up @@ -631,6 +634,8 @@ provider capacity ve collision topology'den türetilir. Sayı uğruna bağımsı
| 526 | TRUST-ANCHOR-003 | P00 | TRUTH | Solo-hesap yapısal mitigasyon paketi: out-of-repo canonical check (GitHub App ayrı integration-ID), bot machine-account + path-scoped required-reviewer, nightly ruleset-snapshot dış defteri, GHEC-trial değerlendirmesi | P1 | — | G1 | OPEN | 1/0/0/?/0/?/? | Bot hesabı org üyesi + tek üyeli enforcement-reviewers team'i; `.github/workflows/**` + validator path'lerine required-reviewer rule; ruleset JSON'u her gece org-owner'ın YAZAMADIĞI append-only depoya snapshot'lanır; canonical validator check'i Actions'tan farklı integration-ID ile yazılır; GHEC trial'ı bu altyapı hazırken başlatılır ve require-workflows + ruleset-history değerlendirilir | Açılış: Alperen 2026-08-04 kararı (xverify-E yapısal ikili — parent≠reviewed + self-modifiable-check — TRUST-ANCHOR-001 DÜRÜST SINIR-3/4). Karar-girdisi: docs/analysis/github-solo-mitigations-2026-08-04.md (VerhexIO org + public → merge queue AÇILDI 2026-08-04, required-reviewer/App/snapshot FREE). Zamanlama: Team koltuk 1/1 dolu — bot üyeliği koltuk eklenince, Alperen beyanı ~2026-08-12; o güne kadar sınırlar TRUST-ANCHOR-001'de typed-açık olarak yaşar, kritik yol bundan bağımsız | 2026-08-04 |
| 527 | CI-BUILTINS-DRIFT-HERMETIC-001 | P00 | TRUTH | builtins-drift canlı-iki-ağaç testinin '.deckent/skills/docs dışlanır' pini makine-lokal untracked dizine bağımlı — temiz CI checkout'ta dizin yok, 'expected [] to include docs' kırmızısı (62aafff34 index-silme sonrası kör kalmış, stats-stale kırmızısı maskeliyordu) | P1 | — | G1 | VERIFY | 1/1/1/1/0/?/? | Pin varlık-koşullu olur (dizin mevcutken davranış aynen pinli, temiz checkout'ta atlanır); main-push Tests—Docs+Scripts'in bu kırık sınıfı kapanır | Açılış 2026-08-05: run 31053488358 + 31050457808 log-izolasyonu; `receipt=GR-2026-08-05-BUILTINS-HERM-527-01`; 2026-08-05 SETTLEMENT: pin it.runIf varlık-koşuluna alındı (dizin mevcutken davranış birebir pinli); `proof=builtins-suite-30of30-local-dir-present`; test-sayaç deltası mekanik regen ek-receipt'iyle kapatıldı; `receipt=GR-2026-08-05-TREND-STATS-SUPP-01`; kapanış kanıtı merge sonrası main-push Tests—Docs+Scripts yeşili | 2026-08-05 |
| 528 | DOCS-ALP-DISCIPLINE-SYNC-001 | P00 | TRUTH | Vendored alp-discipline dokusunun upstream v1.0.4'e senkronu (karar-çapası ESSENCE/DISCIPLINE güncel kalsın) | P2 | — | G1 | VERIFY | 1/1/1/1/0/?/? | alp-discipline/ içeriği upstream v1.0.4 tag'iyle birebir (mekanik kopya, fark yalnız lokal-only .deckent+.gitignore); ESSENCE sürüm-başlığı v1.0.4 | Açılış 2026-08-05: Alperen canlı talimatı 'repodan güncel haline çekelim, 1.0.4 versiyonu kullanalım'; `receipt=GR-2026-08-05-ALP-DISC-104-01`; 2026-08-05 SETTLEMENT: v1.0.4 (a810c42) birebir çekildi — 7 dosya + ACKNOWLEDGEMENTS.md upstream-kaldırımı aynalandı, lokal-only korundu; `proof=diff-r-upstream-birebir`; diff -r upstream tag'iyle sıfır fark | 2026-08-05 |
| 529 | CI-SCRIPTS-TASKKILL-RACE-001 | P00 | TRUTH | scripts.test runScriptAsync taskkill it.each'inin 25ms bütçesi yavaş runner'da gerçek process-spawn süresinin altında — kill-eskalasyon aşama-yarışı flake'i (false-success senaryosu 'taskkill timeout'a düşüyor) | P1 | — | G1 | VERIFY | 1/1/1/1/0/?/? | Zaman-bütçeleri senaryo-bağımlı olur: taskkill-tamamlanma senaryoları geniş bütçe, hang-senaryosu deterministik küçük; üretim timeout-authority kontratı değişmez; main-push Tests—Docs+Scripts'in bu flake sınıfı kapanır | Açılış 2026-08-05: run 31054702920 log-izolasyonu (523/527 fix'leri tuttuktan sonra kalan tek Docs+Scripts kırığı); `receipt=GR-2026-08-05-TASKKILL-RACE-529-01`; 2026-08-05 SETTLEMENT: taskkillTimeoutMs senaryo-bağımlı (tamamlanma-senaryoları 5s, hang 25ms deterministik); `proof=scripts-suite-173of173-local`; scripts+hermeticity suite 173/173, tsc temiz; kapanış kanıtı merge sonrası main-push Docs+Scripts yeşili | 2026-08-05 |
| 530 | CI-COVERAGE-JOB-WALL-001 | P00 | TRUTH | Coverage Report kronik kırmızı: enstrümante tam-suite 20dk step-cap duvarına çarpıyor (bugünün TÜM main koşularında ~21dk'da kill; yeşil veri noktası yok) + scanTestDir production-scale testi enstrümantasyon-yükünde 10s default test-timeout'una çarpıyor (11.9s ölçüldü) | P1 | — | G1 | VERIFY | 1/1/1/1/0/?/? | Step-cap ölçüm-sonrası-kalibre tavana çekilir (20→45dk; ilk yeşil koşu gerçek süreyi ölçer, tavan gerekirse daraltılır); production-scale test açık 60s timeout alır; Coverage Report yeşile döner veya threshold-gate dürüst sinyal verir | Açılış 2026-08-05: run 31054702920 + gün-içi 8 koşu tarihi; `receipt=GR-2026-08-05-COVERAGE-WALL-530-01`; 2026-08-05 SETTLEMENT: step-cap 20→45dk measure-then-calibrate + scanTestDir production-scale 60s açık timeout; baseline digest supp-receipt'le mekanik tazelendi; `receipt=GR-2026-08-05-TREN-E-BASELINE-SUPP-01`; `proof=peak-rss-996mib-validates-2gib-budget`; kapanış kanıtı merge sonrası main-push Coverage Report'un ilk yeşil (veya dürüst threshold-sinyalli) koşusu — gerçek süre o koşuda ölçülüp tavan gerekirse daraltılır | 2026-08-05 |

### P01 — Codex-main cutover ve safe dogfood

Expand Down
135 changes: 127 additions & 8 deletions docs/generated/master-plan-active.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,26 @@
"generatedFrom": "docs/MASTER-PLAN.md",
"sourceDigest": {
"algorithm": "sha256(normalized-lf-utf8)",
"value": "071ff33efa2a71b143eb07f13a4cf2b1bf3edc28e56dbcc617899c08d261f74d"
"value": "342e0d5a416bffc5beb4f190c9f68474d23234b31ec5a4d0619a6ec882b4f1c5"
},
"summary": {
"total": 379,
"active": 356,
"total": 381,
"active": 358,
"terminal": 23,
"receipts": 61,
"receipts": 64,
"byState": {
"OPEN": 258,
"READY": 0,
"IN_PROGRESS": 0,
"BLOCKED": 67,
"VERIFY": 31,
"VERIFY": 33,
"DONE": 23,
"DEFERRED": 0,
"DISPOSED": 0
},
"byPriority": {
"P0": 249,
"P1": 98,
"P1": 100,
"P2": 32
},
"byProgram": {
Expand Down Expand Up @@ -59,7 +59,7 @@
"SURFACE": 1,
"TERMINAL": 12,
"TOOL": 1,
"TRUTH": 67,
"TRUTH": 69,
"XPLAT": 3
}
},
Expand Down Expand Up @@ -845,6 +845,28 @@
"progressDigest": "aa514e71750ec82fb4b77c6aa3a4f9bfc7a8682c54ae93f6e48bfbd89e9f0e71",
"terminalClosureDigest": null
},
{
"order": 529,
"id": "CI-SCRIPTS-TASKKILL-RACE-001",
"program": "TRUTH",
"priority": "P1",
"state": "VERIFY",
"updated": "2026-08-05",
"definitionDigest": "012ef92e2916038bc4490b1c5e79c37be529761f9c39f69c792d227cfbb8673a",
"progressDigest": "f980e0e0898a482a57eb563f8b4409324df9456abe2fc4d7e7c70a2d0d6699b0",
"terminalClosureDigest": null
},
{
"order": 530,
"id": "CI-COVERAGE-JOB-WALL-001",
"program": "TRUTH",
"priority": "P1",
"state": "VERIFY",
"updated": "2026-08-05",
"definitionDigest": "f281b3ca1b7c8df33b96faf4f42019b612fd3772e157d2d1db7cfe59445d37ec",
"progressDigest": "9b29ee61024c12637081405345499ce86fde513ff89a56d29b68d3090c55b917",
"terminalClosureDigest": null
},
{
"order": 1000,
"id": "CODEX-MAIN-001",
Expand Down Expand Up @@ -4844,6 +4866,36 @@
"transitionAt": "2026-08-05T22:53:41Z"
},
"g7AttemptIdentity": null
},
{
"id": "GR-2026-08-05-TASKKILL-RACE-529-01",
"authorityDigest": "07f540dd921d048b51558bad8f4bdb53af2acca964b301f536efcb3cbfca939b",
"lifecycle": {
"mode": "ONE_SHOT",
"status": "consumed",
"transitionAt": "2026-08-05T23:31:51Z"
},
"g7AttemptIdentity": null
},
{
"id": "GR-2026-08-05-COVERAGE-WALL-530-01",
"authorityDigest": "68303c566739926f1036d6502566188b4d051e6add21692b7d03159dd2fdd3af",
"lifecycle": {
"mode": "ONE_SHOT",
"status": "consumed",
"transitionAt": "2026-08-05T23:31:51Z"
},
"g7AttemptIdentity": null
},
{
"id": "GR-2026-08-05-TREN-E-BASELINE-SUPP-01",
"authorityDigest": "8dc722ce31844c6c8916092c610e14ab0d321060afd8ba32c78f771d7ffcbc5a",
"lifecycle": {
"mode": "ONE_SHOT",
"status": "consumed",
"transitionAt": "2026-08-05T23:31:51Z"
},
"g7AttemptIdentity": null
}
],
"workItems": [
Expand Down Expand Up @@ -7110,6 +7162,73 @@
"evidence": "Açılış 2026-08-05: Alperen canlı talimatı 'repodan güncel haline çekelim, 1.0.4 versiyonu kullanalım'; `receipt=GR-2026-08-05-ALP-DISC-104-01`; 2026-08-05 SETTLEMENT: v1.0.4 (a810c42) birebir çekildi — 7 dosya + ACKNOWLEDGEMENTS.md upstream-kaldırımı aynalandı, lokal-only korundu; `proof=diff-r-upstream-birebir`; diff -r upstream tag'iyle sıfır fark",
"updated": "2026-08-05"
},
{
"order": 529,
"id": "CI-SCRIPTS-TASKKILL-RACE-001",
"parent": "P00",
"program": "TRUTH",
"outcome": "scripts.test runScriptAsync taskkill it.each'inin 25ms bütçesi yavaş runner'da gerçek process-spawn süresinin altında — kill-eskalasyon aşama-yarışı flake'i (false-success senaryosu 'taskkill timeout'a düşüyor)",
"priority": "P1",
"dependsOn": [],
"dependents": [],
"children": [],
"gates": [
"G1"
],
"state": "VERIFY",
"truth": {
"C": "1",
"W": "1",
"E": "1",
"H": "1",
"L": "0",
"X": "?",
"S": "?"
},
"blockerCode": null,
"blockerRemedy": null,
"closureBlockedBy": [],
"evidenceReceipts": [
"GR-2026-08-05-TASKKILL-RACE-529-01"
],
"acceptance": "Zaman-bütçeleri senaryo-bağımlı olur: taskkill-tamamlanma senaryoları geniş bütçe, hang-senaryosu deterministik küçük; üretim timeout-authority kontratı değişmez; main-push Tests—Docs+Scripts'in bu flake sınıfı kapanır",
"evidence": "Açılış 2026-08-05: run 31054702920 log-izolasyonu (523/527 fix'leri tuttuktan sonra kalan tek Docs+Scripts kırığı); `receipt=GR-2026-08-05-TASKKILL-RACE-529-01`; 2026-08-05 SETTLEMENT: taskkillTimeoutMs senaryo-bağımlı (tamamlanma-senaryoları 5s, hang 25ms deterministik); `proof=scripts-suite-173of173-local`; scripts+hermeticity suite 173/173, tsc temiz; kapanış kanıtı merge sonrası main-push Docs+Scripts yeşili",
"updated": "2026-08-05"
},
{
"order": 530,
"id": "CI-COVERAGE-JOB-WALL-001",
"parent": "P00",
"program": "TRUTH",
"outcome": "Coverage Report kronik kırmızı: enstrümante tam-suite 20dk step-cap duvarına çarpıyor (bugünün TÜM main koşularında ~21dk'da kill; yeşil veri noktası yok) + scanTestDir production-scale testi enstrümantasyon-yükünde 10s default test-timeout'una çarpıyor (11.9s ölçüldü)",
"priority": "P1",
"dependsOn": [],
"dependents": [],
"children": [],
"gates": [
"G1"
],
"state": "VERIFY",
"truth": {
"C": "1",
"W": "1",
"E": "1",
"H": "1",
"L": "0",
"X": "?",
"S": "?"
},
"blockerCode": null,
"blockerRemedy": null,
"closureBlockedBy": [],
"evidenceReceipts": [
"GR-2026-08-05-COVERAGE-WALL-530-01",
"GR-2026-08-05-TREN-E-BASELINE-SUPP-01"
],
"acceptance": "Step-cap ölçüm-sonrası-kalibre tavana çekilir (20→45dk; ilk yeşil koşu gerçek süreyi ölçer, tavan gerekirse daraltılır); production-scale test açık 60s timeout alır; Coverage Report yeşile döner veya threshold-gate dürüst sinyal verir",
"evidence": "Açılış 2026-08-05: run 31054702920 + gün-içi 8 koşu tarihi; `receipt=GR-2026-08-05-COVERAGE-WALL-530-01`; 2026-08-05 SETTLEMENT: step-cap 20→45dk measure-then-calibrate + scanTestDir production-scale 60s açık timeout; baseline digest supp-receipt'le mekanik tazelendi; `receipt=GR-2026-08-05-TREN-E-BASELINE-SUPP-01`; `proof=peak-rss-996mib-validates-2gib-budget`; kapanış kanıtı merge sonrası main-push Coverage Report'un ilk yeşil (veya dürüst threshold-sinyalli) koşusu — gerçek süre o koşuda ölçülüp tavan gerekirse daraltılır",
"updated": "2026-08-05"
},
{
"order": 1000,
"id": "CODEX-MAIN-001",
Expand Down Expand Up @@ -19770,6 +19889,6 @@
],
"registryIntegrity": {
"algorithm": "sha256(canonical-json-utf8)",
"value": "f6c86f743e5312779872fc0c0550d0fd1d86456c572f184858e514b4e2defd06"
"value": "7c98f7f545851955e833cb5a74298971d54056bcb6e1c3cfb9a926e3cda8923d"
}
}
Loading
Loading