ASCENT
ASCII Successor with Compatible Encoding of Named Text
Keep every classic ASCII byte sacred. Ascend the rest without burning the stairs.
ASCENT Nexus v2.0.0 - Wire Lab 2.0 architecture card · PNG · JPG · live
What it is
ASCENT is a wire encoding and control grammar for text, agents, multimodal references, quantum-safe control envelopes, and deep-space ECC profiles. It is a future-facing successor spirit to classic 7-bit ASCII (ANSI X3.4 / 1963):
| Pillar | Contract |
|---|---|
| Eternal identity | Every byte less than 0x80 is classic ASCII, bit-identical, forever |
| Agent-native | Fenced control tokens (ROLE, TOOL, THINK, ...) share the stream with prose |
| Multimodal | Content-addressed refs and length-declared media units (no surrogate-pair hacks) |
| Quantum-safe control | Append-only algorithm registry; no silent downgrade |
| Deep-space (ASCENT-D) | Outer ECC frames; parity fail erases the unit (no mojibake) |
| Self-describing | A valid document can carry plane maps, registries, and version history |
This is not "Unicode but better." It is a stream contract greppers can still trust.
Live
ASCENT Nexus Wire Lab 2.0 (v2.0.0): dual text/hex live sync, agent + multimodal composers, ASCENT-D bit-error / erase-on-fail simulator, AEGIR sketch, interactive eleven-plane explorer, 2-minute tour, SPEC try-this, and codegen. Sacred P0 meter and Hello, Universe sample included.
Follow: @suddenlyjon
| Surface | Version |
|---|---|
| Nexus site / architecture card | 2.0.0 |
| SPEC | 1.0.0-rc1 |
| Frozen Cont packing (ASCENT-V) | Cont 0xA0-0xBF (5-bit) |
| Python package | ascent-wire 2.0.0 |
| JS package (monorepo) | @pitchfork/ascent 2.0.0 |
Quick start
Browser
Open the live site and click Decode Hello, Universe.
Python reference decoder
python ref/ascent_decode.py --self-test
python ref/ascent_decode.py --hello
python ref/ascent_decode.py examples/hello-universe.ascent.bin --json
Golden tests (shared codec)
# from repo root
set PYTHONPATH=ref
python tests/test_ascent_codec.py
Shared library: ref/ascent_codec.py (ASCENT-7, frozen ASCENT-V, UTF-8 MM bridge). Lab non-ASCII modes on the live site: ASCENT-V / UTF-8 bridge / ASCENT-7 reject.
ASCENT-D + real satellite lab (ISS)
P9 outer frame with RS(255,223), erase-on-fail. Uses public Celestrak ISS TLE and a LEO BER channel model. No RF transmit.
set PYTHONPATH=ref
python tests/test_ascent_d_satellite.py
Module: ref/ascent_d.py.
AEGIR (ASCENT-native encryption companion)
AEGIR is a first-class P7 encryption suite: dual-core hybrid KEM (ML-KEM + X25519), History-Bound Outer Pad, agent-fenced ceremony (ROLE/CAP), Ghost Continuum IMS seals, and append-only registry (no silent downgrade). Design: design/AEGIR.md. Registry seeds: SPEC.md C.3.3.
set PYTHONPATH=ref
python ref/aegir_sketch.py --self-test
python ref/aegir_sketch.py --list-algs
python tests/test_aegir.py
# optional DCH-768 (requires: pip install kyber-py)
python ref/aegir_sketch.py --self-test
Parse law
if byte < 0x80:
emit classic 7-bit ASCII (width 1)
never recombine into a multi-byte unit
else:
enter ASCENT extension grammar
Overlong encodings of 0x00-0x7F are illegal forever.
Hello, Universe (132 bytes)
One valid ASCENT-E stream:
- Greppable header
ASCENT/1.0 - Human text
Hello, Universe. - Agent frame
ROLE=guide - Multimodal
REFwith SHA-256 binding
Agent frame alone:
9A C1 01 00 02 00 00 06 05 67 75 69 64 65 9B
Full hex map: SPEC.md section E.
Profiles
| Profile | Role |
|---|---|
ASCENT-7 |
Pure classic ASCII identity |
ASCENT-E |
Earth / general interchange |
ASCENT-D |
Deep-space outer ECC |
ASCENT-A |
Archive / self-description heavy |
Install (Python package)
Full guide: INSTALL.md
# Wheel from GitHub Releases (no PyPI account required)
pip install ascent_wire-2.0.0-py3-none-any.whl
# Or from git tag
pip install "git+https://github.com/Pitchfork-and-Torch/ascent.git@v1.0.0-rc1"
# Editable clone
pip install -e ".[deep-space]"
ascent self-test
ascent encode --header --role guide "Hello, Universe."
python -m ascent hello
Package name: ascent-wire (import ascent). Requires Python 3.10+. Optional reedsolo for ASCENT-D.
Public PyPI / npm upload is scripted (scripts/publish-packages.ps1) and waits on publisher tokens.
Golden lock (JS must match Python)
set PYTHONPATH=ref
python tests/test_ascent_codec.py
node tests/run_js_lock.js
python tests/test_js_python_lock.py
Agent loops
See docs/AGENT-LOOP.md for ROLE/TOOL/THINK/SAFETY recipes and docs/SPEC-FREEZE-1.0-RC.md for the 1.0-RC freeze checklist.
Repository layout
SPEC.md Normative draft (sections A-F)
ABSTRACT.md One-page abstract
ascent/ Installable package (ascent-wire)
pyproject.toml Packaging
docs/ Infographic, agent-loop, SPEC freeze RC
ref/ascent_decode.py Earth-profile reference decoder
ref/aegir_sketch.py AEGIR encrypt/decrypt sketch (DEMO + optional DCH-768)
examples/ Canonical .bin samples
site/public/ Live Nexus Wire Lab 2.0 (Cloudflare Pages)
tests/ Python goldens + JS lock
design/ Non-normative design provenance (incl. AEGIR)
assets/masters/ Source OG + infographic masters
| File | Purpose |
|---|---|
| SPEC.md | Full normative draft |
| ABSTRACT.md | RFC-style one-pager |
| docs/ascent-infographic.png | Architecture infographic v2.0.0 |
| docs/AGENT-LOOP.md | LLM agent loop guide |
| docs/SPEC-FREEZE-1.0-RC.md | 1.0-RC freeze checklist |
| ref/ascent_decode.py | Python decoder |
| ref/aegir_sketch.py | AEGIR encryption sketch |
| design/AEGIR.md | AEGIR companion design (full) |
| examples/hello-universe.ascent.bin | Sample stream |
| examples/agent-loop-demo.ascent.bin | Multi-frame agent sample |
| examples/hello-universe-aegir.ascent.bin | Encrypted Hello (AEGIR-DEMO) |
License
MIT - see LICENSE.
Support
GitHub Issues only. No personal contact required.
Pitchfork and Torch · open standards experiments
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ascent_wire-2.0.0.tar.gz.
File metadata
- Download URL: ascent_wire-2.0.0.tar.gz
- Upload date:
- Size: 34.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
953cd9a4b2a70b8b3f8abacb9658c3dd1d5c9493a4d7748b2c5a4eba0fad0f6f
|
|
| MD5 |
442b1eab6d4f242fc516e02902a31181
|
|
| BLAKE2b-256 |
6fcb8a0d129d767f44b91dd65fd6de35a80578f25fd1b5a5a805047a09790f6a
|
File details
Details for the file ascent_wire-2.0.0-py3-none-any.whl.
File metadata
- Download URL: ascent_wire-2.0.0-py3-none-any.whl
- Upload date:
- Size: 26.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f3912a7e6c4bdfe2554448c83a58612792d6bcbcd1422d15ecf8ec86d7628f5
|
|
| MD5 |
dd132f95a6c078c6d19a65cdfe0c2e76
|
|
| BLAKE2b-256 |
9865ef89d188d9509331ea839e605d19571a071f0c14203f13ab40b034ad151e
|