GlossaryThuật ngữ
One settled word replaces a paragraph of re-explanation. Agents read docs/GLOSSARY.md before naming a variable, file, hook, or sentence, so the tree stays consistent. Each term below carries its definition, the wording it forbids, and the decision that backs it — copied straight from the canonical file.Một từ đã chốt thay cho cả đoạn giải thích lại. Agent đọc docs/GLOSSARY.md trước khi đặt tên biến, file, hook hay câu chữ, để cả cây giữ nhất quán. Mỗi thuật ngữ dưới đây kèm định nghĩa, cách nói bị cấm, và quyết định làm chỗ dựa — lấy thẳng từ file chuẩn.
harness/tests/test_bug_class_invariants.py enforces across harness/. Naming drift fails CI — the glossary is not a style suggestion.Cột Cách nói bị cấm là mặt người-đọc-được của các lệnh cấm mà harness/tests/test_bug_class_invariants.py ép trên toàn harness/. Lệch tên là rớt CI — glossary không phải gợi ý phong cách.Enforcement modelMô hình cưỡng chế
How a hook decides to block or stay silent, and how stores stay collision-free.Cách một hook quyết định chặn hay im lặng, và cách store không bao giờ đụng nhau.
| TermThuật ngữ | DefinitionĐịnh nghĩa | Forbidden wordingCách nói bị cấm | BackingChỗ dựa |
|---|---|---|---|
fs_guard | Script-path containment helper: disciplines where harness scripts may write. It cannot stop a raw LLM Write.Trợ giúp khoanh đường-ghi của script harness. Không chặn được lệnh Write thô của LLM. | "write-fence" — promises a barrier it can't deliver— hứa rào chắn nó không làm được | DEC-38 |
HOOK_CLASS | Constant compiled into each hook file (not config) declaring the hook's class.Hằng số biên dịch vào từng file hook (không phải config) khai báo lớp của hook. | declaring a hook's class in configkhai lớp hook trong config | DEC-4 |
fail-closed | Compliance-hook default: on violation, exit 2 with an actionable reason and block.Mặc định của hook compliance: vi phạm thì exit 2 kèm lý do hành động được và chặn. | — | DEC-4 |
fail-open | Telemetry / nudge default: never block — stay silent and always continue, even on internal error.Mặc định của telemetry / nudge: không bao giờ chặn — im lặng và luôn tiếp tục, kể cả khi lỗi nội bộ. | — | DEC-4 |
presence gate (W1) | Proves a step ran — its artifact exists and matches schema. It does not verify which AI ran it.Chứng minh một bước đã chạy — artifact tồn tại và khớp schema. Không xác minh AI nào chạy. | calling it identity / runner authgọi nó là định danh / xác thực runner | §W1 |
append-only | Every machine-written store appends one JSON line; no read-modify-write of a whole file, so concurrent writers never collide.Mọi store máy-ghi nối thêm một dòng JSON; không đọc-sửa-ghi cả file, nên ghi đồng thời không bao giờ đụng. | "read-modify-write" the storetrên store | DEC-5 |
Identity & ownershipDanh tính & sở hữu
Who is recorded as acting, and which files a declared owner may touch — attribution, never authentication.Ai được ghi là người làm, và owner đã khai được đụng file nào — quy trách nhiệm, không phải xác thực.
| TermThuật ngữ | DefinitionĐịnh nghĩa | Forbidden wordingCách nói bị cấm | BackingChỗ dựa |
|---|---|---|---|
actor | Attribution record (who did it), resolved by resolve_actor(). Env-spoofable, used only to trace — never an authorization signal.Bản ghi quy trách nhiệm (ai làm), do resolve_actor() phân giải. Giả mạo được qua env, chỉ để truy vết — không phải tín hiệu phân quyền. | "authentication" / "authorization"khung "authentication" / "authorization" | DEC-1 |
poaching | A commit that touches a file in another declared owner's lane; the per-actor ownership_guard blocks it. Actors owning no lane stay ungoverned.Một commit đụng file trong làn của owner khác đã khai; ownership_guard theo-actor chặn nó. Actor không sở hữu làn nào thì không bị quản. | calling actor lanes "permissions"gọi làn actor là "permissions" | DEC-62 |
Guard policy & merge gatesGuard policy & merge gate
The OFF / WARN / BLOCK posture for every guard, and the protections around a shared branch.Thế OFF / WARN / BLOCK cho từng guard, và các bảo vệ quanh một nhánh chung.
| TermThuật ngữ | DefinitionĐịnh nghĩa | Forbidden wordingCách nói bị cấm | BackingChỗ dựa |
|---|---|---|---|
guard policy | The unified OFF / WARN / BLOCK posture for every registered guard, resolved from a preset + per-guard overrides in guard-policy.yaml.Thế OFF / WARN / BLOCK thống nhất cho mọi guard đã đăng ký, phân giải từ preset + overrides theo-guard trong guard-policy.yaml. | a per-guard "feature flag"config theo-guard là "feature flag" | DEC-61 |
preset | Baseline posture (strict / balanced / lenient / solo) mapping each guard category to a mode; balanced is the default, solo keeps safety+enforcement block while silencing advisory+nudge.Thế nền (strict / balanced / lenient / solo) ánh xạ mỗi nhóm guard sang một mode; balanced là mặc định, solo giữ safety+enforcement block còn advisory+nudge tắt. | — | DEC-61 · DEC-99 |
safety floor (FLOOR) | A guard category clamped to block that a preset cannot lower — only an explicit, logged break-glass override can.Một nhóm guard ghim ở block mà preset không hạ được — chỉ một override break-glass rõ ràng, có log mới hạ được. | a preset downgrading a floorpreset hạ một floor | DEC-61 |
break-glass | An overrides: entry that lowers a floor guard; the write is flagged break_glass:true and recorded in the change-log.Một mục overrides: hạ một floor guard; lần ghi bị gắn cờ break_glass:true và ghi vào change-log. | — | DEC-61 |
merge gate | Transport-only stage: a push to a protected branch must clear the same merge-grade artifacts a reviewed PR would; a FLOOR guard.Stage chỉ-vận-chuyển: push lên nhánh được bảo vệ phải qua đúng bộ artifact cấp-merge như một PR đã review; là một FLOOR guard. | a protected push as a plain pushpush nhánh-bảo-vệ là push thường | DEC-63 |
protected ref | A ref matched by protected-branches.yaml (fnmatch); force-push, delete, and non-fast-forward to it are refused.Một ref khớp protected-branches.yaml (fnmatch); force-push, xóa, và non-fast-forward lên nó bị từ chối. | — | DEC-63 |
non-fast-forward (non-ff) | A push whose remote tip is NOT an ancestor of the local tip (a history rewrite). When ancestry is unverifiable (shallow clone), the gate fetches then blocks rather than fails open.Một push mà tip remote KHÔNG phải tổ tiên của tip local (viết lại lịch sử). Khi không xác minh được tổ tiên (shallow clone), gate fetch rồi chặn thay vì fail-open. | indeterminate ancestry as "safe"tổ tiên bất định là "an toàn" | DEC-64 |
Provenance & releaseXuất xứ & phát hành
How an artifact records which harness version made it, and how the tree is fingerprinted.Cách một artifact ghi lại phiên bản harness đã tạo nó, và cách lấy vân tay cả cây.
| TermThuật ngữ | DefinitionĐịnh nghĩa | Forbidden wordingCách nói bị cấm | BackingChỗ dựa |
|---|---|---|---|
provenance stamp | The deterministic harness_* YAML frontmatter (artifact_stamp) recording which harness version / kit_digest produced an artifact; idempotent, no wall-clock.Frontmatter YAML harness_* tất định (artifact_stamp) ghi phiên bản harness / kit_digest đã tạo artifact; idempotent, không dùng đồng hồ. | a wall-clock field in the stamptrường đồng-hồ trong stamp | DEC-59 |
kit_digest | sha256(manifest.json) pinned in release.json — the harness tree fingerprint, kept OUT of the integrity manifest to avoid self-reference.sha256(manifest.json) ghim trong release.json — vân tay cây harness, để NGOÀI manifest toàn vẹn để tránh tự-tham-chiếu. | hashing the manifest into itselfbăm manifest vào chính nó | DEC-58 |
Terminal voiceGiọng terminal
The conversational register knobs — and the fence that keeps them away from code, artifacts, and gates.Các núm chỉnh giọng hội thoại — và hàng rào giữ chúng tránh xa code, artifact, và gate.
| TermThuật ngữ | DefinitionĐịnh nghĩa | Forbidden wordingCách nói bị cấm | BackingChỗ dựa |
|---|---|---|---|
terminal voice | The harness's conversational register in the terminal — the surface prose only. Resolved by voice_prefs.py, injected at session start.Giọng hội thoại của harness trong terminal — chỉ phần prose bề mặt. Do voice_prefs.py phân giải, tiêm lúc mở phiên. | it touching code / artifacts / gatesnó chạm code / artifact / gate | DEC-65 |
voice level | voice_level 1–9 (default 5) — terminal bluntness; 5 = blunt, no profanity; 6–9 escalate the register aimed at the WORK.voice_level 1–9 (mặc định 5) — độ thẳng của terminal; 5 = thẳng, không tục; 6–9 tăng giọng nhắm vào CÔNG VIỆC. | — | DEC-65 |
universal-harm floor | The non-removable boundary on voice_level: venom at the WORK is IN up to 9; anything aimed at WHO the user is (slurs / threats / sexual / self-harm / family / identity) is OUT at every level.Ranh giới không-gỡ-được của voice_level: gắt với CÔNG VIỆC thì được tới 9; bất cứ gì nhắm vào CON NGƯỜI người dùng (lăng mạ / đe dọa / tình dục / tự hại / gia đình / danh tính) bị loại ở mọi mức. | the floor as a lowerable brakefloor là phanh hạ được | DEC-65 |
scope-fence | The invariant that voice knobs change ONLY conversational prose — never code, generated docs/reports, commits, evidence (file:line / IDs / SHAs / quotes), or any gate decision.Bất biến rằng núm giọng CHỈ đổi prose hội thoại — không đổi code, docs/báo cáo sinh ra, commit, bằng chứng (file:line / ID / SHA / trích dẫn), hay bất kỳ quyết định gate nào. | a voice knob altering an artifactmột núm giọng đổi artifact | DEC-65 |
artifact voice | The candor of an artifact TYPE, fixed once in its own spec (journal-writer "brutal honesty" / hs:critique neutral tone). Independent of voice_level.Độ thẳng thắn của một LOẠI artifact, cố định trong spec riêng (journal-writer "brutal honesty" / hs:critique giọng trung tính). Độc lập với voice_level. | voice_level changing an artifact's tonevoice_level đổi giọng artifact | DEC-65 |
persona | persona — the surface FORM of terminal prose (none + 13 catalog ids, work / fun groups). Sets form; voice_level sets harshness inside it.persona — DẠNG bề mặt của prose terminal (none + 13 id trong catalog, nhóm work / fun). Đặt dạng; voice_level đặt độ gắt bên trong. | a persona changing content / correctnesspersona đổi nội dung / tính đúng | DEC-66 |
explanation depth | terminal_voice_level 0–5 (default 5) — explanation depth / format of terminal answers, and interview/turn verbosity; changes depth only, never which files are touched.terminal_voice_level 0–5 (mặc định 5) — độ sâu / dạng giải thích của câu trả lời terminal, và độ dài hội thoại/lượt; chỉ đổi độ sâu, không đổi file bị đụng. | — | DEC-65 |
interview rigor | interview_rigor (light / standard / deep) — depth of challenge / gap-probing in hs:plan / hs:discover / hs:brainstorm; SEPARATE from verbosity.interview_rigor (light / standard / deep) — độ thách thức / dò khe-hở trong hs:plan / hs:discover / hs:brainstorm; TÁCH BIỆT với độ dài. | conflating it with lengthtrộn nó với độ dài | DEC-65 |
Process vocabularyTừ vựng quy trình
The words the build process and decision trail use about themselves.Những từ mà quy trình build và vết quyết định dùng để nói về chính mình.
| TermThuật ngữ | DefinitionĐịnh nghĩa | Forbidden wordingCách nói bị cấm | BackingChỗ dựa |
|---|---|---|---|
DEC | A recorded architectural decision (id: DEC-N, status active / superseded) in docs/decisions.md.Một quyết định kiến trúc đã ghi (id: DEC-N, trạng thái active / superseded) trong docs/decisions.md. | — | decision_register.py |
PORT / ADAPT | Copying verbatim (PORT) or rewriting-for-context (ADAPT) a pattern from an allowed MIT source into harness/, logged in STANDARDIZE.md.Sao chép nguyên văn (PORT) hoặc viết-lại-theo-bối-cảnh (ADAPT) một mẫu từ nguồn MIT được phép vào harness/, ghi trong STANDARDIZE.md. | — | DEC-38 |
W0–W3 | Wave decomposition of the build: W0 foundation, through W3 later capability.Phân rã build theo đợt: W0 nền móng, đến W3 năng lực về sau. | — | codebase-summary.md |
thin-core | A skill's SKILL.md kept to a minimal slice; detail lives in references/.SKILL.md của một skill giữ ở lát tối thiểu; chi tiết nằm trong references/. | — | check_skill_structure.py |
- Each banned phrase once described a mechanism as stronger than it is —
fs_guardas a "write-fence",actoras "authentication". The wrong word invites the wrong trust.Mỗi cụm bị cấm từng mô tả một cơ chế mạnh hơn thực tế —fs_guardlà "write-fence",actorlà "authentication". Từ sai mời gọi niềm tin sai. - So the bans are tested, not trusted:
test_bug_class_invariants.pygrepsharness/and fails CI on the forbidden strings.Nên các lệnh cấm được kiểm thử, không phải tin suông:test_bug_class_invariants.pygrepharness/và rớt CI nếu gặp chuỗi bị cấm. - Evidence (
DEC-N, file names) is never translated — it points at the same line of source in any language.Bằng chứng (DEC-N, tên file) không bao giờ được dịch — nó trỏ về cùng một dòng nguồn ở mọi ngôn ngữ.
FAQHỏi đáp
Who reads this glossary, and when?Ai đọc glossary này, và khi nào?
hs:plan and hs:discover read docs/GLOSSARY.md before naming anything; the consistency sweep writes new load-bearing terms back to it. It is read-before-name, not a lookup-when-stuck reference.hs:plan và hs:discover đọc docs/GLOSSARY.md trước khi đặt bất kỳ tên nào; consistency sweep ghi thuật ngữ trọng yếu mới trở lại file. Nó là đọc-trước-khi-đặt-tên, không phải tra-khi-bí.What if I coin a new term during planning?Nếu tôi đặt thuật ngữ mới khi lập kế hoạch?
docs/GLOSSARY.md with its definition, any forbidden wording, and the backing decision. The next agent inherits your vocabulary instead of re-deriving it.Thêm một dòng vào docs/GLOSSARY.md kèm định nghĩa, cách nói bị cấm (nếu có), và quyết định làm chỗ dựa. Agent kế tiếp thừa hưởng từ vựng của bạn thay vì suy lại.Why is the glossary in English when reports default to Vietnamese?Vì sao glossary tiếng Anh khi báo cáo mặc định tiếng Việt?
CLAUDE.md, and this glossary — is English by convention (harness/data/output.yaml). Generated reports follow the configured language; the names agents code against do not move between languages.Bề mặt chỉ-dẫn — skill, rule, agent, CLAUDE.md, và glossary này — theo quy ước là tiếng Anh (harness/data/output.yaml). Báo cáo sinh ra theo ngôn ngữ đã cấu hình; còn tên mà agent code dựa vào thì không đổi giữa các ngôn ngữ.