Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ This is a replacement alpha rather than a compatibility release.
after timeout and bounded shutdown quiescence;
- official MCP Inspector installed-wheel invocation and Visual Studio Code workspace
configuration-discovery evidence from the independent consumer;
- independently packaged redaction evidence for experimental task creation, status,
blocking result retrieval, related-task progress, bounded retention, cancellation,
and private task state;
- real behavioral tests, strict typing/linting, package smoke tests, and accurate docs;
- a dependency-free JSON runtime microbenchmark for repeatable local comparisons.
- a dependency-free MCP stdio microbenchmark covering parsing, dispatch,
Expand Down
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ progress and logging, bounded task retention, admission limits, and security bou
## Proven external consumer

[Samsarix Integration Examples](https://github.com/Deathcharge/samsarix-integration-examples)
version 0.2.6 pins Core commit `04cf5ba7ca7eb2defcb946f538d62291762db109`
version 0.2.7 pins Core commit `1558624ba294f47d59ea1713ac5609ef3122239e`
and uses only the
public API to expose a privacy-first, resumable redaction workflow over MCP. Its
consumer-owned tests exercise initialization, discovery, stdio invocation,
Expand All @@ -115,9 +115,12 @@ artifact conflict handling, exact `TypedDict` output discovery, client
cancellation without an output artifact or response, continued protocol service,
token-correlated content-free progress, client-filtered operational logging,
synchronous timeout/quiescence accounting, package installation, and CLI entry points.
The official MCP Inspector also discovers and invokes its freshly installed wheel; a
portable VS Code workspace is configuration-discovered, with signed-in trust and tool
approval still awaiting operator acceptance.
It also proves the experimental task lifecycle on the real redaction workflow:
immediate private task state, status polling, blocking result retrieval, related-task
progress, safe cancellation, bounded retention, and unavailable unauthenticated listing.
The preceding v0.2.6 contract was also discovered and invoked through official MCP
Inspector 0.21.2; a portable VS Code workspace is configuration-discovered, with
signed-in trust and tool approval still awaiting operator acceptance.

This is compatibility evidence, not a claim of third-party production adoption.
See the [adoption record](docs/ADOPTION.md) for exact commits, commands, artifact
Expand Down
16 changes: 9 additions & 7 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,19 @@ remain separate decisions.
- Strict `TypedDict` input and output contracts now preserve named nested fields,
descriptions, and required/optional key semantics in JSON Schema and runtime
validation.
- External consumer: `samsarix-integration-examples` version 0.2.6 pins Core
commit `04cf5ba7ca7eb2defcb946f538d62291762db109` and proves a confined,
- External consumer: `samsarix-integration-examples` version 0.2.7 pins Core
commit `1558624ba294f47d59ea1713ac5609ef3122239e` and proves a confined,
privacy-first redaction workflow, exact typed result discovery, and
response-free asynchronous cancellation through the public MCP API. It also
proves progress-token correlation, monotonic content-free updates, notification
ordering, cancellation cutoff, artifact privacy, client-selected operational-log
filtering, content-free terminal events, retained sync-worker capacity after timeout,
and bounded shutdown quiescence. Its portable Visual Studio Code workspace is
configuration-discovered by VS Code 1.131.0, while official MCP Inspector 0.21.2
independently proves installed-wheel discovery and invocation.
- Next: prove the task lifecycle from the independently packaged redaction consumer,
complete the signed-in Visual Studio Code trust/tool-approval journey, and rerun
configuration-discovered by VS Code 1.131.0; the preceding v0.2.6 contract was also
independently discovered and invoked through official MCP Inspector 0.21.2. The
consumer now proves real redaction through task creation, status, blocking result
retrieval, related-task progress, bounded private retention, and safe task cancellation.
- Next: complete the signed-in Visual Studio Code trust/tool-approval journey and rerun
the consumer matrix after GitHub Actions billing is restored. Use observed
demand and confirmed contract gaps—not framework parity—to prioritize broader
schema support.
Expand All @@ -64,7 +65,8 @@ remain separate decisions.
1 MiB source ingestion, safe errors, filesystem confinement, and version
compatibility. Consumer-owned asynchronous MCP cancellation, bounded progress,
cancellation cutoff, content-free operational logging, synchronous timeout
accounting, and bounded shutdown quiescence are now proven.
accounting, bounded shutdown quiescence, and the experimental MCP task lifecycle are
now proven.
- Add authentication evidence only when an authenticated network transport is in
scope; the supported stdio bridge delegates trust to the process launcher.
- Make one implementation canonical; remove or freeze duplicate behavior only after parity and rollback are proven.
Expand Down
73 changes: 48 additions & 25 deletions docs/ADOPTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,15 @@ Repository:

| Evidence | Value |
| --- | --- |
| Core contract commit | `04cf5ba7ca7eb2defcb946f538d62291762db109` |
| Core contract commit | `1558624ba294f47d59ea1713ac5609ef3122239e` |
| Core package version | `2.0.0a1` |
| Consumer merge commit | `6fd45f7f36ad57ad5a9ceb372af5b73193739624` |
| Consumer pull request | [samsarix-integration-examples#9](https://github.com/Deathcharge/samsarix-integration-examples/pull/9) |
| Consumer package version | `0.2.6` |
| Consumer merge commit | `51cc3fb3f1fb4bd484ebef58d2c9ab22acc24623` |
| Consumer pull request | [samsarix-integration-examples#10](https://github.com/Deathcharge/samsarix-integration-examples/pull/10) |
| Consumer package version | `0.2.7` |
| Integration Guard provenance | [`samsarix-integration-guard`](https://github.com/Deathcharge/samsarix-integration-guard) `0.2.0` at `1aa711d89eaedcc396f0cd6eb416fb4253da3f5e` |
| Orchestration provenance | [`samsarix-agent-orchestration`](https://github.com/Deathcharge/samsarix-agent-orchestration) `0.1.0` at `0dfc050cf9a4582c9fa8d34d74b1ca97d43c9005` |
| Supported consumer Python | 3.11-3.13 |
| Declared consumer Python | 3.11-3.13 |
| Executed consumer Python in this record | 3.11.9; extra source-tree pass on 3.14.6 |
| Compatibility owner | Samsarix LLC |
| Support level | Best effort; no SLA |

Expand All @@ -46,6 +47,17 @@ selects `info`. The accepted event contains only the public tool name, invocatio
status, and duration; it follows both progress phases and precedes the response. A
cancelled call emits no terminal log.

The same consumer redaction tool advertises task support as optional, preserving the
ordinary call and older-client contract. A task-aware MCP `2025-11-25` client receives
an immediate `working` state with a random 128-bit identifier; that state contains no
source name, output name, run id, arguments, result, secret, or workspace path. The
consumer proves `tasks/get`, blocking `tasks/result`, exact structured result retrieval,
and two related-task progress updates. Requested retention is clamped to the
application's fifteen-minute maximum, only eight session-local tasks may be retained,
and unauthenticated `tasks/list` remains unavailable. A blocked task can be cancelled;
the async redaction stops, cleanup-time progress is refused, no artifact is published,
and `tasks/result` retains only Core's generic cancelled result.

A separate consumer-owned synchronous fixture occupies one real worker under a
single-slot runtime. After the caller-visible timeout, the fixture proves the worker,
slot, in-flight gauge, and pending-sync count remain occupied; a second call cannot
Expand All @@ -56,7 +68,8 @@ zero and bounded shutdown succeeds. The gated probe exists only in the contract
and is not a production redaction tool.

The consumer now ships a portable, workspace-scoped Visual Studio Code MCP
configuration and confined example. The official MCP Inspector 0.21.2 client discovered
configuration and confined example. At consumer version 0.2.6, the official MCP
Inspector 0.21.2 client discovered
the exact tool schemas and successfully invoked the freshly installed consumer wheel
over stdio; its result and artifact excluded the seeded token, email, and workspace path.
Visual Studio Code 1.131.0 separately opened the sample and discovered the stopped
Expand All @@ -65,47 +78,57 @@ was signed out of Copilot, so no trust prompt or VS Code tool call was accepted.
desktop configuration-discovery evidence, not a completed desktop-agent journey.

The consumer's merged
[`pyproject.toml`](https://github.com/Deathcharge/samsarix-integration-examples/blob/6fd45f7f36ad57ad5a9ceb372af5b73193739624/pyproject.toml)
[`pyproject.toml`](https://github.com/Deathcharge/samsarix-integration-examples/blob/51cc3fb3f1fb4bd484ebef58d2c9ab22acc24623/pyproject.toml)
is the dependency manifest. It declares
`samsarix-core @ git+https://github.com/Deathcharge/samsarix-core.git@04cf5ba7ca7eb2defcb946f538d62291762db109`;
`samsarix-core @ git+https://github.com/Deathcharge/samsarix-core.git@1558624ba294f47d59ea1713ac5609ef3122239e`;
the installed public package reports Core version `2.0.0a1`. The same manifest
records the Guard and Orchestration commits above, and the compatibility test
asserts all three installed package versions.

## Verified contract

The consumer suite completed locally on Windows with Python 3.11.9:
The installed-wheel consumer contract checks completed locally on Windows with Python
3.11.9:

```text
python -m ruff check . -> passed
python -m mypy -> passed, strict mode
python -m pytest -q -> 31 passed, 91.35% branch coverage
python -m pytest -> 33 passed, 90.85% branch coverage from installed wheel
python -m bandit -q -r src -> passed
python -m build -> isolated wheel and sdist passed
```

The isolated release build and metadata checks separately passed on Python 3.14.6:

```text
python -m build -> isolated wheel and sdist passed
python -m twine check <artifacts> -> wheel and sdist passed
```

A fresh virtual environment installed the consumer wheel with dependencies
resolved from their exact public Git commits. Import metadata resolved to `0.2.6`
resolved from their exact public Git commits. Import metadata resolved to `0.2.7`
and retained the exact Core commit requirement. Outside the source checkout, the
installed `samsarix-redaction-mcp` CLI completed a real redaction over stdio,
published a sanitized artifact, emitted exactly two token-correlated progress
notifications followed by one content-free operational log and the terminal
response, and exposed neither the seeded secret nor the resolved workspace path in
protocol output.
installed `samsarix-redaction-mcp` CLI completed a real task-augmented redaction over
stdio: initialize, discovery, immediate task creation, blocking result retrieval, and
terminal status. It published a sanitized artifact, emitted exactly two related-task
progress notifications, and exposed neither the three seeded secrets nor the resolved
workspace path in protocol output. Both installed CLIs also passed their help journeys.
The source-tree development run on Python 3.14.6 separately completed the same 33 tests
at 91.47% branch coverage. Python 3.12 and 3.13 remain declared consumer support, but
their hosted jobs did not execute in this record because the account billing gate stopped
the matrix before checkout.

Final local artifacts were:

| Artifact | Bytes | SHA-256 |
| --- | ---: | --- |
| `samsarix_integration_examples-0.2.6-py3-none-any.whl` | 17,798 | `b406b923a2e74778c7500d359851600cc219f14e24d28bb5e163a0084d7af1b5` |
| `samsarix_integration_examples-0.2.6.tar.gz` | 33,951 | `ba8d43723783c2253e9da9ebe438ec9f01f1521d0aa4461a75d6b941c30f5bd2` |

CodeRabbit attached a green high-level status, but its quota warning states that a
comprehensive review did not start; it is not counted as independent line-level review
evidence. The consumer's
[pull-request](https://github.com/Deathcharge/samsarix-integration-examples/actions/runs/30733933805)
and [post-merge](https://github.com/Deathcharge/samsarix-integration-examples/actions/runs/30733992055)
| `samsarix_integration_examples-0.2.7-py3-none-any.whl` | 18,303 | `1c538ac89b2ea878b1ef0cd8ee0628cef6bcc4745efc39cb42927018d1770896` |
| `samsarix_integration_examples-0.2.7.tar.gz` | 36,469 | `807f33bd857ec7918e4b0a0747472638120a618ea977323c86d4808d3ffd4cf5` |

CodeRabbit attached a green high-level status, but its free-plan notice says the pass
provides only a summary and walkthrough; it is not counted as independent line-level
review evidence. The consumer's
[pull-request](https://github.com/Deathcharge/samsarix-integration-examples/actions/runs/30736315532)
and [post-merge](https://github.com/Deathcharge/samsarix-integration-examples/actions/runs/30736368378)
GitHub Actions runs
did not start their jobs: GitHub attached an account
billing/spending-limit failure before checkout, leaving zero executed steps and
Expand Down
26 changes: 13 additions & 13 deletions docs/PRODUCTIZATION.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Samsarix Core Productization Record

Last updated: 2026-08-01
Last updated: 2026-08-02

## Current repository assessment

Expand Down Expand Up @@ -259,25 +259,25 @@ All baseline commands were run on Windows with Python 3.11.9 at commit
asynchronous cancellation, bounded content-free progress, and client-filtered
operational logging, retained sync-worker capacity after timeout, and bounded
shutdown quiescence, official MCP Inspector invocation, and Visual Studio Code
configuration discovery from `samsarix-integration-examples` 0.2.6 at merge commit
`6fd45f7f36ad57ad5a9ceb372af5b73193739624`; the consumer pins Core commit
`04cf5ba7ca7eb2defcb946f538d62291762db109`.
configuration discovery from `samsarix-integration-examples`; version 0.2.7 at merge
commit `51cc3fb3f1fb4bd484ebef58d2c9ab22acc24623` pins Core commit
`1558624ba294f47d59ea1713ac5609ef3122239e` and additionally proves the bounded
experimental task lifecycle on the real redaction workflow.

## Deferred work and rationale

P2 framework/provider adapters, durable registry/invocation persistence, process
isolation, and richer schema types remain deliberately deferred. Experimental MCP
tasks retain bounded results only inside one server process and do not satisfy durable
persistence or restart recovery. Those features are not required for the first useful
release. One independent repository now proves the stable MCP boundary; task lifecycle
evidence is the next consumer increment. Subsequent surface area should follow concrete
consumer demand. Core's own
[Python 3.10-3.14 hosted matrix](https://github.com/Deathcharge/samsarix-core/actions/runs/30731486471)
is green; the task-execution branch's local Python 3.11 suite has 98 tests and
94.28% branch coverage. Exact hosted evidence remains required before merge.
The consumer's separate Python 3.11-3.13 jobs could not start because GitHub
reported an account billing/spending-limit problem, so its local 31-test and
installed-wheel evidence is recorded separately in `docs/ADOPTION.md`.
release. One independent repository now proves both the stable MCP boundary and the
experimental task lifecycle. Subsequent surface area should follow concrete consumer
demand. Core's own post-merge
[Python 3.10-3.14 hosted matrix](https://github.com/Deathcharge/samsarix-core/actions/runs/30735632274)
is green with 98 tests and 94.28% branch coverage. The consumer's separate Python
3.11-3.13 jobs could not start because GitHub reported an account
billing/spending-limit problem, so its local 33-test installed-wheel evidence is
recorded separately in `docs/ADOPTION.md`.

## Owner-, credential-, or production-blocked tasks

Expand Down