All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 4m52s
3-stage Workflow run-id evidence: investigate wf_be952f3c-97f / implement wf_a58e0d15-beb / audit wf_9520d8cd-4fe. PART 1 (L2 recovery): 4 over-cap sub (cicd-monitor/investigator-codebase/reviewer/implementer-backend) curated L1->L2 byte-exact + archive/_INDEX.md (substring sha-keyed pointers, no line-hints) + <period>.gist.md (4-field distill, distill-gen:1, verbatim frozen). All 4 MEMORY.md now < 25KB auto-inject cap (closes P1 curate-debt). ~240KB archive no longer RAG-dark. 0-byte-loss git+sha verified (Stage C audit + em-main self-gate on 2 reviewer StructuredOutput no-returns). Read-side gap fixed (MEMORY.md L5 header -> _INDEX). + memory-budget.json (seed-by-measure) + scripts/measure-agent-memory.ps1 + .ragignore guard. PART 2/3 (process mandate): every adap = 2 separate workflows (implement + review) + report with run-id; short-but-needs-confirm still requires review. Codified in .claude/commands/adap-apply.md + agents/README.md (Upgrade S70) + session-start.md (§2.1.2 budget-audit, pending-restart). adap-report + email-back to AI_INFRA (body-hash 7c07b716e775). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
15 KiB
15 KiB
distill-gen, period, source-verbatim, pointer-style, fields-per-line, note
| distill-gen | period | source-verbatim | pointer-style | fields-per-line | note |
|---|---|---|---|---|---|
| 1 | 2026-06 (+ tail of late-05 runs that live in 2026-06.md) | archive/2026-06.md (39 records, FROZEN — do NOT re-compress this gist) | substring (Ctrl-F) back-resolve into archive/2026-06.md; each line ends → substring:"<unique>" | VIỆC · KẾT-LUẬN(+commit/sys-truth) · BÀI-HỌC · BẤT-NGỜ · [confidence] | compression is a REPORTED number, not a target — every marker below is preserved in full-enough words to re-identify. Markers tagged ‹M#›. |
CI/CD Monitor — GIST 2026-06 (4-field distilled, read before opening verbatim)
Distilled from
archive/2026-06.md. Open that file + Ctrl-F the trailing substring to read the full run-record.‹M#›= checklist-marker survival tag (Stage-C gate, 22 total).
PE cross-stack + budget (S60-S62)
- VIỆC: PE "vượt ngân sách" soft-warn, PeWorkItemBudgets per-gói-thầu (Mig 50 replaces Budget module). KẾT-LUẬN: PASS, commit
7926c21; sys.tables 93→88 post-S61 Budget-drop,sys.tables(is_ms_shipped=0, excl mighist)=88correct. BÀI-HỌC: when commit touches no schema, 88 is right — don't FAIL on the 88-vs-93 (88↔93) ambiguity, always cross-ref COMMIT-scope vs ambient count. BẤT-NGỜ ‹M20›: table-count 88-vs-93 — narrative-93 is STALE pre-S61; S61 Budget-replace DROPPED 93→88;sys.tables(is_ms_shipped=0)=88correct post-S61. [cao] → substring:"Run #286 (run_number 286, id400)" - VIỆC: PE guard 4-thông-tin mục 3 cross-stack. KẾT-LUẬN: PASS commit
37122f0. BÀI-HỌC: cross-stack guard verify. BẤT-NGỜ ‹M21›: PE code column =MaPhieuNOTCode(custom naming — sqlcmd must SELECT MaPhieu). [vừa] → substring:"Run #283 (run_number 283) sha=37122f0" - VIỆC: S59 series — đợt6 cross-stack BE (
9c330d2), đợt5 FE×2 (faed59f), đợt3 BE-only DbInitializer (bbd1554), đợt2 FE×2 PE-list tree (0eafcd3), CLOSE đóng sổ (69997da). KẾT-LUẬN: all PASS. BÀI-HỌC: multi-đợt same-session FIFO; BE-only=both-bundle-frozen, FE×2=both-rotate. BẤT-NGỜ: none. [vừa] → substring:"Run #280 (run_number 280) sha=69997da" - VIỆC ‹M18›: S59 FE×2 PE-list tree regroup (
56882ac), in the post-wipe window after the DemoSeed tables were cleared. KẾT-LUẬN: PASS commit56882ac. BÀI-HỌC ‹M18›: post-wipe deploy = verify BOTH halves — demo tables stay 0 after app-pool recycle (no accidental re-seed) AND infrastructure/master untouched (don't check only one side). BẤT-NGỜ: recycle did NOT re-populate demo rows (DemoSeed:Disabled holds). [cao] → substring:"Run #273 (run_number 273) sha=56882ac" - VIỆC: S59-đợt4 rename WorkItems → 71 hạng mục via prod-SQL + idempotent-seed. KẾT-LUẬN: PASS commit
c869d26, WorkItems count=71 EXACT no-dup. BÀI-HỌC ‹M17›: rename-via-prod-SQL + idempotent-seed = verify target count EXACT; double = re-added-dup = FAIL (71-no-dup). BẤT-NGỜ: none. [cao] → substring:"Run #276 (run_number 276) sha=c869d26"
#291 FAIL forensic — the CS7036 class (S?, 06-16)
- VIỆC ‹M6›‹M8›‹M9›: TEST-GATE COMPILE BREAK. KẾT-LUẬN: FAIL ~64s, commit
8c8179c; CS7036 —CreateDepartmentCommandrecord gained REQUIRED 5th positionalParentId; un-updated call siteMasterCatalogFilteredUniqueTests.cs:63(old 4-arg) breaks whole slnx build → deploy GATED, prod stayed baseline (bundles FROZEN + Mig NOT applied). BÀI-HỌC ‹M6›: this is gotcha #65 root-cause canonical = spec-change-miss class (record ctor grows positional param → stale call-site). BẤT-NGỜ: green-elsewhere but one stale test call-site fails entire build; deploy-gate protected prod. [cao] → substring:"Run #291 (run_number 291, id405) sha=8c8179c"
Lock/auth quirks (S58)
- VIỆC ‹M15›: S58 FIX the #381 lock NO-OP. KẾT-LUẬN: PASS commit
5998163; lock-noop → pw-11to12. BÀI-HỌC ‹M15›: lock/deactivate-by-email returning 0/-1 = dump actual Users set BEFORE scoring FAIL (don't assume target row exists). BẤT-NGỜ ‹M21›: custom Identity table =UsersNOTAspNetUsers. [cao] → substring:"Run #382 (run_number 268) sha=5998163" - VIỆC: S57bis PE gắn WorkItemId loose-Guid no-FK (Mig 49). KẾT-LUẬN: PASS+1PARTIAL commit
dd117b7. BÀI-HỌC: AddColumn+CreateIndex no-new-table. BẤT-NGỜ: partial on one axis. [vừa] → substring:"Run #381 (run_number 267) sha=dd117b7"
Supersede-chain + bundle-frozen/asymmetric/rotate discipline (S55-S59)
- VIỆC ‹M10›‹M22›: SUPERSEDE-CHAIN benign. KẾT-LUẬN: same-SHA run flipped to CANCELLED mid-flight, shipped via
3ebaf…(mem id #385/#386). BÀI-HỌC ‹M10›: same-SHA run flipping to cancelled = Gitea concurrency-supersede by newer push, NOT fault; verifymerge-base --is-ancestor+ diff-empty + the SUCCESSFUL run, do NOT escalate. BẤT-NGỜ ‹M22›: mem-labeled run ids (#385/#386) differ from real Gitea task ids — reconcile via run_number. [cao] → substring:"Run #385→#386 SUPERSEDE-CHAIN sha=ea793a4" - VIỆC ‹M13›: S58 FE-USER visual redesign. KẾT-LUẬN: PASS commit
e959f72, asymmetric fe-user-only rotate. BÀI-HỌC ‹M13›: asymmetric single-app FE: changed-app hash MUST rotate AND other-app MUST stay frozen (#384 fe-user-only ↔ #378 fe-admin-only — direction flips). BẤT-NGỜ: none. [cao] → substring:"Run #384 (run_number 270) sha=e959f72" - VIỆC ‹M12›: S56 GOLIVE-HARDEN BE fixes. KẾT-LUẬN: PASS commit
a20cde8. BÀI-HỌC ‹M12›: BE-only bundle FROZEN = correct, NOT ship-fail; ship-proof = Mig-applied / test-count (not bundle-rotate). BẤT-NGỜ: none. [cao] → substring:"Run #379 (run_number 265) sha=a20cde8" - VIỆC: S56 pre-golive re-verify prod truth. KẾT-LUẬN: [audit] no-deploy read-only. BÀI-HỌC: read-only audit pattern (no ship event). BẤT-NGỜ: none. [thấp] → substring:"S56 pre-golive verify — NO deploy"
- VIỆC ‹M13›: S55 Phase-1 FE-Admin visual redesign. KẾT-LUẬN: PASS commit
7feb53e, asymmetric fe-admin-only rotate / other frozen. BÀI-HỌC ‹M13›: changed-app rotate + sibling frozen (the admin-side mirror of #384). BẤT-NGỜ: none. [cao] → substring:"Run #378 (run_number 264) sha=7feb53e" - VIỆC ‹M14›: S55 HMW-P4 real master-data seed (Mig 48: 62 dự án + 71 hạng mục + 3 NCC). KẾT-LUẬN: PASS commit
69cb393. BÀI-HỌC ‹M14›: ungated SeedRealMasterDataAsync verify = sqlcmd COUNT spot-check +=N'…'EXACT for unicode (reaches prod by design, idempotent per-code). BẤT-NGỜ: none. [cao] → substring:"Run #377 (run_number 263) sha=69cb393"
SLA / IT-ticket / 411 (S54)
- VIỆC ‹M16›: S54 IT-staff self-reassign ticket. KẾT-LUẬN: PASS commit
ca4b602. BÀI-HỌC ‹M16›: 411-vs-401 — unauth bodyless PUT/POST returns 411 from IIS BEFORE [Authorize]; resend-d {}(empty body) to get real 401 (paired with #367). BẤT-NGỜ: 411 ≠ unhealthy, it's Content-Length-Required pre-auth. [cao] → substring:"Run #376 (run_number 262) sha=ca4b602"
Earlier P11 / Office / Holiday (S42-S52, dates 05-28→06-08)
- VIỆC ‹M3›‹M5›‹M11›: S50 HMW-Wave2 P11-C Vehicle+Driver (Mig 44/45). KẾT-LUẬN: PASS commit
30a99aa; saw a mid-deploy transient bundle hash (CVbyotwa) before the final one settled. BÀI-HỌC ‹M3›: gotcha #41 Discovery#3 — Gitea evaluates push RANGE; ≥1 non-ignored file ⟹ whole range builds (mixed docs+tsx NOT skipped). ‹M5›: gotcha #57 — soft-delete UNIQUE index MUST filterWHERE [IsDeleted]=0(Mig 44/45 filtered-unique). ‹M11› anti-pattern timing: NEVER trust bundle hash until status=success — mid-deploy shows a transient 3rd hash (#371 transientCVbyotwa, #378); always re-confirm hash AFTER status=success + stable 2nd-fetch (anti#3). BẤT-NGỜ: 3rd transient hash exists only during the deploy window. [cao] → substring:"Run #371 (run_number 257) sha=30a99aa" - VIỆC: S48 FE-only login subtitle a11y (
350b2bf); S45 Mig 43 filter Holiday UNIQUE (0c5a014); S42 P11-B LeaveBalance (82d7fcf); S42 P11-A workflow-picker 2-bug + SetWorkflow (75df04e). KẾT-LUẬN: all PASS. BÀI-HỌC: Holiday filtered-unique = same #57 family; FE-only login = bundle-rotate-only. BẤT-NGỜ: none. [vừa] → substring:"Run #368 (run_number 254) sha=0c5a014" - VIỆC ‹M22›: S42 P11-A wire ApproveV2 + LevelOpinions. KẾT-LUẬN: PASS commit
e7b66cd. BÀI-HỌC: V2 approve wire. BẤT-NGỜ ‹M22›: mem-labeled "#250" ≠ real Gitea id — reconcile via run_number (here run_number not in mem label; trust git sha). [vừa] → substring:"Run #364 (mem #250) sha=e7b66cd" - VIỆC: S38 SKELETON 5-plan combo (Mig 39+40 dual). KẾT-LUẬN: PASS commit
e54a22d. BÀI-HỌC: dual-migration single deploy. BẤT-NGỜ: none. [thấp] → substring:"Run #247 sha=e54a22d" - VIỆC ‹M4›: ⚠️ VỊ-TRÍ-LẠC entry (FIFO slot between #384/#382; carries #383 dual-role menu detail). KẾT-LUẬN: note. BÀI-HỌC ‹M4›: gotcha #44 — dual-role menu-tree
/api/menus/mefor nv.test (Drafter+CCM must merge both roles' menu keys; #383/#381). BẤT-NGỜ ‹M22›: mem run id ≠ real Gitea — this entry was mis-placed in FIFO. [vừa] → substring:"VỊ TRÍ LẠC — entry MỚI 2026-06-11" - VIỆC: S37 Proposal Mig 37+38 (/api/proposals 200 + QT-DX-V2-001 AppType=4). KẾT-LUẬN: PASS [archived]. BÀI-HỌC: AppType=4 seed reach prod. BẤT-NGỜ: none. [thấp] → substring:"Archived Run #246 (S37 Proposal Mig 37+38"
- VIỆC ‹M2›: S29 gotcha #51 catch. KẾT-LUẬN: PASS [archived]. BÀI-HỌC ‹M2›: gotcha #51 — INFRASTRUCTURE seed (SampleWorkflowsV2) must NOT be nested in
if(!demoSeedDisabled); symptom = empty V2 dropdown; hoist fix. BẤT-NGỜ: demo-flag silently gated an infra seed. [cao] → substring:"Archived Run #232 (S29 gotcha #51 catch"
Curated-down from L1 this session (S68-S78, dates 06-16/06-17) — the 10 moved records
- VIỆC ‹M19›: CROSS-STACK PE HoSoLink (Mig 52) + FE-User Hồ-sơ-NS 3-panel + rename Dự-trù→Ngân-sách. KẾT-LUẬN: PASS commit
5a0aaa4; Mig 52 applied (history-top advanced 51→52),sys.columnsHoSoLink present, no-new-table 88; bundle BOTH rotateBDwV5d0X/DXkyUjtQ. BÀI-HỌC ‹M19›: bundle-hash lineage load-bearing (admin un-froze); nullable-AddColumn cross-stack verify = history-top advance + sys.tables-unchanged + Detail-DTO field-presence via authed GET on REAL phiếu. BẤT-NGỜ:hoSoLink:nullfor old rows proves DTO-wiring AND backward-compat. [cao] → substring:"Run #293 (run_number 293, id407) sha=5a0aaa4" - VIỆC ‹M13›: FE-User Hồ-sơ-NS 2-col layout. KẾT-LUẬN: PASS commit
456c7a7; asymmetric user-rotateDbVv6rsf/ admin frozen; no-mig stays Mig52. BÀI-HỌC ‹M13›: 3rd-consecutive same-page FE-user — re-rotate same page each deploy = NORMAL, sibling-frozen-when-untouched. BẤT-NGỜ: tokens-present this run (vs empty other runs) — both auth paths work. [cao] → substring:"Run #295 (run_number 295, id409) sha=456c7a7" - VIỆC ‹M13›: FE-User Hồ-sơ-NS cosmetic brand800. KẾT-LUẬN: PASS commit
ab4e681; asymmetric user-rotateBumgrwCJ/ admin frozen. BÀI-HỌC: health =/health/ready+/health/live(200×2), NOT/health(404 ≠ unhealthy — cross-check skill before flag). BẤT-NGỜ:/healthliteral is wrong-path. [cao] → substring:"Run #297 (run_number 297, id411) sha=ab4e681" - VIỆC ‹M13›: FE-Admin MIRROR Hồ-sơ-NS from fe-user (asymmetric NGƯỢC). KẾT-LUẬN: PASS commit
292d64d; admin ROTATExkSz9BfE/ user FROZEN (direction flips vs prior deploy). BÀI-HỌC ‹M13›: deploy-2 same-session asymmetric-NGƯỢC = verify prior deploy NOT cancelled + this-app-rotate/other-frozen; admin un-froze from multi-session frozen-streak = EXPECTED. BẤT-NGỜ: poll-parser bug —tr,|grep -Aon JSON misanchors → re-query with python3; parser-bug ≠ run-stuck. [cao] → substring:"Run #298 (run_number 298, id412) sha=292d64d" - VIỆC ‹M12›: TESTS-ONLY BE +23 test (→286). KẾT-LUẬN: PASS commit
bcd619d; bundle BOTH FROZENxkSz9BfE/BumgrwCJ; CI test-gate runs both projects BEFORE build ⟹ status=success ⟹ 23 new passed (286 INFERRED not log-count). BÀI-HỌC ‹M12›: BE-only ⟹ both bundles MUST stay frozen (rotate=anomaly); ship-proof=test-count not bundle. BẤT-NGỜ:python3BROKEN on box (ZKBioTime embed SRE-module-mismatch) → use PowerShell Invoke-RestMethod. [cao] → substring:"Run #299 (id413) sha=bcd619d" - VIỆC: FE-both-app PE Link-hồ-sơ
file://render upgrade (keep Copy fallback). KẾT-LUẬN: PASS commit536dd6b; bundle BOTH rotateCcrZqfht/DniDFUB_; tables88. BÀI-HỌC: pure-FE-both-app = both rotate;file://browsers may block from https-origin (hence Copy fallback) — not curl-verifiable. BẤT-NGỜ: none. [vừa] → substring:"Run #302 (run_number 302, id416) sha=536dd6b" - VIỆC: FE-both-app Hồ-sơ-NS banner text-polish. KẾT-LUẬN: PASS commit
6983609; bundle BOTH rotateD532XZKG/CuFaBoWt. BÀI-HỌC ‹M3›: docs-files in same push-range as .tsx do NOT suppress build (range any-non-ignored ⟹ build — Discovery#3 corollary). BẤT-NGỜ: none. [cao] → substring:"Run #303 sha=6983609PASS" - VIỆC ‹M13›: FE-both-app 1-line CSS-precedence fix (name
text-white→text-white!). KẾT-LUẬN: PASS commit37752eb; bundle BOTH rotateCNUv1jxY/CpOskeS1; tables88. BÀI-HỌC: even 1-line both-app change → new content-hash both; Tailwind-v4 @layer precedence (unlayered h2 beat text-white). BẤT-NGỜ: SHA256-identical-between-2-apps is a SOURCE claim (git), not runtime DOM-equality. [cao] → substring:"Run #304 (run_number 304, id418) sha=37752eb" - VIỆC: S69 FE-both-app Văn-phòng-số foundation + index.css sync + BE menu-seed
Off_Dashboard(NO-EF-mig). KẾT-LUẬN: PASS commita8bbdae; bundle BOTH rotateBl2o_kUq/BImrKQNn; no-mig top stays Mig52 (menu-seed = DbInitializer runtime row-insert NOT migration); menu-seed verified via MenuItems SELECT; office-hidden = perm row only-Admin 1/13. BÀI-HỌC: prod CI bundle-hash ≠ local-build-hash is NORMAL (CI rebuild) — FAIL only if NOT-rotated-from-baseline. BẤT-NGỜ: sqlcmd string-literal doubled''x''BREAKS in PS → build via[char]39concat. [cao] → substring:"Run #305 (run_number 305, id419) sha=a8bbdae" - VIỆC: S70 FE-only re-skin Văn-phòng-số 10-page PURO. KẾT-LUẬN: PASS commit
c556f6c; bundle BOTH rotateWt54PHYl/B99fMU6X; office-API live (proposals/it-tickets/meeting-rooms/employees 200); office-hidden confirmedOff_Dashboardadmin-only / Drafter CanRead=0. BÀI-HỌC: CanRead=0 perm-ROWS exist but ≠ access (menu gates on CanRead=1) — must filter CanRead=1, existence≠access; office-hidden is AMBIENT (FE-only can't touch Permissions seed). BẤT-NGỜ:/api/workflow-apps→404 = wrong-route-guess NOT regression (FE-only can't change BE routing). [cao] → substring:"Run #306 (run_number 306, id420) sha=c556f6c"