[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>
This commit is contained in:
@ -70,11 +70,11 @@ BE (test+build) ~90s · FE × 2 ~60s/app · deploy ~30s · **total ~3min code /
|
||||
|
||||
## 📅 Recent runs (compressed — full verbatim → `archive/2026-06.md` via `archive/_INDEX.md`)
|
||||
|
||||
- **🟢 S93 #473 (id=473, run_number 359) `8ee8f3e` GO ~5m23s (PE tree node Dự án hiện MÃ thay TÊN-dài — FULL-STACK DTO+projection, NO-MIG, FE-real-rotate)** — 7-file: 3 BE App (`PurchaseEvaluationDtos.cs` +`ProjectCode` positional-record · `PurchaseEvaluationFeatures.cs` thread `x.p.Code`→3 projection [List/Inbox/ListApproved] + search `p.Code` · `CreateContractFromEvaluationFeatures.cs`) + 4 FE SHA-mirror (fe-admin+fe-user `PurchaseEvaluationsListPage.tsx` render `pg.projectCode||pg.projectName`+tooltip+sort, `purchaseEvaluation.ts` +`projectCode`). NO `*Migrations*` (DTO/projection-only, 0 schema). status=success ⟹ test gate passed (baseline **434**=45 Dom+389 Infra per brief; tasks-API no numeric, trusted terminal-success+baseline). Smoke 4×200 (api live/ready, admin/eoffice root) + admin :80→301-https. **FE ship-proof (REAL fe-src diff ⟹ #69 expect rotate)**: admin JS `xz8FdmLN`→`CDn40vpV` ✅ + user JS `CA8Rla2w`→`CoPmPBg7` ✅ (BOTH rotated); **CSS BOTH FROZEN** admin `DWQ-DgfZ`/user `Dr0-ikKX` — CORRECT (TSX-logic+TS-field only, ZERO new Tailwind class ⟹ css byte-identical, mirrors S90). Last-Modified admin `09:04:19Z`/user `09:05:14Z` BOTH in-window (run 16:00:19→16:05:42+07) + size admin 1,636,195b/user 1,542,518b real-JS · SPA-trap control fake-hash=919b text/html (confirms large=genuine). **Mig prod=59** (`AddCcmBudgetPeriodToPurchaseEvaluation` latest, COUNT=59 matches repo-HEAD, NO new applied — expected, 0 mig-file in commit). sqlcmd-over-ssh UTF-16LE base64 EncodedCommand, `-U vrapp -P buKL3TGBkD0wDDbYVw65QeX9` (no prefix). Pre-deploy LIVE baseline matched brief's S92 prev-hash EXACTLY (no drift this run). 🔑 **css-frozen-on-logic-only-FE = NOT-a-fail** (re-confirms S90 pattern: JS rotates, CSS frozen when no new utility class — don't FAIL on partial-rotate).
|
||||
- **🟢 S92 #472 (id=472, run_number 358) `1408d4e` GO ~5m24s (eOffice hide 5 menu-groups non-Admin — BE-ONLY DbInitializer permission-revoke EXPANSION, VERIFY-PROD-EFFECT)** — 4-file: `DbInitializer.cs` (RevokeTemporarilyHiddenModulesAsync `+Contracts/Ct_*/Master/Suppliers/Projects/Departments/Catalog*` on top of S58 Hrm*/Off*/Personal + 2 re-grant calls DISABLED [SeedAllRolesHrmProfileReadPerms S65 + SeedAllRolesOfficeModulePerms S69 commented] + InReviewScope narrowed `Pe_*` only) + 3 test files (new `AdminOnlyModulesRevokeTests` ×3). NO `*Migrations*`/fe-src. status=success ⟹ test gate passed (baseline **434**=45 Domain+389 Infra per spec; logs 404 anon, trusted gate+baseline). **PURPOSE = verify revoke FLIPPED existing prod rows (NOT bundle).** Smoke 4×200 (api health/live+ready, admin, eoffice). **3-evidence ship-proof**: (1) `Infrastructure.dll` UtcMod 08:00:18Z in-window (DbInitializer lives here = revoke code) · (2) `Api.dll` 08:01:54Z + `Application.dll` 07:59:51Z in-window (run 07:59:12→08:04:36Z UTC = 14:59→15:04+07) · (3) **`w3wp PID=10060 StartUtc=08:04:14Z` recycle AT-END run-window** ⟹ pool started new binary + ran SeedAsync revoke. **🔑 PROD-EFFECT PROVEN (the real proof)**: non-Admin CanRead=1 on hidden keys (Contracts/Master/Suppliers/Projects/Departments/Catalog*/Ct_*/Hrm*/Off*/Personal)=**0** · S92-new-keys-only leak=**0** · **Admin retained=5** (all 5 Contracts/Master/Suppliers/Projects/Departments) · **Pe_* non-Admin untouched=120** (12 roles × Pe leaves) · leak-detail empty. ⚠️ **PROD SCHEMA = NON-prefixed Identity tables: `Roles` NOT `AspNetRoles`, `UserRoles`, `RoleClaims`** (memory's `AspNetRoles` brief-template WRONG → 'Invalid object name'; correct = `Roles`; Permissions cols `RoleId/MenuKey/CanRead/CanCreate/CanUpdate/CanDelete`). DB SQL-auth `-U vrapp -P buKL3TGBkD0wDDbYVw65QeX9` (no prefix), `-S .\SQLEXPRESS -d SolutionErp`. ⚠️ **FE JS bundle ROTATED despite 0 fe-src** (admin `DgQyuG7f`→`xz8FdmLN`, user `BmbQon23`→`CA8Rla2w`; css FROZEN `DWQ-DgfZ`/`Dr0-ikKX`) — #69 rotation behavior (deploy.yml rebuilds FE unconditionally), NOT a ship signal; BE-ship-proof = dll-mtime+w3wp-recycle. Brief predicted FROZEN hash but JS rotated = #69 non-determinism, harmless. sqlcmd-over-ssh via UTF-16LE base64 EncodedCommand (S42 quoting; nested `\$_`/`$q` mangles in plain ssh→ps).
|
||||
- **🟢 S95 #476 (id=476, run_number 362) `18a17f5` GO ~5m08s (adopt Harness-17 memory-self-improve loop — GOVERNANCE-ONLY 0 prod code, CI-triggered-by-.ps1)** — 10-file: 8 docs/md/broadcasts (paths-ignored) + **2 `.ps1` `scripts/governance-detectors.ps1`+`scripts/memory-selfimprove-audit.ps1`** NOT in paths-ignore (`scripts/**.md` ignores MD-under-scripts ONLY) ⟹ CI runs despite 0 .NET/FE impact (✅ path-filter as-designed, NOT docs-skip). `git diff --name-only 707b632 18a17f5` empty for `.cs`/`.csproj`/`.tsx`/`*Migrations*`/fe-src. status=success ⟹ test gate passed (baseline **434**=45 Dom+389 Infra; tasks-API `conclusion:None` even-on-success — trust terminal-success NOT numeric). run 09:15:17→09:20:25+07. Smoke 3×200 (api /health/ready, admin+eoffice root). **FE ship-proof (0 fe-src ⟹ #69 cosmetic-rotate)**: admin JS `CkZ1MjC1`→`0T6vVJST` + user `_-gpX7_Y`→`BGXEVZO6` rotated; **CSS FROZEN** admin `Bbtesa6B`/user `BmuPz_Dy` (0 new Tailwind, mirrors S90/S93). Last-Modified admin `02:19:03Z`/user `02:19:57Z` in-window (02:15→02:20 UTC) + size 1,636,195b/1,542,518b real · SPA-trap fake-hash=200-but-919b-html (large=genuine). **Mig prod=59 UNCHANGED** (0 mig-file ⟹ NO sqlcmd needed, repo-scope sufficient: nothing CAN drift w/ 0-schema + repo-HEAD known-applied). ⚠️ brief prev-hash S94 `CDn40vpV`/`CoPmPBg7` STALE — LIVE pre-deploy already `CkZ1MjC1`/`_-gpX7_Y` (#69 intermediate rotate); **always re-snapshot LIVE, brief prev-hash=hint NOT truth**. 🔑 **GOVERNANCE-ONLY PASS = CI-green + terminal-success + JS-rotate/CSS-frozen-benign(#69) + 3×200 + Mig-59-frozen** — 0 anomaly.
|
||||
- _(S93 #473 `8ee8f3e` FULL-STACK PE tree-node Dự-án show-CODE-not-name DTO+3-projection NO-MIG baseline-434 · admin JS `xz8FdmLN`→`CDn40vpV`+user `CA8Rla2w`→`CoPmPBg7` rotated, **css FROZEN** `DWQ-DgfZ`/`Dr0-ikKX` logic-only ✅ · Mig59 frozen · pre-deploy-live==brief-prev-hash no-drift; 🔑 css-frozen-on-logic-FE=NOT-fail — full verbatim → git `8ee8f3e` + archive `2026-06.md` via `_INDEX`)_
|
||||
- _(S92 #472 `1408d4e` BE-ONLY DbInitializer permission-revoke +5-menu-groups non-Admin VERIFY-PROD-EFFECT baseline-434 · 3-evidence ship-proof Infrastructure.dll+Api.dll in-window + w3wp PID10060 recycle-AT-END-window · **PROD-EFFECT PROVEN**: hidden-key non-Admin CanRead=0, Admin-retained=5, Pe_* untouched=120, leak=0 · ⚠️ **PROD Identity tables NON-prefixed `Roles` NOT `AspNetRoles`** (Permissions cols RoleId/MenuKey/CanR/C/U/D) · JS-rotate-css-FROZEN #69 harmless — full verbatim → git `1408d4e` + archive `_INDEX`)_
|
||||
- _(S91 #470 `55494ad` GO-LIVE no-resurrect demo-NCC seed-gate `DemoSeed:Disabled` baseline-422 — pre+post-restart demo-code=0 + 3-evidence dll-mtime+w3wp-recycle; **NEW PATTERN go-live no-resurrect = (a) pre+post DB-count diff + (b) dll in-window + (c) w3wp StartTime ≥ run-window**; integrated-auth `-E`; full verbatim → archive `2026-06.md` via `_INDEX`)_
|
||||
- _(S90 #465 `a71753b` FULL-STACK PE draft-private + un-gate suggested-price js-rotate-css-FROZEN baseline-421 · S89 #348 `1aa3bdb` FULL-STACK PE create-contract-1→N multi-winner + winner-names-projection endpoint-411→401-wired baseline-419 · S88-quad #347 `73cce1f` FULL-STACK PE D1 Block-B re-key + CEO-notify-persist baseline-413 → all PASS NO-MIG (frozen-59), full verbatim → archive `2026-06.md` via `_INDEX`)_
|
||||
- _(S88-bis #346 `0d3c0cf` FE-only PE layout "4. Thông tin chọn thầu" 2-files js+css-BOTH-rotate baseline-402 · S88 #345 `9b1ee0c` FULL-STACK Section-B 3-col + **Mig 59 `AddCcmBudgetPeriodToPurchaseEvaluation`** AddColumn-no-backfill VERIFIED-PROD + setter `PATCH .../budget/ccm-period` PATCH-401-not-411 + 7 authz-test → PASS, FIFO-trimmed, full verbatim git + archive `_INDEX`)_
|
||||
- _(S90 #465 `a71753b` FULL-STACK PE draft-private+un-gate-suggested-price js-rotate-css-FROZEN · S89 #348 `1aa3bdb` PE create-contract-1→N multi-winner endpoint-411→401 · S88-quad #347 `73cce1f` PE D1 Block-B re-key+CEO-notify · S88-bis #346 `0d3c0cf` FE-only PE-layout js+css-BOTH-rotate · **S88 #345 `9b1ee0c` = Mig 59 `AddCcmBudgetPeriodToPurchaseEvaluation` AddColumn-no-backfill VERIFIED-PROD** setter PATCH-401 + 7 authz-test → all PASS, full verbatim → git + archive `2026-06.md` via `_INDEX`)_
|
||||
- _(S87 #344 `f1b10e9` FULL-STACK PE CCM 3-fix + **Mig 58 `AddPeMultiWinnerAndLevelFinalize`** 2-AddColumn-bit+backfill winners=13 VERIFIED-PROD, select-winner endpoint-411→401-wired, baseline-395 · S86 #343 `ae4f106` BE-only notify-exclude-drafter baseline-377 ship-proof=Infrastructure.dll-Last-Modified · S85 #342 `d4f6021` DOCS+SQL-no-op INVERTED-PASS-when-FROZEN baseline-374 (gotcha #73 TZ + #69-REFINE) · S83 #333 `fc1f19d` BE-only PE-guard-V2-workflow-required hash-FROZEN-but-shipped baseline-356 · S78 #330 `7886fd0` cross-stack enum-attach-on-approve · S76 #318 `e33481e` Mig56-ProInitial/Adjust backfill-4rows → all PASS, full verbatim → archive `2026-06.md` via `_INDEX`)_
|
||||
- _(S83 #325 `e29391e` FE-only budget-subitem indent js-rotate-css-FROZEN test351 · S77 #329 `e823694` FE-only banner Trả-lại · #328 `424131d` BE-only notify-block test-gate-KEY · #327 `fa6654b` FE-list-restructure · #326 `b5aa72d` BE-authz asymmetric · #323 #322 #321 #320 PE UX batch → all PASS, FIFO-trimmed, full verbatim git + archive `_INDEX`)_
|
||||
- _(S74-bis #315 `8655ebf` Mig55 CcmNote · S73 #313 `1d86abc` Mig54 5-cols + endpoint-401-not-404-probe · S69b #307 `1f8947e` Office-golive seed-16/16-DB-query-proof → archive `_INDEX` + git)_
|
||||
@ -85,4 +85,4 @@ BE (test+build) ~90s · FE × 2 ~60s/app · deploy ~30s · **total ~3min code /
|
||||
## 🔄 Curate trigger
|
||||
- >~30KB → archive recent runs → L2 `archive/<period>.md` (byte-exact append) + `_INDEX.md` substring pointer. Dup failure patterns → merge. Stale >3mo → remove.
|
||||
- **Last curate: 2026-06-20 S80 (em-main, archive-gate keep-floor-hit → manual)** (38.8→~16KB): moved 3 huge run-entries #330/#318/#325 (lines 73/90/96 byte-exact via `sed`) → `archive/2026-06.md` (100.6→116.7KB) + `_INDEX.md` +3 substring pointers (verified count=1). KEPT foundation (bug-patterns/5-stage/10-point gold) + compressed essentials + run-stubs; UPDATED stale (130→354 test Stage-3 + 263→354 essentials, Mig 55→57, bundle→#330) + dropped verbose per-run bundle-history (S86/S85/S84 → archived run-entries).
|
||||
- **Prev curate: 2026-06-17 S70 Harness-9** (65.2→23.2KB dark-matter recovery, built _INDEX/gist gen:1). **Prev S66** (86.8→29.2KB). **Prev S40** (35.3→~21KB).
|
||||
- **Prev curate: 2026-06-17 S70 Harness-9** (65.2→23.2KB dark-matter recovery, built _INDEX/gist gen:1). Earlier: S66 · S40.
|
||||
|
||||
Reference in New Issue
Block a user