Skip to content

Commit c8958bd

Browse files
committed
chore: prepare O-QT MCP v0.3.0 release
1 parent c852ac3 commit c8958bd

14 files changed

Lines changed: 110 additions & 30 deletions

CHANGELOG.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1818

1919
---
2020

21+
## [0.3.0] - 2026-04-08
22+
23+
### Added
24+
- Machine-readable boundary and ownership fields in the portable hazard and read-across contracts: `assessmentBoundary`, `decisionBoundary`, `decisionOwner`, `supports`, and `requiredExternalInputs`.
25+
- `semanticCoverage` in the portable hazard uncertainty block to make the qualitative-only uncertainty semantics explicit.
26+
- Live Toolbox smoke coverage for hazard analysis, workflow handoffs, grouping dossiers, log replay, and direct execution helpers.
27+
- Configurable wall-clock safeguards for slow hazard-profiling and discovery-heavy Toolbox paths.
28+
29+
### Changed
30+
- Bumped package metadata and runtime version markers to `0.3.0`.
31+
- Updated the public README, architecture notes, and release docs to match the current contract layer and live-validation surface.
32+
- Refined normalized provenance packaging so endpoint study records, endpoint summaries, evidence blocks, and source-call metadata remain easier to audit downstream.
33+
34+
### Fixed
35+
- Removed stale public-doc references to still-private local module names.
36+
- Eliminated version drift between package metadata, runtime fallbacks, and example payloads.
37+
38+
---
39+
2140
## [0.2.0] - 2026-03-23
2241

2342
### Added
@@ -41,6 +60,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4160
- Dockerfile and docker-compose stack for local development with Toolbox API stub.
4261
- Taskmaster backlog, documentation set (`docs/auth_testing.md`, `docs/observability.md`, `docs/testing.md`), and CI workflow skeleton.
4362

44-
[Unreleased]: https://github.com/ToxMCP/oqt-mcp/compare/v0.2.0...HEAD
63+
[Unreleased]: https://github.com/ToxMCP/oqt-mcp/compare/v0.3.0...HEAD
64+
[0.3.0]: https://github.com/ToxMCP/oqt-mcp/releases/tag/v0.3.0
4565
[0.2.0]: https://github.com/ToxMCP/oqt-mcp/releases/tag/v0.2.0
4666
[0.1.0]: https://github.com/ToxMCP/oqt-mcp/releases/tag/v0.1.0

README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -64,18 +64,18 @@ The current implementation follows a layered model:
6464

6565
See [docs/architecture.md](docs/architecture.md) for the fuller boundary and contract notes.
6666
See [docs/oecd_alignment_review_2025.md](docs/oecd_alignment_review_2025.md) for the OECD 2025 grouping/IUCLID gap analysis and the next contract-focused improvements.
67-
See [docs/cross_suite_alignment_2026.md](docs/cross_suite_alignment_2026.md) for the local AOP/CompTox contract patterns adopted into O-QT.
67+
See [docs/cross_suite_alignment_2026.md](docs/cross_suite_alignment_2026.md) for the public contract patterns adopted into O-QT.
6868

69-
## What's New In v0.2.0
69+
## What's New In v0.3.0
7070

71-
This is a maturity and contract release, not a redesign.
71+
This is a contract-hardening and validation release, not a redesign.
7272

73-
- Re-aligned repository identity, package metadata, and release notes around `ToxMCP/oqt-mcp`.
74-
- Clarified the public surface as a primary workflow engine plus secondary expert tools.
75-
- Published portable O-QT handoff schemas for hazard evidence, read-across support, and workflow provenance.
76-
- Hardened the hazard handoff with explicit evidence blocks, applicability-domain review, and richer provenance records for audit-grade downstream review.
77-
- Added explicit downstream-orchestration documentation and examples for contract consumers.
78-
- Documented the current synchronous deployment model instead of implying an async platform that does not exist yet.
73+
- Bumped the public package and runtime version to `0.3.0`.
74+
- Hardened `oqtHazardEvidenceSummary.v1` and `oqtReadAcrossSummary.v1` with machine-readable `assessmentBoundary`, `decisionBoundary`, `decisionOwner`, `supports`, and `requiredExternalInputs`.
75+
- Added `semanticCoverage` to the hazard uncertainty contract so the MCP states explicitly that O-QT uncertainty is qualitative evidence packaging, not probabilistic confidence.
76+
- Expanded normalized provenance and study packaging so hazard outputs can carry endpoint study records, endpoint summaries, evidence blocks, and source-call metadata in a more audit-ready shape.
77+
- Added configurable wall-clock safeguards and a live smoke suite for the Toolbox-backed surface, including hazard analysis, workflow handoffs, grouping dossiers, and log replay.
78+
- Refreshed the public docs so the README, schemas, and release notes reflect the current contract surface without referencing still-private modules.
7979

8080
## Published Schemas
8181

@@ -129,7 +129,7 @@ The O-QT MCP server turns that workflow into an **open, programmable interface**
129129
## Table of contents
130130

