Reference case · second domain

Coding agent

The second domain tests whether Lyotic is only Systead’s architecture. The objects and effects are different: an issue, code, failing events, a patch. The contract is the same, and the same resolver runs it.

Illustrative, not a real repository. Press Choose on the recommended option and Approve v2 inside the object; CI finishes on its own.

Mapping the model

LyoticInventory caseCoding case
Work ObjectItem A2 across ERP, Excel, Shopify, AmazonIssue #812 across GitHub, Sentry, Support
ObservationField values with meaningsA support ticket, 212 error events, the stored coupon, a line of code
Claim“These four numbers are the same quantity”“The coupon has expired” (the agent’s), “Lookup is case-sensitive” (the code’s)
Proposed ActionMapping rule v3Patch v2 on fix/coupon-case
AuthorityOps may edit mappings; delegated to fix the sync relationWritable branch and file scope; merge and deploy are not delegated
ExecutionPer marketplacePush to the branch; the CI run
VerificationRead-backs; reservations not observableNamed tests and the full suite; the reporter’s checkout not observable

Five results, never one

ResultAxisAt the end of the walk
Patch appliedExecutionBranch · Applied
Named tests passedVerification, scopedNamed tests verified
Review approvedAuthority of a different action (merge)Open · @jin
DeployedA different action, not delegatedNot delegated
Reporter’s problem solvedVerification outside the observable scopeNot observable yet

Tests passing does not let the interface say the user’s problem is solved. The resolver keeps the Case open while open loops remain, allows the scoped word verified, and still forbids resolved. That is the test of generalisation: not the same component names in another field, but the same distinctions and contracts working there.

Run it

import { resolve } from '@lyotic/core';
import { buildSteps } from '@lyotic/core/fixtures/coding-case';
buildSteps().map((s) => [s.id, resolve(s.state).mode, resolve(s.state).work]);
// compare/open · decide/awaiting-judgment · authorize · execute · verify · compact/open