From asi
Performs Flix-based Datalog reasoning with lattice semantics and GF(3) coloring for declarative rule-based routing, lattice fixed-point computation, and deranged skill composition.
npx claudepluginhub plurigrid/asi --plugin asiThis skill uses the workspace's default tool permissions.
Flix-as-a-stepping-stone for plurigrid/asi Datalog reasoning.
Computes bottom-up fixpoint iterations for recursive Datalog queries like transitive closures or graph reachability without explicit recursion. Integrates with polars dataframes.
Provides expert guidance for enterprise Scala development in functional programming, distributed systems with Pekko/Akka/Spark, and effect systems like ZIO/Cats Effect.
Provides TLA+ templates, syntax guidance, type invariants, and best practices for specifying distributed systems and concurrent algorithms. Useful for formal design and verification with TLC.
Share bugs, ideas, or general feedback.
Flix-as-a-stepping-stone for plurigrid/asi Datalog reasoning. Exists to be destroyed: the Flix JVM runtime is a clarity layer that will be subsumed by GPU-accelerated Datalog (Sun et al. 2023, arXiv:2311.02206).
No element ends up in the same position it started. A permutation σ is a derangement iff ∀i: σ(i) ≠ i. In skill composition: after routing through consensus, every agent must have shifted roles. Prevents fixed-point stagnation.
Already implemented: soft-machine/server/src/cluster/providers/rope.ts
get isDerangable(): boolean {
return this.length !== 1;
}
Elements are comparable via a partial order (lattice). Flix's key extension to Datalog: first-class lattice semantics. In skill composition: skills have a color (GF(3) trit) and you can compare them — finding optimal/minimal fixed points.
// Datalog as first-class values
let rules = #{
Path(x, y) :- Edge(x, y).
Path(x, z) :- Path(x, y), Edge(y, z).
};
// Lattice semantics: find shortest path (not just reachability)
lat ShortestPath(node: String, dist: Int32)
ShortestPath(src; 0).
ShortestPath(dst; d + w) :- ShortestPath(src; d), Edge(src, dst, w).
Flix (JVM, single-node)
→ Soufflé (C++, parallel, specialized)
→ GPU-Datalog (CUDA, 45x over Soufflé)
→ FPGA/photonic Datalog (future)
Each layer destroys the previous by being faster at the same semantics. The Flix skill captures the meaning; the runtime is disposable.
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Flix Datalog │ ──▶ │ GF(3) Lattice │ ──▶ │ Consensus │
│ (rules) │ │ (coloring) │ │ (derangement)│
└─────────────┘ └──────────────┘ └─────────────┘