genesis::config: implemented ConfigFile for Config (path +
validate), added build_registry() registering at startup, removed dead
ConfigError/load_from_path/load_from_str + Result-based validate;
load_config + doctor delegate to ConfigStore
genesis::guide: replaced ad-hoc CLI setup with Guide::builder(...);
typo detection uses guide.registry(); error path uses
guide.error_sink(); removed dead write_error_scratch_and_footer
Closed dont-rxf6: upgrade genesis v0.1.0 → v0.2.0 in the dont
repo
Bump: genesis git-tag dep v0.1.0 → v0.2.0
(Cargo.toml)
Adopt genesis::config: Config implements ConfigFile
(path → .dont/config.toml); trait validate() delegates to
validate_fields (renamed from validate to avoid shadow); project.rs
read/parse delegate to ConfigFile::read_from (removed bespoke fs+toml
parsing); Config registered with ConfigRegistry via dont_config_store();
doctor gains a config check (ConfigStore discover +
validate_all). Typed ConfigValidationError contract (dont-n.1)
preserved
Adopt genesis::guide: main.rs builds
Guide::builder("dont").commands(DONT_COMMANDS).build(); guide.registry()
drives typo detection; guide.error_sink() handles unknown-arg path;
emit_error_no_exit writes ErrorRecord scratch on every non-zero exit
(ErrorSink contract) so dont feedback bug --from-last-error
now works end-to-end (previously always empty). DONT_COMMANDS extracted
as shared const
Cleanup: migrated Cargo.toml from git-tag dep to
published genesis-vibes = "0.2" crate (drops
CARGO_NET_GIT_FETCH_WITH_CLI workaround for the cv SSH insteadOf). Test
helpers redirect XDG_CACHE_HOME to isolate scratch writes (no ~/.cache
pollution during cargo test). New tests/feedback_scratch.rs pins the
errorsink→feedback loop
OpenSpec: archived adopt-genesis (v0.1.0, was
implemented but never archived) + upgrade-genesis (v0.2.0). Resolved all
ah check drift: restored 3 dont-envelope versioning scenarios wrongly
dropped by adopt-genesis MODIFIED delta; added 8 contract TOMLs for new
scenarios from both archives
wai-bdqw.6: Documented suite conventions (edition,
license, versioning, justfile)
wai-bdqw.7: Added badge-managed block consistency check
to wai doctor
wai-bdqw.8: Added suite gate linter (espectacular/dont
gate wiring, config validity)
wai-bdqw.9: Documented trio (vampiro/crua/livin)
detection as planned
Released v2026.7.28 — version bump, changelog
updated with genesis adoption + suite integration + feedback subcommand;
tagged and pushed. Pending: crates.io publish.
Decisions: CalVer bump to 2026.7.28 (not
2026.7.17). Suite convention: Apache-2.0 license standard, SemVer for
CLI tools (wai CalVer is deliberate deviation), edition 2024, just shell
["bash", "-uc"], default just recipe = build+test.
Commits pushed: 9 commits + 1 release commit + tag
v2026.7.28. All CI green (1034 tests).
Asked about test-duration checks: confirmed
pretender has none — all checks are static (AST-based), no dynamic test
timing
Created add-test-duration-check OpenSpec
proposal: scaffolds a dynamic check consuming JUnit XML timing
data with unit-test/integration-test sub-roles
Design decisions: C/C for both Qs (JUnit-first +
execute-mode; pragma+glob+heuristic sub-role detection); round-half-up
rounding, strict > comparison, test_findings top-level
vector on CheckReport, [execute] timeout/cwd/env
contract
Rule of 5 review: 15 findings across all stages —
false premise (exec delegation pattern is inert), time units variance,
missing classname algorithm, no execute timeout, skipped/failed edge
cases, missing decide_exit_code extension — all fixed and validated
strict
7 beads issues created (pretender-7iq, a48, 39i,
4jl, c3j, gk1, quv) with dependency chains, P2
Issue review (Rule of 5): found PRE-001 (missing
metadata.files), SCOPE-001 (horizontal decomposition), EXEC-001 (missing
verification commands) — actionable bd update commands given
Committed + pushed: proposal (c47d6ef) + tickets
(c4600ae), all CI green
Next: Awaiting proposal approval — run
bd ready for first unblocked ticket (pretender-7iq, config
schema)
Session:17:27 (dont
WASM claims-query proposal)
Investigated compiling the dont
inference system (CozoDB + shipped rules) to WASM for an interactive
mdBook docs query page
Validated key enabling fact: Cozo's in-memory
engine (DbInstance::new("mem",...)) is NOT feature-gated —
compiles clean to wasm32-unknown-unknown with
cozofeatures=["wasm"] +
getrandomjs feature (17s). No npm package /
IndexedDB backend needed.
Rule of 5 on the initial investigation: caught 2
critical errors — (1) false premise that Option 1 needs
cozo-lib-wasm npm + IndexedDB, (2) claimed
ClaimRecord/TermRecord are
Serialize (they're not — store.rs:99,107; CLI
hand-builds JSON via build_claim_view)
Created add-wasm-claims-query OpenSpec change
proposal
(openspec/changes/add-wasm-claims-query/): proposal +
design + tasks + 5 capability deltas (dont-wasm-query NEW,
dont-envelope, docs-site, dont-build, dont-derived-queries). Validated
strict on first pass.
Design decisions: D1 reuse Store via
open_mem() not a trait; D2 datom-level JSON snapshot via
public import_datoms (Cozo backup_db rejected
— requires storage-sqlite+fs,
cozo/runtime/db.rs:609,627); D3 in-crate feature-gated
src/wasm.rs FFI module; D4 IndexedDB snapshot cache; D5 no
file lock / catch_unwind / tx.seq in WASM
path; D6 target-gated deps.
Rule of 5 on the specs: 0 critical, 5 HIGH, 5
MEDIUM, 4 LOW. Key findings: wrong envelope shape (5 fields vs actual 9,
envelope.rs:83), missing Snapshot EnvelopeKind
variant, private put_datoms (store.rs:1624)
needs public import_datoms wrapper, docs-site
spec not yet deployed (depends on archiving
add-mdbook-docs-site), double load_snapshot
silently merges via :put upsert.
Next: Run mine-claims on remaining repos (smithy,
cositos, pretender, etc.)
Next: (1) Archive add-mdbook-docs-site
so docs-site spec exists before this change archives. (2)
Await proposal approval before implementation. (3) Resolve open Qs in
design.md: curated example snapshot vs project's own DB;
wasm-pack vs raw wasm-bindgen in CI.
Session:18:29 (testaruda
bugfix sprint)
Renewed testaruda context; worked on add-dotnet-adapter-detection
openspec
Task 4.3: Created
tests/dotnet_adapter.rs with 11 tests covering registry
resolution (.cs/.fs/.vb/.csproj/.sln/.slnx), spawn failure, config
round-trips, and CLI fallback when titi is not installed
(TIA-ADAPT-012). Committed 323f6f9.
testaruda-7yj (P2): Fixed TS adapter fingerprint
protocol — changed from single path to batch
params.files array, returns top-level
fingerprints array. Added 6 unit tests.
testaruda-7qr (P3): Added discover dedup by node_id
(HashSet retain pass).