CLI observability: inspection commands, honest explanations, concurrent sync #19

Merged
hugooconnor merged 0 commits from refs/pull/19/head into main 2026-07-16 06:10:44 +00:00
hugooconnor commented 2026-07-16 06:03:36 +00:00 (Migrated from codeberg.org)

Summary

CLI observability and correctness improvements across the elephant command surface, plus concurrent p2p sync and hardening from adversarial review.

CLI observability & UX

  • elephant show <sentence-id> inspects a single entry.
  • elephant info surfaces the active store (ELEPHANT_HOME), identity, and known homes.
  • daemon status reports per-peer / per-theory sync health.
  • why-not gives a first-class ambiguity-blocking explanation.
  • explain makes a blocked literal self-describing instead of a bare null.
  • describe emits plain JSON meta values rather than Debug String("…") wrappers.
  • log retract entries are now addressable (stable entry_id + explicit retract target).

Correctness

  • what-if rejects (prefer …)/rule hypotheticals instead of silently ignoring them.
  • require returns only verified fact sets, not raw abduction candidates.
  • Defeater docs teach correct defeater head polarity, with an executable fixture.

Sync / concurrency

  • Dial roster peers concurrently so offline peers don't delay others.
  • Bound dial tasks (not just sockets) and honest require exhaustiveness, from adversarial review.

Review

Includes fixes addressing adversarial-review findings on the observability work.

## Summary CLI observability and correctness improvements across the `elephant` command surface, plus concurrent p2p sync and hardening from adversarial review. ## CLI observability & UX - `elephant show <sentence-id>` inspects a single entry. - `elephant info` surfaces the active store (`ELEPHANT_HOME`), identity, and known homes. - `daemon status` reports per-peer / per-theory sync health. - `why-not` gives a first-class ambiguity-blocking explanation. - `explain` makes a blocked literal self-describing instead of a bare `null`. - `describe` emits plain JSON meta values rather than `Debug String("…")` wrappers. - `log` retract entries are now addressable (stable `entry_id` + explicit retract target). ## Correctness - `what-if` rejects `(prefer …)`/rule hypotheticals instead of silently ignoring them. - `require` returns only verified fact sets, not raw abduction candidates. - Defeater docs teach correct defeater head polarity, with an executable fixture. ## Sync / concurrency - Dial roster peers concurrently so offline peers don't delay others. - Bound dial tasks (not just sockets) and honest `require` exhaustiveness, from adversarial review. ## Review Includes fixes addressing adversarial-review findings on the observability work.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
anuna-research/elephant!19
No description provided.