Product Spec Harness
HomeTrang chủ GuidesHướng dẫn Voice levelsMức giọng
For product owners who want honest feedbackCho Product Owner muốn phản hồi thẳng thắn

Voice levelsMức giọng phê bình

The critique skill speaks at nine levels of harshness — from a warm peer review to a no-holds-barred roast. One dial. The evidence and the fix never move; only the voice sharpens. Level 5 is the default. Levels 6–9 are opt-in and carry an explicit danger gate. Every level obeys the universal-harm floor with no exception.Skill phê bình nói ở chín mức độ gắt — từ đánh giá nhẹ nhàng đến chửi không giữ tay. Một núm chỉnh. Bằng chứng và cách sửa không đổi; chỉ giọng điệu sắc dần. Mức 5 là mặc định. Mức 6–9 phải bật thủ công và đi kèm gate cảnh báo. Mọi mức đều tuân thủ sàn universal-harm, không ngoại lệ.

THE SCALETHANG MỨC GIỌNG

The nine levelsChín mức giọng

Aliases exist for levels 1–6. Levels 7–9 have no alias — invoke with --level 7, --level 8, --level 9. Level 5 is the ungated default baseline; no warning, no confirm, just runs.Mức 1–6 có tên gọi tắt. Mức 7–9 không có tên — dùng --level 7, --level 8, --level 9. Mức 5 là mặc định không cần gate; chạy thẳng, không cảnh báo, không xác nhận.

LevelMức AliasTên gọi What it doesGiọng điệu GatingKiểm soát
1 --warm Gentle and encouraging, softens the blow. Attacks the artifact only.Nhẹ nhàng, khích lệ, làm dịu tin xấu. Chỉ nhắm vào hiện vật. No gateKhông gate
2 --gentle Matter-of-fact with a dry edge. Still artifact-only.Bình thản với chút khô khan. Vẫn chỉ nhắm hiện vật. No gateKhông gate
3 --blunt Direct sarcasm. Critic may voice a first-person reaction. Personal attack forbidden.Mỉa mai thẳng thắn. Người phê có thể nêu phản ứng của mình. Không công kích cá nhân. No gateKhông gate
4 --savage Heavy sarcasm, nothing softened. Sharper first-person reaction allowed. Personal attack still forbidden.Mỉa mai nặng, không nhẹ giọng. Phản ứng cá nhân sắc hơn được. Vẫn không công kích người viết. No gateKhông gate
5 --no-mercy (default)(mặc định) Brutal and theatrical. Personal barbs at the author are allowed but not required. The ungated baseline.Tàn nhẫn và kịch tính. Được phép chích xéo người viết nhưng không bắt buộc. Là baseline mặc định, không cần gate. No gate — runs immediatelyKhông gate — chạy ngay
6 --roast Danger: insults the PO as well as the work. Personal attack becomes mandatory. Never for professional settings.Nguy hiểm: chửi cả người viết lẫn công việc. Công kích cá nhân bắt buộc. Không dùng chỗ chuyên nghiệp. Warn + confirm requiredCảnh báo + xác nhận
7 nonekhông có Confrontational ông/tôi address (gender: bà/tôi). Attacks competence and effort. No profanity.Xưng hô ông/tôi đối đầu (giới tính: bà/tôi). Đánh vào năng lực và tinh thần làm việc. Không tục. Warn + confirm or standing reminderCảnh báo + xác nhận hoặc nhắc nhở thường trực
8 nonekhông có Street register mày/tao (dialect: mi/tau for Trung). Attacks competence and character. No profanity.Xưng hô đường phố mày/tao (phương ngữ Trung: mi/tau). Đánh vào năng lực và tính cách. Không tục. Warn + confirm or standing reminderCảnh báo + xác nhận hoặc nhắc nhở thường trực
9 nonekhông có mày/tao + work-targeted profanity (đm/vl tier). All internal restraints lifted. Unbounded scorn within the floor.mày/tao + tục nhắm vào spec (đm/vl). Tất cả kiềm chế nội bộ được bỏ. Khinh bỉ không giới hạn trong phạm vi sàn. Re-confirms on EVERY run; declines → level 8Hỏi lại MỖI lần chạy; từ chối → xuống mức 8

