Commit Graph

250 Commits

Author SHA1 Message Date
69957fda0b [CLAUDE] Docs: S108 Fable-real FIRST-REAL-RUN — runbook 60KB (4-worker-Opus draft wf_2f85b3f6 + 2-judge single-Fable 2-truc FAIL→37-fix, AC 8/8) + adap-request registry-hot-reload + email AI_INFRA 8d14405f + engine §K/K.D note-supersede + hmw.js:31 stale-comment fix + harvest 2-entry engine-label + cicd #490 carry
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m5s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 14:35:01 +07:00
d74f67f8f0 [CLAUDE] Docs: S107 closeout — STATUS/HANDOFF mega-line + session log + budget.json full re-measure (supersede S98) + 2 monitor @end (H1 chốt 1-flag D-BUNDLE hoisted #489 + H2 GATE PASS 5/5) + tooling self-compact 16.2KB
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m31s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 10:39:24 +07:00
86a34d5ff1 [CLAUDE] Docs: S107 office-document VERIFIED-RUNTIME cùng-phiên (registry hot-reload agent MỚI + spawn-test PASS OD1/OD4/OD5 template thật — finding wwwroot 0-placeholder) + cicd Run #489 PASS record + S27 lesson thu hẹp EDIT-agent-only
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 09:43:19 +07:00
21387cd2c9 [CLAUDE] Docs: S107 +office-document 12th sub (anh giao — Sub chính Office) — agent OD1-OD10 + skill nạp docx·xlsx·pptx·pdf + form-engine + MEMORY seed 2161B + wire 14-file (roster 11→12, VALID_ROLES hmw.js 9→10) — spawn-test pending CLI-restart
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m33s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 09:28:00 +07:00
1eea51b5b5 [CLAUDE] Docs: S107 session-start reconcile — commit S106 leftover (gộp flip-chain 1-owner + tooling self-compact md5-verified, 7f anh-confirm S106) + flip-8 S107-Fable ×3-verified + ERD-range →62 ×2 + 2 monitor S107 @start
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 08:57:15 +07:00
41f8061491 [CLAUDE] Docs: S105 refine-all — cosmetic-fix tooling 3-entry-moved + strike-1 WATCH (inv-cb/tooling chớm self-target) + favicon BVAAU prod VERIFIED (00249b×3)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 17:13:10 +07:00
0f16c00d40 [CLAUDE] Docs: S105 closeout — STATUS/HANDOFF + session log + 4 derived-flush (flip-chain S104-O→S105-F ×3 vị-trí + skills/README Mig62 + trailer→Fable 5)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 14:43:05 +07:00
95f5555e97 [CLAUDE] Docs: S104 park Supplier Phase B (Excel upload) per anh
Anh directed S104: drop Excel-upload auto-map from the active queue, note
it for later, will re-raise when needed. Marked PARKED in STATUS
Maintenance-backlog + HANDOFF NEXT-anh (do NOT auto-start next session).
Phase A (Supplier 30-field, Mig 62) stays shipped/done.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 17:34:25 +07:00
af5f9d34ba [CLAUDE] Docs: S104 reconcile Mig 62 Supplier docs-lag
Commit 778fc98 (Mig 62 expand Supplier 9->27 field, today 16:06) shipped
BE+FE+deploy Run #488 but skipped docs closeout -> STATUS/HANDOFF stuck at
"Mig 61/S103". S104 session-start caught it: governance-detectors 1 HIGH
(STATUS Mig=61 vs disk=62) + 2 monitor (H1 patch-list D1-D4, H2 5-axis
CLEAN + investigator-harvest-in-HEAD moved-not-cut) + dotnet test 440 PASS
re-verified (#65 no-bite despite Create/UpdateSupplierCommand signature).

Reconcile (derived-flush to disk/prod ground-truth = em-main execution):
- STATUS.md: Migrations 61->62 + Mig 62 blurb; mega-line S104; Sub-agents
  flip-chain +S104-Opus; In-Progress S104 (S103 collapsed <details>);
  Maintenance-backlog Supplier Phase-A shipped (Phase B Excel-map defer).
- HANDOFF.md: S104 blurb + NEXT-em/NEXT-anh carry.
- ef-core-migration SKILL: description+header Mig 62 + table row 62 + Total.
- session log 2026-07-06-S104-mig62-supplier-reconcile.md.

State: Mig 62 . 89 tables . 440 test . gotcha 79 . menu 54. No prod-code;
docs/memory-only -> CI path-filter skip (#41), no deploy (Mig 62 already
shipped Run #488).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 16:36:51 +07:00
6d217f77ed [CLAUDE] Docs: S103 §L.b(b) — log AS-10 5th fire (investigator garble-curation caught+reverted, 5/5 catches/0 escape)
Co-Authored-By: Claude Opus 4.8 (1M) <noreply@anthropic.com>
2026-07-06 14:13:30 +07:00
32a2032632 [CLAUDE] Docs: S103 mark-decision resolved — codify-only (no User-Mark) per anh, ACTIVE-MARKS giữ 5
Anh chọn "Chỉ codify (không mark)" cho Harness-20 + crystallized-backfill (như H16/H17/H18 precedent; engine §L/§M canonical đủ; crystallized-backfill owner-authority dưới mark H15 §G sẵn). STATUS In-Progress + HANDOFF NEXT resolved.

Co-Authored-By: Claude Opus 4.8 (1M) <noreply@anthropic.com>
2026-07-06 13:57:40 +07:00
f0874dd2c9 [CLAUDE] Docs: S103 AI_INFRA 6-broadcast adap — crystallized-backfill (measure-then-fill) + Harness-20 fix-all-structure + memory-hygiene mapping
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m26s
Adap 6 broadcast (hash MATCH cả 6 indep-recompute) qua 2-workflow Harness-9:
- Harness-20 fix-all-structure -> engine §L + dogfood model-note 4-tầng-sweep (incl PERSONA) + 220K→380K neo-supersede + 2-đầu-catch (review bắt 2 DẪN-XUẤT stale-trailer sweep-sót → fixed)
- F4 crystallized-backfill = NEW scripts/crystallized-backfill.ps1 (measure-then-fill DRY NO-API; default target=0=OFF owner-authority; calibrated-range; precondition; file-floor=UPPER-BOUND honest) + budget.json config + budget-table wire
- F1/F3 already-met (0 hardcoded-violation persona-clean; BƯỚC 0.6 bắt S103=Opus real-metadata)
- session-cmd budget-table (Up1) + run-loop 2-tầng (Up2 largely-already-met §L.b(c))
- H16 no-key Applied% = NEW scripts/applied-eval-nokey.ps1 (adversarial-gate fail-closed 3-ca + fault-inject FLIP; mechanism-built numbers-DEFERRED)
- memory-hygiene A/B already-met (archive-gate DRY-RUN + governance-detectors 4-layer 1:1); C n/a JS-sandbox no-CLI-launcher
- consolidation reference-ack (crystallization≠backfill)

engine §L+§M · 6 adap-report + 1 adap-request (#53-garble reasoning-lane mitigation) · send-email fc1e22ac selftest-MATCH · check-email 3 pulled+verified+STAGE-2.

2-workflow: WF1 implement wf_55ef6778-a0d (3 lane schema-CLEAN, selftest exit-0 ×2 + fault-inject teeth) + WF2 review wf_3c5c37cb-aa2 fable-clone (Lane-C PASS returned + Lane-B recover-from-memory PASS; 0-BLOCKING 2-CONCERN-addressed). #53 garble ×3 → em-main recover; investigator AS-10 garble-curation REVERTED (git-backstop).

Runtime S103 = Opus (Fable outage lại, per-session flip; H5-fallback revert-free). State GIỮ NGUYÊN: Mig 61 · 89 bảng · 440 test · gotcha 79 · menu 54. 0 prod-code.

Co-Authored-By: Claude Opus 4.8 (1M) <noreply@anthropic.com>
2026-07-06 13:54:13 +07:00
62cff3854b [CLAUDE] Memory: S102 bootstrap — 2 monitor RE-REPORT (H1 ALL-4 PASS Fable-restore ×3 self-report · H2 Fidelity-FLAG cut-not-moved ×5 → recovered reviewer archive/2026-07.md + _INDEX +5 + L1 re-point) + 3 model-note S102-Fable
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 11:01:01 +07:00
3e2c18b637 [CLAUDE] Docs: S101 session-end closeout — §L auto-maintain (AS-10 recurrence + 2 monitor CHOT + model-note uniform)
- error-ledger E-006: AS-10 recurrence S101 (fire 5-6 from workflow-lanes; harvest-curator Fidelity-gate PASS -> KEEP per keep-if-correct, differs from S95-revert because S101-writes clean; GAP-3 dogfood-validate convention-not-mechanism; guard git-diff HELD 6/6 0-escape)
- session-start BUOC 0.6: +S101-Opus caveat (F-H19b, uniform with STATUS:24 + agents/README:3)
- harvest-curator diary: S101 @closeout GATE PASS 5/5 truc + AS-10 legit-keep Fidelity-call (on-behalf B3)
- tooling-auditor diary: S101 @closeout CHOT 4-mat + command 14->16 (COMMAND not skill) + model-drift #5 + F-H19a-defer (on-behalf B3)
- monitors verdict: harvest-curator GATE PASS (0 orphan, 0-byte 0/11, U+FFFD 0/11, containment OK) + tooling-auditor CHOT (11=11=11, 18/15/3, H19 docs full path:line-verified)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 18:32:11 +07:00
e35066016f [CLAUDE] Docs: S101 check-email AI_INFRA + H19 fable-clone formal adopt + model-tier 12/12
- check-email batch13 ack (SE caught-up H-17, Fable-restore H-8 recognized) + re-stamp H10 body-hash 5f511fe5->5f8b8504 (no-strip->canonical) + frontier flag#2 RESOLVED (AI_INFRA re-stamped 8b6a8354=SE-computed)
- model-tier bundle 07-03: 12/12 (all-inherit form-valid; v2-pin-simple not-adopted) + Q1/Q2 documented + selftest-stamp -> send-email 6c
- H19 fable-clone FORMAL ADOPT + RC-stamp RC-pqhuy1987-03-07-2026-17-46-35: 2 command fable-real/fable-clone (that/ao toggle, semantic-inverse) + marker gitignored + engine SS-K (K.A-K.D + 3 floor-fidelity gap) + session-start BUOC 0.5b reader (WF2-Lane-A fix marker-write-only) + 4 adap-report
- 2-workflow Harness-9: WF1 wf_5f308fd8-744 SOUND_WITH_CONCERNS (lost-to-interruption->resume-cached) + WF2 wf_ed5b972f-a4d PASS_WITH_CONCERNS 0-BLOCKING
- mapping reviewer + investigator-codebase; VACUOUSLY-MET-honest (all-inherit->0 runtime-delta; value=future-proof-floor + anti-consensus-catch NOT cost; nac designed+will-dogfood)
- GAP-3 AS-10 fired LIVE (WF1+WF2 lanes auto-harvested agent-memory -> dogfood-validate convention-not-mechanism; harness-sanctioned, verified, KEPT)
- email AI_INFRA harness-19-adopt-plus-model-tier (selftest-stamp 6c PASS)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 18:22:28 +07:00
f229b07f39 [CLAUDE] Docs: S101 H18 WF2 review closeout — re-run wf_955643c3-f7d PASS_WITH_CONCERNS + stamp + model-note Opus-S101
- WF2 gốc wf_31ea3985-92c mất theo CLI-restart → re-run fresh 3-lane adversarial
- Lane-A detector-teeth PASS (fault-inject 4/4 tái-dựng độc-lập -RepoRoot, MED derived-stale 11→0)
- Lane-B ledger-retire PASS_WITH_CONCERNS: 1 CONCERN workflows/README:51 nhãn-cũ "ledger orphan-scan" sweep-S100-sót → FIXED
- Lane-C PARTIAL: codify+n-a-H8+containment first-hand; frontier-hash+reviewer_gate dựa record-S100 (broadcast inbound vắng repo)
- Lane-C #53 return-garble → recover first-hand; AS-10 residual sub-write reverted (git-diff backstop)
- Stamp run-id+verdict → adap-report:5 + engine §J:283; STATUS/HANDOFF flip + session-log
- Model-note reconcile: runtime=Opus S101 (Fable unavailable, settings pin fable → H5-fallback revert-free) — STATUS:24 + agents/README:3
- Harvest reviewer + tooling-auditor memory (B3)
- Email AI_INFRA wf2-verdict + 3 flag (reviewer_gate-missing · frontier-hash-mismatch · process-gap broadcast-not-committed)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 17:14:14 +07:00
5ee32c0c0b [CLAUDE] Docs: S100 Harness-18 adopt — detector v2 ratio-band+glob (fault-inject 4/4, MED 11→0) + retire runs/_ledger 🧊 (0/15 lifetime, sweep 15 điểm/8 file, orphan=folder-scan) + engine §J + cron ghost-wire honest-retire (CronList=0, 5 file) + F2 SendMessage re-verified + 3 adap-report (frontier HELD hash-MISMATCH, flag reviewer_gate-missing) — WF1 wf_50a817ce-a69 · WF2 wf_31ea3985-92c in-flight
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m17s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 15:32:04 +07:00
525a01ad41 [CLAUDE] Docs: S99 flip S98 closeout hồi-tố (H1 F1) + cert 09-16 verified + session-start.md count→B1 pointer (H1 F3)
- STATUS/HANDOFF: header +blurb S98 (batch đóng 2 commit CI-skip) + gỡ row In Progress S98 (đã đóng) + note mega-line 4 blurb (re-tier S95 defer monthly 08-01).
- STATUS blockers: cert api.solutions.com.vn ĐÃ auto-renew (TLS verified NotAfter 2026-09-16) — hết blocker giả.
- session-start.md:44 gotcha hard-count "(68)" stale (thật 79) → B1 pointer về docs/STATUS.md.
- Defer @session-end: F2 SendMessage-note (:8/:62) + P4 monthly count-grep mở rộng commands/*.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 12:02:52 +07:00
4263d63e74 [CLAUDE] Docs: S98 harness backlog — Fable-restore gỡ caveat H5.6 (runtime-verified spawn-test ×2) + monthly→2026-08-01 + skill Mig 60/61 + re-tier mega-line S93/S94→archive-S98 + cicd L1 curate + 3 orphan-append H2 + ledger mode-A note + email AI_INFRA
Verify: V1 conservation PASS (arithmetic full-accounting 0-byte-unaccounted) · V2 cross-doc PASS (detector 28→25, còn lại false-positive class) · V3 moved-not-cut PASS (sha-match + byte-arithmetic đóng vòng).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 10:57:33 +07:00
310b9fce68 [CLAUDE] Docs: S97 deep review-before-session-end (4-lane workflow) — PROD verified SAFE, closeout
- Review workflow wf_4951c347 4-lane (anh yêu cầu, LIVE PROD rigor): prod-data-integrity CLEAN + prod-deploy CLEAN + code-review PASS + feedback captured
- prod-data (database-agent): flag-vs-marker 3 phiếu chuẩn 0-miss/0-over-reach, Mig 60/61 backfill complete, #78/#79 fix ăn prod, no anomaly, DB11 consistent
- prod-deploy (cicd): 11 commit #478-484 deploy OK, Mig 61 applied, health 200×4; bundle live mEGqlNWc/Dnrp4PU1 (#69-rebuild #484)
- code-review + feedback lanes fail-return-schema → recover diary + em-main (0 wrong-table pattern khác; gotchas #77-79 captured)
- session-log Part 5 + §L bug-production RCA (Mig 60 wrong-table 2-fixed: Mig 61 + gotcha #79) + STATUS bundle/state
- Memory harvest: cicd-monitor + investigator-codebase (return-fail recovered)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 21:57:48 +07:00
5c914e4d8c [CLAUDE] Docs: S97 Mig 61 backfill-wrong-table fix + gotcha #79 closeout (STATUS/HANDOFF/log + memory)
- fix-5: check A/005 "CEO duyệt chưa" → A/005/A/008 finalize-CCM (KHÔNG qua CEO), badge sai do Mig 60 backfill wrong-table; Mig 61 query đúng Changelogs; cicd #484 verified A/005/A/008 flag 0→1 + endsBeforeCeo-True, A/010 control
- gotcha #79: transition-marker ở Changelogs KHÔNG phải Approvals (PE 2 bảng lịch-sử tách vai)
- STATUS/HANDOFF Mig 60→61, gotcha 78→79, State Run #484; session-log Part 4
- Memory harvest: cicd-monitor (#484 verdict recover từ diary — #53 lần-6) + database-agent (điều tra prod A/005)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 21:43:57 +07:00
fb2dfa9f7a [CLAUDE] PurchaseEvaluation: Mig 61 backfill EndedByLevelFinalize từ Changelogs (fix Mig 60 wrong-table) — phiếu finalize-CCM hết hiện sai "Đã được CEO duyệt" (anh Kiệt FDC UAT)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m12s
- Root-cause: Mig 60 backfill query PurchaseEvaluationApprovals cho marker "[Duyệt KẾT THÚC tại]", nhưng marker do LogTransitionAsync ghi vào PurchaseEvaluationChangelogs (approval-history là record riêng dòng :745) → match 0 dòng
- Phiếu finalize-sớm pre-Mig60 (PE/2026/A/005, A/008 — CCM Cấp 2 Phan Văn Chương duyệt-thay-CEO, KHÔNG qua CEO) giữ EndedByLevelFinalize=0 → endsBeforeCeo=False → badge SAI "Đã được CEO duyệt"
- Mig 61: backfill ĐÚNG bảng Changelogs (ContextNote LIKE N'%Duyệt KẾT THÚC tại%' + PhaseAtChange=7), idempotent, SQL-Server-only (tests SQLite no-replay)
- Verified prod: A/005/A/008 fin_marker=1 (finalize CCM) vs A/010 fin_marker=0 (CEO thật). gotcha #79

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 21:30:30 +07:00
21be786c9e [CLAUDE] Docs: S97 badge "Đã được CEO duyệt" (#483) closeout — STATUS/HANDOFF/log + memory harvest
- fix-4 badge (đối xứng fix-3 endsBeforeCeo): PeFinalizeChip DaDuyet+!endsBeforeCeo → " Đã được CEO duyệt"
- STATUS/HANDOFF: bundle CeTA7Z82+CGaAyXen (Run #483), 3-fix→4-fix, session-log Part 3
- Memory harvest: implementer-frontend + cicd-monitor (#483 verdict clean-return, no #53 garble lần này)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 21:01:55 +07:00
07c89058d7 [CLAUDE] Docs: S97 part-2 closeout — endsBeforeCeo config→RUNTIME (Mig 60) + gotcha #78 + memory harvest
- STATUS/HANDOFF S97 mega-line: +fix-3 endsBeforeCeo; State → Mig 60 / 89 tables / gotcha 78 / bundle DR9q2VUy+Bgz8u4E5 (Run #482)
- gotcha #78: display-flag CONFIG-vs-RUNTIME (nói dối khi instance lệch config; nặng sau opt-in flip)
- session-log Part 2: endsBeforeCeo root-cause + fix + verify (test 440 + reviewer PASS 0-issue + cicd #482 bug-fixed-LIVE)
- Memory harvest: test-specialist + reviewer + cicd-monitor (#482 verdict recover từ diary — #53 return-garble lần-5, root-cause structural noted)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 20:16:43 +07:00
051d0493ae [CLAUDE] Docs: S97 closeout — PE finalize wording + default-flip (STATUS/HANDOFF/log + memory harvest)
- Session log 2026-07-01-S97-pe-finalize-wording-default-flip.md
- STATUS mega-line S97 blurb + bundle admin Cf0o8dx8/user x8rppRAK (Run #481) + In Progress
- HANDOFF S97 brief
- Memory harvest: implementer-frontend (+archive/2026-H1.md compaction) + reviewer + cicd-monitor (Run #481 verdict recovered from diary — #53 return-garble lần-4)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 18:19:18 +07:00
791ec5544d [CLAUDE] Docs: S96 session-end closeout — UAT PE fixes + monthly audit + memory flush
- STATUS/HANDOFF: prepend S96 mega-line (5 commit: monthly-audit 881783c + NCC ba4b8e0 + 3 PE fix e657faa/36cbf8b/0c2f9f6) · Tests 434->440 · gotcha 76->77 · bundle COYAX-yQ/0MU-kb4N · prod 21 NCC · In-Progress S95->S96
- gotchas: +#77 SPA deploy bundle cache-lag (verify byte-level cache!=deploy; incognito golden)
- session log 2026-07-01-S96-uat-pe-fixes-monthly-audit.md
- user-memory (ngoài repo): +2 feedback (verify-deployed-artifact-byte-level · agent-return-garble-recover)
- agent-memory: cicd-monitor S-tag drift S97/S98->S96 reconcile (11x; facts correct) · investigator-codebase Supplier-audit diary

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:49:16 +07:00
ba4b8e0339 [CLAUDE] Infra: import NCC DONGDUONG (Excel anh Kiệt) + Supplier-field backlog
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m6s
- SeedRealMasterDataAsync +DONGDUONG (CP DV Công nghệ Đông Dương, NTP, gói Thang máy) = NCC thứ 4 từ Excel "Database NCC" anh Kiệt FDC 1/7; 3 NCC còn lại (TRUONGGIANG/TANPHU/TGN) đã seed sẵn S55/S59 → idempotent skip
- Scope option-3 (anh chốt): 9 field entity + gói extras (Loại/NĐD/TK/GUQ/Trạng thái) vào Note; KHÔNG migration (data-only ungated idempotent seed → prod)
- docs/STATUS: backlog "15-18 field note lại từ từ tính" (Supplier schema mở rộng khi anh chốt)
- Build slnx PASS 0 warn/err. Seed thẳng deploy (anh chốt).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 14:49:37 +07:00
881783c335 [CLAUDE] Docs: S96 monthly drift audit + FD memory distill + mega-line re-tier
Monthly drift audit (2026-07-01, cron ngày 1) — workflow-prepared (wf_2d687d27-175, 4 clusters draft→adversarial-verify), em-main single-writer applied:
- ef-core-migration/SKILL.md: latest-mig 56→59 + append table rows 57/58/59 + Mig 14 + Phase-7 Budget annotate DROPPED Mig 50 (S61)
- skills/README.md: ef-core row Mig 55→59/S87 + gotcha cite #69→#76 (5 latest, authoritative gotchas.md headings)
- docs/CLAUDE.md: Budget module marked REMOVED Mig 50 — §1 item 6 + roadmap Phase 7/8 rows (strike-through, non-destructive)
- docs/governance/vocab-alias-map.md (NEW): 3 vocab-forks documented (run-trace / Ngân sách PRO / all-inherit canonical) + governance-detectors.ps1 $ExcludeExact entry (anti self-match)
- re-tier STATUS/HANDOFF mega-line 5→3 blurbs (S92/S91 → archive verbatim, conservation delta=0, BOM preserved) + hoist 3 UAT-carry items to blockers

FD memory distill (H17 loop strike-1 → CLEARED, GAPS: none):
- frontend-designer L1 26129B→21492B: 5 old Activity war-stories → archive/2026-06.md + _INDEX + gist; Lessons value-protect distilled to L1
- budget.json measured.frontend-designer refreshed

Detector 27→25 (2 real drift cleared; remaining = documented false-positives module-local/never-built-defer). AS-10 residual reviewer sub-write reverted (git-diff backstop, E-006 recurrence — guard HELD).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 13:04:15 +07:00
353f81a318 [CLAUDE] Docs: S95 session-end closeout — Harness-17 adopt + STATUS/HANDOFF/ledger + session log
- STATUS mega-line prepend S95 (H17 adopt 3-workflow + 10/10 floor + 2 commit + cicd #476) + In-Progress→S95 + bundle-hash live 0T6vVJST/BGXEVZO6 (cicd re-snapshot, was stale S85)
- HANDOFF S95 brief + NEXT (frontend-designer distill = H17 loop finding · monthly re-tier)
- error-ledger: AS-10 recurrence S95 (E-006, WF1+WF3 self-write reverted 4th fire; instruction-fix NOT 100% — WF3 explicit-return-only STILL self-wrote → git-diff = net) + Active-Guard git-diff-containment 4/4 held
- session log 2026-07-01-S95-harness17-adopt.md
- user-memory: +feedback_faultinjection_proves_teeth (reusable verify pattern)
- 0 production code; 434 test unchanged; docs-only CI-skip

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 10:48:39 +07:00
65b434a370 [CLAUDE] Docs: Harness-17 deep-reverify (WF3) — fault-injection teeth-proof + cross-doc + AI_INFRA update
- WF3 wf_6f44eddf-680 (anh-directed 3rd pass): Lane A fault-injection PASS (13 inject prove teeth: A1/A2/C-spectrum/B1/B2/A3 all catch faults, no-false-flag, off-by-one correct, 8/8 md5 match restore) + Lane C integration PASS (0 application-defect, anti-Goodhart flip proofs, numbering intact, mfe-eval A2 not broken)
- Lane B empty-return (#53) → em-main self-gate recover (N=3/HCV/run-id/hash consistent, detector 27)
- engine §I banner: inline WF2 wf_8e73c1d6-ee6 + WF3 wf_6f44eddf-680 (was WF2-pointer-only)
- adap-report: +Deep-reverify(WF3) section + 2 brittleness honest-noted (fail-safe over-flag, not fixed per Lane A) + dogfood-C3-round2
- email AI_INFRA update (hash 8c94fa348514): deep-reverify notify
- dogfood: WF3 reviewer self-write reverted (D9/AS-10 round-2); cicd-monitor verdict kept (legit normal-spawn) — Run #476 success, prod 200x3, Mig 59
- 0 .ps1 changed → CI-skip (docs-only); 0 production code

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 09:31:55 +07:00
18a17f5498 [CLAUDE] Docs: adopt Harness-17 memory self-improvement loop (Đo→Tinh-chỉnh→Kiểm) — 2-workflow, 0 prod code
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m8s
- engine §I codify 10 red-floor: A1 HCV/A2 load-fid/B1 signal→action/B2 CG-1 termination/B3 build-gap-vs-floor-rot/C1 spec-audit/C2 spot-check/C3 single-writer/C4 provenance/CG-2 age-exempt
- REUSE-cite (no rebuild): A2=§H MFE · C3=D9 · CG-2=§G.2b value_protect · archive=§A
- new mechanized: scripts/memory-selfimprove-audit.ps1 (C1 spec-audit NO-API exit-0, runtime-verified — bắt frontend-designer over-cap GAP thật)
- new: .claude/governance/reinject-ledger.md (B2 CG-1 git-tracked append-only N=3, tách khỏi budget.json)
- wire session-start §2.1.7 (loop-DÒ) + session-end §L.b(c) (loop-REFINE)
- vocab: HCV alias no-seed (coverage 3-way) + governance-detectors C3-comment; cap-fix 220K→380K-pointer
- 2-workflow (Harness-9): WF1 wf_f085d7c4-d78 (ground-truth) + WF2 wf_8e73c1d6-ee6 (3-lane PASS 0-blocking)
- adap-report + checklist-pointer + email AI_INFRA (hash 54789e19, hash-verified self-consistent)
- dogfood: WF1 agent self-write MEMORY.md reverted (D9/AS-10 containment; archive missing → saved 8.5KB)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 09:11:46 +07:00
707b632a64 [CLAUDE] Docs: S94 session-end closeout — prepend S94 blurb + session log
- STATUS/HANDOFF: prepend S94 blurb (cap 220K→380K anh-directed + re-tier mega-line) → mega-line giữ current+3 (S94/S93/S92/S91). In Progress S94 → done.
- Session log 2026-06-29-S94-cap-380k-retier-megaline.md.
- §L closeout: 0 RCA · archive-gate FD WATCH strike-1 / test-specialist RESOLVED 7.8KB / A7 217/217 · 0 sub spawn (harvest n-a) · 4 mark Active-High (H-15 v4-delta stamped).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 00:10:28 +07:00
5f61b038e4 [CLAUDE] Docs: S94 nâng cap lead 220K→380K (anh-directed) + re-tier STATUS/HANDOFF mega-line
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m24s
- Cap lead_tokens 220K→380K (memory-budget.json canonical; SE-override, lead KHÔNG còn AI_INFRA-parity, subs giữ 60K/50K). Mark H-15 v4-delta RC-pqhuy1987-29-06-2026-23-25-50. Flush 3 derived echo (ACTIVE-MARKS · session-start §2.1.6 · engine §G adopt-delta).
- Re-tier mega-line (fix Read-25K/call OOM + token-cost): STATUS 389→89 dòng (mega-line 59.6K→7.1K char) · HANDOFF 732→12 dòng. Live 332KB→34KB (−90%). Session ≤S90 → docs/_archive/STATUS-HANDOFF-tier-S94 (0 byte-loss: new+archive = orig + 995B pointer).
- Verify: detector 27=baseline (0 broken-pointer mới) · canonical mig59/test434/gotcha76/table88 intact · MFE live-read 380K · conservation spot-check PASS.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 23:46:04 +07:00
ea075bac00 [CLAUDE] Docs: S93 closeout — PE project-code (Run #473) + Harness-16 MFE adopt + harvest
Closeout 2 task: (1) PE tree node Du an hien MA du an (8ee8f3e Run #473
prod-verified) (2) adopt Harness-16 MFE memory-fidelity-EVAL (9580098, 2-workflow PASS).

- STATUS + HANDOFF: prepend S93 (mega-line via PowerShell, S92->Prev).
- session log 2026-06-29-S93-pe-projectcode-harness16-mfe.md.
- error-ledger E-006: AS-10 2nd-fire recurrence (WF1 3-agent residual caught+reverted;
  WF2 explicit-return-only -> 0 residual) + containment guard verified S93.
- harvest (B3 single-writer APPEND): investigator-codebase (MFE ground-truth extraction-spec)
  + reviewer (MFE adoption review WF2 PASS) diaries.
- user-MEMORY index compacted 23.7->7.8KB (hook), all 38 entries kept, vocab-collision
  lesson folded into 2-workflow entry.

State unchanged (Mig 59 · 88 tables · 434 test · gotcha 76 · bundle CDn40vpV/CoPmPBg7).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 19:01:19 +07:00
958009858e [CLAUDE] Docs: adopt Harness-16 MFE (memory-fidelity-EVAL) — 2-workflow + email AI_INFRA
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m2s
Adopt AI_INFRA Harness-16 (3 broadcast 2026-06-29) qua 2-workflow mandate:
WF1 implement wf_4c63e1bd-99e + WF2 review wf_13e3d35a-023 (PASS 0-blocking).

MFE = coverage/retention eval (do nap-vs-nho-vs-dung bang SO DO). DISTINCT
voi H6.7 memoryDelta-routing-fidelity (vocab-fork WF1 reviewer bat duoc).

Built (em-main single-writer, 0 production code):
- scripts/mfe-eval.ps1 deterministic NO-API (ASCII #30, exit 0): LEAD coverage-FIT
  (token-RANGE, cap live-read) + age-band flag-not-cut + Goodhart-anchor strikes/RCA;
  SUB per-role coverage do-that (prose->N/A khong 0%); sub-workflow N/A. Smoke 3-tier PASS.
- memory-budget.json :mfe config + eval/mfe/ (seed sample-questions stable-id + README)
  + engine §H + artifact-row + C3-comment + wire session-start §2.1.6 / session-end §L.b(c)
  opt-in + agents/README S93. Judge layer = SCAFFOLD-only (honest nac).

adap-report harness-16-mfe + harness-15-v3 (covered/folded) + email outbox/ai_infra.
AS-10 dogfood: WF1 residual-write caught+reverted. State GIU NGUYEN (Mig 59 · 88 · 434 · gotcha 76).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 18:35:14 +07:00
c22b06e14a [CLAUDE] Docs: S92 session-end — flush STATUS canonical counts (test 402→434, gotcha 73→76)
§L session-end closeout. Canonical count table (machine-readable, B1 source-of-truth)
đã stale từ S87-era trong khi narrative bump qua S88-S92:
- Tests 402→**434** (45 Domain + 389 Infra) — +S88 +17 / S89 +3 / S91 +9 / S92 +3.
- Gotchas 73→**76** — +#74 (S90 Chrome-MCP SPA document_idle) +#75 (S91 seed-resurrect ungated)
  +#76 (S91 deploy config từ .example). Detector "canonical-itself-stale" + tooling-auditor xác nhận.
- Mig 59 / tables 88 / menu 54 đã đúng — KHÔNG đụng.

Tiering (KHÔNG cắt): prepend increments, giữ narrative S87-cũ.
Carry monthly 2026-07-01 (PULL FORWARD — tooling-blocker): STATUS line-6 = 61,285-char single
line UN-Read/UN-Edit (PowerShell workaround) → re-tier relocate narrative ra session logs; +
ef-core SKILL Mig 56→59 + docs/CLAUDE Budget-removed + 3 vocab-fork + detector anchor-on-table-row.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 15:24:22 +07:00
396266e5fd [CLAUDE] Docs: S92 closeout — ẩn 5 nhóm menu chỉ Admin (Run #358 PASS prod-verified) + harvest
- Session log 2026-06-29-S92-admin-only-modules.md + STATUS/HANDOFF prepend S92 (demote S91→Prev).
- cicd Run #358 PASS: deploy shipped (dll-mtime in-window 08:00–08:01Z + w3wp recycle 08:04Z),
  smoke 4×200, prod sqlcmd verify (non-Admin CanRead 0 trên 5 nhóm ẩn / 0 leak Contracts·Master·Catalogs
  / Admin giữ 5 key / Pe_* non-Admin 120 untouched). Permission change LIVE.
- Bundle JS rotate admin xz8FdmLN / user CA8Rla2w (CSS frozen) — sửa nhận-định #69-REFINE
  (deploy.yml rebuild FE vô-điều-kiện + rolldown chunk-id non-deterministic → bundle-hash KHÔNG
  đáng-tin làm ship-signal cho BE-only; tín-hiệu thật = dll-mtime + w3wp-recycle).
- Harvest agent-memory: test-specialist (434) + reviewer (S92 topic file + L1 curate 12.9KB) +
  cicd-monitor (Run #358 + prod schema note: bảng Roles/UserRoles KHÔNG prefix AspNetRoles).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 15:10:43 +07:00
f98a743074 [CLAUDE] Docs: S91 closeout — go-live wipe + seed-gate + user-change-password + backup (gotcha #75/#76)
Closeout phiên go-live 26/06 (4 commit prod-verified đã push: guide-fix 159b69d · wipe ba42c59
· seed-gate 55494ad · user-change-password e81e87f + backup local).
- STATUS/HANDOFF +S91 entry, state re-ground: Mig 59 · 88 bang · 431 test (45D+386I) · gotcha 76
  · menu 54 · bundle admin DgQyuG7f/user BmbQon23 · prod 17 user/7 NCC/0 PE-HD
- gotchas #75 (SeedDemoMasterData ungated per-code -> resurrect NCC demo moi restart)
  + #76 (deploy render appsettings.Production.json tu .example, KHONG file gitignored)
- session log 2026-06-26-S91 + feedback_wipe_durability_check_reseed (user memory)
- harvest cicd-monitor + test-specialist diary (self-written, verified)
- .gitignore +backups/ +*.bak

Docs/memory-only -> CI skip (paths-ignore docs/** + **/*.md + .gitignore).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 13:07:01 +07:00
159b69da90 [CLAUDE] Docs: guide Duyệt NCC bỏ "Từ chối" + fix 12 caption "Hinh"→"Hình" (go-live 26/06)
App gỡ nút "Từ chối" từ S60 (Khu vực Quyết định chỉ còn Duyệt/Trả lại) nhưng guide
phát toàn công ty (đính kèm email go-live anh Kiệt 26/06) vẫn ghi "Từ chối" 2 chỗ:
- Bước 4 (thân bài): bỏ ' / "Từ chối"'
- Caption Hình 9: "Duyệt / Trả lại / Từ chối" -> "Duyệt / Trả lại" (caption mâu thuẫn với ảnh)
+ Sửa 12 caption "Hinh N." -> "Hình N." (thiếu dấu từ S90 ASCII-gen, gotcha #30/#61 họ hàng).

Sửa qua unpack -> edit XML -> repack (giữ nguyên 13 ảnh: 1 logo + 12 màn).
Pack --validate false (validator dính bug cp1252 đọc UTF-8 VN, kể cả numbering.xml không sửa).
Verify độc-lập python-docx: 'Từ chối'=0, caption=12, media=13, open-strict OK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 09:49:57 +07:00
6a2435f027 [CLAUDE] Docs: chèn 12 ảnh khoanh-đỏ vào guide Word Duyệt NCC (em chụp prod) + gotcha #74 + closeout S90
- 12 ảnh prod khoanh-đỏ 1→2→3 vào docs/Huong-dan-Duyet-NCC.docx
  pipeline tự-chế: PowerShell CopyFromScreen + Win32 lọc-process-chrome.exe
  + DOM overlay element-based + python-docx (MCP save_to_disk KHÔNG ra file env này)
- gotcha #74 (chụp-prod-vào-docx) + STATUS/HANDOFF S90 + session log
- 0 production code, 0 prod mutation (xem-only), em-main solo

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 19:09:28 +07:00
946c5b21ae [CLAUDE] Docs: S89 closeout — PE visibility/finalize + user-cleanup + Word guide
- STATUS/HANDOFF: prepend S89 (demote S88); state Mig 59 · 422 test · prod 17 user
- session log 2026-06-25-S89 (D1 draft-privacy IDOR · D2 CCM suggested-price !readOnly · D3 finalize-note 3-surface + flow badge + matrix flag · prod user-delete · Word guide)
- docs/Huong-dan-Duyet-NCC.docx (skill docx — logo Solution, 8 sections, khoanh-do 1->2->3; real screenshots pending anh)
- harvest residual workflow-sub agent-memory (cicd / investigator-codebase / reviewer + 2 plan-reviews)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 17:05:49 +07:00
d085436e49 [CLAUDE] Skill · Docs: fix iis-deploy-runbook stale paths + S88 web.config closeout
iis-deploy-runbook SKILL corrected (discovered during the index.html-hardening task):
- physical paths apps\SolutionErp\{Api,Admin,User} were STALE (empty dir) -> real
  solution-erp\{api,fe-admin,fe-user} (verified via appcmd list site).
- web.config rule list fixed to the ACTUAL live config (HTTP->HTTPS + SPA-Routes excl
  /api + .webmanifest + 3 security headers; NO /api|/hubs ARR proxy -- FE calls api via CORS)
  + documented the S88 cache hardening (index.html no-cache, assets immutable).
- log/appsettings/scp/backup paths swept to the real base.
Session log: index.html no-cache hardening DONE (ca136d8) + lesson reference.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 11:42:23 +07:00
723e664df1 [CLAUDE] Docs: S88 addenda — white-screen incident (transient/cache, deploy-healthy) + Block B table-align + index.html no-cache finding
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 11:22:38 +07:00
6bfe3db5e2 [CLAUDE] Docs: S88 closeout — PE stability audit + D1/D2 prod-verified
STATUS/HANDOFF S88 prepend (State THAT: Mig 59 · 88 bang · 419 test (45D+374I) ·
gotcha 73 · bundle admin BQq2eTP6/user dHa64I59) + session log + agent-memory
harvest (6 sub: cicd/impl-backend/impl-frontend/inv-codebase/reviewer/test-spec).

D1/D2 production already shipped: 73cce1f (Run #347 PASS, +11 test, the 6 fixes) +
1aa3bdb (Run success, +6 test, create-contract 1->N + list winner names). Both
prod-verified (bundle rotation + Gitea run=success; cicd-monitor verdict truncated
#53 -> curl-self-verify).

Curate-debt: test-specialist L1 34.8KB OVER-SOFT (root-caused #53 x3 this session)
DEFERRED next session as #1 NEXT-em (proper byte-exact L1->L2 + _INDEX, not rushed).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 10:58:15 +07:00
56b57d330a [CLAUDE] Docs: S87+ cicd #346 PASS — layout "Thông tin chọn thầu" bundle flush
cicd Run #346 (0d3c0cf, FE-only PE layout tách khối nổi bật "4. Thông tin chọn
thầu") PASS ~5m: test gate 402 unchanged, no migration (Mig 59 HEAD), both
bundles rotated admin C8lWxEQK->BABhPh2s / user Kz5cSW2u->DLulO6uP (js+css),
smoke 3x200. STATUS/HANDOFF bundle flushed + UAT note. Docs-only -> CI skip.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 17:19:02 +07:00
8cf4a58c8c [CLAUDE] Docs: S87 cicd #345 PASS — Section B bundle rotate + flush final hashes
cicd-monitor Run #345 (9b1ee0c Section B 3-col, Mig 59) PASS ~4m: test gate 402,
Mig 59 applied prod (CcmBudgetPeriodAmount decimal(18,2) NULL, 0-row no-backfill
as designed), PATCH /budget/ccm-period 401 wired, both bundles rotated admin
CXCKlNay->C8lWxEQK / user Di40ewrF->Kz5cSW2u (js+css). sys.tables direct-count=88.
STATUS/HANDOFF bundle hashes flushed to #345 final. Docs-only -> CI skip.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 16:15:38 +07:00
121f5cc128 [CLAUDE] Docs: S87 closeout — PE multi-winner + budget=0 + cấp-KẾT-THÚC (Mig 58) + Section B 3-cột (Mig 59)
STATUS + HANDOFF S87 narrative + count flush (Migrations 57->59, test 377->402,
gotcha 73 unchanged) + session log 2026-06-24-S87 + agent-memory harvest
(cicd-monitor #344 / implementer-backend / investigator-codebase / reviewer /
test-specialist — spawn-record on-disk).

State THẬT: Mig 59 · 88 bảng (cicd flag 89 drift, re-ground monthly) · 402 test
(45D+357I) · gotcha 73 · menu 54 · bundle admin CXCKlNay/user Di40ewrF
(Run #344; #345 cicd-verifying Section B). Docs-only -> CI skip.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 16:14:54 +07:00
ae4f106fd7 [CLAUDE] PurchaseEvaluation: notify "cần duyệt" loại người tạo phiếu (anh Kiệt FDC UAT)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 4m57s
Người TẠO phiếu (drafter) không còn nhận chuông "Phiếu cần bạn duyệt" cho
phiếu mình tạo — kể cả khi được cấu hình làm approver ở một Cấp. Chỉ approver
KHÁC người tạo ở Cấp hiện tại mới nhận. Drafter vẫn nhận chuông KẾT-QUẢ
(đã duyệt / trả lại) như cũ (block :1060 giữ nguyên).

- PurchaseEvaluationWorkflowService.LogTransitionAsync: thêm filter
  `l.ApproverUserId != evaluation.DrafterUserId` (in-memory LINQ, nullable-safe).
- test-specialist: +3 regression PeApproverNotifyExcludesDrafterTests
  (drafter-excluded · co-approver-vẫn-nhận · result-notify-intact; RED-on-old
  đã chứng minh). Test 374 -> 377.
- docs/STATUS.md: re-ground canonical (S85-closeout sót: test 356->377,
  gotcha 71->73, bundle #341) + dòng S86 +3.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 16:37:22 +07:00
d4f60212a5 [CLAUDE] Docs: S85 closeout — CV PRO batch + clear-data + 6 UAT round + 2 root-cause + 5 SQL-fix
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 4m51s
STATUS/HANDOFF prepend S85 (Mig 57 · 88 tables · 374 test · gotcha 73 · bundle admin aKuNip19/user BUsL0HeQ Run #341). gotchas +2: #72 DateTime serialize no-Z -> FE +7h (UtcDateTimeJsonConverter UTC-with-Z) · #73 UPDATE absolute-set clears field on FE-omit (bug-class S42, null-safe guard). + session log + scripts/s85-wipe-uat-data.sql (prod UAT wipe, backup-first, executed) + agent-memory residuals (inv-codebase PE-recon, test-specialist baseline 374).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 15:52:46 +07:00
0e159908d6 [CLAUDE] Docs: flush session-start hot-feed cap v3 (220/60/50) + commit S83 cicd harvest-orphan (S84)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 19:21:39 +07:00