No description
  • Rust 79.7%
  • Idris 7.8%
  • Shell 4.6%
  • Zig 2.9%
  • Scheme 2.6%
  • Other 2.4%
Find a file
2026-04-02 04:17:25 +01:00
.claude chore: update manifest paths to .machine_readable/6a2/ 2026-03-16 14:42:08 +00:00
.github Add casket pages workflow 2026-04-02 04:17:25 +01:00
.hypatia chore: sync local changes 2026-03-14 12:03:18 +00:00
.machine_readable feat: deploy UX Manifesto infrastructure 2026-03-28 08:27:52 +00:00
.well-known chore: deploy UX infrastructure (contractile.just, .well-known, manifest) 2026-03-28 23:57:09 +00:00
benches feat: add E2E, P2P, aspect tests + criterion benchmarks 2026-03-30 13:15:20 +01:00
contractiles chore: add UX infrastructure (quickstart, doctor, setup) 2026-03-28 08:28:20 +00:00
crates fix: replace 60 unwrap() calls with expect() in security-critical modules 2026-03-30 13:19:19 +01:00
docs fix: global AGPL-3.0-or-later → PMPL-1.0-or-later replacement 2026-03-16 01:42:21 +00:00
ffi/zig feat: add Zig FFI implementation + C header + integration tests 2026-03-30 13:12:47 +01:00
hooks Fix SPDX headers: AGPL-3.0-or-later → PMPL-1.0-or-later 2026-03-16 00:31:38 +00:00
LICENSES Standardise license setup: MPL-2.0 + PMPL-1.0-or-later (REUSE) 2026-03-11 02:56:27 +00:00
src feat: complete Idris2 ABI — Foreign.idr + Proofs.idr 2026-03-30 13:11:02 +01:00
tests feat: add E2E, P2P, aspect tests + criterion benchmarks 2026-03-30 13:15:20 +01:00
.editorconfig Initial commit (converted from SHA-256) 2025-12-11 00:32:00 +00:00
.gitattributes fix(license): SPDX AGPL-3.0 → PMPL-1.0-or-later in dotfiles 2026-03-15 11:24:03 +00:00
.gitignore fix(license): SPDX AGPL-3.0 → PMPL-1.0-or-later in dotfiles 2026-03-15 11:24:03 +00:00
.gitlab-ci.yml Initial commit (converted from SHA-256) 2025-12-11 00:32:00 +00:00
.nojekyll chore: Add RSR policy enforcement workflows 2025-12-12 16:22:31 +00:00
.tool-versions chore: add gitignore, gitattributes, tool-versions 2026-03-28 09:13:33 +00:00
0-AI-MANIFEST.a2ml chore: update manifest paths to .machine_readable/6a2/ 2026-03-16 14:42:08 +00:00
ARCHITECTURE.md docs: add ARCHITECTURE.md — reversibility stack junction point 2026-03-21 14:37:28 +00:00
Cargo.lock feat: extract reversible-core crate from januskey 2026-03-21 14:32:07 +00:00
Cargo.toml feat: add E2E, P2P, aspect tests + criterion benchmarks 2026-03-30 13:15:20 +01:00
CODE_OF_CONDUCT.md Fix SPDX headers: AGPL-3.0-or-later → PMPL-1.0-or-later 2026-03-16 00:31:38 +00:00
contractile.just chore: deploy UX infrastructure (contractile.just, .well-known, manifest) 2026-03-28 23:57:09 +00:00
CONTRIBUTING.md Replace RSR template placeholders with actual values 2026-03-16 00:20:08 +00:00
draft-hyperpolymath-maa-framework-00.txt Initial commit (converted from SHA-256) 2025-12-11 00:32:00 +00:00
EXPLAINME.adoc docs: add EXPLAINME.adoc — prove-it file backing README claims 2026-03-22 14:16:09 +00:00
flake.nix feat: deploy UX Manifesto infrastructure 2026-03-28 08:27:52 +00:00
guix.scm feat: deploy UX Manifesto infrastructure 2026-03-28 08:27:52 +00:00
Justfile feat: deploy UX Manifesto infrastructure 2026-03-28 08:27:52 +00:00
LICENSE chore: RSR compliance — fix author attribution, replace AGPL with PMPL-1.0-or-later, add SPDX headers to LICENSE 2026-03-14 15:54:37 +00:00
LICENSE.txt chore: commit local changes for sync 2026-01-22 19:13:11 +00:00
llm-warmup-dev.md feat: deploy UX Manifesto infrastructure 2026-03-28 08:27:52 +00:00
llm-warmup-user.md feat: deploy UX Manifesto infrastructure 2026-03-28 08:27:52 +00:00
MAINTAINERS.adoc chore: sync 2026-02-01 01:43:46 +00:00
Mustfile Fix SPDX headers: AGPL-3.0-or-later → PMPL-1.0-or-later 2026-03-16 00:31:38 +00:00
NOTICE Standardise license setup: MPL-2.0 + PMPL-1.0-or-later (REUSE) 2026-03-11 02:56:27 +00:00
PALIMPSEST.adoc chore: sync 2026-02-01 01:43:46 +00:00
PROOF-NEEDS.md fix: correct 'Provably Reversible' claim — proofs are pending, not done 2026-03-30 09:59:32 +01:00
QUICKSTART-DEV.adoc feat: deploy UX Manifesto infrastructure 2026-03-28 08:27:52 +00:00
QUICKSTART-MAINTAINER.adoc feat: deploy UX Manifesto infrastructure 2026-03-28 08:27:52 +00:00
QUICKSTART-USER.adoc feat: deploy UX Manifesto infrastructure 2026-03-28 08:27:52 +00:00
README.adoc fix: correct 'Provably Reversible' claim — proofs are pending, not done 2026-03-30 09:59:32 +01:00
ROADMAP.adoc chore: sync 2026-02-01 01:43:46 +00:00
SECURITY.md fix: resolve OpenSSF Scorecard security issues 2025-12-13 13:33:37 +00:00
setup.sh fix: quote $$ and use printf in setup.sh 2026-03-30 13:16:45 +01:00
stapeln.toml feat: add stapeln.toml container definition 2026-03-29 13:46:22 +01:00
TEST-NEEDS.md fix: replace 60 unwrap() calls with expect() in security-critical modules 2026-03-30 13:19:19 +01:00
TESTING-REPORT.adoc chore: sync 2026-02-01 01:43:46 +00:00
TESTING-REPORT.scm chore: sync 2026-02-01 01:43:46 +00:00
TOPOLOGY.md Auto-commit: Sync changes [2026-02-21] 2026-02-21 14:22:43 +00:00

