{"id":50716949,"url":"https://github.com/systemslibrarian/structureless-labs","last_synced_at":"2026-06-09T19:01:54.139Z","repository":{"id":363559756,"uuid":"1263861636","full_name":"systemslibrarian/structureless-labs","owner":"systemslibrarian","description":"Open research lab for conservative post-quantum cryptography — three-depth explainers (Simple/Developer/Researcher), the sl-researchkit method, reproducible attacks, and an experimental KEM studied with it. For production, use ML-KEM.","archived":false,"fork":false,"pushed_at":"2026-06-09T12:21:07.000Z","size":165,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-09T13:06:18.563Z","etag":null,"topics":["accessibility","cryptography","cryptography-research","explainable","lattice-cryptography","learning-with-errors","ml-kem","open-research","post-quantum-cryptography","pqc"],"latest_commit_sha":null,"homepage":"https://systemslibrarian.github.io/structureless-labs/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/systemslibrarian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-09T10:35:28.000Z","updated_at":"2026-06-09T12:21:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/systemslibrarian/structureless-labs","commit_stats":null,"previous_names":["systemslibrarian/structureless-labs"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/systemslibrarian/structureless-labs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fstructureless-labs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fstructureless-labs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fstructureless-labs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fstructureless-labs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/systemslibrarian","download_url":"https://codeload.github.com/systemslibrarian/structureless-labs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fstructureless-labs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34121022,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","cryptography","cryptography-research","explainable","lattice-cryptography","learning-with-errors","ml-kem","open-research","post-quantum-cryptography","pqc"],"created_at":"2026-06-09T19:01:53.348Z","updated_at":"2026-06-09T19:01:54.132Z","avatar_url":"https://github.com/systemslibrarian.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Structureless Labs\n\n**Open research into conservative post-quantum cryptography, cryptanalysis, and long-term digital preservation.**\n\n\u003e We build cryptography research in the open, where every claim is testable, every assumption is documented, and every design is invited to be broken.\n\n[![Pages: sl-atlas](https://img.shields.io/badge/sl--atlas-live-f5b14a?style=flat-square\u0026logo=github)](https://systemslibrarian.github.io/structureless-labs/)\n[![Method: sl-researchkit](https://img.shields.io/badge/method-sl--researchkit-2563eb?style=flat-square)](sl-researchkit/)\n[![Status surface: STATUS.md](https://img.shields.io/badge/status-generated-16a34a?style=flat-square)](STATUS.md)\n[![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-6b7280?style=flat-square)](LICENSE)\n[![sl-kem: experimental](https://img.shields.io/badge/sl--kem-experimental-d97706?style=flat-square)](sl-kem/)\n\n---\n\n## Why \"Structureless\"?\n\n\"Structureless\" names the **research method** before anything else: an open lifecycle with no hidden assumptions, where nothing is deleted, every claim is falsifiable, every design is invited to be broken, and every decision is recorded. The lab is *structureless* in the epistemic sense — no buried priors, no quiet retractions, no convenient amnesia.\n\nThere is a secondary, technical echo: in the lattice-cryptography literature, \"structure\" refers to the algebraic structure (rings, modules) that some attacks specifically exploit. The experimental [`sl-kem`](sl-kem/) explores more conservative, less-structured lattice assumptions on that axis. That work is a *test subject for the method* — not the reason the lab is named what it is.\n\n**Ordering, plainly:** the method ([`sl-researchkit`](sl-researchkit/)) and the explainers ([`sl-atlas`](sl-atlas/)) are the identity and the value. The KEM is the method's first customer.\n\n---\n\n## Lineage and related prior work\n\nThis lab did not appear from nowhere. Its method-first thesis grew out of hands-on study of real structureless-lattice designs in the published literature — most directly through [**crypto-lab-scloud-vault**](https://github.com/systemslibrarian/crypto-lab-scloud-vault) ([live demo](https://systemslibrarian.github.io/crypto-lab-scloud-vault/)), a separate prior project that explains and faithfully reimplements **S-Cloud+**, a post-quantum KEM published by *Wang et al.* (ePrint [2024/1306](https://eprint.iacr.org/2024/1306)). S-Cloud+ — unstructured LWE with ternary secrets, Barnes-Wall (BW₃₂) lattice coding, and a Fujisaki-Okamoto transform — is **their** design; scloud-vault is a study of it, not the owner's primitive.\n\nThe relationship to Structureless Labs is **theme and demonstrated skill only**. scloud-vault is the conceptual on-ramp for what \"structureless\" means in the lattice-cryptography literature (security without algebraic ring structure), and the verifiable proof that the lab's owner can read, reimplement, and explain a frontier paper in that family. The lab's own [`sl-kem`](sl-kem/) is a separate, experimental attempt in the same conservative, less-structured family — built and attacked under [`sl-researchkit`](sl-researchkit/)'s method, with none of S-Cloud+'s peer-review carried forward.\n\n\u003e **Studying S-Cloud+ does not validate `sl-kem`. The two share a research family, not a security guarantee.** S-Cloud+ is attributed entirely to Wang et al.; scloud-vault is an explainer of their work; `sl-kem` borrows neither their construction nor their credibility. For production, the recommendation remains ML-KEM (NIST FIPS 203).\n\n---\n\n## Try the demo first\n\n**→ [systemslibrarian.github.io/structureless-labs](https://systemslibrarian.github.io/structureless-labs/)**\n\nThe signature feature is live: `sl-atlas`, an interactive learning site that\nrenders every post-quantum cryptography concept at three synchronized depths —\n**Simple**, **Developer**, **Researcher**. The Learning With Errors page ships\nwith an interactive equation you can flip between *solvable* and *hard* by\ntoggling the noise vector.\n\nIf you read nothing else in this repo, click that link. The atlas *is* the bet\nthis lab is making.\n\n---\n\n## What this is\n\nMost projects publish code. Structureless Labs publishes the whole research\nlifecycle — and treats the lifecycle itself as the product:\n\n| Artifact | What we publish |\n|---|---|\n| **Code** | Reference implementations of every primitive we touch |\n| **Specs** | Versioned, citable documents (with a three-depth explainer per concept) |\n| **Attacks** | A standing invitation to break the designs, with a templated finding format |\n| **Failures** | Fossilized dead-ends — kept forever, never deleted |\n| **Simulations** | Reproducible experiments, benchmarks, parameter sweeps |\n| **Predictions** | Confidence-scored bets, graded later |\n| **Decisions** | A flight recorder of *why* every significant call was made |\n| **Review prompts** | The AI research personas that vetted each change |\n\nThis is not a claim that we have solved post-quantum cryptography. It is an\n**open laboratory** for learning, testing, documenting, and challenging\npost-quantum cryptographic ideas — and a reusable *method* for doing so, in\n[`sl-researchkit`](sl-researchkit/).\n\n---\n\n## The bet\n\nThe deliberate bet behind the whole organization:\n\n\u003e *The highest-probability contribution from this lab is not a new hard problem.\n\u003e It is better **analysis, methodology, integration, and tooling**.*\n\nThat is why [`sl-researchkit`](sl-researchkit/) is the real product, and\n[`sl-kem`](sl-kem/) — the experimental primitive — is its first customer. The\nresearchkit ships the six AI personas (Cryptographer, Attacker, Engineer,\nArchivist, Teacher, Principal Investigator), the PQC Red Team Checklist,\nevidence grading, and four research workflows (Flight Recorder, Time Capsules,\nAI-vs-AI Cryptanalysis, Research Journal).\n\nPoint any coding agent at `sl-researchkit/personas/` and require that every\nsignificant change be reviewed by all six before merge. The point of the lab is\nthat the method is portable.\n\n---\n\n## The ecosystem\n\n```\nStructureless Labs\n│\n├─ sl-researchkit  AI-assisted research framework — the engine (foundation)\n├─ sl-atlas        Interactive learning site — explainable PQC (LIVE)\n├─ slff            Hybrid encrypted file container (Structureless Labs File Format)\n├─ sl-bench        Benchmarks and parameter comparisons\n├─ sl-vectors      Reproducible, public test vectors\n├─ sl-attacklab    Break-it-first cryptanalysis\n└─ sl-kem          Experimental KEM — the method's first test subject\n```\n\n| Repo | Risk | Potential | Status |\n|------|------|-----------|--------|\n| [`sl-researchkit`](sl-researchkit/) | Low | Very high | Foundation — the method |\n| [`sl-atlas`](sl-atlas/) | Low | High | **Live demo** — four concepts authored, LWE interactive |\n| [`slff`](slff/) | Low | High | Spec drafted; integration target |\n| [`sl-bench`](sl-bench/) | Low | Medium | Tooling |\n| [`sl-vectors`](sl-vectors/) | Low | Medium | Reproducibility |\n| [`sl-attacklab`](sl-attacklab/) | Medium | High | Where the hardest questions come from |\n| [`sl-kem`](sl-kem/) | High | High | Experimental — *not for production* |\n\n---\n\n## Principles\n\n1. **Conservative by default.** Reviewed primitives, hybrid constructions, downgrade protection, authenticated headers.\n2. **Break-it-first.** Every design ships with an open invitation to attack it. No design merges without an Attacker review and at least one testable attack hypothesis on record.\n3. **Nothing is deleted.** Old designs become fossils; wrong predictions stay on the record.\n4. **Explainable at three depths.** Every concept has a *Simple*, *Developer*, and *Researcher* view. If a concept lacks any of the three, the Teacher persona BLOCKs publication.\n5. **Evidence over hype.** Claims are evidence-graded (`A`/`B`/`C`/`D`); confidence is stated; humility is built in.\n6. **Provenance.** Every significant decision has a flight-recorder entry. Future readers should be able to reconstruct *why*.\n7. **Falsifiability.** Every security claim must be falsifiable. Unfalsifiable claims are not claims.\n\nThe full version, with amendment rules, lives in [`sl-kem/CONSTITUTION.md`](sl-kem/CONSTITUTION.md).\n\n---\n\n## How to engage\n\n| If you are… | Start here |\n|---|---|\n| New to post-quantum cryptography | **[sl-atlas](https://systemslibrarian.github.io/structureless-labs/)** — three-depth explainers |\n| A cryptographer who wants to attack something | [`sl-attacklab/`](sl-attacklab/) — pick a target, file a finding |\n| An engineer who wants to integrate | [`slff/`](slff/) — the hybrid container spec |\n| A researcher reusing the method | [`sl-researchkit/`](sl-researchkit/) — personas, checklists, workflows |\n| Curious about the experimental KEM | [`sl-kem/`](sl-kem/) — *experimental, not for production* |\n| Looking for reproducible test data | [`sl-vectors/`](sl-vectors/) |\n| Comparing parameter sets | [`sl-bench/`](sl-bench/) |\n\nEvery repo carries the same four files: `README.md`, `LICENSE` (Apache-2.0),\n`SECURITY.md`, `CONTRIBUTING.md`. Issues, PRs, and finding templates are open.\n\n---\n\n## What we are *not* claiming\n\n- We have not solved post-quantum cryptography. We are not claiming to.\n- `sl-kem` is **experimental**. It is not standardized, not reviewed at scale, and not safe for production data. Use Kyber / ML-KEM for production.\n- The PQC hardness assumptions (LWE, MLWE, GapSVP, SIVP) we build on are *strongly studied*, not *proven*. We grade them accordingly and re-evaluate.\n- The atlas explains the field as we currently understand it. Cryptography evolves; the atlas is expected to.\n\nThe willingness to say *what we are not claiming* is, itself, part of the method.\n\n---\n\n## The million-dollar question\n\nRe-asked every month, in every repo:\n\n\u003e *If we were starting this today, with everything we've learned so far, would we build the same design?*\n\nWhen the answer becomes **no**, the project has learned something. Record it,\nfossilize the old design, and move forward.\n\n---\n\n## Repository layout\n\n```\n.\n├── .github/profile/README.md   org landing page (mirror to a \".github\" repo)\n├── .github/workflows/          pages deploy + validate (schema/parity/STATUS) + links\n├── .github/ISSUE_TEMPLATE/     finding / spec-gap / doc-drift / research-question\n├── sl-atlas/                   the live demo (deploys to Pages)\n├── sl-researchkit/             AI research personas, checklists, workflows, decisions\n├── sl-kem/                     experimental KEM (constitution + first explainer)\n├── slff/                       hybrid container format spec\n├── sl-bench/                   benchmarks\n├── sl-vectors/                 test vectors\n├── sl-attacklab/               targets + filed findings\n├── fossils/                    org-level fossils (nothing is deleted)\n├── journal/                    monthly research journal entries\n├── scripts/                    validate-atlas / check-atlas-parity / gen-status\n├── STATUS.md                   generated status surface (CI-enforced)\n├── SETUP.md                    pushing the scaffold to GitHub\n├── SECURITY.md                 responsible disclosure policy\n├── NOTICE                      project attribution\n├── CONTRIBUTING.md             how to contribute\n└── LICENSE                     Apache-2.0\n```\n\n## How the method enforces itself\n\nThe lab's stated rigor is backed by CI gates, not just prose:\n\n- **`validate-atlas`** — every concept JSON validates against\n  [`sl-atlas/content/schema.json`](sl-atlas/content/schema.json).\n- **`check-atlas-parity`** — concepts in `sl-atlas/src/concepts.js` and\n  publishable JSON files in `sl-atlas/content/` must match exactly. A BLOCKED\n  draft cannot accidentally appear in the live atlas; a published concept\n  cannot lose its mirror JSON without the build failing.\n- **`gen-status --check`** — [`STATUS.md`](STATUS.md) is regenerated from the\n  tree on every push and the build fails if it drifts. Hand-maintained counts\n  in prose are not the source of truth; this file is.\n- **Link checker** — every markdown file in the repo is checked weekly and on\n  every PR.\n\n---\n\n## Run the atlas locally\n\n```bash\npython -m http.server 8765 --directory sl-atlas/src\n# → http://localhost:8765/\n```\n\nZero build step. Pure HTML / CSS / JS. Opens directly via `file://` too.\n\n---\n\n## License\n\nApache-2.0. The canonical text is vendored into every sub-repo's `LICENSE` (root,\n[`sl-researchkit`](sl-researchkit/LICENSE), [`sl-atlas`](sl-atlas/LICENSE), [`sl-kem`](sl-kem/LICENSE),\n[`slff`](slff/LICENSE), [`sl-bench`](sl-bench/LICENSE), [`sl-vectors`](sl-vectors/LICENSE),\n[`sl-attacklab`](sl-attacklab/LICENSE)). Project attribution lives in [`NOTICE`](NOTICE).\n\n---\n\n*Soli Deo Gloria — 1 Corinthians 10:31*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystemslibrarian%2Fstructureless-labs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsystemslibrarian%2Fstructureless-labs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystemslibrarian%2Fstructureless-labs/lists"}