Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/urpcs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: "3.12"
- uses: actions/setup-node@v4
with:
node-version: "22"
- name: Independent decoder replay
run: node research/urpcs/tests/test_independent_decoder.js
- name: Reference codec and committed-vector checks
run: python -m unittest discover -s research/urpcs/tests -p 'test*.py'
- name: Python syntax
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ coherence; it does not replace workspace behavioral tests.
independent repository/release authority boundary.
- Python Gonol Construction has distinct stack-local authority but has not yet gained an
independent repository/release authority boundary; exact UCNS affixiation geometry is unresolved.
- URPCS has bounded deterministic codec evidence but lacks an independent decoder,
- URPCS has bounded reference and independent-decoder evidence but lacks a
confidentiality model, durable host-state proof, and independent release authority.
- The complete root `skill-lib/` snapshot refresh remains separate because the current
provenance-bound fresh-making doctrine is newer than the local generator snapshot.
Expand Down
18 changes: 11 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,15 @@ EPAC retains implementation and public-contract authority; Stack owns only the
local carrier audit and its bounded receipts.

URPCS v1 is a separate stack-local codec experiment at `research/urpcs/`. It
carries accepted Laws 1–13, an authenticated reference encoder/decoder, and
byte-exact vectors. Its codec-local `Gonol` row is not a UCNS gonol; the workspace
imports no PCEA construction and claims no confidentiality or production fitness.
carries accepted Laws 1–13, an authenticated reference encoder/decoder, an
independently structured decoder, and byte-exact vectors. Its codec-local `Gonol`
row is not a UCNS gonol; the workspace imports no PCEA construction and claims no
confidentiality or production fitness.

```bash
python3 research/urpcs/urpcs_v1_reference.py --self-test
python3 -m unittest discover -s research/urpcs/tests -p 'test*.py'
node research/urpcs/tests/test_independent_decoder.js
```

### Change stack structure
Expand Down Expand Up @@ -132,8 +134,9 @@ English Gonol Construction is currently a distinct stack-local research componen
separated from EDCM but not independently graduated.
Python Gonol Construction is likewise stack-local and ungraduated; its Python 3.12
constructor is an implemented candidate, not stack or language canon.
URPCS is stack-local and ungraduated; its verified reference vectors establish
deterministic codec behavior, not encryption security.
URPCS is stack-local and ungraduated; its verified reference vectors and
independent replay establish bounded deterministic codec behavior, not
encryption security.
Psychsocio metafauna and From Photons to the Macroverse remain stack-local
pre-graduation research. EPAC has an independently published MPL-2.0 `v0.1.0`
release and has passed public Stack reconsumption. Its Python forge copy is retired;
Expand Down Expand Up @@ -216,8 +219,9 @@ merge.
independent repository/release authority boundary.
- Python Gonol Construction has distinct stack-local authority but has not yet gained an
independent repository/release authority boundary; UCNS affixiation geometry remains unresolved.
- URPCS has a deterministic authenticated-codec reference profile but no independent
decoder, confidentiality model, production state store, or release authority.
- URPCS has a deterministic authenticated-codec reference profile and bounded
independent decoder evidence, but no confidentiality model, production state
store, or release authority.
Comment on lines +222 to +224

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Update the superseded URPCS status projections

The new independent-decoder standing asserted here conflicts with remaining current workspace projections: research/urpcs/urpcs_v1_reference.py:41 still lists independent decoder interoperability as unresolved, while research/urpcs/docs/URPCS-v1-vector-report.md:82,88-90 still calls it UNRESOLVED and the next serious test. Update those projections or explicitly mark them as frozen historical evidence so readers and tooling do not receive contradictory URPCS status.

AGENTS.md reference: AGENTS.md:L43-L46

Useful? React with 👍 / 👎.