JanusKey

License: PMPL-1.0 Palimpsest

Jonathan D.A. Jewell <[email protected]> :toc: macro :icons: font :source-highlighter: rouge :experimental: :url-github: https://github.com/hyperpolymath/januskey :url-gitlab: https://gitlab.com/hyperpolymath/januskey :url-bitbucket: https://bitbucket.org/hyperpolymath/januskey :url-codeberg: https://codeberg.org/hyperpolymath/januskey

Reversible File Operations (formal proofs pending) Through Maximal Principle Reduction

RSR Certified

Overview

JanusKey is a file operation utility suite that achieves complete reversibility through architectural design rather than logging or backups. Unlike traditional backup systems that restore from external state, JanusKey operations carry sufficient information for perfect inversion—making data loss architecturally impossible.

Key Features

  • 100% Reversible - Every operation can be undone, always

  • Instant Rollback - Undo changes in milliseconds

  • Data Loss Impossible - Not "unlikely"—architecturally impossible

  • Complete Audit Trail - Every change tracked automatically

  • Transaction Support - Group operations, commit/rollback together

  • Content-Addressed Storage - SHA256 hashing with deduplication

Quick Start

# Build from source (requires Rust)
cd src/januskey
cargo build --release

# Initialize JanusKey in your project
jk init

# Delete files (reversible)
jk delete *.log

# Undo the delete
jk undo

# Transactions for batch operations
jk begin
jk delete temp*.txt
jk modify "s/DEBUG/INFO/g" config.yaml
jk preview   # Review changes
jk commit    # Or: jk rollback

Commands

Command Description

jk init

Initialize JanusKey in current directory

jk delete <files>

Delete files (reversible)

jk modify <pattern> <files>

Modify files with sed-like syntax

jk move <src> <dst>

Move/rename files

jk copy <src> <dst>

Copy files

jk undo [--count N]

Undo last operation(s)

jk begin [name]

Start a transaction

jk commit

Commit current transaction

jk rollback

Rollback current transaction

jk preview

Preview pending changes

jk history

Show operation history

jk status

Show current status

Architecture

JanusKey implements Maximal Principle Reduction (MPR), a security methodology where vulnerability elimination occurs by construction rather than verification.

+----------------------------+
|       JanusKey CLI         |  <-- jk delete, jk modify, jk move
+----------------------------+
|      Operation Layer       |  <-- Generates inverse metadata
+----------------------------+
|    Transaction Manager     |  <-- Groups ops, commit/rollback
+----------------------------+
|      Metadata Store        |  <-- Append-only operation log
+----------------------------+
| Content-Addressed Storage  |  <-- SHA256, deduplication
+----------------------------+

Reversibility Guarantee

Every operation stores sufficient metadata for perfect inversion:

  • Delete: Stores full content + metadata for restoration

  • Modify: Stores original content hash for rollback

  • Move: Stores original path for unmove

  • Copy: Destination path for deletion

Installation

From Source (Rust)

# Clone the repository
git clone {url-github}
cd januskey/src/januskey

# Build release binary
cargo build --release

# Install to PATH
cargo install --path .

Mirrors

Platform URL

GitHub (primary)

{url-github}

GitLab

{url-gitlab}

Bitbucket

{url-bitbucket}

Codeberg

{url-codeberg}

License

Licensed under MIT OR PMPL-1.0-or-later.

See LICENSE.txt for details.

Contributing

Research

JanusKey is based on research into reversible computing (formal proofs are a target, not yet complete) and Maximal Principle Reduction. See the white paper in docs/ for formal proofs and theoretical foundations.

Metadata

  • Domain: software-development

  • Framework: RSR (Rhodium Standard Repository)

  • Language: Rust

  • Dublin Core: .well-known/dc.xml

Architecture

See TOPOLOGY.md for a visual architecture map and completion dashboard.