# HSIMC ETH-like MCP Contract: public source reference

This source bundle explains the C001/C002 engineering work and exposes reusable
HSIMC-written components. The public derivative is **not deployed**. Its policy
is **disabled**, it has no installation launcher or live state, and it does not
inherit the historical AIS B acceptance result.

## What the historical work established

| Stage | Evidence and result |
|---|---|
| C001 / artifact.verify 0.1.0 | Static offline descriptor and comparison/event pilot source; no accepted MCP server. |
| C002 / artifact.verify 0.2.0 | An on-demand SSH stdio server, one tool, four resources and one receipt resource template. |
| Original official SDK run | MCP 2026-07-28, client 2.3.1, Node v24.21.0; three logical operations produced three receipts/events. |
| Original concurrent call | Four independent clients raced on a new operation: one committed receipt and three replays. |
| Later user rerun | Three existing operations replayed; event count remained 3 and receipt delta was 0. Four concurrent callers all replayed the existing receipt. |

LESSONS.json contains the exact historical release, receipt-chain head and raw
acceptance-file digests. Those digests commit to privately retained evidence
bytes. They do not constitute signatures or cloud acknowledgements. The later
rerun is new connection/replay evidence; first-commit race evidence belongs to
the original run.

ETH-like here describes address/version selection, typed interfaces, bounded
authorization, persistent results and event evidence. Ethereum/EVM execution,
Ethereum JSON-RPC, token accounting and consensus finality are not implemented.
The Azure Work Envelope is only partially reflected in the local input profile;
no general Work/e-Person execution authority or full Work Envelope runtime was
established. Cloud receipt reception and business database synchronization were
not deployed at the recorded acceptance. Publishing this bundle distributes
documentation and source; it does not register a cloud runtime or settle receipts.

## Reusable components

| File | Role |
|---|---|
| src/mcp_transport.py | Original bounded MCP 2026-07-28 adapter logic, with its historical link block replaced by an evidence note. |
| src/contract_runtime.py | Reference derivative of the fixed-artifact observation and transactional receipt core. |
| src/contract.json | Example contract URI, explicit input/output schema and state meanings. |
| src/policy.json | Disabled template with empty principal bindings; no execution grant. |
| src/public/example-artifact.json | Synthetic fixed local bytes; its URL identifier is never fetched. |
| src/release.json | Digest manifest for this reference's source files, separate from the deployed release. |
| tests/test_mcp_transport.py | Existing 16 adapter tests using an in-memory stub application. |
| reference/contract-artifact-verify.v0.1.json | Preserved historical C001 design descriptor. |
| reference/c001_pure_functions.py | Extracted validation, comparison and event helpers, without the pilot's CLI. |

This adapter implements a short, synchronous, single-page tools/resources
profile. It does not implement the entire MCP specification, legacy initialize,
HTTP transport, subscriptions, task execution, or interruption of a running
handler. Each applicable request carries the 2026-07-28 metadata profile.

## What must stay true during adaptation

The runtime's ContractApp constructor receives identity from a **trusted
deployment-specific entry point**. Client arguments and self-reported clientInfo
are not identity. Before importing/executing code, that entry point must pin and
verify the approved release and execute the exact verified source bytes; an
unchecked bytecode cache cannot substitute for that source.

Provide a deployment-owned private state directory and real OS-derived principal
bindings. Establish a separate policy from actual Work authorization, then
produce a new release manifest. Changing DISABLED_EXAMPLE to an enabled string
alone does not establish authorization. Keep this bundle's example identifiers
out of production catalog registration. No ready-made launcher or SSH credentials
are supplied.

The application records receipt and chained event in one SQLite transaction and
commits before sending success. Identical envelope/key retries return the
original record; changed input or reused operation identity is refused. A
storage failure may leave COMMIT_OUTCOME_UNKNOWN, so retain the same envelope
for recovery. These guarantees cover this local observation/receipt operation,
not exactly-once physical-world effects.

New observations have a bounded deadline and operation budget. Already committed
receipts can replay after the original deadline, subject to current policy;
replay does not produce a fresh observation or refresh its timestamp. Deadline
time is the node's wall clock, not an attested or consensus time source.

MATCH means observed bytes equal the caller's expected digest and yields
OBSERVED. A completed unequal comparison yields MISMATCH/REJECTED. Neither means
business ACCEPTED. Local hash chains must be compared with independently retained
heads; an owner who controls the database can rewrite a complete unsigned chain.

## Software checks and deployment acceptance

The source reference has static checks recorded in CHECKS.json. To run the
included existing adapter tests in an isolated local source checkout:

    python3 -B -m unittest discover -s tests -p test_mcp_transport.py

These tests use a stub app. They do not connect to a board, run the official SDK,
create contract receipts or prove this derivative's deployment readiness.
Real activation needs its own trusted launcher, authorization, baseline,
isolation and end-to-end acceptance.

The GUI experience supplies another evidence boundary: an SDK PASS does not
verify desktop clicks or browser windows. C005 retained a successful zero-delta
MCP rerun while browser startup remained blocked by kernel namespace support.
C006 subsequently recovered existing BSP/build inputs; the earlier limited
source search must not be republished as a continuing supplier-source absence.
Browser/window acceptance remains a separate engineering gate.

## Source lineage and omitted material

SOURCE-MAP.json records original SHA256, public SHA256 and change scope.
CHANGES.md explains the derivative. Private prompts, account and device
identifiers, SSH configuration, raw requests/ledgers and deployment scripts
remain outside this bundle. No vendor SDK/BSP, binary, manual or official SDK
source is copied here.

## Historical evidence references

The version claims above refer to the retained source and SDK acceptance bytes
identified in [LESSONS.json](LESSONS.json). Their source lineage is recorded in
[SOURCE-MAP.json](SOURCE-MAP.json). This publication does not infer current
specification URLs from a protocol version string.

The preserved C001 descriptor records the Work Envelope schema snapshot SHA256
`9062dc58f3b1ec0bd0541bee3b65819e2f4db7ad3b9d9d67c98a3b2271d77f9d`.
Schema URLs inside the historical definitions are provenance identifiers;
their current reachability or unchanged content was not rechecked for this
static source publication.
