charly-vibes suite consistency evaluation + genesis shared crate
design
Log
Session
21:17 (charly — suite eval, genesis, proposals, tickets)
Evaluated 8 charly-vibes CLIs (wai, pretender, dont, espectacular,
testaruda, crua, livin, vampiro) for consistency + integration: found
testaruda.toml schema divergence (C1), crua↔︎livin hotness-contract
mismatch (C2), wai toolchain doc lags reality (M1), dont gate not
suite-wide (M2), missing pretender.toml (M3), trio not bridged into
espectacular quality signals (M5), mutation testing touched by 2 tools
(M6), + L-tier convention drift.
Filed 7 cross-suite tickets (testaruda-86m, crua-mqt, livin-62a,
dont-bpuo, pretender-gyb, espectacular-b0v, espectacular-djw) + wai epic
wai-bdqw with 9 children for the orchestrator to
acknowledge/integrate the full suite.
Ran issue-review skill on the 16-ticket set →
NEEDS_UPDATES (source eval ephemeral, deps prose-only, oversized HITL
bundle). Applied fixes.
Wrote 2 playbooks in charly/playbooks/:
tool-craft.md (suite good-practices, mined from wai) +
agent-issue-reporting.md (new feedback
subcommand design).
Ran rule-of-5-universal on the playbooks → CRITICAL:
report verb collides (pretender/espectacular use it for
local rendering). Renamed feature to feedback. Reframed
playbook rules as ✅/🎯 targets with a compliance matrix (Appendix A).
Fixed redaction edge (git_remote credentials), error-scratch
hardening.
Decision: build a shared crate genesis (generalizes
dont-2j6o) — 6 modules (envelope, suggestions,
managed_block, aix, feedback, suite_linter), boundary rule (≥2 tools
only; no domain logic), git-dep pinned by tag.
Scaffolded openspec proposals across all repos:
add-genesis-foundation (genesis) +
adopt-genesis (wai/dont/pretender/espectacular/testaruda) +
depend-on-genesis (crua/livin/vampiro) +
add-feedback-subcommand (wai reference impl). All pass
openspec validate --strict.
Ran rule-of-5-universal on the proposal set → fixed 2
validator failures (Versioning scenario; adopt-genesis specs/ delta),
rename residue ("kit"→"genesis"), cross-repo path refs, dont-2j6o
child-orphaning, bootstrap recursion.
Moved playbooks into
genesis/.wai/projects/genesis-foundation/research/ (genesis
is now a wai workspace); committed 2 commits in genesis (proposal + wai
workspace).
Answered: feedback stays split (machinery in genesis::feedback, verb
per-tool — folded into each adopt-genesis); tree-sitter/IR extraction
deferred, documented in vampiro
add-rust-cli-foundation/design.md with explicit
trigger.
Ran issue-review on the 10 tickets → NEEDS_UPDATES.
Fixed all: split testaruda-3bj into 2 children, created
charly-7f5 suite-index ticket (cross-repo critical path),
tagged AFK/HITL, added Verify/Unblock-signal notes, noted dont-2j6o
superseded, EARS paths on trio, donor-checkout + extraction-split notes
on genesis-4pa.
Next: when genesis v0.1.0 tags, unblock the 8
adopters; file per-repo add-feedback-subcommand is no
longer needed (folded into adopt-genesis). Optional: commit the per-repo
proposals in their respective repos.