Skip to content

v1.3.0 — Kit governance, brownfield safety-net & STAGING-only deploy

Choose a tag to compare

@dinhnguyenngoc dinhnguyenngoc released this 08 Jul 03:12
· 8 commits to main since this release

Bản này bổ sung tầng quản trị cho kit (layering + versioning), lệnh /inspect để tra hiện
trạng có bằng chứng, siết mạnh kỷ luật brownfield, và đưa /deploy về đúng ranh giới STAGING.
Phần lớn số dòng còn lại là chuẩn hoá ngôn ngữ nguồn của kit sang English (output runtime vẫn tiếng Việt).

Added

  • /inspect — lệnh mới tra hiện trạng phần mềm: read-only, 3 tầng bằng chứng (records → code → live) + phát hiện mismatch + xếp hạng PROVEN/DESCRIBED. Được wire vào routing như ngoại lệ câu-hỏi-hiện-trạng.
  • Kit Layering — mô hình 3 tầng CORE / CONFIG / EXTENSION + precedence local/ > PROJECT_PROFILE > base.
  • PROJECT_PROFILE.md — tách thành file CONFIG riêng, user-owned, an toàn qua kit upgrade.
  • local/ (EXTENSION) — KIT_DEVIATIONS.md + README.md cho tuỳ biến team.
  • KIT_VERSION — file marker phiên bản (nền cho upgrade-manifest Phase 2).
  • Dual-Implementation Parity (rules/testing.md) — chống bug-class "1 quy tắc có ≥2 biểu diễn → drift": ưu tiên khử bản thứ 2, nếu buộc reimplement → differential test bắt buộc.
  • /spec Phase 0 — auto-detect Mode (ARGS × CODE × DISCOVERY) → STOP / REVERSE / DELTA.

Changed

  • /deploy = STAGING-only — Status tối đa STAGED; promote production là bước thủ công ngoài kit (least privilege, DEPLOY_RUNBOOK §8). Từ vựng SUCCEEDEDSTAGED toàn bộ.
  • Coverage gate theo Mode — greenfield whole-repo; brownfield delta-coverage + ratchet.
  • /scan tái cấu trúc quanh script auto-detect stack → dispatch per-stack → SCAN_SUMMARY.json → STRIDE re-eval.
  • Hook log-command-stats.py — thêm cột cost (ước tính USD theo list-price từng model) + duration + humanize token (K/M/B).
  • Templates (OWASP/STRIDE/CODE_REVIEW/RUNBOOK_RELEASE/TEST_REPORT/VERIFY_REPORT) & agents đồng bộ với STAGED + coverage-by-mode.

Hardened

  • SCAN guard 3 trạng thái — thiếu SCAN_REPORT giờ block (cần ACK_NO_SCAN=1 + ghi ngoại lệ vào RELEASE_NOTES), thay vì pass thầm lặng.
  • Host-isolation mở rộngIHostedService/Kafka consumer phải tắt/redirect trong test · ASPNETCORE_ENVIRONMENT=Testing + appsettings.Testing.json · auto-migrate trỏ container · cấm sửa config production để test pass (git status chứng minh).
  • Fixture guidance: arm64 azure-sql-edge; nạp raw DDL (stored procedure/trigger) vào TestContainer.

Internal

  • Chuẩn hoá ngôn ngữ nguồn kit (.md) sang English; giữ tiếng Việt ở CLAUDE.md §Output Language/§Output Clarity + PROJECT_PROFILE.md.
  • rules/brownfield.md + references/brownfield-pipeline.md viết lại (Measure vs Verify · Upfront vs Per-change · WRITE-per-delta-RUN-everything · cây quyết định 9 tình huống).

⚠️ Upgrade notes (behavior changes)

  • /deploy KHÔNG còn tự tuyên bố production SUCCEEDED — tối đa STAGED; script/kỳ vọng cũ dựa trên SUCCEEDED phải đổi. Production do bước promote thủ công (RUNBOOK §8) điền.
  • Deploy khi chưa chạy /scan giờ fail trừ khi set ACK_NO_SCAN=1 (+ ghi ngoại lệ vào RELEASE_NOTES §Known risks).
  • Coverage gate brownfield chuyển sang delta + ratchet (không còn ép 80% whole-repo mỗi PR).

Changelog đầy đủ (kèm v1.2.0 / v1.1.0 / v1.0.0): CHANGELOG.md.