Skip to content

spec: [GATED DRAFT] flip #47/#52 verifierStatus stub->live (machine-log settlement) - #233

Draft
LamaSu wants to merge 1 commit into
feat/evidence-vocab-industrialfrom
feat/evidence-primitives-live-flip
Draft

spec: [GATED DRAFT] flip #47/#52 verifierStatus stub->live (machine-log settlement)#233
LamaSu wants to merge 1 commit into
feat/evidence-vocab-industrialfrom
feat/evidence-primitives-live-flip

Conversation

@LamaSu

@LamaSu LamaSu commented Jul 10, 2026

Copy link
Copy Markdown
Owner

DO NOT MERGE until ALL of the following hold (deploy order D1):

Flipping verifierStatus→live affects the gateway ELIGIBILITY LINT only; the oracle enforces #52 independently (separate repo, no @pcc dep) and already fails closed for unregistered signers. #55 is intentionally excluded (does not compose #52 at runtime). This PR is DRAFT until the boxes are checked.

…ement)

Gateway #230 persists each kernel's registered secp256k1 signing address
(proof-of-possession) and pcc-oracle #13 wires the #47 ident.registered_key
resolver + #52 machine.execution_log chain-signature verifier against it.
Both primitives' verifier machinery is now implemented and oracle-enforced,
so flip verifierStatus stub->live to match. #55 process.batch_record is
left untouched (does not compose #52 at runtime).

Updates the three spec-test assertions that counted/checked verifierStatus
membership (LIVE_FIRST_CLASS list + title, the industrial-primitives stub
check, and the report-only eligibility stub-advisory check) to match.

DRAFT — gated on deploy order (see PR body): do not merge until Gateway
#230 + pcc-oracle #13 are merged AND deployed, and device-side
registration-proof activation is resolved.

implementer-spec-charlie (Ralph-loop implementer, /go harness)
LamaSu added a commit that referenced this pull request Jul 11, 2026
…ism)

The ready-but-gated core: verifyDeviceSignedEvidence (registered-signer #47 ->
Ed25519 verify), the composite gate (machine.execution_log #52 verifierStatus
live AND SEAM2_DEVICE_EVIDENCE_SETTLEMENT flag, both default OFF), and
resolveSettlementEvidence (fails closed to the gateway anchor). Reads the #52
verifierStatus, never flips it — #233 stays stubbed.

implementer-seam2
LamaSu added a commit that referenced this pull request Jul 11, 2026
…hs (gated)

Path 1 (operator-relay POST /api/operator/evidence): capture the node's REAL
device Ed25519 signature + real bundleHash instead of the 'operator-relay-auto'
placeholder. Stored tier stays 0 on purpose — unverified evidence supports only
the tier-0 floor; the resume-settlement '?? latestBundle.assuranceTier' fallback
must not escalate release tier from an unverified claim (fails closed).

Path 2 (paid-job-flow /complete): resolveSettlementEvidence chooses the anchor.
Gate CLOSED by default (#52 verifierStatus stub AND SEAM2 flag unset) => gateway
fallback, byte-identical to before. Gate open => device hash+signature anchors,
after verifying against the kernel's registered signer. Fails closed.

Adds registeredSignerInputFromColumns helper. #233/verifierStatus untouched.

implementer-seam2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant