Matt — this is the technical companion to the point of view we're walking through today. You built AliceNet; Precise needs its machinery; nobody else can rule on half of what follows. Read it as an engineering brief and an invitation, and tear it up where it's wrong. — Adam (assembled with Claude, 2026-08-05, from a four-lane audit of both codebases)
The network's whole reason to exist is the problem nothing else solves: Company A's agent uses Company B's capability, and later both sides must prove things about what happened — authority, provenance, contribution — without anyone opening their books and without a hyperscaler as the trusted middleman. The mechanism is credentials (portable authority), Merkle commitments (disclosure-free sealing of Calls), anchoring (a clock nobody owns, so sealed-before-outcome is checkable across company lines), selective disclosure (the proof crosses, the data stays home), and contribution settlement (the order book). That stack is the thing we have been circling since MAD Network. It runs on machinery you built.
The honest state, verified line by line:
seal_ref ("swaps to
AliceNet block id when live"), config.ts "partner-alicenet, stubbed both
sides", proof-orchestrator's never-run Valence anchor mode. The OMG "sealed
decisions" seat rests on the sha256 stub.konstantin.ai/lib/alicenet is real: Ed25519 W3C verifiable
credentials (Operator/Decision/Precedent) and a MerkleService, correctly
consumed by two production paths (v-extract correction ledger, adjudication
court). Credential issuance is exercised only by tests. Chain anchoring fails
closed everywhere — no ChainAnchorAdapter exists.anchored:false hardcoded in the gateway envelope, SealedReceipt forcing
realized:null, qualification records noting that self-declared JSON is not
attestation. The courts' no-lookahead and purged folds are genuinely good
holdout hygiene.anchored:true states no code path
can produce; "the Merkle job that exists" (two unmerged commits on a fork,
never run e2e); lib/alicenet/index.ts listing on-chain anchoring with a cost
model as a capability over a fail-closed stub; and the word "sealed" meaning,
everywhere, "unsigned sha256 in our own storage."lib/alicenet (CredentialService,
MerkleService, AnchorService) importable from the precise repo — today it
lives inside the konstantin.ai app tree and cannot be a dependency.CHAIN_ANCHOR_UNAVAILABLE everywhere.did:alice:precise or delegated
authority under did:alice:konstant — with a stated key custody, rotation,
and revocation convention.anchor_ref format plus third-party verification
instructions. The gateway schema, envelope, and BQ decision_seals columns
are all waiting on its shape.stableReplayString; precise
digests canonical-JSON v2 (lexicographic). Which is normative for
cross-company verification, or do we tag both by algorithm?did:alice:konstant
signatures without trusting us, and what is the revocation story for an
issued DecisionCredential (a court verdict later found wrong)?anchor_ref?Committed Call batches on the PMXT prospective forward frontier. At each
hourly publication cut, build a Merkle tree over the batch's prediction-time
Call rows via MerkleService; store the root in the existing publication receipt
with honest vocabulary (trust_tier: merkle_local,
chain_anchor_status: not_requested — never "anchored" until a rail exists);
retain leaves and salts privately; add a court-side verifier that checks per-row
inclusion after market resolution.
Proposed leaf: sha256 over canonical-JSON-v2 of
{schema: "precise.call-leaf/v1", batch_id, call_id (decision_at+condition_id), tenant, known (evidence refs incl. plan_hash, semantics_hash), chosen (action/selection), predicted (value + payoff semantics), salt (32 random bytes hex)}. Per-row salt so revealing one leaf preimage never lets a counterparty
dictionary-attack sibling leaves with low-entropy fields — disclosure-free
sealing now, BBS-compatible later. Only known/chosen/predicted go in the leaf;
happened/taught arrive post-resolution as a separate graded record referencing
the committed leaf, preserving sealed-before-outcome ordering. Open item riding
on you: whether leaves must use stableReplayString for cross-repo
verification — we proceed with canonical-JSON-v2 plus an algo tag until you rule.
sealRef to resolve to a real chain entry
whose payload hashes to the predicted value before an OutcomeRecord writes;
refuse unverifiable refs. No AliceNet dependency; prerequisite for anchoring
to mean anything.anchored:true become producible.Your point of view. You ran this chain; you know what it was built to carry and where it groans. If the order book is arriving bottom-up through customers, the question is what AliceNet must become to be its settlement floor — and what it must refuse to become. Argue with the ladder, the leaf, the rail choice, all of it. The code's posture is already yours in spirit: never fake success.
We ran the org repos, the alicebobs feat/valence-sdk-pipeline branch, and the
local lib through a three-lane read after writing the above. The canonical
reference is now ALICENET.md; it answers several questions and
corrects two assumptions in this note.
Answered:
api.prod.alice.net, on
Ethereum since L1 block 20441993. A working anchor path exists on testnet
10042 through the hosted Valence credential service — the branch's
integration test asserts real anchored txHashes. The ~$1/M-rows and <1s
figures are unsourced everywhere; treat as aspirational.did:valence resolves
only through the hosted service (HTTP, API key). Revocation is spec'd but
implemented as a Mongo flag. Our did:alice:* names are a convention, not a
method — they must not be presented as resolvable.anchor_ref = {chain_id, tx_hash, block_number} — with one caveat: the
Valence SDK returns only txHash today (block_number is 0 everywhere in the
branch), so a real adapter adds a tx-to-block lookup.{txId, blockNumber, timestamp, network} inline; no poller
exists, and the verify side has no batch kind — batch anchors currently have
no chain-verification path. The obvious unbuilt bridge: a ChainAnchorAdapter
over @valence-eng/credential-sdk.createDataTransaction.@valence-eng/credential-sdk ^0.2.1 on GitHub Packages, partially
answering ask 1) or write the EVM directly with ALCB gas — noting the ALCB
bridge is one-way, so gas inventory strands on the L2.New finding: konstantin's credentials are labeled eddsa-jcs-2022 but sign
over stableReplayString, which is not RFC 8785 JCS — off-the-shelf verifiers
will fail until the label and the serializer are reconciled.
Still yours to answer: prover/batch cadence to L1 finality (published
nowhere; operators only) · whether the did:valence registry contract is
deployed on mainnet, and DAC membership/custody · whether the Valence SDK's
BBS+ and createDataTransaction are cryptographically real end-to-end or
service-simulated · real ALCB gas costs · the canonicalization ruling
(canonical-JSON-v2 vs stableReplayString vs true JCS) · the Merkle shape ruling
(RFC 9162 per the spec) · the Call credential schema (unchanged from ask 5).