[CLAUDE] Docs: S112 closeout — Supplier-import + PE-signoff SHIP prod (Run #496 PASS) + harness_floor 30K→100K/measured→55K + 3 fable-clone run-trace + 12-agent diary harvest + session log
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,37 @@
|
||||
# S112 — 2 feature SHIP prod: Supplier Excel-import + PE sign-off change (2026-07-12)
|
||||
|
||||
> **em-main-led · lead=Opus 4.8 owner-choice (`/model`) · HMW-ON · 3 fable-clone ensemble Opus MAX + 8 spawn · 4 commit (2 prod + closeout) · Deploy Run #496 PASS.**
|
||||
|
||||
## Kết quả
|
||||
- **2 feature LIVE prod** (Gitea Run #496, 5m25s, 458 test PASS):
|
||||
- **Supplier Excel-import Phase B** (`e100ef0` — Mig 63): nút "Import Excel NCC" → upload → preview (New/Update/Skip/Error) → confirm all-or-nothing.
|
||||
- **PE sign-off change** (`a829d0d` — code-only): A1 người-tạo tự ký ô cấp mình + EDGE-5 khóa terminal + opinion-history.
|
||||
- **bundle** admin `BVyH-FY7`→`Cixlt_MA` / user `EDsZebvn`→`BhBOG1dn` · Mig 63 prod 2/2-col · smoke all-200 + import-route live.
|
||||
|
||||
## Owner-directed (số = quyền anh)
|
||||
- `harness_floor.rounded_up_tokens` **30K→100K** + `measured_token_estimate` re-measure **21K→55K**. 21K cũ = UNDER-COUNT: S81 đoán tool-schema+framing ~7K, thực ~30-50K; disk-inject đo-thật 57.6KB (~14-19K tok) MỘT MÌNH đã ≈ 21K cũ. Sister-parity ~60-71K. Derived-flush engine §G.1.
|
||||
|
||||
## Supplier import — pipeline
|
||||
invest `wf_e2f23a84` (30-col messy header row-4, #REF!, 4 NCC) → anh chốt **5 decision** (Code=col4 · +2 field Mig63 · A-scoped-layout · fill-nulls-SAFE · Type-lạ→NhaCungCap) → BE (dedup **OrdinalIgnoreCase** preview+confirm chống unique-violation CI-collation · all-or-nothing · parser header-fingerprint absolute-cell-index #REF!-null NAS-backslash-raw) + FE 2-app byte-identical + 10 test có-RĂNG (SQLite BINARY → dedup ở SERVICE) → close-review `wf_75d6149b` GO-WITH-ADJ → **adjust**: bake 30 real-token `RealFileHeaderTokens` (byte-verify em-main) + `.Normalize(FormC)` de-risk NFD.
|
||||
|
||||
## PE sign-off — pipeline
|
||||
invest `wf_fd8f2bfe` → **root = `ApplyDrafterBypassOnSubmitAsync` (S60-feature)** tự-ký-hộ ô creator bằng comment-canned + advance-qua → creator mất ô comment thật → anh Kiệt **6 decision**: A1 (bypass CHỈ NV cấp dưới, creator ký tay, giữ skip-NV S60) · no-finalize-guard (theo quyền `AllowApproverFinalize`) · EDGE-5 hard-lock · 1-nút · opinion-history · phiếu-mới-only → close-review `wf_7df56b89` GO-WITH-ADJ (🔴 **L2-catch**: EDGE-5-guard phải ĐỈNH-METHOD `TransitionAsync` mới chặn admin-override `:290` [spec bỏ sót] · A1 **MỞ CEO-skip MỚI** qua finalize-flag) → **oQ reconcile**: finalize-theo-quyền accept + EDGE-5 `!isAdmin && !isSystem` **admin-exempt** ("Admin đầy-đủ-nhất") → BE (A1 `minOwn`+pointer-stop · EDGE-5 guard-top · history log-cũ→`PurchaseEvaluationChangelog` trước overwrite) + test 4-update→A1 + 8-new → reviewer GO 0-must-fix.
|
||||
|
||||
## Lessons
|
||||
- **#53-garble ×3** (invest + reviewer + cicd — chủ yếu Opus reasoning-lane) → recover: SendMessage-resume (2/2 clean lần 2) + **em-main byte-verify** (token-diff prod-curl) — KHÔNG tin verdict garble, tự verify ground-truth.
|
||||
- **A1 "bám đúng quy trình" = thay-đổi tối-thiểu** (chỉ gate bypass, 0 refactor engine) = an-toàn deploy prod live.
|
||||
- **close-review > investigation**: L2 bắt EDGE-5-guard-placement + A1-CEO-skip mà investigation nói "đã tồn tại" (imprecise).
|
||||
- **NFC/NFD**: header-fingerprint file Excel thật có thể NFD → `.Normalize(FormC)` cả 2 phía.
|
||||
- **fill-nulls-safe**: re-import KHÔNG sửa field đã-có (anh chốt "an toàn").
|
||||
|
||||
## UAT heads-up anh Kiệt
|
||||
- **A1 bỏ auto-terminal-on-submit**: phiếu 1-bước creator-là-cấp-cuối nay cần bấm Duyệt (đúng ý, KHÔNG lỗi).
|
||||
- **Upload file "Database NCC" THẬT** trên DEV/prod xác nhận LayoutValid=true trước dùng (structure scout khớp + NFC handled, file-thật end-to-end chưa test; báo "Sai layout" → hộp đỏ FE có "Header nhận được" copy sửa 1 vòng, KHÔNG hỏng data).
|
||||
|
||||
## Defer (non-blocking follow-up)
|
||||
- FE-Import-guard `Suppliers/Create`→`Admin,CatalogManager` role-gate (user-thường thấy nút→403, BE-safe) 2-app.
|
||||
- 2 stale-comment (best-guess→baked) + test `NormalizeJoin` +`.Normalize(FormC)`.
|
||||
- harvest run-trace 3 ensemble @full session-end (agents self-updated diary; em-main stamp `[engine: fable-clone-ensemble · Opus-S112]`).
|
||||
|
||||
## State
|
||||
**Mig 63 · 89 bảng · 458 test (45D+413I) · gotcha 79 · menu 54 · bundle admin `Cixlt_MA`/user `BhBOG1dn` (Run #496) · prod 21 NCC/17 user.**
|
||||
@ -173,7 +173,7 @@ SE đã có RAG golden-set harness (KHÔNG phải gap): `eval/golden-set-solutio
|
||||
> 🔑 **Cốt-lõi:** ngân-sách bộ-nhớ = **mức TẬN-DỤNG-TỐI-THIỂU phải đạt, KHÔNG phải trần để dè-xẻn.** Tiết-kiệm-token = **quên-việc** (rơi trạng-thái giữa phiên) = KHÔNG tiết-kiệm thật (làm-lại tốn HƠN — cùng họ Goodhart §F.4/§6.6). Khoảng-trống quan-sát hay rơi đúng vào **chính LEAD** (lead tự-nạp kiến-trúc/luật nhưng bỏ quên trạng-thái-công-việc) → §G.2(c) vá đúng chỗ đó.
|
||||
|
||||
### G.1 — Mô-hình = SÀN cố-định + 3 tầng được-quản-lý (A1/A2/A3)
|
||||
- **SÀN-harness (A1, đo-được):** phần cố-định mỗi spawn = tool-schema + framing + persona/role + lead-pasted base-doc-slice + prompt. **SE TỰ đo (KHÔNG mượn số AI_INFRA):** persona đo-thật `.claude/agents/*.md` (4.3KB–13.3KB ≈ 1.3K–4.0K tok /3.3); tool-schema+framing harness-injected **SE ước-lượng-riêng** (trùng AI_INFRA ~21K vì **cùng-họ-toolset** Read/Write/Edit/Bash/Grep/Glob/Skill/RAG, **KHÔNG mượn-số**) → **floor ≈ 21K measured-estimate → round-up 30K (cap RIÊNG SE)** (`memory-budget.json:harness_floor`). Honest: persona = đo-thật-byte; phần harness-injected = ƯỚC-LƯỢNG (không byte-count cục-bộ được).
|
||||
- **SÀN-harness (A1, đo-được):** phần cố-định mỗi spawn = tool-schema + framing + persona/role + lead-pasted base-doc-slice + prompt. **SE TỰ đo (KHÔNG mượn số AI_INFRA):** persona đo-thật `.claude/agents/*.md` (4.3KB–13.3KB ≈ 1.3K–4.0K tok /3.3); tool-schema+framing harness-injected **SE ước-lượng-riêng** (trùng AI_INFRA ~21K vì **cùng-họ-toolset** Read/Write/Edit/Bash/Grep/Glob/Skill/RAG, **KHÔNG mượn-số**) → **floor ≈ 21K measured-estimate → owner-set reserve 100K (S112 2026-07-12, was round-up 30K; cap RIÊNG SE)** (`memory-budget.json:harness_floor`). Honest: persona = đo-thật-byte; phần harness-injected = ƯỚC-LƯỢNG (không byte-count cục-bộ được).
|
||||
- **A3 tách-nhà chống-đếm-trùng:** persona + lead-docs thuộc **SÀN**, KHÔNG đếm vào L1-managed. L1-managed = own agent-memory + archive `_INDEX` + work-state block (`memory-budget.json:harness_floor._note`).
|
||||
- **3 tầng managed (A2 — cập-nhật v3 §G.5):** Tầng-1 = **HOT-FEED LỚN per-role** (lead **220K** · agent-ký-ức **60K** · agent-workflow **50K** — **anh-set FULL AI_INFRA parity S83 v3**, supersede self-shrink S82; nạp đầy 4 bucket WIP·lỗi-lặp·tồn-đọng·quyết-định-chờ) · L2/L3 **BỎ TRẦN** (on-demand, no artificial tier-cap, chỉ chặn bởi cửa-sổ-ngữ-cảnh model). 🔴 con-số = **quyền CHỦ-DỰ-ÁN (anh)** — em-main THỰC-THI-đúng-số + BÁO-% (KHÔNG tự-tinh-chỉnh), xem §G.4/§G.5 (`token_governor`).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user