- Actual VM PostgreSQL/service-account/storage state and the independent backup device
remain deployment observations until inspected on the VM.
- A GitHub-hosted executor remains optional and unimplemented; VM-local execution is the
Expand Down
9 changes: 5 additions & 4 deletions STACK_MANIFEST.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Provenance and authority-boundary record for `The-Interdependency/stack`.
- URPCS v1 workspace integration UTC: `2026-09-20` from Stack baseline `a428a41a38a8b30bacb7025a4d54070b228a8089`
- Stack-manifest schema: `the-interdependency.stack-manifest` version `1.1.0`
- Work-graph digest (SHA-256 over canonical `repositories` + `research_participants` + `boundaries` JSON):
`39af341f00c85c137bb8e239aeb1afc00939a542b8f3f09cb371c522313a0d0d`
`99aa9e4dfd0a9b4f37d2aefe751247cb918230bc6672bd9a2f2452bae6ab82b4`
- Machine-readable copy: [`stack-manifest.json`](stack-manifest.json)

## Directory contract
Expand Down Expand Up @@ -171,13 +171,14 @@ constructor has no independent repository/release authority, and its successful
transfers no semantic, geometric, measurement, or language-canon status.

URPCS is likewise stack-local and ungraduated. The reference implementation and
fixtures are executable evidence for one bounded profile; an independent decoder,
confidentiality model, durable host state, and production-security review remain open.
fixtures are executable evidence for one bounded profile, and an independently
structured decoder reproduced its committed outputs. A confidentiality model,
durable host state, and production-security review remain open.

## hmmm

- UCNS has no `LICENSE` file at pinned commit `828c0b8`.
- English Gonol Construction remains stack-local research; independent repository/release authority and the exact UCNS displacement law have not been established.
- Python Gonol Construction remains stack-local research; independent repository/release authority and exact UCNS affixiation geometry remain unresolved.
- URPCS remains stack-local research; independent interoperability, confidentiality, durable rollback resistance, and release authority remain unresolved.
- URPCS remains stack-local research; bounded independent decoding survived, while confidentiality, durable rollback resistance, and release authority remain unresolved.
- `skill-lib/` remains a special operational snapshot at stack root rather than following the ordinary `libs/` + `research/` pair.
8 changes: 4 additions & 4 deletions docs/work-graphs/repository-plan-report.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,16 +70,16 @@
},
{
"surface": "research/urpcs/",
"status": "Laws 1-13 freeze summary, reference encoder/decoder, eight named vectors, exhaustive one-byte depth-zero check, source receipt, and CI gate integrated",
"boundary": "Stack-local authenticated-codec computation only; confidentiality, PCEA compatibility, UCNS-gonol identity, independent interoperability, and release authority remain unclaimed."
"status": "Laws 1-13, reference encoder/decoder, independent JavaScript decoder replay, byte-exact vectors, source receipt, and CI gates integrated",
"boundary": "Stack-local authenticated-codec computation only; bounded independent decoding survived, while confidentiality, PCEA compatibility, UCNS-gonol identity, and release authority remain unclaimed."
}
],
"active_frontier": [
"refresh pinned repository views when owners advance and a stack experiment needs the newer state",
"register organization aggregate and website projection derivations in the fresh-making control plane",
"maintain EPAC as a hash-pinned independent release consumer",
"Maintain Python and English Gonol construction/replay as bounded Stack research against their declared source and geometry identities.",
"Obtain an independently written URPCS decoder and a leakage/threat model before considering any confidentiality construction."
"Obtain a URPCS leakage/threat model before considering any confidentiality construction."
],
"next_actions": [],
"blocked": [],
Expand Down Expand Up @@ -139,6 +139,6 @@
"skill-lib remains a special operational root snapshot rather than the normal libs/research pair",
"EPAC geometry ratification and unmeasured operation effects remain unresolved research",
"Python Gonol exhaustive CPython 3.12 grammar/test-corpus parity, later language profiles, and exact UCNS affixiation/coupling operations remain unresolved.",
"URPCS independent decoding, confidentiality, durable rollback resistance, fork recovery, and production suitability remain unresolved."
"URPCS confidentiality, durable rollback resistance, fork recovery, and production suitability remain unresolved."
]
}
39 changes: 29 additions & 10 deletions research/urpcs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ UCNS geometry, or UCNS-gonol identity.
complete forward/reverse composition, and exact wire/state rules.
- [`urpcs_v1_reference.py`](urpcs_v1_reference.py) — dependency-free reference
encoder, decoder, state advance, and fixture generator.
- [`urpcs_v1_independent.js`](urpcs_v1_independent.js) — independently structured,
dependency-free decoder built from the public contract.
- [`vectors/urpcs-v1-vectors.json`](vectors/urpcs-v1-vectors.json) — byte-exact
positive and negative fixtures.
- [`docs/URPCS-v1-vector-report.md`](docs/URPCS-v1-vector-report.md) — measured
Expand All @@ -40,6 +42,8 @@ UCNS geometry, or UCNS-gonol identity.
— frozen independent-decoder sufficiency audit and exact public-input identities.
- [`docs/URPCS-v1-public-contract-repair.md`](docs/URPCS-v1-public-contract-repair.md)
— repair scope, preservation boundary, and clean-room replay gate.
- [`docs/URPCS-v1-independent-replay.md`](docs/URPCS-v1-independent-replay.md)
— frozen clean-room replay identities and `SURVIVED_INDEPENDENTLY` result.
- [`SOURCE_RECEIPT.json`](SOURCE_RECEIPT.json) — imported-artifact identities.

