Back to skills
SkillHub ClubShip Full StackFull Stack

abductive-repl

Imported from https://github.com/plurigrid/asi.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
10
Hot score
84
Updated
March 19, 2026
Overall rating
C3.7
Composite score
3.7
Best-practice grade
B80.4

Install command

npx @skill-hub/cli install plurigrid-asi-abductive-repl

Repository

plurigrid/asi

Skill path: ies/music-topos/.agents/skills/abductive-repl

Imported from https://github.com/plurigrid/asi.

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: plurigrid.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install abductive-repl into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/plurigrid/asi before adding abductive-repl to shared team environments
  • Use abductive-repl for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: abductive-repl
description: "Hypothesis-Test Loops via REPL for Exploratory Abductive Inference with Gay.jl colors"
---

# abductive-repl

> Hypothesis-Test Loops via REPL for Exploratory Abductive Inference

**Version**: 1.1.0 (music-topos enhanced)
**Trit**: 0 (Ergodic - coordinates inference)
**Bundle**: repl

## Overview

Abductive-REPL enables exploratory abductive reasoning through an interactive REPL. Given observed outcomes, it generates hypotheses, tests them, and refines understanding through iterative loops.

## Core Concept

```
Observation → Generate Hypotheses → Test → Refine → Repeat

Abduction: Given effect E and rule "A implies E",
           hypothesize A as possible cause.
```

## Enhanced Integration: Interpreters

### Julia (Gay.jl) - Primary

```julia
# Start abductive REPL with Gay.jl
julia --project=Gay.jl -e 'using Gay; Gay.repl()'

# In REPL:
gay> !abduce 216 125 157
# Searches invader space for color match
```

### Hy (HyJAX) - Secondary

```hy
;; thread_relational_hyjax.hy integration
(import lib.thread_relational_hyjax :as tra)

(defn abduce-from-color [r g b]
  "Abduce invader ID from observed RGB"
  (let [target [r g b]
        analyzer (tra.ThreadRelationalAnalyzer)]
    ;; Search hypothesis space
    (lfor id (range 1 10000)
          :if (color-match? id target 0.05)
          {:hypothesis id :confidence (- 1.0 (color-distance id target))})))
```

### Babashka (bb) - Scripting

```clojure
;; abductive_repl.bb
(require '[babashka.process :refer [shell]])

(defn abduce [observed-color]
  (let [result (shell {:out :string} 
                      "julia" "--project=Gay.jl" "-e"
                      (format "using Gay; Gay.abduce(RGB(%s))" 
                              (clojure.string/join "," observed-color)))]
    (parse-hypotheses (:out result))))
```

## REPL Commands Enhanced

| Command | Description | Interpreter |
|---------|-------------|-------------|
| `!teleport <id>` | Jump to invader's world state | Julia |
| `!abduce r g b` | Infer invader from observed RGB | Julia/Hy |
| `!test [n]` | Run n abductive roundtrip tests | Julia |
| `!hy-analyze` | Run HyJAX relational analysis | Hy |
| `!bb-export` | Export hypotheses via Babashka | Babashka |

## Properties (Testable Predicates)

```ruby
# world_broadcast.rb integration
module AbductiveProperties
  def self.spi_determinism(id, seed)
    # Same input always produces same output
    c1 = WorldBroadcast::CondensedAnima.liquid_norm([id], r: 0.5)
    c2 = WorldBroadcast::CondensedAnima.liquid_norm([id], r: 0.5)
    c1 == c2
  end
  
  def self.abductive_roundtrip(id, seed)
    # Forward → Abduce → Verify
    forward = CondensedAnima.analytic_stack([id])
    cellular = CondensedAnima.to_cellular_sheaf(forward)
    cellular[:vertices].include?(id)
  end
end
```

## GF(3) Triad Integration

| Trit | Skill | Role |
|------|-------|------|
| -1 | slime-lisp | Validates REPL expressions |
| 0 | **abductive-repl** | Coordinates inference |
| +1 | cider-clojure | Generates evaluations |

**Conservation**: (-1) + (0) + (+1) = 0 ✓

## Justfile Recipes

```makefile
# Start abductive REPL
abduce-repl:
    julia --project=Gay.jl -e 'using Gay; Gay.repl()'

# Run via Hy
abduce-hy:
    uv run hy -c '(import lib.thread_relational_hyjax) (print "HyJAX ready")'

# Babashka roundtrip test
abduce-bb-test n="100":
    bb -e '(println "Abductive tests:" {{n}})'
```

## Related Skills

- `world-hopping` - Possible world navigation
- `unworld` - Derivation chains
- `gay-mcp` - Color generation
- `condensed-analytic-stacks` - 6-functor sheaf bridge
abductive-repl | SkillHub