131131
1. [Architecture](#architecture)
132-
2. [What's New In v0.2.0](#whats-new-in-v020)
132+
2. [What's New In v0.3.0](#whats-new-in-v030)
133133
3. [Published Schemas](#published-schemas)
134134
4. [Quick start](#quick-start)
135135
5. [Related resources](#related-resources)
@@ -468,8 +468,8 @@ Update `.env` to point at a real Toolbox instance before production use.
468468
| Profile | Shape | Suitable for | Notes |
469469
| --- | --- | --- | --- |
470470
| `local-dev` | Single FastAPI process, optional auth bypass | Workstation development, smoke tests, prompt-driven debugging | Calls the Toolbox WebAPI synchronously. |
471-
| `controlled-prod` | FastAPI behind TLS reverse proxy with OIDC, RBAC, and audit shipping | Internal deployments and orchestrated suite flows | Still synchronous in v0.2.0; scale with worker policy and operational guardrails rather than a built-in queue. |
472-
| `not-in-v0.2.0` | Async queue and persistence layer | Detached batch jobs and large-scale job replay | Remains roadmap work. |
471+
| `controlled-prod` | FastAPI behind TLS reverse proxy with OIDC, RBAC, and audit shipping | Internal deployments and orchestrated suite flows | Still synchronous in v0.3.0; scale with worker policy and operational guardrails rather than a built-in queue. |
472+
| `not-in-v0.3.0` | Async queue and persistence layer | Detached batch jobs and large-scale job replay | Remains roadmap work. |
473473

474474
This release intentionally tightens the deployment story instead of over-claiming platform maturity.
475475

docs/architecture.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ O-QT MCP does not own:
1717
- Suite-wide orchestration across CompTox, AOP, PBPK, or future modules.
1818
- Final BER/WoE synthesis or decision logic.
1919
- Cross-domain semantics that properly belong to other MCPs.
20-
- Async queueing or persistence infrastructure in v0.2.0.
20+
- Async queueing or persistence infrastructure in v0.3.0.
2121

2222
## Public surface
2323

@@ -63,4 +63,4 @@ The current deployment model is synchronous and suited to controlled environment
6363
- Reverse-proxy TLS termination and OIDC/RBAC in production.
6464
- Direct connectivity to a licensed OECD QSAR Toolbox WebAPI instance.
6565

66-
An async job queue and persistence layer remain roadmap work, not part of the v0.2.0 contract.
66+
An async job queue and persistence layer remain roadmap work, not part of the v0.3.0 contract.

docs/cross_suite_alignment_2026.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ This note records the local cross-suite contract review used to harden O-QT MCP
77
- `AOP_MCP`
88
- `comptox_mcp_clean_3568d68`
99
- `PBPK_MCP`
10-
- `Bioactivity-PoD-MCP`
1110

1211
## Patterns adopted into O-QT MCP
1312

@@ -29,7 +28,7 @@ This note records the local cross-suite contract review used to harden O-QT MCP
2928
- Explicit `supports` and `requiredExternalInputs` fields so downstream consumers can tell what the module does and does not claim to decide.
3029
- Stronger uncertainty framing that distinguishes semantic coverage from quantitative confidence.
3130

32-
### From Bioactivity-PoD MCP
31+
### From other contract-first modules
3332

3433
- Explicit `decisionOwner` language so handoff objects make ownership boundaries visible.
3534
- Contract emphasis on fit-for-purpose review rather than implied finality.
@@ -57,5 +56,5 @@ This note records the local cross-suite contract review used to harden O-QT MCP
5756
- AOP draft-authoring semantics, because O-QT is not an authoring server.
5857
- CompTox-style numeric applicability-domain confidence, because O-QT does not currently produce a scientifically defensible quantitative AD confidence estimate.
5958
- PBPK qualification or model-trust governance objects, because O-QT should stay focused on OECD QSAR Toolbox evidence packaging rather than model-qualification workflow management.
60-
- Bioactivity point-of-departure decision objects, because O-QT should not claim ownership of final biological interpretation outside its module scope.
59+
- Point-of-departure decision objects, because O-QT should not claim ownership of final biological interpretation outside its module scope.
6160
- Suite-level evidence synthesis, because O-QT should remain a module-scoped OECD QSAR Toolbox engine.

docs/release_process.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ This guide describes how to cut releases for the O-QT MCP server, including sema
2727

2828
## Publishing a Release
2929

30-
1. Decide the new version (for example `v0.2.0`) and update `pyproject.toml` accordingly.
30+
1. Decide the new version (for example `v0.3.0`) and update `pyproject.toml` accordingly.
3131
2. Move entries from `## [Unreleased]` in `CHANGELOG.md` into a new section `## [x.y.z] - YYYY-MM-DD`.
32-
3. Commit changes with a message such as `chore: prepare v0.2.0 release`.
32+
3. Commit changes with a message such as `chore: prepare v0.3.0 release`.
3333
4. Tag the commit:
3434
```bash
35-
git tag -a v0.2.0 -m "O-QT MCP Server v0.2.0"
36-
git push origin v0.2.0
35+
git tag -a v0.3.0 -m "O-QT MCP Server v0.3.0"
36+
git push origin v0.3.0
3737
```
3838
5. Create a GitHub release for the new tag, pasting the changelog entry. Include links to `README.md`, `docs/architecture.md`, and `schemas/README.md` so downstream consumers can see the updated contract surface immediately.
3939

docs/releases/v0.3.0.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# O-QT MCP v0.3.0
2+
3+
This is a contract-hardening and validation release for O-QT MCP. It keeps the module in the same architectural role while making the public handoff layer more explicit, more auditable, and easier to validate against a live OECD QSAR Toolbox instance.
4+
5+
## Highlights
6+
7+
- Bumped the public package and runtime version to `0.3.0`.
8+
- Hardened `oqtHazardEvidenceSummary.v1` and `oqtReadAcrossSummary.v1` with:
9+
- `assessmentBoundary`
10+
- `decisionBoundary`
11+
- `decisionOwner`
12+
- `supports`
13+
- `requiredExternalInputs`
14+
- Added `semanticCoverage` to the hazard uncertainty contract so the object states explicitly that O-QT uncertainty is qualitative evidence packaging, not probabilistic confidence.
15+
- Expanded normalized provenance packaging for endpoint study records, endpoint summaries, evidence blocks, and source-call metadata.
16+
- Added live Toolbox smoke coverage for:
17+
- `analyze_chemical_hazard`
18+
- `run_oqt_multiagent_workflow`
19+
- `build_grouping_justification`
20+
- `build_portable_handoffs_from_log`
21+
- Added configurable wall-clock safeguards for slow profiling and discovery-heavy Toolbox paths.
22+
23+
## Included Changes
24+
25+
### Contract layer
26+
27+
- Portable hazard and read-across handoffs now publish clearer machine-readable module boundaries and downstream-review expectations.
28+
- Portable schema examples and runtime payload examples now match the `0.3.0` release markers.
29+
- Public contract notes were refreshed to remove references to still-private local module names.
30+
31+
### Runtime behavior
32+
33+
- Hazard analysis now exposes richer normalized study packaging and clearer uncertainty semantics.
34+
- Grouping/read-across responses now expose the same style of explicit module-boundary and support metadata as hazard workflows.
35+
- Runtime-reported version markers now align with package metadata and schema examples.
36+
37+
### Validation
38+
39+
- Full repo suite passed locally.
40+
- Targeted live Toolbox smoke tests passed against the current local Toolbox instance.
41+
42+
## Boundary reminder
43+
44+
O-QT MCP remains the ToxMCP suite's specialized OECD QSAR Toolbox engine.
45+
46+
It still does not become:
47+
48+
- the suite orchestrator
49+
- the final BER/WoE synthesis layer
50+
- the home for PBPK, AOP, or other module logic
51+
- an async queue/persistence platform in this release
52+
53+
That work remains outside O-QT MCP.
54+
55+
## Suggested GitHub release title
56+
57+
`O-QT MCP v0.3.0`
58+
59+
## Suggested short description
60+
61+
Contract-hardening and live-validation release for the ToxMCP OECD QSAR Toolbox engine.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "o-qt-mcp-server"
3-
version = "0.2.0"
3+
version = "0.3.0"
44
description = "Specialized MCP workflow engine for the OECD QSAR Toolbox inside the ToxMCP suite"
55
readme = "README.md"
66
license = "Apache-2.0"

schemas/examples/oqtHazardEvidenceSummary.v1.example.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@
356356
"provenance": {
357357
"workflowId": "oqthzd-benzene-20260408-0001",
358358
"sourceSystem": "OECD QSAR Toolbox WebAPI",
359-
"generatedBy": "O-QT MCP Server v0.2.0",
359+
"generatedBy": "O-QT MCP Server v0.3.0",
360360
"generatedAt": "2026-04-08T10:30:00Z",
361361
"references": [
362362
"https://github.com/ToxMCP/oqt-mcp"

schemas/examples/oqtReadAcrossSummary.v1.example.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@
171171
"provenance": {
172172
"recordId": "oqtra-benzene-20260323-0001",
173173
"sourceSystem": "OECD QSAR Toolbox WebAPI",
174-
"generatedBy": "O-QT MCP Server v0.2.0",
174+
"generatedBy": "O-QT MCP Server v0.3.0",
175175
"generatedAt": "2026-03-23T09:45:00Z",
176176
"references": [
177177
"https://github.com/ToxMCP/oqt-mcp"

schemas/examples/oqtWorkflowRecord.v1.example.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@
117117
},
118118
"provenance": {
119119
"sourceSystem": "OECD QSAR Toolbox WebAPI",
120-
"generatedBy": "O-QT MCP Server v0.2.0",
120+
"generatedBy": "O-QT MCP Server v0.3.0",
121121
"generatedAt": "2026-03-23T09:30:00Z",
122122
"repository": "https://github.com/ToxMCP/oqt-mcp",
123123
"toolboxCompatibility": "v6 compatibility routes enabled",

0 commit comments

Comments
 (0)