## Usage guidance
Expand All @@ -63,6 +67,13 @@ cmp /tmp/urpcs-v1-vectors.json \
The harness accepts at most one plaintext byte and recursion depth one. It is an
interoperability fixture, not an application API.

Run the independent decoder checks:

```bash
node research/urpcs/urpcs_v1_independent.js --kat
node research/urpcs/tests/test_independent_decoder.js
```

## Verified reference result

- 8/8 named fixtures pass.
Expand All @@ -74,20 +85,28 @@ interoperability fixture, not an application API.
The last result makes the resource boundary concrete: this is not a compressor,
and greater depths require a separately justified permitted-domain cap.

## Verified independent result

- `empty_r0`, `empty_r1`, and `odd_09_r0` reproduce the committed plaintext,
deterministic receipt, and complete successor state.
- Wrong associated data and an authenticated-body mutation are rejected at tag
verification before state advance.
- The independent KMAC256 implementation matches NIST SP 800-185 Sample #4 and
an external OpenSSL `KMAC-256` result.
- The decoder was frozen before the first ciphertext comparison and required no
correction afterward.

## Next gates

1. Run a fresh clean-room decoder audit using the repaired public specification
as its only URPCS law source; compare expected outputs only after freezing the
implementation.
2. A threat model and leakage model must precede any confidentiality claim.
3. Host-side durable compare-and-swap, crash recovery, rollback resistance, and
1. A threat model and leakage model must precede any confidentiality claim.
2. Host-side durable compare-and-swap, crash recovery, rollback resistance, and
fork policy require implementation and adversarial testing.
4. Any future relation to PCEA or UCNS requires a separate authority-bearing law;
3. Any future relation to PCEA or UCNS requires a separate authority-bearing law;
repository proximity supplies none.

## hmmm

