fix(install): consumer-install-hardening F9b — /aif-* honesty sweep (remaining docs) - #485
Merged
Conversation
…remaining docs) F9 (#480) reframed AGENTS.md + checks-map.md; F9b finishes the sweep. Three more shipped docs presented /aif-verify as the UNCONDITIONAL "REQUIRED before commit" gate the installer never delivers — CLAUDE.md.template, DESCRIPTION.template.md, and ai-traps.md (which TEACHES consumers to write the lie in their own docs). Reframed to conditional "if you use AI Factory (aif)"; the unconditional gate now names what install actually ships (./scripts/audit-ai-docs.sh + pre-push hook + CI). The 4 other shipped docs mentioning /aif-verify do so descriptively ("AI Factory /aif-verify pre-PR gate") — honest, left as-is (scope discipline). Broadened tests/install-sh/f9-aif-commands-honesty.test.sh to SWEEP all 37 shipped markdown docs (closes F9's 2-doc-scope caveat); the audit-self.yml F9 step already runs it (no workflow change). Probe PASS=10/0, both sweep neg arms bite; the lie-patterns are verified zero-hit on the 4 benign descriptive docs (no over-broad FP). §1.7: forward-check — same reframe pattern as F9; complies with companion-install-principle.md §1 (no /aif-* commands shipped), build-first-reuse-default.md §1 (REUSE the shipped audit-ai-docs/pre-push gate), no-paid-llm-in-ci.md (bash probe). evidence packages/core/templates/shared/CLAUDE.md.template:17 + skills/rules-as-tests/references/ai-traps.md:227. backward-check — extends #480; the 4 descriptive-mention docs intentionally untouched; no rule superseded. Prior-art: skipped — consumer-doc honesty reframe + deterministic bash probe extension, no new capability area or dependency introduced.
This was referenced Jun 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
consumer-install-hardening — F9b:
/aif-*honesty sweep (remaining docs)Follow-up to #480 (F9) — maintainer-invited. F9 reframed
AGENTS.md+checks-map.md; F9b finishes the sweep across the rest of the shipped doc surface.The lie (same defect class as F9)
Three more shipped docs presented
/aif-verifyas the UNCONDITIONAL "REQUIRED before commit" gate the installer never delivers (.claude/commands/is never shipped):packages/core/templates/shared/CLAUDE.md.template:22/:26(ships to consumer rootCLAUDE.md) —/aif-verify — REQUIRED before commit+Don't bypass /aif-verify.packages/core/templates/shared/DESCRIPTION.template.md:61/:65(ships to.ai-factory/) — identical.skills/rules-as-tests/references/ai-traps.md:227/:254— teaches consumers to write the lie in their own AGENTS/CLAUDE (the sample-doc template).Fix
Reframe to conditional "if you use AI Factory (aif)" (not bundled); the unconditional pre-commit/PR gate now names what install actually ships (
./scripts/audit-ai-docs.sh+.husky/pre-push+ CI)./aif-verifydemoted to a convenience wrapper. The 4 other shipped docs that mention/aif-verify(SKILL.md,overview.md,self-testing-docs.md,doc-organization.md) do so descriptively ("AI Factory/aif-verifypre-PR gate") — honest, left untouched (scope discipline; T16 — mentions ≠ lies).Probe — broadened (closes F9's 2-doc-scope caveat)
Extended
tests/install-sh/f9-aif-commands-honesty.test.shto sweep all 37 shipped markdown docs. Theaudit-self.ymlF9 step already runs this file — no workflow change.§1.7 Forward-check applied
Same reframe pattern as F9 #480; complies with
companion-install-principle.md§1 (companions install via their own installer — we ship NO/aif-*commands),build-first-reuse-default.md§1 (REUSE the already-shippedaudit-ai-docs.sh+ pre-push gate; only the bash probe extension is new), andno-paid-llm-in-ci.md(the probe is pure bash, zero API). Evidence:packages/core/templates/shared/CLAUDE.md.template:17,skills/rules-as-tests/references/ai-traps.md:227,tests/install-sh/f9-aif-commands-honesty.test.sh:108.§1.7 Backward-check applied
Extends #480 rather than superseding it; the 4 descriptive-mention docs are intentionally untouched (verified zero lie-pattern hits). No existing rule superseded. The broadened sweep closes the 2-doc-scope caveat the F9 probe documented at
tests/install-sh/f9-aif-commands-honesty.test.sh:11; the benign-vs-lying separation was proven before edit (packages/core/templates/shared/DESCRIPTION.template.md:61matches,skills/rules-as-tests/SKILL.md:124does not).Verify-trace
bash tests/install-sh/f9-aif-commands-honesty.test.sh→PASS=10 FAIL=0; both sweep neg arms bitebash -nclean; portable (nomapfile— runs on macOS bash 3.2 + ubuntu CI)Scope-out
Branch based on live staging
4bff351a; pushed viaharvest-via-api.sh(git transport tunnel-blocked). Part of the consumer-install-hardening umbrella; runs in parallel with the issue-#478 S3 track (no file overlap).