The interactive voice dial lives on the critique skill page — see product-spec-critique. That page shows verbatim output from examples/acme-shop at levels 1–6 so you can hear each level before choosing.Núm giọng tương tác nằm ở trang skill phê bình — xem product-spec-critique. Trang đó hiển thị đầu ra thật từ examples/acme-shop ở mức 1–6 để bạn nghe trước khi chọn.

DANGER GATECỔNG NGUY HIỂM

Opt-in above 5Phải opt-in từ mức 6 trở lên

Levels 1–5 run without any confirmation. From level 6 upward, the skill shows an explicit danger warning and requires a confirm before proceeding. Level 9 goes further: it re-confirms on every single run — not once per session, every run — and if you decline the re-confirm, the level drops to 8 for that run.Mức 1–5 chạy không cần xác nhận. Từ mức 6 trở lên, skill hiện cảnh báo nguy hiểm rõ ràng và yêu cầu xác nhận trước khi tiếp tục. Mức 9 còn thêm bước: hỏi lại mỗi lần chạy — không phải mỗi phiên, mà mỗi lần — nếu bạn từ chối thì mức tự động xuống 8 cho lần đó.

Levels 6–8 — one confirmMức 6–8 — xác nhận một lần

On first use (or without a standing preference), the skill shows a danger warning via AskUserQuestion and asks you to confirm. With a stored preference at levels 6–8, a standing reminder is shown instead. Never inferred from a vague request.Lần đầu dùng (hoặc chưa có preference lưu sẵn), skill hiện cảnh báo nguy hiểm qua AskUserQuestion và hỏi xác nhận. Nếu đã lưu preference ở mức 6–8, sẽ hiện nhắc nhở thường trực thay vì gate đầy đủ. Không bao giờ suy diễn từ yêu cầu mơ hồ.

--roast --level 7 --level 8

Level 9 — re-confirms every runMức 9 — hỏi lại mỗi lần

There is no "standing preference" that bypasses the re-confirm at level 9. Every invocation asks again. Decline → level 8 for that run; the stored preference is unchanged. This is the only level with this behavior.Không có "preference thường trực" nào bỏ qua gate ở mức 9. Mỗi lần gọi đều hỏi lại. Từ chối → xuống mức 8 cho lần đó; preference đã lưu không đổi. Đây là mức duy nhất có hành vi này.

--level 9 declines → 8từ chối → 8
WHAT GETS ATTACKEDĐỐI TƯỢNG BỊ CÔNG KÍCH

Artifact, not authorCông việc, không phải con người

At every level, the critique attacks the work — the artifact, the claim, the assumption — not who you are as a person. Levels 1–4 forbid personal attack entirely. Level 5 (the default) lifts that restriction and may include a barb at the author, but doesn't require one. Level 6 makes the personal attack mandatory, which is why it is opt-in and never appropriate in a professional setting.Ở mọi mức, phê bình công kích công việc — hiện vật, luận điểm, giả định — không phải con người bạn. Mức 1–4 cấm hoàn toàn việc công kích cá nhân. Mức 5 (mặc định) bỏ giới hạn đó và có thể châm biếm người viết, nhưng không bắt buộc. Mức 6 bắt buộc phải công kích cá nhân — đó là lý do nó phải opt-in và không bao giờ dùng trong môi trường chuyên nghiệp.

