# Martin OSS Core

This repository is the public Martin Loop runtime surface: runtime packages, CLI, MCP server, examples, and release validation for the root `martin-loop` package.

## Included packages

- `@martin/contracts`
- `@martin/core`
- `@martin/adapters`
- `@martin/cli`
- `@martinloop/mcp`

## Public launch targets

- Install target: `npm install martin-loop`
- CLI target: `npx martin-loop`
- SDK target: `import { MartinLoop } from "martin-loop"`
- MCP target: `npx -y @martinloop/mcp`

## Validation commands

From the repo root:

```bash
pnpm install --frozen-lockfile
pnpm build
pnpm test
pnpm oss:validate
pnpm public:smoke
pnpm --filter @martinloop/mcp smoke:pack
pnpm mcp:published:smoke:pack
```

For isolated end-to-end validation:

```bash
pnpm release:validate-local
pnpm release:matrix:local
```

## Notes

- The root `martin-loop` package follows the release line recorded in [`../release/VERSION-LEDGER.md`](../release/VERSION-LEDGER.md).
- `@martinloop/mcp` is published and released independently from the root package.
- Failure taxonomy is canonical runtime-derived from `FAILURE_CLASSES` in `@martin/contracts`; see [`FAILURE-TAXONOMY-12.md`](./FAILURE-TAXONOMY-12.md) and [`failure-taxonomy.runtime.json`](./failure-taxonomy.runtime.json).
- Use [`../release/VERSION-LEDGER.md`](../release/VERSION-LEDGER.md) before release work; it is the canonical version map for the root package and the standalone MCP package.
- `pnpm mcp:published:smoke` is a post-publish npm gate; use `pnpm mcp:published:smoke:pack` for local prepublish validation.
- The OSS boundary report is generated by `pnpm oss:validate` and written to this directory.

## Where to go next

- [QUICKSTART.md](./QUICKSTART.md)
- [AGENT-START-HERE.md](./AGENT-START-HERE.md)
- [FAILURE-TAXONOMY-12.md](./FAILURE-TAXONOMY-12.md)
- [FAILURE-TAXONOMY-ALIASES.md](./FAILURE-TAXONOMY-ALIASES.md)
- [PRE-028-PUBLIC-SURFACE-DIFF.md](./PRE-028-PUBLIC-SURFACE-DIFF.md)
- [OSS-BOUNDARY-REPORT.md](./OSS-BOUNDARY-REPORT.md)
- [../../README.md](../../README.md)
