Files
solution-erp/.claude/agent-memory/cicd-monitor/archive/2026-07.md
pqhuy1987 9f9a78e2da [CLAUDE] Memory: S104 bootstrap — cicd #488 orphan-harvest + tooling-auditor RE-REPORT
cicd-monitor 3 files (MEMORY + archive/2026-07 + _INDEX): Run #488 PASS
harvest for 778fc98 Mig 62 Supplier deploy — bundle admin ChSNAJBK / user
Bn2w1znH (#69-meaningful real-src-diff), sys.tables 89 unchanged, Note
un-cram count=0, marker-grep HIT, health 200x3. Orphan-by-construction
(mtime 16:14-16:16 after HEAD 16:06); H2 harvest-curator verified fidelity
+ DEDUP-clean (#488 not-in-HEAD, #487/#486 archive-moves not doubled).
tooling-auditor: S104 session-start 4-facet RE-REPORT self-write.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 16:36:36 +07:00

6.6 KiB
Raw Blame History

CI/CD Monitor — Archive 2026-07 (verbatim, FROZEN additive-only)

Curated L1→L2 by em-main (S98 2026-07-02 — garble-pressure #53 structural: L1 19.9KB > self-target 17.1KB). Records moved from MEMORY.md content-exact (terminator normalized CRLF→LF — V3 verified sha-match trên text nội dung); L1 keeps compressed stubs + 🔑 pattern-keys. Lookup: archive/_INDEX.md. NEVER rewrite existing bytes; append-only.


  • 🟢🟢 S96+S97 FINAL-SESSION-REVIEW (2026-07-01 end, em main "review kỹ trước đóng session") — 11-commit day (S96 #478-480 + S97 #481-484 + docs closeouts) ALL-DEPLOYED-HEALTHY, verdict CLEAN. HEAD=5c914e4 (docs-only) → latest code=fb2dfa9 #484. Re-verified whole-session GO on LIVE prod: Gitea recent tasks ALL status=success #478→#484 (no stuck/cancelled/fail; #484 21:30:36→21:35:49 in-baseline ~5m). Mig 61 APPLIED-PROD (__EFMigrationsHistory top==20260701142752_BackfillEndedByLevelFinalizeFromChangelog, pre=Mig60). BACKFILL RE-CONFIRMED A/005=1,A/008=1,A/010=0 (global flag-dist: 2×=1 + 11×=0 = exact target set, no over-reach). sys.tables=88 excl-EFHistory / 89 incl (⚠️ RECONCILE: S97-note-89 counted WITH __EFMigrationsHistory; 88+1=89 CONSISTENT no-drift; data-only Mig61 count-unchanged=correct). Health 4×200 (ready/live/admin-root/eoffice-root). Auth-login OK token-len 468, PE-list 200 (5KB items valid), menus/suppliers 200. SignalR WIRED bodyless-POST→411 (IIS Length-Required pre-auth NOT 404) · with-body→200 full negotiate JSON (connectionId+WebSockets transport) · no-auth→401 (JwtBearer challenge OK) — gotcha #25 clear. BE ship-proof SolutionErp.Infrastructure.dll mtime 21:31:39 in-#484-window + w3wp fresh PIDs 21:32:41/21:35:25 (recycle happened). ⚠️ BUNDLE ROTATED AGAIN since #484-entry: admin js mEGqlNWc (was CeTA7Z82) / user js Dnrp4PU1 (was CGaAyXen) · CSS FROZEN admin Bbtesa6B/user BmuPz_Dy. Both REAL (admin 1637596b / user 1543944b vs SPA-trap-control ZZfake…→919b) · Last-Modified admin 14:34:26Z=21:34:26+07 / user 14:35:20Z=21:35:20+07 BOTH in-#484-window · immutable-max-age-1y. ⟹ #69 CONFIRMED: unconditional FE-rebuild rotates hash EVERY deploy even DATA-FIX commit (0 fe-*/src diff) — rotation=deploy-artifact NOT ship-signal; real-FE-ship = diff fe-src + real-size + Last-Modified-in-window (all satisfied by #483 real badge-FE + #484 benign-rotate). 🔑 WHOLE-SESSION GO = every-commit-CI-success + Mig-top==HEAD + backfill-exact + control-untouched + 4×health-200 + auth+PE+SignalR-wired + BE-dll+w3wp-in-window + bundles-real-in-window. ⚠️ tooling: w3wp $_.StartTime mangled thru nested ssh→PS (S42) → base64-EncodedCommand fixed; sys.tables 2-variants to reconcile EF-history inclusion.
  • 🟢 S97 #484 (id=484, run_number 370) fb2dfa9 GO ~5m (PASS) — DATA-FIX Mig 61 backfill EndedByLevelFinalize từ Changelogs (fix Mig 60 soi NHẦM bảng), phiếu finalize-CCM hết hiện sai "Đã được CEO duyệt", anh Kiệt FDC UAT. 3 files: Mig 61 20260701142752_BackfillEndedByLevelFinalizeFromChangelog+Designer (data-only NO-schema, chỉ Sql() UPDATE set=1 cho phiếu có finalize-marker ở PurchaseEvaluationChangelogs) + docs/gotchas.md. Poll running→success ~21:31→21:36:28 (~5m in-baseline; ⚠️ started_at/stopped_at=None trong tasks API). status=success ⟹ test-gate green (baseline 440). 🔴🔴 BACKFILL EFFECT VERIFIED-PROD (điểm quan trọng nhất) sqlcmd SELECT MaPhieu,EndedByLevelFinalize WHERE Phase=7: A/005=1, A/008=1 (finalize-CCM set 0→1 = fix ăn) · A/010=0 (CEO thật giữ nguyên = control OK, backfill KHÔNG over-reach). 🔴 Mig 61 APPLIED-PROD: __EFMigrationsHistory top==Mig61 (pre=Mig60, advanced). 🔴 endsBeforeCeo FLIP LIVE (API): A/005 3da9b890endsBeforeCeo=True (trước False = exact-bug-fix) · A/010 31faef0dFalse (control). ⚠️ DTO field endedByLevelFinalize=None (không expose shape này) NHƯNG derived endsBeforeCeo phản-ánh col-DB=1 đúng ⟹ verify col qua sqlcmd NOT DTO. 🎯 DATA-FIX ⟹ NO-FE-change: không snapshot bundle (0 fe-*/src diff; #69 rotate benign nếu có ≠ ship-signal). Smoke: api-ready/admin-root/eoffice-root 200×3 + GET /purchase-evaluations 200 (list không vỡ). 🔑 DATA-FIX-BACKFILL PASS = CI-success + Mig-top==HEAD + sqlcmd-target-rows-flip-EXACT(A/005+A/008=1) + control-untouched(A/010=0) + derived-API-field-FLIP-live + smoke-200. ⚠️ tooling: busy-wait favicon-spin ~10s/iter(40×)=TOO-SLOW → 250×/iter≈50s hit terminal; integrated-auth -E -h -1 -W; A/010-id qua sqlcmd-inline-lookup.
  • 🟢 S103 #487 (rn 373) f0874dd GO ~4m (13:54:31→~13:58) — GOVERNANCE/SCRIPTS-ONLY (28 file = 25 docs/.md ignored + 3 non-ignored trigger #41: memory-budget.json + scripts/{crystallized-backfill,applied-eval-nokey}.ps1; 0 .cs/.csproj/fe-src/Mig): status=success (test gate 440 passed, conclusion=None quirk on tasks-endpoint = trust success) · Mig 61 frozen __EFMigrationsHistory top==repo-HEAD (0 mig added) · smoke 200×6 (api/ready + admin/root + eoffice/root + auth accessToken-len468 + PE-list + contracts + menus) · SignalR bodyless-411 / empty-token-401 = wired+gated (out-of-scope, 0 noti code) · bundle hash FROZEN 2 app (admin mEGqlNWc/Bbtesa6B + user Dnrp4PU1/BmuPz_Dy = #486 baseline) + Last-Modified in-window 13:58:33/13:59:29+07 + real-size 1.64/1.54MB vs fake-919b SPA-control = ship-proof. #69-REFINE ×4 (#333→#485→#486→#487): 0 fe-src diff ⟹ hash frozen + fresh copy. GOVERNANCE-PASS stable ×4 (#476/#485/#486/#487). ⚠️ poll.py break-cond on conclusion null-check over-spun 6 iter after status=success reached iter4 — FIX break-cond to status==success OR completed, not conclusion-populated.
  • 🟢 S100 #486 (rn 372) 5ee32c0 GO 5m17s (15:32:11→15:37:28) — GOVERNANCE-ONLY (19 file = 18 .md/docs ignored + scripts/governance-detectors.ps1 non-ignored → trigger #41; 5 docs-only commits trước [525a01a…513aa09] đúng 0-run): Mig 61 frozen history-top + sys.tables 89 · smoke 200×7 (health-ready/admin/eoffice + auth accessToken + PE-list + contracts + menus) · bundle hash FROZEN 2 app + Last-Modified in-window 15:36:08/15:37:01+07 + real-size 1.64/1.54MB vs fake-919b control = ship-proof. #69-REFINE ×3 (#333→#485→#486): 0 fe-src diff ⟹ hash frozen + fresh copy. GOVERNANCE-PASS stable ×3 (#476/#485/#486). 🔧 Poll: python time.sleep in-script chạy ĐƯỢC foreground (chỉ bash sleep builtin bị block) — hết cần busy-wait spin.