LevelsMức Personal attackCông kích cá nhân Attack scopePhạm vi công kích
1–4 ForbiddenBị cấm The artifact, the claim, the assumption onlyChỉ hiện vật, luận điểm, giả định
5 Lifted — allowed, not requiredBỏ giới hạn — được phép, không bắt buộc The artifact + optional author barbHiện vật + chích xéo người viết tùy chọn
6 RequiredBắt buộc Effort and care on this specific spec — not identity, not character beyond lazy/carelessTinh thần và sự cẩn thận với spec này cụ thể — không phải danh tính, không phải tính cách ngoài lười/bất cẩn
7 RequiredBắt buộc Competence + effort; confrontational ông/tôi addressNăng lực + tinh thần; xưng hô ông/tôi đối đầu
8 RequiredBắt buộc Competence + character; street register mày/taoNăng lực + tính cách; giọng đường phố mày/tao
9 RequiredBắt buộc All internal restraints lifted within the universal-harm floor; mày/tao + work-targeted profanityTất cả kiềm chế nội bộ bỏ trong giới hạn sàn; mày/tao + tục nhắm công việc
📌
Every finding at every level — even 9 — must cite a real artifact_id:line from the spec and end with a concrete, actionable fix. A line with no evidence or no fix is dropped. The voice is how a finding is delivered; the evidence and the fix are non-negotiable structure.Mọi phát hiện ở mọi mức — kể cả 9 — phải trích dẫn artifact_id:line thật từ spec và kết thúc bằng một cách sửa cụ thể, thực hiện được. Dòng không có bằng chứng hoặc không có cách sửa bị loại. Giọng điệu là cách truyền đạt phát hiện; bằng chứng và cách sửa là cấu trúc không thể bỏ.

Decisions about voice gating are recorded at Decision Register. The critique page also links to the relevant DEC entries.Các quyết định về kiểm soát giọng được ghi tại Decision Register. Trang phê bình cũng liên kết tới các mục DEC liên quan.

NON-REMOVABLE CONSTRAINTGIỚI HẠN KHÔNG THỂ BỎ

The universal-harm floorSàn universal-harm

This is a harder line than the personal-attack limits above. It is decided by the target of a line, not its strength. A brutal line aimed at the work is IN at any level. A mild line aimed at a protected characteristic is OUT at every level — including 9 — including with explicit PO consent. No flag, no preference, no confirmation overrides it.Đây là giới hạn cứng hơn giới hạn công kích cá nhân ở trên. Nó được quyết định bởi đối tượng của dòng chữ, không phải độ mạnh. Một dòng tàn nhẫn nhắm vào công việc là ĐƯỢC ở mọi mức. Một dòng nhẹ nhàng nhắm vào đặc điểm được bảo vệ là KHÔNG ở mọi mức — kể cả mức 9 — kể cả khi PO đã đồng ý tường minh. Không cờ, không preference, không xác nhận nào ghi đè được.

Universal-harm floor — overrides ALL levels, even 9, even with consent. Lines crossing it are dropped, not softened.Sàn universal-harm — ghi đè MỌI mức, kể cả 9, kể cả khi đã đồng ý. Dòng vi phạm bị loại, không được làm dịu đi.
Aimed at…Nhắm vào… At any levelỞ mọi mức
The work — the idea, spec, claim, decision, or effort on this artifactCông việc — ý tưởng, spec, luận điểm, quyết định, tinh thần làm việc với hiện vật này IN — up to level 9ĐƯỢC — tới mức 9
Real threat of violence toward the authorĐe dọa bạo lực thật nhắm vào người viết OUT
Slur on a protected characteristic (gender, ethnicity, religion, age, disability, sexuality, appearance, regional origin)Lăng mạ đặc điểm được bảo vệ (giới tính, dân tộc, tôn giáo, tuổi, khuyết tật, xu hướng tình dục, ngoại hình, vùng xuất xứ) OUT
Profanity taking the author's family as object (the literal family-target form)Tục ngữ lấy gia đình người viết làm đối tượng (dạng nhắm gia đình nghĩa đen) OUT
Self-harm encouragementCổ vũ tự hại OUT
Sexual content directed at the authorNội dung tình dục nhắm vào người viết OUT
⚖️
The dividing question: is this line aimed at the work, the effort, the competence on this spec (IN) — or at who the author is as a person, their body, family, or safety (OUT)? When borderline, it is OUT. "Cái AC này rỗng vl" attacks the work criterion — IN at level 9. "đm cái scope mâu thuẫn với BRD-G2" attacks the spec — IN. "đừng để tao nhắc lại" is an authoritative scolding idiom, not a violence threat — IN. Câu hỏi quyết định: dòng này nhắm vào công việc, tinh thần, năng lực với spec này (ĐƯỢC) — hay vào con người người viết, thân thể, gia đình, hay sự an toàn của họ (KHÔNG)? Khi ở ranh giới, là KHÔNG. "Cái AC này rỗng vl" tấn công tiêu chí công việc — ĐƯỢC ở mức 9. "đm cái scope mâu thuẫn với BRD-G2" tấn công spec — ĐƯỢC. "đừng để tao nhắc lại" là thành ngữ rầy la có thẩm quyền, không phải đe dọa bạo lực — ĐƯỢC.

