You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(checkpoint): re-author Skein canonical docs to grounded KRL-stack role (#15)
* docs(checkpoint): re-author canonical docs to the grounded KRL-stack role
The earlier checkpoint left ANCHOR, META, ROADMAP, and .claude/CLAUDE.md
carrying the WITHDRAWN "knot graph database realignment" framing (typed
knot-relation edge layer + traversal, connected-sum DAG, skein triples
L+/L-/L0, schema v5). That framing was authored on a mistaken "KRL = query
language" model. ECOSYSTEM.a2ml and STATE.a2ml were already corrected; this
completes the re-author across the remaining canonical docs and folds in those
two corrections.
Grounded model (per .machine_readable/6a2/ECOSYSTEM.a2ml):
- Skein.jl = persistence + semantic-indexing layer (layer 4) of the KRL stack;
it serves KRL's Retrieve leg (indexed store) and persists knot/tangle records.
QuandleDB is the Resolve layer.
- KRL = Knot Resolution Language (Construct/Transform/Resolve/Retrieve), NOT a
query language.
- The "maths analogue of a graph database" is preserved as the user's
aspirational framing; the edge-layer / schema-v5 work is marked withdrawn,
to be re-grounded against the KRL 4-layer architecture before any schema change.
ANCHOR version bumped 1.1.0 -> 1.2.0; META adr-graph-db split into
adr-krl-stack-role + adr-graph-db-withdrawn; STATE "pending re-author" note
updated to reflect completion.
Docs-only; no source or schema changes.
https://claude.ai/code/session_017TXizM5c1Yd9HWf7Y15YH2
* test(ci): establish green Pkg.test() baseline; CI checks out sibling path-deps
Verified the test baseline by real execution: Pkg.test() = 1089/1089 pass
(20.3s, exit 0).
The prior red baseline was purely environmental — Skein's hard dep
AcceleratorGate and weakdep KnotTheory are adjacent path-deps (Manifest:
../AcceleratorGate.jl, ../KnotTheory.jl) and those sibling checkouts were
absent. No Skein source or Manifest change is needed.
- ci.yml: clone AcceleratorGate.jl + KnotTheory.jl as siblings before
instantiate, so CI reproduces the green baseline (neither is registered).
- STATE/META/.claude/CLAUDE.md: record the verified green baseline and correct
the stale "611+ tests" count to the measured 1089.
https://claude.ai/code/session_017TXizM5c1Yd9HWf7Y15YH2
---------
Co-authored-by: Claude <noreply@anthropic.com>
-**ext/KnotTheoryExt.jl** — Package extension for KnotTheory.jl integration
35
47
36
48
## Key Patterns
37
49
38
50
-**SQLite.jl cursors**: Always iterate directly (`for row in result`), never `collect()` then access — SQLite.jl 1.8 finalises cursor data after collect
39
51
-**Missing handling**: All `row[:col]` values may be `Missing`; use `ismissing()` checks
40
52
-**KnotTheory.jl**: Weakdep only — never add as hard dependency
-**Schema migration**: `_get_schema_version` + `_migrate_vN_to_vM` pattern (v1→v2→v3→v4); a proposed v5 "knot-relation edge layer" was withdrawn (mis-grounded on "KRL = query") — no committed next schema version until re-grounded against the KRL stack
serves = "the Retrieve operation of KRL — indexed store (find where jones = p, where crossing < 8) + persistence of knot/tangle records"
25
+
knottheory = "weakdep — invariant engine (the Transform leg); loaded via ext/KnotTheoryExt.jl. (KRL's README calls the invariant engine JuliaKnot.jl — naming to reconcile.)"
26
+
quandledb = "the Resolve layer (isotopy, quandle, equivalence class: equivalent?, classify, near) — paired with Skein at persistence/indexing; NOT an app that 'queries' Skein"
27
+
28
+
# These three sibling database languages are each a DISTINCT paradigm.
29
+
# Do NOT flatten any of them to SQL / 'query'.
30
+
[distinct-from]
31
+
gnpl = "Glyph Narration & Projection Language (Lithoglyph / Glyphbase) — synchronic + diachronic data: what it is, whence, whither; reading/writing those stories + counterfactuals"
32
+
vcl = "VeriSim Consonance Language (VeriSimDB) — identity / consonance: propose / inspect / verify identity-states, not retrieval of octad components"
extension-model = "KnotTheory.jl is a weakdep loaded via a package extension (ext/KnotTheoryExt.jl) — never a hard dependency"
16
+
17
+
[decisions]
18
+
adr-krl-stack-role = "2026-06: Skein's grounded role is layer 4 (persistence + semantic indexing) of the KRL stack — it serves KRL's Retrieve operation (indexed store) and persists knot/tangle records. KRL = Knot Resolution Language (Construct/Transform/Resolve/Retrieve), NOT a query language; QuandleDB is the Resolve layer. See 6a2/ECOSYSTEM.a2ml + 6a2/anchor/ANCHOR.a2ml."
19
+
adr-graph-db-withdrawn = "2026-06: an earlier draft proposed realigning Skein into a knot graph database via a typed knot-relationship (edge) layer + traversal (connected-sum DAG, skein triples L+/L-/L0, mutation/crossing-change; schema v5). WITHDRAWN — it was authored on a mistaken 'KRL = query language' model. Skein-relation resolution belongs to the KRL surface / Tangle core / QuandleDB Resolve layer, not necessarily Skein's persistence layer. The 'maths analogue of a graph database' remains the user's aspirational framing; any edge/traversal or schema change must first be re-grounded against the KRL 4-layer architecture."
20
+
adr-jones-from-pd = "Jones polynomial computed from canonical planar diagrams (Kauffman state sum), not bare Gauss codes, which cannot encode the planar embedding and would collapse distinct knots."
21
+
adr-weakdep = "KnotTheory.jl integration via package extension so Skein stays usable standalone."
22
+
23
+
[verification]
24
+
tests = "1089 tests, all passing (test/runtests.jl + e2e / property / canonical / knot-theory-ext suites; verified green 2026-06-14)"
25
+
policy = "tests must actually pass (real `Pkg.test()` runs) before any commit — not eyeballed"
invariants-with-knottheory = "Alexander, determinant, signature via ext/KnotTheoryExt.jl"
20
+
retrieve = "keyword (exact/range/set/meta) + composable & / | predicates; equivalence (find_equivalents, find_isotopic), duplicates, statistics, pagination. (This is KRL's Retrieve leg — one of four KRL operations.)"
21
+
data = "KnotInfo/Rolfsen import through 8 crossings; prime-knot table through 7 (knot_table.jl); CSV/JSON; DT-to-Gauss"
22
+
tests = "1089 tests, all passing (test/runtests.jl + e2e / property / canonical / knot-theory-ext; verified green 2026-06-14)"
23
+
24
+
[current-focus]
25
+
direction = "Knot database as the maths analogue of a graph database (user framing). Skein = persistence + semantic-indexing layer of the KRL stack."
26
+
27
+
[withdrawn]
28
+
# An earlier draft of this checkpoint proposed a Skein 'typed knot-relationship
29
+
# edge layer + traversal (connected-sum DAG, skein triples)'. That was authored
30
+
# on a MISTAKEN 'KRL = query language' model and is WITHDRAWN. KRL is the Knot
31
+
# Resolution Language (Construct/Transform/Resolve/Retrieve); skein-relation
32
+
# resolution belongs to the KRL surface / Tangle core / QuandleDB Resolve layer,
33
+
# NOT necessarily to Skein's persistence layer. Any Skein evolution must be
34
+
# re-grounded against the KRL 4-layer architecture (see 6a2/ECOSYSTEM.a2ml)
35
+
# before a schema change. ANCHOR/META/ROADMAP/CLAUDE.md were re-authored to the
36
+
# grounded model on 2026-06-14 (this checkpoint); the withdrawn edge-layer framing
37
+
# no longer appears as a committed direction in any canonical doc.
38
+
39
+
[open]
40
+
test-baseline = "RESOLVED 2026-06-14 — GREEN: real Pkg.test() = 1089/1089 pass (20.3s, exit 0). Root cause was environmental: the path-deps AcceleratorGate.jl (hard) + KnotTheory.jl (weakdep) must be checked out as siblings at ../ (Manifest pins path = ../AcceleratorGate.jl / ../KnotTheory.jl). ci.yml now clones both before instantiate so the baseline reproduces in CI. No Skein source/Manifest change was needed."
41
+
alexander-standalone = "Alexander polynomial not computed standalone (needs PD/chirality; pd_code field enables a route)"
Copy file name to clipboardExpand all lines: .machine_readable/6a2/anchor/ANCHOR.a2ml
+11-2Lines changed: 11 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,19 @@
2
2
# This is the canonical authority for the Skein.jl repository.
3
3
4
4
id: "org.hyperpolymath.Skein.jl"
5
-
version: "1.0.0"
6
-
clade: "unknown"
5
+
version: "1.2.0"
6
+
clade: "fv" # Julia-vocabulary clade (authoritative in CLADE.a2ml)
7
7
status: "active"
8
8
9
+
# Mission
10
+
mission: "A knot-theoretic database for Julia — the persistence + semantic-indexing layer (layer 4) of the KRL stack. Stores knots/tangles as records with computed topological invariants and serves KRL's Retrieve operation (indexed lookup by invariant: jones, crossing, genus, ...). KRL = Knot Resolution Language (Construct/Transform/Resolve/Retrieve), NOT a query language; QuandleDB is the Resolve layer. The 'maths analogue of a graph database' is the user's aspirational framing, not a committed implementation — see the grounding note."
11
+
12
+
# Grounding (2026-06) — supersedes the earlier graph-DB "realignment"
13
+
grounding:
14
+
date: "2026-06-14"
15
+
role: "Skein is layer 4 (persistence + semantic indexing) of the KRL stack. It serves the Retrieve leg (indexed store) and persists knot/tangle records; QuandleDB is the Resolve layer. See .machine_readable/6a2/ECOSYSTEM.a2ml."
16
+
withdrawn: "An earlier draft proposed a typed knot-relationship (edge) layer + traversal (connected-sum DAG, skein triples L+/L-/L0, mutation/crossing-change; schema v5). That was authored on a MISTAKEN 'KRL = query language' model and is WITHDRAWN. Skein-relation resolution belongs to the KRL surface / Tangle core / QuandleDB Resolve layer, not necessarily Skein's persistence layer. Any edge/traversal or schema change must be re-grounded against the KRL 4-layer architecture first."
0 commit comments