Systemic audit (Fable 5): 6 findings, 4 executor-ready plans [skip release] - #7
Closed
Livingooal wants to merge 1 commit into
Closed
Systemic audit (Fable 5): 6 findings, 4 executor-ready plans [skip release]#7Livingooal wants to merge 1 commit into
Livingooal wants to merge 1 commit into
Conversation
…elease] Whole-repo audit at 80451e6 (audit standard direct; security/privacy excluded by operator instruction). Six findings, four live-reproduced, four plans: - CORR-01 (HIGH): CLI cannot convert regex/preset kinds; false error message - GATE-01 (MED): bun test rewrites FORMAT-SUPPORT.md, matrix:check cannot fail - DOCS-01 (MED): runnable-now docs teach the unbuilt vaud CLI - UX-01 (MED): damaged entity files silently vanish from the library - TEST-01 (MED): no conversion-wiring coverage beyond characters - PERF-01 (LOW): measured, recorded, not worth fixing yet Artifacts only under audit-plans/; no source, docs, or config touched. Blind adversarial review completed; all objections revised in. AI model: Claude Fable 5 (grumpy-systemic-audit skill, benchmark session)
Contributor
Author
Adversarial review record (blind fresh-context reviewer, Claude Fable 5)Posted verbatim for transparency; the committed artifacts already incorporate every objection below. Initial verdicts were REVISE on all six artifacts with 0 CRITICAL / 5 MAJOR / 6 MINOR defects; the conductor re-verified each objection against source before revising. Verdicts (pre-revision)
All four finding mechanisms were confirmed; the reviewer independently reproduced CORR-01 and DOCS-01 live and verified GATE-01's and UX-01's citations. MAJOR defects (all fixed in the committed artifacts)
MINOR defects (all fixed)
What the reviewer tried to falsify and could not
Accepted as reported (not independently verifiable read-only): the 2250-test baseline numbers and PERF-01's millisecond measurements (all its code citations checked out). |
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.
What this is
A whole-repository systemic audit of Hoplight at
80451e6(v0.1.13), run with thegrumpy-systemic-auditskill inaudit standard directmode (conductor-only, no shards), plusfour executor-ready implementation plans. This PR adds planning artifacts only under
audit-plans/; no source, docs, or config files are touched.AI model disclosure (per CONTRIBUTING.md): Claude Fable 5 (
claude-fable-5). This is theFable half of a two-model benchmark; a parallel session runs the same skill on another branch.
Scope exclusion: security and privacy categories were explicitly excluded by the operator.
Silence on them is not a clean bill.
Verification baseline
bun run typecheck: cleanbun run test: 2250 pass / 1 skip / 0 fail (5.3s)Findings (all conductor-verified against source; key ones live-reproduced)
hoplight convertcannot convert regex or preset files (5 regex + 4 preset adapters are registered and advertised); the error blames "different entity kinds" for a same-kind request. The studio export path already does this correctly, so it is pure CLI wiring rot.bun testrewritesdocs/FORMAT-SUPPORT.mdvia an import-time side effect inscripts/format-matrix.ts; sinceverify:ciruns tests beforematrix:check, the stale-matrix gate can never fail in CI, and every dev test run dirties the tree.vaudeville-studios/vaudproduct; the committed, auto-generated FORMAT-SUPPORT.md instructs fourbun run vaud ...commands that all fail on paste.StudioStore.list(): a damaged card vanishes from the library with no signal the bytes still exist.Rejected candidates (registry detect hardening, switch-system concerns, atomic-write layer, lore
engine spot checks) are recorded with evidence in
audit-plans/AUDIT.md; the version-switch andatomic-write layers came out clean and are called out as such.
Plans
convertFile+ registry-wide conversion sweep testscripts/format-matrix.tsso tests stop writing docs andmatrix:checkreally gatesbun run hoplight, add--strictto built-in helplistDamaged()+/api/studio/damaged+ a library notice band for unreadable filesRecommended order: 002, 001, 003, 004. Each plan carries exact anchors, RED/GREEN gates, live
journeys, done criteria, STOP conditions, and rollback notes; they are written for a
context-poor executor.
Adversarial review
A blind fresh-context reviewer (also Fable 5, no shared conversation state) opened every cited
file:line, independently re-reproduced CORR-01 and DOCS-01 live, and tried to falsify each root
cause. It returned REVISE on all six artifacts: 0 CRITICAL, 5 MAJOR, 6 MINOR defects, the sharpest
being that my original DOCS-01 under-scoped the stale-naming class (docs/README.md itself says
"Its engine and CLI are called vaud") and that plan 004 leaned on a shared notice component that
does not exist. Every objection was conductor-verified, held, and is revised into the committed
artifacts; the full reviewer report is posted as a comment below, and AUDIT.md records the
before/after.
Notes for the maintainer
[skip release]in the squash/merge commit message (per CONTRIBUTING.md this markermust be in the landing commit itself); this PR is planning artifacts only.
docs/FORMAT-SUPPORT.mdregenerates its datestamp on every
bun testrun in any checkout; that is finding GATE-01, fixed by plan 002.