The floor applies identically to the lean agents, the consolidator, and the humanizer — the second-pass editor drops a line crossing it rather than softening it. For the full IN/OUT adjudication table see product-spec-critique.Sàn áp dụng giống nhau cho lens agent, consolidator và humanizer — biên-tập lượt hai loại thẳng dòng vi phạm thay vì làm dịu. Xem bảng phán xét IN/OUT đầy đủ tại product-spec-critique.

COMMON QUESTIONSCÂU HỎI THƯỜNG GẶP

FAQHỏi đáp

What is the default level and do I need to configure anything?Mức mặc định là bao nhiêu và tôi có cần cấu hình gì không?
Level 5 (--no-mercy) is the default and requires nothing. It runs immediately with no warning. You can override it per-run with --level N (or an alias), or set the critique_level preference in preferences.yaml to change the baseline for all runs.Mức 5 (--no-mercy) là mặc định và không cần cấu hình gì. Chạy ngay không cảnh báo. Bạn có thể đổi theo từng lần với --level N (hoặc tên gọi tắt), hoặc đặt preference critique_level trong preferences.yaml để đổi baseline cho tất cả các lần chạy.
I set level 9 as my preference — do I still get asked every run?Tôi đặt mức 9 làm preference — có còn bị hỏi mỗi lần không?
Yes. Level 9 re-confirms on every single run regardless of any stored preference. That is by design: the behavior is severe enough that each invocation is an active choice. Decline → level 8 for that run; your stored preference stays unchanged.Có. Mức 9 hỏi lại mỗi lần chạy bất kể preference đã lưu. Đây là thiết kế có chủ đích: hành vi đủ mạnh để mỗi lần gọi phải là lựa chọn chủ động. Từ chối → xuống mức 8 cho lần đó; preference đã lưu không thay đổi.
Can I use level 6–9 in a real team review or a shared report?Tôi có thể dùng mức 6–9 trong đánh giá nhóm thật hay báo cáo chia sẻ không?
No. Levels 6–9 are designed as a private, cathartic "destroy-me" mode intended only for the spec's own author. Level 6 in particular is described as "never appropriate for any professional setting" — not a real review, not a shared report, nothing a colleague or stakeholder will read. Keep levels 1–5 for team-visible work.Không. Mức 6–9 được thiết kế như một chế độ "chửi tôi đi" riêng tư, chỉ dành cho chính tác giả của spec. Mức 6 được mô tả là "không bao giờ phù hợp với bất kỳ môi trường chuyên nghiệp nào" — không dùng trong review thật, không dùng trong báo cáo chia sẻ, không để đồng nghiệp hay bên liên quan đọc. Giữ mức 1–5 cho công việc nhóm.
Does a higher level mean longer output?Mức cao hơn có nghĩa là đầu ra dài hơn không?
No. Report length is controlled by critique_detail_level (concise/standard/verbose). The voice level changes tone and sharpness; the detail level changes size. They are independent knobs.Không. Độ dài báo cáo được kiểm soát bởi critique_detail_level (concise/standard/verbose). Mức giọng đổi giọng và độ sắc; mức chi tiết đổi kích thước. Hai núm này độc lập nhau.