The frozen audit is `BLOCKED_NOT_INDEPENDENTLY_SPECIFIED` for its old input. The
public contract has since been repaired without changing reference code or
vectors. Independent interoperability remains the next gate: the door is now
specified, but a clean-room implementation still has to walk through it.
The frozen audit remains `BLOCKED_NOT_INDEPENDENTLY_SPECIFIED` for its old input.
After the public contract repair, the clean-room replay is
`SURVIVED_INDEPENDENTLY` for the committed bounded profile. Confidentiality,
durable host state, production security, and release authority remain open.
6 changes: 3 additions & 3 deletions research/urpcs/WORK_GRAPH.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"schema": "the-interdependency.stack-manifest",
"version": "1.0.0",
"work_graph_sha256": "1242de61073ee36ef1255cbac9d7835142c0f1712b4d1213ef6960b7832a4bcf",
"work_graph_sha256": "808d98a91d8dac553da17ec0bb2fb71b208318c609014faad818efc750dc4e78",
"repositories": [
{
"repository": "The-Interdependency/stack",
Expand All @@ -23,9 +23,9 @@
"semantic_mapping": "external-provenance",
"agent_scope": "cross-repository-work-graph",
"hmmm": [
"independent decoder interoperability is untested",
"independent decoder interoperability survived for the committed bounded profile",
"confidentiality and production security are unclaimed",
"the full accepted Laws 1-13 are public, but clean-room decoder replay remains pending",
"the full accepted Laws 1-13 are public and the frozen clean-room decoder replay passed",
"URPCS codec-local Gonol records are not UCNS gonols"
]
}
Expand Down
129 changes: 129 additions & 0 deletions research/urpcs/docs/URPCS-v1-independent-replay.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# URPCS v1 independent decoder replay

**Frozen:** 2026-09-21

**Public-contract base:** `d3a38d4ef5e401bc43902face41f805462d88877`

**Implementation freeze:** `5d205978f2a034969782e743c59f62aca83fc92c`

**Classification:** `SURVIVED_INDEPENDENTLY`

An independently structured JavaScript decoder reproduced the committed URPCS
v1 plaintexts, deterministic receipts, and successor states. It also rejected
wrong associated data and an authenticated-body mutation at tag verification.

The decoder was constructed from `docs/urpcs-v1-spec.md`, the committed vector
JSON, framing bytes, and source receipt. Before the implementation freeze and
first vector comparison, its construction did not import, copy, or inspect
`urpcs_v1_reference.py` or its tests. Expected plaintext, receipt, and successor
state values are supplied only to the comparison harness after `decode` returns;
the decoder itself receives the committed ciphertext, initial state, and
associated-data bytes directly.

This result preserves URPCS as Stack-local authenticated-codec research. It
makes no confidentiality, encryption-security, production-suitability,
PCEA-compatibility, or UCNS-gonol claim.

## Frozen artifacts

| artifact | SHA-256 |
|---|---|
| repaired public specification | `295cd721a19475e683b1831f1a15b3c7eed521cec551d68cd031bfed4757423e` |
| committed vector JSON | `1d96299a016feed6f2e0881a5d4d21c20229714dab5eaa9338008d5282c2dfe6` |
| independent decoder at freeze | `c9490f772b41934ba1c878a2d081477974ef19387f048ed489359ea8bfda089d` |
| independent replay harness at freeze | `8fb1af64a87249755157ee1f72ed92fa82bf807fa8513e2e9f87966de99c2bc8` |

The implementation freeze preceded the first ciphertext replay. No decoder
correction was required after that comparison.

## Exact replay identities

All positive vectors use these 15 associated-data bytes:

```text
555250435320766563746f72207631
```

Their SHA-256 identity is
`b9663436beff15b0563d459bc761826b4c5a316f7350f106be02f7c3675c2745`.

| vector | ciphertext bytes / SHA-256 | recovered plaintext | deterministic receipt |
|---|---|---|---|
| `empty_r0` | 205 / `60fc120c11bb02533aef7f8cf0ad62ff2b09b26571998fd3adaae800e8c58552` | empty | `528070861f8226b8518c39707e05f4841724b315256e588cf2d5c3e8c5926426` |
| `empty_r1` | 146,210 / `eb17f5674651d83ba79065bab09bba2c405aec6732915ca9fc06a3ddb68ad565` | empty | `1432924dd876e1fec74ad7b04084309bce62fc7ad98fde5cd250b607b68eff74` |
| `odd_09_r0` | 2,534 / `878f3f828afcc27fd55ea5daaf240710bd09ae05d2a68dc4ea943309c0a57173` | `09` | `294734d163bf393292465421d7384a56cf7d07fc00a515beadd4d6483ebd93f1` |

The independently derived successor states exactly equal the committed states:

| vector | next `k_pair` | next `k_integrity` | next `k_advance` | next `nu_origin` | `R_cap` |
|---|---|---|---|---|---:|
| `empty_r0` | `264799e279acd7204425a174e26893dd8aa9f2524e96d124aaa58c3efe751124` | `86e9d0da678bd21bd3ac50f300236f1c3f8c00b7e0da9ae2174c74c749873cda` | `874a8872a56f50dfb6cddcab8aa82571573c24eee4e81434cf32bb60c3bfe3e4` | `0000000000000000000000000000000000000000000000000000000000000001` | 0 |
| `empty_r1` | `81d0a453e4eb0710eac2efaf82fc48a5b0ea6bfa25eef96396d197784cd9ea97` | `44fbd6ae562a7761aa58db4b11c9c40122983b181ca5a7b090092211ad766fb3` | `f918b5ece11d3dd5d258e7c5324e58ebe2c281c6ec7d44637aeaf0fc43aa9d72` | `0000000000000000000000000000000000000000000000000000000000000001` | 1 |
| `odd_09_r0` | `60066a03db229c15c3ef97cc908ebff6b1682f08668ea8e49cd86f6cdb3be4a0` | `ddfd57437a7244a44bc0b70ea88190723574ea2714f4d1ab2a343be3f16aef46` | `dcad41208c9bb3585d6a16dfa2f439c5b827a63998b726d4b0abf6968d6d94b0` | `0000000000000000000000000000000000000000000000000000000000000001` | 0 |

## Authentication rejection

- The 16-byte wrong associated data
`555250435320766563746f7220763121` has SHA-256
`70736147b2dc31d6a78163e18d73c32cf03c86356c02eec909d06fda57a9b632`
and is rejected at tag verification.
- The 2,534-byte authenticated-body mutation has SHA-256
`94de735983fe1fe37ffec2bf4b6c0140523a0a18edae7a3708537c1f6f62d828`.
It changes zero-based ciphertext offset 1,986 from `0x55` to `0x54` and is
rejected at tag verification.

Both failures occur before bootstrap parsing, plaintext recovery, receipt
construction, or state advance.

## Independent KMAC256 check

The decoder contains its own BigInt Keccak-f[1600], cSHAKE256, and KMAC256
implementation. Before ciphertext replay, it reproduced NIST SP 800-185 KMAC
Sample #4 for key bytes `0x40` through `0x5f`, data `00010203`, customization
string `My Tagged Application`, and a 64-byte output:

```text
20c570c31346f703c9ac36c61c03cb64c3970d0cfc787e9b79599d273a68d2f7
f69d4cc3de9d104a351689f27cf6f5951f0103f33f4f24871024d9c27773a8dd
```

OpenSSL's external `KMAC-256` implementation reproduced the same official
known-answer output. This confirms the primitive implementation and does not
make an encryption-security claim for URPCS.

## Usage guidance

Run the independent KMAC known-answer check:

```bash
node research/urpcs/urpcs_v1_independent.js --kat
```

Decode one committed vector from ciphertext, state, and associated data:

```bash
node research/urpcs/urpcs_v1_independent.js \
--vector empty_r0 research/urpcs/vectors/urpcs-v1-vectors.json
```

Run the full independent replay and negative checks:

```bash
node research/urpcs/tests/test_independent_decoder.js
```

## Claim boundary

- **Established:** the repaired public contract is sufficient for an
independently structured decoder to reproduce the three required plaintexts,
receipts, successor states, and authenticated rejection behavior.
- **Preserved:** the historical blocked audit remains correct for its older,
incomplete specification input.
- **Unclaimed:** confidentiality, encryption security, production suitability,
PCEA compatibility, UCNS-gonol identity, or independent release authority.

## hmmm

The mirror has a door for the committed bounded profile. That door establishes
independent decoding interoperability, not a security model or production
system.
Loading
Loading