Skip to content
Back to skills

Abductive Repl

ASecurity

Hypothesis-Test Loops via REPL for Exploratory Abductive Inference with Gay.jl colors

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 3, 2026
ai-agentsgorubyshellbashexpress

Works with

  • mcp

Security analysis

A100/100

Scanned June 3, 2026

npx -y skills add majiayu000/claude-skill-registry --skill abductive-repl --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Abductive Repl?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Abductive Repl
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-abductive-repl/badge)](https://www.skillsdirectory.com/skills/majiayu000-abductive-repl)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.