From ff6c5ad926c1d82da3454b17093f671ea49c5108 Mon Sep 17 00:00:00 2001 From: Codex Date: Wed, 29 Jul 2026 02:02:16 +0900 Subject: [PATCH 1/2] fix: close figure diagnostics and render contract gaps --- .../protocols/05_mcp_tool_playbook.md | 14 + docs/tools-compatibility.md | 245 +++++++++-- docs/tools-v2.md | 174 +++++++- docs/tools.md | 398 ++++++++++++++++-- hub_core/artifact_audit.py | 6 + hub_core/geometry_artist_overlaps.py | 215 ++++++++++ hub_core/geometry_raw_contract.py | 22 + hub_core/geometry_tick_labels.py | 95 ++++- hub_core/journal_geometry_policy.py | 7 + hub_core/mcp/render_geometry_schemas.py | 1 + hub_core/mcp/render_response.py | 85 ++++ hub_core/mcp/schemas.py | 47 ++- hub_core/mcp/tool_schema_common.py | 4 +- hub_core/mcp/tools/render_project.py | 37 +- hub_core/mcp/tools/render_project_contract.py | 97 +++++ hub_core/mcp/v2_tool_schemas.py | 61 ++- scripts/check_geometry_rubric_map.py | 8 +- .../ai_native_agent_eval/final-v2.json | 22 +- tests/test_issue230_geometry.py | 157 +++++++ tests/test_issue232_layout.py | 140 ++++++ tests/test_issue232_runtime_contract.py | 201 +++++++++ tests/test_issue232_ticks.py | 121 ++++++ tests/test_mcp_surface_profiles.py | 24 ++ tests/test_render_evidence.py | 17 + themes/journal_export_policy.py | 271 ++++++++++++ themes/journal_theme.py | 168 ++++---- 26 files changed, 2452 insertions(+), 185 deletions(-) create mode 100644 hub_core/mcp/tools/render_project_contract.py create mode 100644 tests/test_issue230_geometry.py create mode 100644 tests/test_issue232_layout.py create mode 100644 tests/test_issue232_runtime_contract.py create mode 100644 tests/test_issue232_ticks.py create mode 100644 themes/journal_export_policy.py diff --git a/docs/internal/protocols/05_mcp_tool_playbook.md b/docs/internal/protocols/05_mcp_tool_playbook.md index 2697395..81bd17e 100644 --- a/docs/internal/protocols/05_mcp_tool_playbook.md +++ b/docs/internal/protocols/05_mcp_tool_playbook.md @@ -109,6 +109,20 @@ fixed and change only style/output controls. - `manual_review_needed=false` is not human or venue approval. - Preview resources are lazy, manifest-bound, MIME-checked, and size-bounded. +### Audit policy names and unavailable geometry + +`figops.audit_artifact` accepts the stable public policy-pack name +`publication-readiness-v1`. The adapter projects that public name to the +internal `publication-readiness-v2` policy projection before evaluating the +evidence. `publication-readiness-v2` is intentionally not a public enum value; +callers must continue sending `publication-readiness-v1`. + +For required geometry, `not_applicable` means that the required observation is +unavailable or cannot be measured. It is not a passing result: the measurement +must include a non-empty `reason`, and the resulting policy projection remains +`needs_review` until the required evidence is available. Optional unavailable +geometry may remain informational under the selected policy. + When writes are disabled, `figops.inspect_data`, `figops.audit_artifact`, and manifest/preview reads remain available. Render, scaffold, normalize, and batch write handlers are omitted from discovery and fail closed without side effects diff --git a/docs/tools-compatibility.md b/docs/tools-compatibility.md index bf0d92b..462399d 100644 --- a/docs/tools-compatibility.md +++ b/docs/tools-compatibility.md @@ -79,7 +79,10 @@ Return FigOps server health and discovery status. "type": "integer" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "hub_path": { "type": "string" @@ -160,7 +163,10 @@ Return FigOps server health and discovery status. "type": "string" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "runtime_root": { "type": "string" @@ -198,6 +204,7 @@ Return FigOps server health and discovery status. "type": "string" }, "version": { + "description": "Installed FigOps package version. This is independent of audit policy projection identifiers.", "type": "string" }, "warnings": { @@ -271,7 +278,10 @@ Describe registered FigOps tools, plot types, semantic checks, and render exampl "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -307,7 +317,10 @@ Describe registered FigOps tools, plot types, semantic checks, and render exampl "type": "array" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -415,7 +428,10 @@ Return canonical FigOps target formats, output formats, profiles, and aliases. "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -460,7 +476,10 @@ Return canonical FigOps target formats, output formats, profiles, and aliases. "type": "array" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -589,7 +608,10 @@ Discover FigOps project configs without executing scripts or writing files. "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -688,7 +710,10 @@ Discover FigOps project configs without executing scripts or writing files. "type": "array" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -828,7 +853,10 @@ Summarize one project config without running analysis, plotting, or report write "type": "object" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "figure_outputs": { "items": { @@ -931,7 +959,10 @@ Summarize one project config without running analysis, plotting, or report write "type": "object" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "sample_registry_summary": { "type": "object" @@ -1126,7 +1157,10 @@ Run read-only config, data contract, style, and lockfile checks without executin "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -1178,7 +1212,10 @@ Run read-only config, data contract, style, and lockfile checks without executin "type": "string" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -2583,7 +2620,10 @@ Render a CSV-backed graph in an isolated runtime-root MCP job workspace. "type": "object" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "geometry_diagnostics": { "additionalProperties": false, @@ -2800,7 +2840,10 @@ Render a CSV-backed graph in an isolated runtime-root MCP job workspace. "type": "array" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -4276,7 +4319,10 @@ Render a multi-panel CSV-backed composite figure in an isolated runtime-root MCP "type": "object" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "geometry_diagnostics": { "additionalProperties": false, @@ -4496,7 +4542,10 @@ Render a multi-panel CSV-backed composite figure in an isolated runtime-root MCP "type": "object" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -4603,6 +4652,7 @@ Render one configured project figure in an isolated runtime-root MCP job workspa }, "overwrite": { "default": false, + "description": "Replace the existing isolated MCP job workspace only; never overwrite the durable project output.", "type": "boolean" }, "profile": { @@ -4682,6 +4732,43 @@ Render one configured project figure in an isolated runtime-root MCP job workspa }, "type": "array" }, + "durable_result": { + "additionalProperties": false, + "properties": { + "reason": { + "type": [ + "string", + "null" + ] + }, + "reason_code": { + "type": [ + "string", + "null" + ] + }, + "relative_path": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "durable_project_result" + ], + "type": "string" + }, + "status": { + "enum": [ + "promoted", + "not_promoted" + ], + "type": "string" + } + }, + "type": "object" + }, "error_category": { "enum": [ "validation", @@ -4704,7 +4791,10 @@ Render one configured project figure in an isolated runtime-root MCP job workspa "type": "object" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "figure_metadata": { "type": "object" @@ -4905,6 +4995,12 @@ Render one configured project figure in an isolated runtime-root MCP job workspa "output_path": { "type": "string" }, + "overwrite_scope": { + "enum": [ + "job_workspace_only" + ], + "type": "string" + }, "policy_context": { "additionalProperties": false, "properties": { @@ -5008,6 +5104,19 @@ Render one configured project figure in an isolated runtime-root MCP job workspa "promotion_eligible": { "type": "boolean" }, + "promotion_reason": { + "type": [ + "string", + "null" + ] + }, + "promotion_status": { + "enum": [ + "promoted", + "not_promoted" + ], + "type": "string" + }, "provenance": { "type": "object" }, @@ -5019,7 +5128,54 @@ Render one configured project figure in an isolated runtime-root MCP job workspa "type": "string" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] + }, + "runtime_artifact": { + "additionalProperties": false, + "properties": { + "project_relative_path": { + "type": [ + "string", + "null" + ] + }, + "relative_path": { + "type": [ + "string", + "null" + ] + }, + "sha256": { + "pattern": "^[0-9a-fA-F]{64}$", + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "runtime_snapshot" + ], + "type": "string" + }, + "status": { + "enum": [ + "created", + "unavailable" + ], + "type": "string" + }, + "uri": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" }, "script_output": { "items": { @@ -5042,6 +5198,9 @@ Render one configured project figure in an isolated runtime-root MCP job workspa "source_project_path": { "type": "string" }, + "source_unchanged": { + "type": "boolean" + }, "status": { "enum": [ "ok", @@ -5293,7 +5452,10 @@ Return artifact metadata for a completed MCP render job. "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "figure_metadata": { "type": "object" @@ -5402,7 +5564,10 @@ Return artifact metadata for a completed MCP render job. "type": "object" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -5542,7 +5707,10 @@ Plan or create a standard FigOps project scaffold. "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -5587,7 +5755,10 @@ Plan or create a standard FigOps project scaffold. "type": "string" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -5761,7 +5932,10 @@ Propose migration mappings or apply an explicitly reviewed copy-only structure p "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -5818,7 +5992,10 @@ Propose migration mappings or apply an explicitly reviewed copy-only structure p "type": "object" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rollback_journal": { "type": "object" @@ -5982,7 +6159,10 @@ Run a bounded project discovery and validation batch check with optional runtime "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -6018,7 +6198,10 @@ Run a bounded project discovery and validation batch check with optional runtime "type": "string" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "resumed_from": { "type": "string" @@ -6126,7 +6309,10 @@ Evaluate an existing render job manifest into a read-only publication-readiness "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -6159,7 +6345,10 @@ Evaluate an existing render job manifest into a read-only publication-readiness "type": "object" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { diff --git a/docs/tools-v2.md b/docs/tools-v2.md index de9b506..fcbc228 100644 --- a/docs/tools-v2.md +++ b/docs/tools-v2.md @@ -79,7 +79,10 @@ Return FigOps server health and discovery status. "type": "integer" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "hub_path": { "type": "string" @@ -160,7 +163,10 @@ Return FigOps server health and discovery status. "type": "string" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "runtime_root": { "type": "string" @@ -198,6 +204,7 @@ Return FigOps server health and discovery status. "type": "string" }, "version": { + "description": "Installed FigOps package version. This is independent of audit policy projection identifiers.", "type": "string" }, "warnings": { @@ -386,7 +393,10 @@ Return canonical FigOps target formats, output formats, profiles, and aliases. "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -431,7 +441,10 @@ Return canonical FigOps target formats, output formats, profiles, and aliases. "type": "array" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -699,6 +712,7 @@ Render one quick CSV chart with raw labels and no statistics DSL. }, "overwrite": { "default": false, + "description": "Replace the existing isolated MCP job workspace only; never overwrite the durable project output.", "type": "boolean" }, "plot_type": { @@ -787,6 +801,12 @@ Render one quick CSV chart with raw labels and no statistics DSL. "null" ] }, + "failure_stage": { + "type": [ + "string", + "null" + ] + }, "job_id": { "type": "string" }, @@ -805,6 +825,12 @@ Render one quick CSV chart with raw labels and no statistics DSL. "null" ] }, + "resolution_hint": { + "type": [ + "string", + "null" + ] + }, "schema_version": { "type": "string" }, @@ -872,6 +898,7 @@ Render one configured project-local .py or .R figure; code and command strings a }, "overwrite": { "default": false, + "description": "Replace the existing isolated MCP job workspace only; never overwrite the durable project output.", "type": "boolean" }, "project_id": { @@ -927,6 +954,50 @@ Render one configured project-local .py or .R figure; code and command strings a "null" ] }, + "durable_result": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "reason": { + "type": [ + "string", + "null" + ] + }, + "reason_code": { + "type": [ + "string", + "null" + ] + }, + "relative_path": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "durable_project_result" + ], + "type": "string" + }, + "status": { + "enum": [ + "promoted", + "not_promoted" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, "errors": { "items": { "type": "string" @@ -939,6 +1010,12 @@ Render one configured project-local .py or .R figure; code and command strings a "null" ] }, + "failure_stage": { + "type": [ + "string", + "null" + ] + }, "job_id": { "type": "string" }, @@ -951,6 +1028,12 @@ Render one configured project-local .py or .R figure; code and command strings a "manual_review_needed": { "type": "boolean" }, + "overwrite_scope": { + "enum": [ + "job_workspace_only" + ], + "type": "string" + }, "policy_context": { "additionalProperties": false, "properties": { @@ -1045,12 +1128,92 @@ Render one configured project-local .py or .R figure; code and command strings a "null" ] }, + "promotion_eligible": { + "type": "boolean" + }, + "promotion_reason": { + "type": [ + "string", + "null" + ] + }, + "promotion_status": { + "enum": [ + "promoted", + "not_promoted", + null + ], + "type": [ + "string", + "null" + ] + }, + "resolution_hint": { + "type": [ + "string", + "null" + ] + }, + "runtime_artifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "project_relative_path": { + "type": [ + "string", + "null" + ] + }, + "relative_path": { + "type": [ + "string", + "null" + ] + }, + "sha256": { + "pattern": "^[0-9a-fA-F]{64}$", + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "runtime_snapshot" + ], + "type": "string" + }, + "status": { + "enum": [ + "created", + "unavailable" + ], + "type": "string" + }, + "uri": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, "runtime_availability": { "type": "object" }, "schema_version": { "type": "string" }, + "source_unchanged": { + "type": "boolean" + }, "status": { "enum": [ "ok", @@ -1217,7 +1380,7 @@ Render one configured project-local .py or .R figure; code and command strings a ### `figops.audit_artifact` -Audit validated completed-job evidence with zero or more explicit policy packs. +Audit validated completed-job evidence with zero or more explicit policy packs. The public publication-readiness-v1 pack projects internally to publication-readiness-v2; v2 is not a public enum value. Required geometry marked not_applicable remains unresolved and requires review. **Input schema** @@ -1232,6 +1395,7 @@ Audit validated completed-job evidence with zero or more explicit policy packs. }, "policy_packs": { "default": [], + "description": "Public policy-pack identifiers only. publication-readiness-v1 is projected internally to publication-readiness-v2; the internal id must not be supplied by callers.", "items": { "enum": [ "publication-readiness-v1" diff --git a/docs/tools.md b/docs/tools.md index ba6a7e8..cc69534 100644 --- a/docs/tools.md +++ b/docs/tools.md @@ -79,7 +79,10 @@ Return FigOps server health and discovery status. "type": "integer" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "hub_path": { "type": "string" @@ -160,7 +163,10 @@ Return FigOps server health and discovery status. "type": "string" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "runtime_root": { "type": "string" @@ -198,6 +204,7 @@ Return FigOps server health and discovery status. "type": "string" }, "version": { + "description": "Installed FigOps package version. This is independent of audit policy projection identifiers.", "type": "string" }, "warnings": { @@ -271,7 +278,10 @@ Describe registered FigOps tools, plot types, semantic checks, and render exampl "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -307,7 +317,10 @@ Describe registered FigOps tools, plot types, semantic checks, and render exampl "type": "array" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -415,7 +428,10 @@ Return canonical FigOps target formats, output formats, profiles, and aliases. "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -460,7 +476,10 @@ Return canonical FigOps target formats, output formats, profiles, and aliases. "type": "array" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -589,7 +608,10 @@ Discover FigOps project configs without executing scripts or writing files. "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -688,7 +710,10 @@ Discover FigOps project configs without executing scripts or writing files. "type": "array" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -828,7 +853,10 @@ Summarize one project config without running analysis, plotting, or report write "type": "object" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "figure_outputs": { "items": { @@ -931,7 +959,10 @@ Summarize one project config without running analysis, plotting, or report write "type": "object" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "sample_registry_summary": { "type": "object" @@ -1126,7 +1157,10 @@ Run read-only config, data contract, style, and lockfile checks without executin "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -1178,7 +1212,10 @@ Run read-only config, data contract, style, and lockfile checks without executin "type": "string" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -2583,7 +2620,10 @@ Render a CSV-backed graph in an isolated runtime-root MCP job workspace. "type": "object" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "geometry_diagnostics": { "additionalProperties": false, @@ -2800,7 +2840,10 @@ Render a CSV-backed graph in an isolated runtime-root MCP job workspace. "type": "array" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -4276,7 +4319,10 @@ Render a multi-panel CSV-backed composite figure in an isolated runtime-root MCP "type": "object" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "geometry_diagnostics": { "additionalProperties": false, @@ -4496,7 +4542,10 @@ Render a multi-panel CSV-backed composite figure in an isolated runtime-root MCP "type": "object" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -4603,6 +4652,7 @@ Render one configured project figure in an isolated runtime-root MCP job workspa }, "overwrite": { "default": false, + "description": "Replace the existing isolated MCP job workspace only; never overwrite the durable project output.", "type": "boolean" }, "profile": { @@ -4682,6 +4732,43 @@ Render one configured project figure in an isolated runtime-root MCP job workspa }, "type": "array" }, + "durable_result": { + "additionalProperties": false, + "properties": { + "reason": { + "type": [ + "string", + "null" + ] + }, + "reason_code": { + "type": [ + "string", + "null" + ] + }, + "relative_path": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "durable_project_result" + ], + "type": "string" + }, + "status": { + "enum": [ + "promoted", + "not_promoted" + ], + "type": "string" + } + }, + "type": "object" + }, "error_category": { "enum": [ "validation", @@ -4704,7 +4791,10 @@ Render one configured project figure in an isolated runtime-root MCP job workspa "type": "object" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "figure_metadata": { "type": "object" @@ -4905,6 +4995,12 @@ Render one configured project figure in an isolated runtime-root MCP job workspa "output_path": { "type": "string" }, + "overwrite_scope": { + "enum": [ + "job_workspace_only" + ], + "type": "string" + }, "policy_context": { "additionalProperties": false, "properties": { @@ -5008,6 +5104,19 @@ Render one configured project figure in an isolated runtime-root MCP job workspa "promotion_eligible": { "type": "boolean" }, + "promotion_reason": { + "type": [ + "string", + "null" + ] + }, + "promotion_status": { + "enum": [ + "promoted", + "not_promoted" + ], + "type": "string" + }, "provenance": { "type": "object" }, @@ -5019,7 +5128,54 @@ Render one configured project figure in an isolated runtime-root MCP job workspa "type": "string" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] + }, + "runtime_artifact": { + "additionalProperties": false, + "properties": { + "project_relative_path": { + "type": [ + "string", + "null" + ] + }, + "relative_path": { + "type": [ + "string", + "null" + ] + }, + "sha256": { + "pattern": "^[0-9a-fA-F]{64}$", + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "runtime_snapshot" + ], + "type": "string" + }, + "status": { + "enum": [ + "created", + "unavailable" + ], + "type": "string" + }, + "uri": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" }, "script_output": { "items": { @@ -5042,6 +5198,9 @@ Render one configured project figure in an isolated runtime-root MCP job workspa "source_project_path": { "type": "string" }, + "source_unchanged": { + "type": "boolean" + }, "status": { "enum": [ "ok", @@ -5293,7 +5452,10 @@ Return artifact metadata for a completed MCP render job. "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "figure_metadata": { "type": "object" @@ -5402,7 +5564,10 @@ Return artifact metadata for a completed MCP render job. "type": "object" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -5504,7 +5669,10 @@ Evaluate an existing render job manifest into a read-only publication-readiness "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -5537,7 +5705,10 @@ Evaluate an existing render job manifest into a read-only publication-readiness "type": "object" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -5674,7 +5845,10 @@ Plan or create a standard FigOps project scaffold. "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -5719,7 +5893,10 @@ Plan or create a standard FigOps project scaffold. "type": "string" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "script_output": { "items": { @@ -5893,7 +6070,10 @@ Propose migration mappings or apply an explicitly reviewed copy-only structure p "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -5950,7 +6130,10 @@ Propose migration mappings or apply an explicitly reviewed copy-only structure p "type": "object" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "rollback_journal": { "type": "object" @@ -6114,7 +6297,10 @@ Run a bounded project discovery and validation batch check with optional runtime "type": "array" }, "failure_stage": { - "type": "string" + "type": [ + "string", + "null" + ] }, "is_dry_run": { "type": "boolean" @@ -6150,7 +6336,10 @@ Run a bounded project discovery and validation batch check with optional runtime "type": "string" }, "resolution_hint": { - "type": "string" + "type": [ + "string", + "null" + ] }, "resumed_from": { "type": "string" @@ -6415,6 +6604,7 @@ Render one quick CSV chart with raw labels and no statistics DSL. }, "overwrite": { "default": false, + "description": "Replace the existing isolated MCP job workspace only; never overwrite the durable project output.", "type": "boolean" }, "plot_type": { @@ -6503,6 +6693,12 @@ Render one quick CSV chart with raw labels and no statistics DSL. "null" ] }, + "failure_stage": { + "type": [ + "string", + "null" + ] + }, "job_id": { "type": "string" }, @@ -6521,6 +6717,12 @@ Render one quick CSV chart with raw labels and no statistics DSL. "null" ] }, + "resolution_hint": { + "type": [ + "string", + "null" + ] + }, "schema_version": { "type": "string" }, @@ -6588,6 +6790,7 @@ Render one configured project-local .py or .R figure; code and command strings a }, "overwrite": { "default": false, + "description": "Replace the existing isolated MCP job workspace only; never overwrite the durable project output.", "type": "boolean" }, "project_id": { @@ -6643,6 +6846,50 @@ Render one configured project-local .py or .R figure; code and command strings a "null" ] }, + "durable_result": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "reason": { + "type": [ + "string", + "null" + ] + }, + "reason_code": { + "type": [ + "string", + "null" + ] + }, + "relative_path": { + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "durable_project_result" + ], + "type": "string" + }, + "status": { + "enum": [ + "promoted", + "not_promoted" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, "errors": { "items": { "type": "string" @@ -6655,6 +6902,12 @@ Render one configured project-local .py or .R figure; code and command strings a "null" ] }, + "failure_stage": { + "type": [ + "string", + "null" + ] + }, "job_id": { "type": "string" }, @@ -6667,6 +6920,12 @@ Render one configured project-local .py or .R figure; code and command strings a "manual_review_needed": { "type": "boolean" }, + "overwrite_scope": { + "enum": [ + "job_workspace_only" + ], + "type": "string" + }, "policy_context": { "additionalProperties": false, "properties": { @@ -6761,12 +7020,92 @@ Render one configured project-local .py or .R figure; code and command strings a "null" ] }, + "promotion_eligible": { + "type": "boolean" + }, + "promotion_reason": { + "type": [ + "string", + "null" + ] + }, + "promotion_status": { + "enum": [ + "promoted", + "not_promoted", + null + ], + "type": [ + "string", + "null" + ] + }, + "resolution_hint": { + "type": [ + "string", + "null" + ] + }, + "runtime_artifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "project_relative_path": { + "type": [ + "string", + "null" + ] + }, + "relative_path": { + "type": [ + "string", + "null" + ] + }, + "sha256": { + "pattern": "^[0-9a-fA-F]{64}$", + "type": [ + "string", + "null" + ] + }, + "source": { + "enum": [ + "runtime_snapshot" + ], + "type": "string" + }, + "status": { + "enum": [ + "created", + "unavailable" + ], + "type": "string" + }, + "uri": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, "runtime_availability": { "type": "object" }, "schema_version": { "type": "string" }, + "source_unchanged": { + "type": "boolean" + }, "status": { "enum": [ "ok", @@ -6933,7 +7272,7 @@ Render one configured project-local .py or .R figure; code and command strings a ### `figops.audit_artifact` -Audit validated completed-job evidence with zero or more explicit policy packs. +Audit validated completed-job evidence with zero or more explicit policy packs. The public publication-readiness-v1 pack projects internally to publication-readiness-v2; v2 is not a public enum value. Required geometry marked not_applicable remains unresolved and requires review. **Input schema** @@ -6948,6 +7287,7 @@ Audit validated completed-job evidence with zero or more explicit policy packs. }, "policy_packs": { "default": [], + "description": "Public policy-pack identifiers only. publication-readiness-v1 is projected internally to publication-readiness-v2; the internal id must not be supplied by callers.", "items": { "enum": [ "publication-readiness-v1" diff --git a/hub_core/artifact_audit.py b/hub_core/artifact_audit.py index d7cad98..184eb47 100644 --- a/hub_core/artifact_audit.py +++ b/hub_core/artifact_audit.py @@ -4,6 +4,12 @@ always evaluates immutable integrity facts, while geometry, presentation, and other readiness judgments are evaluated only when the caller selects a closed policy pack. Automatic audit results always require human review. + +The stable public policy-pack identifier is "publication-readiness-v1". The +audit adapter projects that public name to the internal +"publication-readiness-v2" policy projection before delegating evaluation; the +v2 identifier is an implementation detail and is not accepted as a public +policy_packs value. """ from __future__ import annotations diff --git a/hub_core/geometry_artist_overlaps.py b/hub_core/geometry_artist_overlaps.py index db65ca4..ea792d5 100644 --- a/hub_core/geometry_artist_overlaps.py +++ b/hub_core/geometry_artist_overlaps.py @@ -101,6 +101,221 @@ def _line_overlap_boxes(ax: Axes, line: Any) -> list[Bbox]: return boxes +def _segment_bbox_intersection_length( + start: np.ndarray, + end: np.ndarray, + box: Bbox, +) -> float: + """Return the positive-length intersection of a segment and a box. + + ``_line_overlap_boxes`` intentionally models a line as a padded AABB for + the legacy IoU check. That approximation is too coarse for a thin line: + its box has a tiny area relative to a text bbox even when the line runs + directly through the text. This helper instead clips the *centerline* + against the text bbox (Liang--Barsky), so corner/edge contacts do not + become crossings and a line only counts when it spends measurable length + inside the text box. + """ + + x0, y0 = float(start[0]), float(start[1]) + x1, y1 = float(end[0]), float(end[1]) + dx = x1 - x0 + dy = y1 - y0 + segment_length = float(np.hypot(dx, dy)) + if not np.isfinite(segment_length) or segment_length <= GEOM_EPS_PX: + return 0.0 + + # Parametric clipping against x >= box.x0, x <= box.x1, + # y >= box.y0, and y <= box.y1. Keeping the interval in [0, 1] + # avoids constructing an expanded bbox (which would reintroduce + # linewidth-dependent false positives). + lower = 0.0 + upper = 1.0 + for p, q in ( + (-dx, x0 - float(box.x0)), + (dx, float(box.x1) - x0), + (-dy, y0 - float(box.y0)), + (dy, float(box.y1) - y0), + ): + if abs(p) <= np.finfo(float).eps: + if q < 0: + return 0.0 + continue + ratio = q / p + if p < 0: + if ratio > upper: + return 0.0 + lower = max(lower, ratio) + else: + if ratio < lower: + return 0.0 + upper = min(upper, ratio) + if upper <= lower: + return 0.0 + clipped_length = segment_length * (upper - lower) + if clipped_length <= GEOM_EPS_PX: + return 0.0 + return float(clipped_length) + + +def _line_display_segments(ax: Axes, line: Any, *, max_segments: int) -> list[tuple[int, np.ndarray, np.ndarray]]: + """Return finite display-space line segments with stable source indices. + + NaN-separated paths are not joined. A finite segment cap keeps this + metric bounded for a pathological polyline while retaining the original + segment index in every reported fact. + """ + + if max_segments <= 0: + return [] + try: + xy = np.asarray(line.get_xydata(), dtype=float) + except (TypeError, ValueError): + return [] + if xy.ndim != 2 or xy.shape[1] < 2 or xy.shape[0] < 2: + return [] + # The path cap also bounds the transform itself; do not materialize a + # million-vertex polyline merely to retain the first bounded candidates. + xy = xy[: max_segments + 1, :2] + + try: + transform = line.get_transform() + except (AttributeError, RuntimeError): + transform = ax.transData + if transform is None or not hasattr(transform, "transform"): + transform = ax.transData + try: + # ``axhline``/``axvline`` use blended axis/data transforms; using the + # line's own transform keeps those reference lines correct when the + # data limits are not the default 0..1 range. + display = np.asarray(transform.transform(xy[:, :2]), dtype=float) + except (TypeError, ValueError, OverflowError, RuntimeError): + return [] + if display.shape != (xy.shape[0], 2): + return [] + + segments: list[tuple[int, np.ndarray, np.ndarray]] = [] + for segment_index, (start, end) in enumerate(zip(display[:-1], display[1:])): + if not (np.all(np.isfinite(start)) and np.all(np.isfinite(end))): + continue + segments.append((int(segment_index), start, end)) + if len(segments) >= max_segments: + break + return segments + + +def _line_text_crossings( + ax: Axes, + renderer: Any, + *, + is_paintable: PaintablePredicate, + candidate_cap: int, + reported_cap: int, +) -> dict[str, Any]: + """Measure high-confidence line-segment/text-bbox crossings. + + The result is deliberately a policy-neutral fact object: it reports what + was measured and bounded, but never a threshold, verdict, or severity. + Lines and text are considered in stable Matplotlib artist order. A + segment counts only when its centerline has more than ``GEOM_EPS_PX`` of + positive-length intersection with a visible, non-empty text bbox. + """ + + if candidate_cap <= 0 or reported_cap <= 0: + raise ValueError("candidate_cap and reported_cap must be positive") + + from matplotlib.text import Text + + line_entries: list[tuple[int, str, Any]] = [] + for line_index, line in enumerate(ax.get_lines()): + if is_paintable(line): + line_entries.append((int(line_index), f"line:{line_index}", line)) + text_entries: list[tuple[int, str, Bbox]] = [] + + def add_text(text: Any, fallback: str, text_index: int) -> None: + if not isinstance(text, Text) or not is_paintable(text) or not text.get_text(): + return + bb = _extent(text, renderer) + if bb is None or _box_area(bb) <= 0: + return + text_entries.append((int(text_index), _artist_label(text, fallback), bb)) + + add_text(ax.title, "title", 0) + for text_index, text in enumerate(ax.texts, start=1): + add_text(text, f"text:{text_index - 1}", text_index) + + evaluated_lines = line_entries[:candidate_cap] + evaluated_texts = text_entries[:candidate_cap] + text_bounds = ( + np.asarray( + [ + [float(text_box.x0), float(text_box.y0), float(text_box.x1), float(text_box.y1)] + for _index, _label, text_box in evaluated_texts + ], + dtype=float, + ) + if evaluated_texts + else np.empty((0, 4), dtype=float) + ) + crossing_count = 0 + crossings: list[dict[str, Any]] = [] + # A line with millions of vertices must not turn a diagnostics call into + # an unbounded walk. Use the same candidate cap for vertices and retain + # the original segment index for deterministic evidence. + for line_index, line_label, line in evaluated_lines: + segments = _line_display_segments(ax, line, max_segments=candidate_cap) + for segment_index, start, end in segments: + segment_length = float(np.hypot(*(end - start))) + if text_bounds.size == 0: + continue + segment_x0 = min(float(start[0]), float(end[0])) + segment_x1 = max(float(start[0]), float(end[0])) + segment_y0 = min(float(start[1]), float(end[1])) + segment_y1 = max(float(start[1]), float(end[1])) + # Most segments are nowhere near most text bboxes. Keep the + # exact Liang--Barsky predicate below, but cheaply cull disjoint + # AABBs in NumPy first to avoid an O(lines*segments*texts) Python + # loop for dense figures. + possible_texts = np.flatnonzero( + (text_bounds[:, 2] > segment_x0) + & (text_bounds[:, 0] < segment_x1) + & (text_bounds[:, 3] > segment_y0) + & (text_bounds[:, 1] < segment_y1) + ) + for text_position in possible_texts: + text_index, text_label, text_box = evaluated_texts[int(text_position)] + intersection_length = _segment_bbox_intersection_length(start, end, text_box) + if intersection_length <= GEOM_EPS_PX: + continue + crossing_count += 1 + if len(crossings) >= reported_cap: + continue + crossings.append( + { + "line": line_label, + "text": text_label, + "line_index": int(line_index), + "segment_index": int(segment_index), + "text_index": int(text_index), + "intersection_length_px": round(float(intersection_length), 6), + "segment_length_px": round(float(segment_length), 6), + } + ) + + return { + "line_count": int(len(line_entries)), + "evaluated_line_count": int(len(evaluated_lines)), + "lines_truncated": bool(len(line_entries) > len(evaluated_lines)), + "text_count": int(len(text_entries)), + "evaluated_text_count": int(len(evaluated_texts)), + "texts_truncated": bool(len(text_entries) > len(evaluated_texts)), + "crossing_count": int(crossing_count), + "reported_crossing_count": int(len(crossings)), + "crossings": crossings, + "crossings_truncated": bool(crossing_count > len(crossings)), + } + + def _artist_overlap_candidates( ax: Axes, renderer: Any, diff --git a/hub_core/geometry_raw_contract.py b/hub_core/geometry_raw_contract.py index 6807792..4e7e2d6 100644 --- a/hub_core/geometry_raw_contract.py +++ b/hub_core/geometry_raw_contract.py @@ -148,6 +148,7 @@ def threshold_neutral_geometry_measurements( from .geometry_artist_overlaps import ( _artist_overlap_candidate_items, _is_reportable_artist_overlap, + _line_text_crossings, ) from .geometry_overlay_contrast import ( _artist_rgb, @@ -238,6 +239,27 @@ def threshold_neutral_geometry_measurements( ) ) + # IoU is intentionally retained above for the legacy artist-overlap + # projection. A thin line has negligible area relative to a text + # bbox, though, so the raw v2 surface also carries an exact + # centerline-vs-bbox segment intersection fact. This measurement is + # policy-neutral: it contains bounded geometry evidence only and does + # not alter the legacy ``artist_overlaps`` verdict. + measurements.append( + _available_measurement( + "line_text_crossings", + axis_index, + "structured", + _line_text_crossings( + ax, + renderer, + is_paintable=is_paintable, + candidate_cap=candidate_cap, + reported_cap=reported_cap, + ), + ) + ) + texts = [ text for text in ax.texts diff --git a/hub_core/geometry_tick_labels.py b/hub_core/geometry_tick_labels.py index c1f9f1e..b1fcb22 100644 --- a/hub_core/geometry_tick_labels.py +++ b/hub_core/geometry_tick_labels.py @@ -17,6 +17,42 @@ def _visible_tick_labels(labels: list[Any], *, is_paintable: PaintablePredicate) return [label for label in labels if label.get_text() and is_paintable(label)] +def _axis_tick_labels(ax: Any, axis: str, *, minor: bool = False) -> list[Any]: + """Return major or minor labels without changing the public major index space. + + ``Axes.get_*ticklabels()`` defaults to major ticks. Keeping this small + compatibility helper here lets the overlap metric inspect labels that are + actually painted by a minor formatter while preserving the historical + ``x_overlap_pairs``/``y_overlap_pairs`` indices for major labels. + """ + + getter = ax.get_xticklabels if axis == "x" else ax.get_yticklabels + try: + return list(getter(minor=minor)) + except TypeError: + # A minimal test double (or an older Matplotlib facade) may not expose + # the ``minor`` keyword. Its default remains the major-label path. + return list(getter()) + + +def _offset_text_evidence(axis_obj: Any, *, is_paintable: PaintablePredicate) -> dict[str, Any]: + """Expose the rendered offset text as policy-neutral, deterministic evidence.""" + + getter = getattr(axis_obj, "get_offset_text", None) + if getter is None: + return {"text": "", "visible": False, "paintable": False, "displayed": False} + offset = getter() + if offset is None: + return {"text": "", "visible": False, "paintable": False, "displayed": False} + text = str(offset.get_text() or "") + return { + "text": text, + "visible": bool(offset.get_visible()), + "paintable": bool(is_paintable(offset)), + "displayed": bool(text and is_paintable(offset)), + } + + def _truncate_pairs(pairs: list[list[int]], *, max_reported_pairs: int) -> tuple[list[list[int]], bool]: if len(pairs) > max_reported_pairs: return pairs[:max_reported_pairs], True @@ -33,14 +69,38 @@ def _tick_label_overlaps( max_reported_pairs: int, ) -> dict[str, Any]: name = "tick_label_overlaps" + x_major_labels = _visible_tick_labels( + _axis_tick_labels(ax, "x", minor=False), is_paintable=is_paintable + ) + y_major_labels = _visible_tick_labels( + _axis_tick_labels(ax, "y", minor=False), is_paintable=is_paintable + ) + x_minor_labels = _visible_tick_labels( + _axis_tick_labels(ax, "x", minor=True), is_paintable=is_paintable + ) + y_minor_labels = _visible_tick_labels( + _axis_tick_labels(ax, "y", minor=True), is_paintable=is_paintable + ) x_pairs = _axis_tick_overlaps( - _visible_tick_labels(list(ax.get_xticklabels()), is_paintable=is_paintable), + x_major_labels, renderer, "x", max_text_artists=max_text_artists, ) y_pairs = _axis_tick_overlaps( - _visible_tick_labels(list(ax.get_yticklabels()), is_paintable=is_paintable), + y_major_labels, + renderer, + "y", + max_text_artists=max_text_artists, + ) + x_minor_pairs = _axis_tick_overlaps( + x_minor_labels, + renderer, + "x", + max_text_artists=max_text_artists, + ) + y_minor_pairs = _axis_tick_overlaps( + y_minor_labels, renderer, "y", max_text_artists=max_text_artists, @@ -51,9 +111,26 @@ def _tick_label_overlaps( "passed": None, "detail": f"skipped: text artist count exceeds cap {max_text_artists}", "data": {"axis_index": int(axis_index)}, - } + } x_pairs, x_truncated = _truncate_pairs(x_pairs, max_reported_pairs=max_reported_pairs) y_pairs, y_truncated = _truncate_pairs(y_pairs, max_reported_pairs=max_reported_pairs) + if x_minor_pairs is not None: + x_minor_pairs, x_minor_truncated = _truncate_pairs( + x_minor_pairs, max_reported_pairs=max_reported_pairs + ) + else: + x_minor_truncated = False + if y_minor_pairs is not None: + y_minor_pairs, y_minor_truncated = _truncate_pairs( + y_minor_pairs, max_reported_pairs=max_reported_pairs + ) + else: + y_minor_truncated = False + x_minor_label_texts = [str(label.get_text()) for label in x_minor_labels[:max_text_artists]] + y_minor_label_texts = [str(label.get_text()) for label in y_minor_labels[:max_text_artists]] + # Deliberately keep ``passed`` and its count major-only for compatibility. + # Minor evidence is additive and policy-neutral; callers can decide whether + # a journal policy should suppress it without changing generic diagnostics. count = len(x_pairs) + len(y_pairs) return { "name": name, @@ -65,6 +142,18 @@ def _tick_label_overlaps( "y_overlap_pairs": y_pairs, "x_overlap_pairs_truncated": bool(x_truncated), "y_overlap_pairs_truncated": bool(y_truncated), + "x_minor_labels": x_minor_label_texts, + "y_minor_labels": y_minor_label_texts, + "x_minor_label_count": len(x_minor_labels), + "y_minor_label_count": len(y_minor_labels), + "x_minor_labels_truncated": len(x_minor_labels) > len(x_minor_label_texts), + "y_minor_labels_truncated": len(y_minor_labels) > len(y_minor_label_texts), + "x_minor_overlap_pairs": x_minor_pairs, + "y_minor_overlap_pairs": y_minor_pairs, + "x_minor_overlap_pairs_truncated": bool(x_minor_truncated), + "y_minor_overlap_pairs_truncated": bool(y_minor_truncated), + "x_offset_text": _offset_text_evidence(ax.xaxis, is_paintable=is_paintable), + "y_offset_text": _offset_text_evidence(ax.yaxis, is_paintable=is_paintable), }, } diff --git a/hub_core/journal_geometry_policy.py b/hub_core/journal_geometry_policy.py index 2502598..1c34017 100644 --- a/hub_core/journal_geometry_policy.py +++ b/hub_core/journal_geometry_policy.py @@ -100,6 +100,13 @@ def _positive_number(value: Any) -> float | None: def _unavailable_results(reason: str) -> list[dict[str, Any]]: + """Represent missing required geometry as review-needed, never as a pass. + + not_applicable is an availability state, not a successful check. The + artifact-policy projection uses the required enforcement marker and its + aggregate status to keep these results at needs_review until a reasoned + observation is available. + """ return [ _result(check_id, "style_geometry_observations", "not_applicable", None, expected, reason) for check_id, expected in ( diff --git a/hub_core/mcp/render_geometry_schemas.py b/hub_core/mcp/render_geometry_schemas.py index b71dd63..ab4ca68 100644 --- a/hub_core/mcp/render_geometry_schemas.py +++ b/hub_core/mcp/render_geometry_schemas.py @@ -13,6 +13,7 @@ "style_geometry_observations", "text_axis_edge_distances", "artist_pair_iou", + "line_text_crossings", "annotation_overlay_contrast_ratios", ) diff --git a/hub_core/mcp/render_response.py b/hub_core/mcp/render_response.py index 68f3c98..bb9adda 100644 --- a/hub_core/mcp/render_response.py +++ b/hub_core/mcp/render_response.py @@ -3,7 +3,9 @@ from __future__ import annotations import json +import re from collections.abc import Mapping, Sequence +from pathlib import PurePosixPath from typing import Any, Final from urllib.parse import quote @@ -14,6 +16,7 @@ MAX_RESPONSE_WARNINGS: Final = 24 MAX_RESPONSE_TEXT: Final = 512 _RASTER_MEDIA: Final = {"image/png", "image/jpeg", "image/webp"} +_SHA256: Final = re.compile(r"^[0-9a-fA-F]{64}$") def one_render_response(tool_name: str, result: Mapping[str, Any]) -> dict[str, Any]: @@ -45,6 +48,7 @@ def one_render_response(tool_name: str, result: Mapping[str, Any]) -> dict[str, "reason": _text(runtime_availability.get("reason")), } _add_project_render_context(response, result) + _add_project_result_contract(response, result) return _bounded(response) evidence = normalize_evidence_envelope(evidence_raw) @@ -66,6 +70,7 @@ def one_render_response(tool_name: str, result: Mapping[str, Any]) -> dict[str, "resolution_hint": None, } _add_project_render_context(response, result) + _add_project_result_contract(response, result) return _bounded(response) @@ -170,6 +175,86 @@ def _add_project_render_context(response: dict[str, Any], result: Mapping[str, A response[key] = dict(value) +def _safe_relative_path(value: Any) -> str | None: + """Return a project/runtime-relative path, rejecting host paths and traversal.""" + + if not isinstance(value, str) or not value.strip(): + return None + normalized = value.replace("\\", "/") + path = PurePosixPath(normalized) + if path.is_absolute() or any(part in {"", ".", ".."} for part in path.parts): + return None + # Windows drive-qualified paths are not relative even when parsed as POSIX. + if len(normalized) >= 2 and normalized[1] == ":": + return None + return path.as_posix() + + +def _project_result_contract(value: Any) -> dict[str, Any] | None: + if not isinstance(value, Mapping): + return None + status = value.get("status") + if status not in {"created", "unavailable"}: + return None + uri = value.get("uri") + if not isinstance(uri, str) or not uri.startswith("runtime://"): + uri = None + elif _safe_relative_path(uri.removeprefix("runtime://")) is None: + uri = None + digest = value.get("sha256") + if not isinstance(digest, str) or _SHA256.fullmatch(digest) is None: + digest = None + return { + "status": status, + "uri": uri, + "relative_path": _safe_relative_path(value.get("relative_path")), + "project_relative_path": _safe_relative_path(value.get("project_relative_path")), + "sha256": digest.lower() if digest else None, + "source": "runtime_snapshot", + } + + +def _durable_result_contract(value: Any) -> dict[str, Any] | None: + if not isinstance(value, Mapping): + return None + status = value.get("status") + if status not in {"promoted", "not_promoted"}: + return None + reason_code = value.get("reason_code") + if reason_code is not None: + reason_code = _text(reason_code) + reason = value.get("reason") + if reason is not None: + reason = _text(reason) + return { + "status": status, + "relative_path": _safe_relative_path(value.get("relative_path")), + "reason_code": reason_code, + "reason": reason, + "source": "durable_project_result", + } + + +def _add_project_result_contract(response: dict[str, Any], result: Mapping[str, Any]) -> None: + """Preserve the explicit runtime/durable distinction on the compact v2 surface.""" + + runtime_artifact = _project_result_contract(result.get("runtime_artifact")) + durable_result = _durable_result_contract(result.get("durable_result")) + if runtime_artifact is not None: + response["runtime_artifact"] = runtime_artifact + if durable_result is not None: + response["durable_result"] = durable_result + if isinstance(result.get("promotion_eligible"), bool): + response["promotion_eligible"] = result["promotion_eligible"] + if isinstance(result.get("source_unchanged"), bool): + response["source_unchanged"] = result["source_unchanged"] + if result.get("overwrite_scope") == "job_workspace_only": + response["overwrite_scope"] = "job_workspace_only" + if durable_result is not None: + response["promotion_status"] = durable_result["status"] + response["promotion_reason"] = durable_result["reason"] + + def _bounded(response: dict[str, Any]) -> dict[str, Any]: encoded = json.dumps(response, ensure_ascii=False, separators=(",", ":")).encode("utf-8") if len(encoded) > MAX_RENDER_RESPONSE_BYTES: diff --git a/hub_core/mcp/schemas.py b/hub_core/mcp/schemas.py index 6f85282..d66b5e0 100644 --- a/hub_core/mcp/schemas.py +++ b/hub_core/mcp/schemas.py @@ -88,6 +88,30 @@ MCP_BATCH_MAX_PROJECTS = 50 +_RUNTIME_ARTIFACT_CONTRACT_SCHEMA = { + "type": "object", + "properties": { + "status": {"type": "string", "enum": ["created", "unavailable"]}, + "uri": {"type": ["string", "null"]}, + "relative_path": {"type": ["string", "null"]}, + "project_relative_path": {"type": ["string", "null"]}, + "sha256": {"type": ["string", "null"], "pattern": "^[0-9a-fA-F]{64}$"}, + "source": {"type": "string", "enum": ["runtime_snapshot"]}, + }, + "additionalProperties": False, +} +_DURABLE_RESULT_CONTRACT_SCHEMA = { + "type": "object", + "properties": { + "status": {"type": "string", "enum": ["promoted", "not_promoted"]}, + "relative_path": {"type": ["string", "null"]}, + "reason_code": {"type": ["string", "null"]}, + "reason": {"type": ["string", "null"]}, + "source": {"type": "string", "enum": ["durable_project_result"]}, + }, + "additionalProperties": False, +} + def describe_figops_surface() -> dict[str, Any]: return { @@ -158,7 +182,13 @@ def list_tool_definitions( _standard_output_schema( { "hub_path": {"type": "string"}, - "version": {"type": "string"}, + "version": { + "type": "string", + "description": ( + "Installed FigOps package version. This is independent of audit policy " + "projection identifiers." + ), + }, "python_executable": {"type": "string"}, "runtime_root": {"type": "string"}, "style_format_count": {"type": "integer"}, @@ -538,7 +568,14 @@ def list_tool_definitions( }, "output_format": {"type": "string", "enum": sorted(ALLOWED_OUTPUT_FORMATS)}, "dry_run": {"type": "boolean", "default": False}, - "overwrite": {"type": "boolean", "default": False}, + "overwrite": { + "type": "boolean", + "default": False, + "description": ( + "Replace the existing isolated MCP job workspace only; " + "never overwrite the durable project output." + ), + }, "job_id": job_id_arg, "max_depth": {"type": "integer", "minimum": 1, "maximum": 12, "default": 4}, "baseline_path": baseline_path_arg, @@ -566,6 +603,12 @@ def list_tool_definitions( "claim_inventory": {"type": "object"}, "publication_status": {"type": "string", "enum": ["verified", "unverified"]}, "promotion_eligible": {"type": "boolean"}, + "runtime_artifact": _RUNTIME_ARTIFACT_CONTRACT_SCHEMA, + "durable_result": _DURABLE_RESULT_CONTRACT_SCHEMA, + "promotion_status": {"type": "string", "enum": ["promoted", "not_promoted"]}, + "promotion_reason": {"type": ["string", "null"]}, + "source_unchanged": {"type": "boolean"}, + "overwrite_scope": {"type": "string", "enum": ["job_workspace_only"]}, "artifact_status": {"type": "string"}, "baseline_comparison": {"type": "object"}, "provenance": {"type": "object"}, diff --git a/hub_core/mcp/tool_schema_common.py b/hub_core/mcp/tool_schema_common.py index 25cef6e..1a11c96 100644 --- a/hub_core/mcp/tool_schema_common.py +++ b/hub_core/mcp/tool_schema_common.py @@ -144,8 +144,8 @@ def standard_output_schema(extra_properties: dict[str, Any] | None = None) -> di "error_category": {"type": "string", "enum": ["validation", "not_found", "internal", "disabled"]}, "error_code": {"type": "string"}, "jsonrpc_code": {"type": "integer"}, - "failure_stage": {"type": "string"}, - "resolution_hint": {"type": "string"}, + "failure_stage": {"type": ["string", "null"]}, + "resolution_hint": {"type": ["string", "null"]}, "manifest_path": {"type": "string"}, "status_path": {"type": "string"}, "latest_alias": {"type": "string"}, diff --git a/hub_core/mcp/tools/render_project.py b/hub_core/mcp/tools/render_project.py index 2e6626f..6fe131d 100644 --- a/hub_core/mcp/tools/render_project.py +++ b/hub_core/mcp/tools/render_project.py @@ -22,6 +22,7 @@ from hub_core.mcp import render_orchestration as render_helpers from hub_core.mcp import render_project_integrity_context as integrity_context from hub_core.mcp.errors import PROJECT_DECLARATION_PATH_INVALID, has_unsafe_declared_path +from hub_core.mcp.tools.render_project_contract import project_render_result_contract from hub_core.project_paths import ProjectPathError, resolve_project_input, resolve_project_output from hub_core.provenance_inputs import expand_project_input_files, resolved_research_ops_evidence from hub_core.render_evidence import build_render_evidence @@ -32,6 +33,8 @@ class McpRenderProjectMixin: """Project-figure rendering MCP tool handlers.""" + _project_render_result_contract = project_render_result_contract + def render_project_figure(self, arguments: dict[str, Any]) -> dict[str, Any]: arguments = dict(arguments) guarded = self._authorize_write_tool("figops.render_project_figure", arguments) @@ -156,7 +159,6 @@ def render_project_figure(self, arguments: dict[str, Any]) -> dict[str, Any]: preflight_valid = validate_data_contract_preflight( project_path, config, - # Full validation below performs the single guarded prefetch/read. require_existing=False, prefetcher=adapters.prefetcher, raise_path_contract_errors=True, @@ -215,8 +217,7 @@ def render_project_figure(self, arguments: dict[str, Any]) -> dict[str, Any]: job_id=job_id, job_root=job_root, summary="Project data contract failed before rendering.", - # Preserve the public failure distinction while the guarded - # full validator owns the single prefetch/read operation. + # Preserve the public failure distinction; the guarded validator owns the single prefetch/read. errors=[ "Data contract preflight failed for project render." if input_unavailable @@ -344,10 +345,11 @@ def render_project_figure(self, arguments: dict[str, Any]) -> dict[str, Any]: latest_dir = self.runtime_root / "_latest" / "mcp_project_render" project_id = self._stable_project_id_for_path(project_path) if dry_run: + result_contract = self._project_render_result_contract(job_root=job_root, snapshot_project_path=snapshot_project_path, output_path=output_path, output_relpath=output_relpath, promotion_eligible=False, workflow_intent=workflow_intent, dry_run=True) # noqa: E501 return self._envelope( "figops.render_project_figure", arguments, - summary="Project figure render validated in dry-run mode; no files were created.", + summary="Project figure render validated in dry-run mode; no files were created. The source project is unchanged; overwrite applies to the job workspace only.", # noqa: E501 is_dry_run=True, job_id=job_id, project_id=project_id, @@ -366,6 +368,8 @@ def render_project_figure(self, arguments: dict[str, Any]) -> dict[str, Any]: geometry_diagnostics=render_helpers._geometry_stub("dry_run"), layout_report=render_helpers._layout_report_from_geometry(render_helpers._geometry_stub("dry_run")), artifact_status="validated", + promotion_eligible=False, + **result_contract, baseline_comparison=self._baseline_comparison(None, arguments.get("baseline_path")), provenance={"attempt": attempt}, policy_context=policy_context, @@ -375,13 +379,6 @@ def render_project_figure(self, arguments: dict[str, Any]) -> dict[str, Any]: ) claim_inventory = self._project_claim_inventory(project_path, selected) claim_warnings = [f"Claim inventory: {message}" for message in claim_inventory["errors"]] - job_root = self._mcp_project_jobs_root() / job_id - snapshot_project_path = job_root / "project" - output_path = snapshot_project_path / output_relpath - config_path = snapshot_project_path / config_relpath - manifest_path = job_root / "manifest.json" - status_path = job_root / "status.json" - latest_dir = self.runtime_root / "_latest" / "mcp_project_render" if job_root.exists() and not overwrite: return self._project_render_error( arguments, @@ -391,10 +388,14 @@ def render_project_figure(self, arguments: dict[str, Any]) -> dict[str, Any]: summary="Project render job already exists.", errors=[ f"Project render job already exists: {self._runtime_uri(job_root)}. " - "Set overwrite=true to replace it." + "Set overwrite=true to replace the job workspace only; " + "the durable project output is never overwritten." ], failure_stage="EXPORT", - resolution_hint="Set overwrite=true to replace the existing MCP project render job.", + resolution_hint=( + "Set overwrite=true to replace the existing MCP job workspace; " + "this flag never overwrites the durable project output." + ), project_id=project_id, source_project_path=source_project_path, snapshot_project_path=str(snapshot_project_path), @@ -467,9 +468,7 @@ def render_project_figure(self, arguments: dict[str, Any]) -> dict[str, Any]: require_matches=True, ) external_inputs = materialize_external_raw_inputs( - # Authority/boundary checks bind to the durable source project. - # The snapshot is itself disposable runtime state and must not - # be treated as a durable project root overlapping runtime. + # Authority checks bind to the durable source; the disposable snapshot must not overlap runtime. project_root=project_path, config=config, declarations=input_declarations, @@ -669,6 +668,7 @@ def render_project_figure(self, arguments: dict[str, Any]) -> dict[str, Any]: ) from exc if promoted is not None: created_paths.extend(str(item.path) for item in promoted) + result_contract = self._project_render_result_contract(job_root=job_root, snapshot_project_path=snapshot_project_path, output_path=output_path, output_relpath=output_relpath, promotion_eligible=bool(manifest["promotion_eligible"]), promoted=promoted, workflow_intent=workflow_intent) # noqa: E501 except Exception as exc: if isinstance(exc, TimeoutError): failure_stage = "TIMEOUT" @@ -753,9 +753,7 @@ def render_project_figure(self, arguments: dict[str, Any]) -> dict[str, Any]: "figops.render_project_figure", arguments, status=status, - summary=( - "Rendered project figure." if status == "ok" else "Rendered project figure with preflight warnings." - ), + summary=("Rendered project figure." if status == "ok" else "Rendered project figure with preflight warnings.") + " The source project is unchanged; overwrite applies to the job workspace only.", # noqa: E501 created_paths=created_paths, artifact_resources=preview_references["artifact_resources"], preview_resources=preview_references["preview_resources"], @@ -794,6 +792,7 @@ def render_project_figure(self, arguments: dict[str, Any]) -> dict[str, Any]: claim_inventory=claim_inventory, publication_status=manifest["publication_status"], promotion_eligible=manifest["promotion_eligible"], + **result_contract, failure_stage="", resolution_hint="", ) diff --git a/hub_core/mcp/tools/render_project_contract.py b/hub_core/mcp/tools/render_project_contract.py new file mode 100644 index 0000000..bfe81c2 --- /dev/null +++ b/hub_core/mcp/tools/render_project_contract.py @@ -0,0 +1,97 @@ +"""Result-contract construction for project render responses. + +The render-project façade owns orchestration and authorization. This module +owns only the path-safe projection of runtime and durable-result state. +""" + +from __future__ import annotations + +from pathlib import Path +from typing import Any, Callable + + +def project_render_result_contract(mixin: Any, **kwargs: Any) -> dict[str, Any]: + return build_project_render_result_contract( + **kwargs, + public_runtime_path=mixin._public_runtime_path, + file_sha256=mixin._file_sha256, + ) + + +def build_project_render_result_contract( + *, + job_root: Path, + snapshot_project_path: Path, + output_path: Path, + output_relpath: str, + promotion_eligible: bool, + public_runtime_path: Callable[[Path], str], + file_sha256: Callable[[Path], str], + promoted: Any = None, + workflow_intent: dict[str, Any] | None = None, + dry_run: bool = False, +) -> dict[str, Any]: + """Describe runtime output and durable-result state without host paths. + + ``output_path`` is represented by a runtime URI. The project-relative + path remains a non-authoritative label so consumers cannot mistake a + disposable snapshot for the durable project result. + """ + + del snapshot_project_path # retained in the façade call contract for compatibility + try: + project_relative_path = Path(output_relpath).as_posix() + runtime_relative_path = output_path.absolute().relative_to(job_root.absolute()).as_posix() + except (OSError, ValueError): + project_relative_path = str(output_relpath).replace("\\", "/") + runtime_relative_path = "" + + runtime_uri = public_runtime_path(output_path) + artifact_exists = output_path.is_file() + artifact_sha256: str | None = None + if artifact_exists: + try: + artifact_sha256 = file_sha256(output_path) + except OSError: + artifact_exists = False + runtime_artifact = { + "status": "created" if artifact_exists else "unavailable", + "uri": runtime_uri or None, + "relative_path": runtime_relative_path or f"project/{project_relative_path}", + "project_relative_path": project_relative_path, + "sha256": artifact_sha256, + "source": "runtime_snapshot", + } + + durable_status = "promoted" if promoted is not None else "not_promoted" + if durable_status == "promoted": + durable_reason_code = None + durable_reason = None + elif dry_run: + durable_reason_code = "DRY_RUN" + durable_reason = "Dry-run validation creates no runtime bytes or durable project result." + elif isinstance(workflow_intent, dict) and workflow_intent.get("intent") == "exploration": + durable_reason_code = "EXPLORATION_NON_PROMOTABLE" + durable_reason = "Exploration renders remain runtime-only and are never promotable." + elif promotion_eligible: + durable_reason_code = "PROMOTION_NOT_PERFORMED" + durable_reason = "The result passed eligibility but no durable promotion was performed." + else: + durable_reason_code = "PROMOTION_NOT_ELIGIBLE" + durable_reason = "Promotion eligibility was not satisfied; the durable project result was unchanged." + + durable_result = { + "status": durable_status, + "relative_path": project_relative_path if durable_status == "promoted" else None, + "reason_code": durable_reason_code, + "reason": durable_reason, + "source": "durable_project_result", + } + return { + "runtime_artifact": runtime_artifact, + "durable_result": durable_result, + "promotion_status": durable_status, + "promotion_reason": durable_reason, + "source_unchanged": True, + "overwrite_scope": "job_workspace_only", + } diff --git a/hub_core/mcp/v2_tool_schemas.py b/hub_core/mcp/v2_tool_schemas.py index 15ec77d..d9fedf3 100644 --- a/hub_core/mcp/v2_tool_schemas.py +++ b/hub_core/mcp/v2_tool_schemas.py @@ -17,6 +17,25 @@ def build_v2_tool_definitions( project_path_arg: dict[str, Any], selector_one_of: list[dict[str, Any]], ) -> list[ToolDefinition]: + runtime_artifact = object_schema( + { + "status": {"type": "string", "enum": ["created", "unavailable"]}, + "uri": {"type": ["string", "null"]}, + "relative_path": {"type": ["string", "null"]}, + "project_relative_path": {"type": ["string", "null"]}, + "sha256": {"type": ["string", "null"], "pattern": "^[0-9a-fA-F]{64}$"}, + "source": {"type": "string", "enum": ["runtime_snapshot"]}, + } + ) + durable_result = object_schema( + { + "status": {"type": "string", "enum": ["promoted", "not_promoted"]}, + "relative_path": {"type": ["string", "null"]}, + "reason_code": {"type": ["string", "null"]}, + "reason": {"type": ["string", "null"]}, + "source": {"type": "string", "enum": ["durable_project_result"]}, + } + ) render_output = object_schema( { "schema_version": {"type": "string"}, @@ -31,6 +50,8 @@ def build_v2_tool_definitions( "warnings": {"type": "array", "items": {"type": "string"}}, "errors": {"type": "array", "items": {"type": "string"}}, "manual_review_needed": {"type": "boolean"}, + "failure_stage": {"type": ["string", "null"]}, + "resolution_hint": {"type": ["string", "null"]}, } ) project_render_output = { @@ -38,6 +59,16 @@ def build_v2_tool_definitions( "properties": { **render_output["properties"], "runtime_availability": {"type": "object"}, + "promotion_eligible": {"type": "boolean"}, + "runtime_artifact": {"anyOf": [runtime_artifact, {"type": "null"}]}, + "durable_result": {"anyOf": [durable_result, {"type": "null"}]}, + "promotion_status": { + "type": ["string", "null"], + "enum": ["promoted", "not_promoted", None], + }, + "promotion_reason": {"type": ["string", "null"]}, + "source_unchanged": {"type": "boolean"}, + "overwrite_scope": {"type": "string", "enum": ["job_workspace_only"]}, "policy_context": RENDER_POLICY_CONTEXT_SCHEMA, "workflow_intent": WORKFLOW_INTENT_SCHEMA, }, @@ -148,7 +179,14 @@ def build_v2_tool_definitions( "default": "png", }, "job_id": {"type": "string", "pattern": "^[A-Za-z0-9_-]{1,80}$", "maxLength": 80}, - "overwrite": {"type": "boolean", "default": False}, + "overwrite": { + "type": "boolean", + "default": False, + "description": ( + "Replace the existing isolated MCP job workspace only; " + "never overwrite the durable project output." + ), + }, }, required=["data_path", "x", "y"], ), @@ -176,7 +214,14 @@ def build_v2_tool_definitions( ), }, "job_id": {"type": "string", "pattern": "^[A-Za-z0-9_-]{1,80}$", "maxLength": 80}, - "overwrite": {"type": "boolean", "default": False}, + "overwrite": { + "type": "boolean", + "default": False, + "description": ( + "Replace the existing isolated MCP job workspace only; " + "never overwrite the durable project output." + ), + }, } ), "oneOf": selector_one_of, @@ -185,12 +230,22 @@ def build_v2_tool_definitions( ), ToolDefinition( "figops.audit_artifact", - "Audit validated completed-job evidence with zero or more explicit policy packs.", + ( + "Audit validated completed-job evidence with zero or more explicit policy packs. " + "The public publication-readiness-v1 pack projects internally to " + "publication-readiness-v2; v2 is not a public enum value. " + "Required geometry marked not_applicable remains unresolved and requires review." + ), object_schema( { "job_id": {"type": "string", "pattern": "^[A-Za-z0-9_-]{1,80}$", "maxLength": 80}, "policy_packs": { "type": "array", + "description": ( + "Public policy-pack identifiers only. publication-readiness-v1 is " + "projected internally to publication-readiness-v2; the internal id " + "must not be supplied by callers." + ), "items": {"type": "string", "enum": sorted(SUPPORTED_POLICY_PACKS)}, "maxItems": len(SUPPORTED_POLICY_PACKS), "uniqueItems": True, diff --git a/scripts/check_geometry_rubric_map.py b/scripts/check_geometry_rubric_map.py index 975374c..393f017 100644 --- a/scripts/check_geometry_rubric_map.py +++ b/scripts/check_geometry_rubric_map.py @@ -7,14 +7,18 @@ from __future__ import annotations import json +import sys from dataclasses import dataclass from enum import StrEnum, unique from pathlib import Path from typing import Final, Mapping, assert_never -from hub_core.mcp.render_geometry_schemas import LEGACY_GEOMETRY_METRIC_NAMES as GEOMETRY_METRIC_NAMES - HUB_ROOT: Final = Path(__file__).resolve().parent.parent +if str(HUB_ROOT) not in sys.path: + sys.path.insert(0, str(HUB_ROOT)) + +from hub_core.mcp.render_geometry_schemas import LEGACY_GEOMETRY_METRIC_NAMES as GEOMETRY_METRIC_NAMES # noqa: E402 + MAP_PATH: Final = HUB_ROOT / "docs" / "specs" / "geometry-diagnostic-rubric-map.json" QA_PATH: Final = HUB_ROOT / "docs" / "QA.md" RUBRIC_PATH: Final = HUB_ROOT / "docs" / "specs" / "2026-06-30-figure-quality-rubric.md" diff --git a/tests/fixtures/ai_native_agent_eval/final-v2.json b/tests/fixtures/ai_native_agent_eval/final-v2.json index 55cf049..1adf502 100644 --- a/tests/fixtures/ai_native_agent_eval/final-v2.json +++ b/tests/fixtures/ai_native_agent_eval/final-v2.json @@ -19,9 +19,9 @@ "figops.audit_artifact" ], "emitted_tool_definition_count": 7, - "tools_list_response_bytes": 14477, - "tools_array_bytes": 14433, - "maximum_input_schema_bytes": 1102, + "tools_list_response_bytes": 16451, + "tools_array_bytes": 16407, + "maximum_input_schema_bytes": 1216, "maximum_input_schema_tool": "figops.render_basic_csv", "render_basic_csv_top_level_properties": 12 }, @@ -34,8 +34,8 @@ "figops.audit_artifact" ], "emitted_tool_definition_count": 5, - "tools_list_response_bytes": 8334, - "tools_array_bytes": 8290 + "tools_list_response_bytes": 8861, + "tools_array_bytes": 8817 }, "compatibility_surface": { "canonical_tool_count": 14, @@ -45,18 +45,18 @@ "generated_references": { "default_full": { "path": "docs/tools.md", - "bytes": 167680, - "lines": 8161 + "bytes": 174368, + "lines": 8501 }, "v2": { "path": "docs/tools-v2.md", - "bytes": 23642, - "lines": 1298 + "bytes": 27435, + "lines": 1462 }, "compatibility": { "path": "docs/tools-compatibility.md", - "bytes": 136939, - "lines": 6219 + "bytes": 140088, + "lines": 6408 } }, "guided_call_contract": { diff --git a/tests/test_issue230_geometry.py b/tests/test_issue230_geometry.py new file mode 100644 index 0000000..2af07ea --- /dev/null +++ b/tests/test_issue230_geometry.py @@ -0,0 +1,157 @@ +import json +import unittest + +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt # noqa: E402 +import numpy as np # noqa: E402 +from matplotlib.transforms import Bbox # noqa: E402 + +from hub_core.geometry_artist_overlaps import ( # noqa: E402 + _line_text_crossings, + _segment_bbox_intersection_length, +) +from hub_core.geometry_diagnostics import ( + _is_paintable, # noqa: E402 + diagnose_figure_geometry, # noqa: E402 +) + + +class Issue230GeometryTests(unittest.TestCase): + def tearDown(self): + plt.close("all") + + def test_thin_line_crossing_is_available_in_raw_v2_without_changing_legacy_artist_overlap(self): + fig, ax = plt.subplots(figsize=(8, 2)) + # Only the final few pixels enter the text bbox. The padded line AABB + # therefore stays below the legacy relative-overlap cutoff while the + # centerline crossing remains a real, positive-length fact. + ax.plot([0.1, 0.485], [0.5, 0.5], linewidth=0.5) + ax.text(0.5, 0.5, "on line", ha="center", va="center") + fig.canvas.draw() + + legacy = diagnose_figure_geometry(fig, [ax], layout_locked=False) + artist_check = next(item for item in legacy["checks"] if item["name"] == "artist_overlaps") + self.assertTrue(artist_check["passed"]) + self.assertEqual(artist_check["data"]["overlaps"], []) + self.assertNotIn("line_text_crossings", artist_check["data"]) + + raw = diagnose_figure_geometry(fig, [ax], layout_locked=False, contract_version="raw") + measurement = next( + item for item in raw["measurements"] if item["metric_id"] == "line_text_crossings[axis=0]" + ) + self.assertEqual(measurement["availability"], "available") + self.assertEqual(measurement["value"]["crossing_count"], 1) + self.assertEqual(measurement["value"]["reported_crossing_count"], 1) + self.assertEqual(measurement["value"]["crossings"][0]["line"], "line:0") + self.assertTrue(measurement["value"]["crossings"][0]["text"].startswith("text:")) + self.assertNotIn("threshold", json.dumps(measurement)) + self.assertNotIn("passed", json.dumps(measurement)) + + def test_bbox_clipping_rejects_edge_contact_and_short_numerical_touch(self): + box = Bbox.from_extents(10, 10, 20, 20) + self.assertEqual( + _segment_bbox_intersection_length(np.array((0.0, 0.0)), np.array((10.0, 10.0)), box), + 0.0, + ) + self.assertEqual( + _segment_bbox_intersection_length(np.array((0.0, 15.0)), np.array((10.5, 15.0)), box), + 0.0, + ) + self.assertAlmostEqual( + _segment_bbox_intersection_length(np.array((0.0, 15.0)), np.array((30.0, 15.0)), box), + 10.0, + ) + + def test_nan_separated_paths_do_not_join_across_gap(self): + fig, ax = plt.subplots() + ax.plot([0.1, 0.4, np.nan, 0.6, 0.9], [0.5, 0.5, np.nan, 0.5, 0.5]) + ax.text(0.5, 0.5, "gap", ha="center", va="center") + fig.canvas.draw() + + facts = _line_text_crossings( + ax, + fig.canvas.get_renderer(), + is_paintable=_is_paintable, + candidate_cap=200, + reported_cap=50, + ) + self.assertEqual(facts["crossing_count"], 0) + + def test_reference_lines_use_their_blended_transform_with_nondefault_limits(self): + for reference_kind in ("h", "v"): + with self.subTest(reference_kind=reference_kind): + fig, ax = plt.subplots() + ax.set_xlim(10, 20) + ax.set_ylim(100, 200) + if reference_kind == "h": + ax.axhline(150, linewidth=0.5) + else: + ax.axvline(15, linewidth=0.5) + ax.text(15, 150, "reference", ha="center", va="center") + fig.canvas.draw() + + facts = _line_text_crossings( + ax, + fig.canvas.get_renderer(), + is_paintable=_is_paintable, + candidate_cap=200, + reported_cap=50, + ) + self.assertEqual(facts["crossing_count"], 1) + + def test_crossings_are_stable_and_bounded_by_caps(self): + fig, ax = plt.subplots() + for y in (0.3, 0.5, 0.7): + ax.plot([0.1, 0.9], [y, y]) + for y in (0.3, 0.5, 0.7): + ax.text(0.5, y, f"line-{y}", ha="center", va="center") + fig.canvas.draw() + renderer = fig.canvas.get_renderer() + + first = _line_text_crossings( + ax, + renderer, + is_paintable=_is_paintable, + candidate_cap=2, + reported_cap=1, + ) + second = _line_text_crossings( + ax, + renderer, + is_paintable=_is_paintable, + candidate_cap=2, + reported_cap=1, + ) + self.assertEqual(first, second) + self.assertEqual(first["line_count"], 3) + self.assertEqual(first["evaluated_line_count"], 2) + self.assertTrue(first["lines_truncated"]) + self.assertEqual(first["text_count"], 3) + self.assertEqual(first["evaluated_text_count"], 2) + self.assertTrue(first["texts_truncated"]) + self.assertLessEqual(first["reported_crossing_count"], 1) + self.assertTrue(first["crossings_truncated"]) + json.dumps(first) + + def test_invisible_text_is_not_a_crossing_candidate(self): + fig, ax = plt.subplots() + ax.plot([0.1, 0.9], [0.5, 0.5]) + text = ax.text(0.5, 0.5, "hidden", ha="center", va="center") + text.set_alpha(0.0) + fig.canvas.draw() + + facts = _line_text_crossings( + ax, + fig.canvas.get_renderer(), + is_paintable=_is_paintable, + candidate_cap=200, + reported_cap=50, + ) + self.assertEqual(facts["text_count"], 0) + self.assertEqual(facts["crossing_count"], 0) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_issue232_layout.py b/tests/test_issue232_layout.py new file mode 100644 index 0000000..2c94c05 --- /dev/null +++ b/tests/test_issue232_layout.py @@ -0,0 +1,140 @@ +"""Regression coverage for issue #232's fixed-width Nature exports.""" + +from __future__ import annotations + +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt +import pytest +from PIL import Image + +import themes.journal_theme as journal_theme +from themes.journal_theme import apply_journal_theme, mm_to_inch, save_journal_fig + + +@pytest.fixture(autouse=True) +def _restore_journal_state(): + saved_rc = plt.rcParams.copy() + saved_state = { + name: getattr(journal_theme, name) + for name in ( + "_ACTIVE_TARGET_FORMAT", + "_ACTIVE_FONT_TOKENS", + "_ACTIVE_COMPLIANCE_TOKENS", + "_ACTIVE_COMPLIANCE_MODE", + ) + } + yield + plt.close("all") + plt.rcParams.update(saved_rc) + for name, value in saved_state.items(): + setattr(journal_theme, name, value) + + +def _render_labeled_figure(path, label: str, **save_kwargs) -> tuple[int, int]: + """Render an unlocked 180 mm figure with an artist outside the axes box.""" + fig, ax = plt.subplots(figsize=(mm_to_inch(180.0), mm_to_inch(100.0))) + fig.subplots_adjust(left=0.12, right=0.97, bottom=0.14, top=0.92) + ax.plot([0.0, 1.0], [0.0, 1.0]) + ax.text(1.2, 0.5, label, transform=ax.transAxes, clip_on=False) + save_journal_fig(fig, path, dpi=600, tiff_companion=False, **save_kwargs) + with Image.open(path) as image: + return image.size + + +def _render_direct_labeled_figure(path, label: str, **save_kwargs) -> tuple[int, int]: + """Render through Matplotlib directly, exercising the theme rcParams.""" + fig, ax = plt.subplots(figsize=(mm_to_inch(180.0), mm_to_inch(100.0))) + fig.subplots_adjust(left=0.12, right=0.97, bottom=0.14, top=0.92) + ax.plot([0.0, 1.0], [0.0, 1.0]) + ax.text(1.2, 0.5, label, transform=ax.transAxes, clip_on=False) + fig.savefig(path, dpi=600, **save_kwargs) + with Image.open(path) as image: + return image.size + + +def test_nature_auto_policy_keeps_png_canvas_width_when_label_changes(tmp_path): + apply_journal_theme("nature") + + short_size = _render_labeled_figure(tmp_path / "short.png", "A") + long_size = _render_labeled_figure( + tmp_path / "long.png", + "A very long label that would expand a tight bounding box substantially", + ) + + expected_width_px = int(mm_to_inch(180.0) * 600) + assert short_size[0] == long_size[0] == expected_width_px + assert short_size[1] == long_size[1] + assert short_size[0] * 25.4 / 600 == pytest.approx(180.0, abs=0.1) + + +def test_nature_rc_default_keeps_direct_png_canvas_width_when_label_changes(tmp_path): + apply_journal_theme("nature") + + short_size = _render_direct_labeled_figure(tmp_path / "direct-short.png", "A") + long_size = _render_direct_labeled_figure( + tmp_path / "direct-long.png", + "A very long label that would expand a tight bounding box substantially", + ) + + expected_width_px = int(mm_to_inch(180.0) * 600) + assert short_size[0] == long_size[0] == expected_width_px + + +def test_tight_bbox_remains_an_explicit_opt_in_for_nature(tmp_path): + apply_journal_theme("nature") + + short_size = _render_labeled_figure(tmp_path / "tight-short.png", "A", bbox_policy="tight") + long_size = _render_labeled_figure( + tmp_path / "tight-long.png", + "A very long label that would expand a tight bounding box substantially", + bbox_inches="tight", + ) + + assert long_size[0] > short_size[0] + + +def test_direct_tight_bbox_remains_an_explicit_opt_in_for_nature(tmp_path): + apply_journal_theme("nature") + + short_size = _render_direct_labeled_figure(tmp_path / "direct-tight-short.png", "A", bbox_inches="tight") + long_size = _render_direct_labeled_figure( + tmp_path / "direct-tight-long.png", + "A very long label that would expand a tight bounding box substantially", + bbox_inches="tight", + ) + + assert long_size[0] > short_size[0] + + +def test_fixed_bbox_policy_can_opt_in_for_non_nature_tracks(tmp_path): + apply_journal_theme("science") + + size = _render_labeled_figure( + tmp_path / "science-fixed.png", + "A very long label that would otherwise expand a tight bounding box", + bbox_policy="fixed", + ) + + assert size[0] == int(mm_to_inch(180.0) * 600) + + +def test_non_nature_theme_keeps_legacy_tight_rc_default(tmp_path): + apply_journal_theme("science") + assert plt.rcParams["savefig.bbox"] == "tight" + + short_size = _render_direct_labeled_figure(tmp_path / "science-tight-short.png", "A") + long_size = _render_direct_labeled_figure( + tmp_path / "science-tight-long.png", + "A very long label that expands the tight bounding box", + ) + + assert long_size[0] > short_size[0] + + +def test_bbox_policy_rejects_unknown_values(tmp_path): + apply_journal_theme("nature") + + with pytest.raises(ValueError, match="bbox_policy"): + _render_labeled_figure(tmp_path / "invalid.png", "A", bbox_policy="crop") diff --git a/tests/test_issue232_runtime_contract.py b/tests/test_issue232_runtime_contract.py new file mode 100644 index 0000000..4b72fa2 --- /dev/null +++ b/tests/test_issue232_runtime_contract.py @@ -0,0 +1,201 @@ +from __future__ import annotations + +import hashlib +from pathlib import Path +from types import SimpleNamespace + +from hub_core.mcp.render_response import _project_result_contract +from hub_core.mcp.schemas import list_tool_definitions +from hub_core.mcp.server import FigOpsMCPServer + + +def _write_project(root: Path, *, workflow_intent: str | None = None) -> Path: + project = root / "01_contract" + (project / "hub_scripts").mkdir(parents=True) + (project / "results" / "data").mkdir(parents=True) + (project / "results" / "data" / "summary.csv").write_text("x,y\n0,1\n1,2\n", encoding="utf-8") + workflow = f"workflow:\n intent: {workflow_intent}\n" if workflow_intent else "" + (project / "hub_scripts" / "plot.py").write_text( + "from pathlib import Path\n" + "from PIL import Image\n" + "Path('results/figures').mkdir(parents=True, exist_ok=True)\n" + "Image.new('RGB', (32, 24), 'navy').save('results/figures/Fig1.png', format='PNG')\n", + encoding="utf-8", + ) + (project / "project_config.yaml").write_text( + f""" +project: + name: Contract Fixture +{workflow}visual_style: + target_format: nature + profile: baseline +sample_registry: + - sample_id: S1 +experimental_conditions: + conditions: + - id: condition_a +data_contract: + csv_checks: + - path: results/data/summary.csv + required_columns: [x, y] + dtypes: {{x: number, y: number}} +figures: + - id: Fig1 + script: hub_scripts/plot.py + inputs: [results/data/summary.csv] + output: results/figures/Fig1.png + claim: Contract fixture render completes. + samples: [S1] + conditions: [condition_a] +""", + encoding="utf-8", + ) + return project + + +def _render(server: FigOpsMCPServer, project: Path, job_id: str) -> dict: + return server.render_project_script( + { + "project_path": str(project), + "figure_id": "Fig1", + "style_policy": "nature", + "job_id": job_id, + } + ) + + +def test_v2_render_response_distinguishes_runtime_only_result_and_preserves_source(tmp_path: Path) -> None: + project = _write_project(tmp_path / "ResearchOS") + before = hashlib.sha256((project / "project_config.yaml").read_bytes()).hexdigest() + runtime = tmp_path / "runtime" + server = FigOpsMCPServer( + research_root=tmp_path / "ResearchOS", + runtime_root=runtime, + write_tools_enabled=True, + surface_profile="v2", + ) + + result = _render(server, project, "contract-runtime-only") + + assert result["status"] in {"ok", "warning"} + assert result["promotion_eligible"] is False + assert result["source_unchanged"] is True + assert result["overwrite_scope"] == "job_workspace_only" + runtime_artifact = result["runtime_artifact"] + assert runtime_artifact["status"] == "created" + assert runtime_artifact["source"] == "runtime_snapshot" + assert runtime_artifact["uri"].startswith("runtime://") + assert str(runtime) not in runtime_artifact["uri"] + assert len(runtime_artifact["sha256"]) == 64 + durable = result["durable_result"] + assert durable["status"] == "not_promoted" + assert durable["relative_path"] is None + assert durable["reason_code"] == "PROMOTION_NOT_ELIGIBLE" + assert hashlib.sha256((project / "project_config.yaml").read_bytes()).hexdigest() == before + + +def test_exploration_render_is_explicitly_non_promotable(tmp_path: Path) -> None: + project = _write_project(tmp_path / "ResearchOS", workflow_intent="exploration") + server = FigOpsMCPServer( + research_root=tmp_path / "ResearchOS", + runtime_root=tmp_path / "runtime", + write_tools_enabled=True, + surface_profile="v2", + ) + + result = _render(server, project, "contract-exploration") + + assert result["status"] in {"ok", "warning"} + assert result["promotion_eligible"] is False + assert result["durable_result"]["status"] == "not_promoted" + assert result["durable_result"]["reason_code"] == "EXPLORATION_NON_PROMOTABLE" + assert result["promotion_status"] == "not_promoted" + + +def test_eligible_render_reports_durable_result_without_host_path(monkeypatch, tmp_path: Path) -> None: + project = _write_project(tmp_path / "ResearchOS") + runtime = tmp_path / "runtime" + server = FigOpsMCPServer( + research_root=tmp_path / "ResearchOS", + runtime_root=runtime, + write_tools_enabled=True, + surface_profile="v2", + ) + monkeypatch.setattr( + "hub_core.mcp.tools.render_project.integrity_context.decide_project_render_promotion_eligibility", + lambda **_kwargs: { + "manual_review_needed": False, + "policy_review_needed": False, + "projection_ready": True, + "promotion_eligible": True, + "workflow_execution_allowed": True, + "workflow_review_needed": False, + }, + ) + durable_output = project / "results" / "figures" / "Fig1.png" + durable_receipt = project / "results" / "evidence" / "Fig1.receipt.json" + monkeypatch.setattr( + "hub_core.mcp.tools.render_project.promote_eligible_project_result", + lambda **_kwargs: ( + SimpleNamespace(path=durable_output), + SimpleNamespace(path=durable_receipt), + ), + ) + + result = _render(server, project, "contract-promoted") + + assert result["promotion_eligible"] is True + assert result["runtime_artifact"]["source"] == "runtime_snapshot" + assert result["durable_result"] == { + "status": "promoted", + "relative_path": "results/figures/Fig1.png", + "reason_code": None, + "reason": None, + "source": "durable_project_result", + } + assert result["source_unchanged"] is True + assert str(tmp_path) not in str(result["durable_result"]) + + +def test_project_render_schema_documents_workspace_only_overwrite() -> None: + definitions = {item["name"]: item for item in list_tool_definitions()} + legacy = definitions["figops.render_project_figure"] + v2 = definitions["figops.render_project_script"] + basic_output = definitions["figops.render_basic_csv"]["outputSchema"]["properties"] + assert "runtime_artifact" not in basic_output + assert "durable_result" not in basic_output + assert basic_output["failure_stage"]["type"] == ["string", "null"] + assert basic_output["resolution_hint"]["type"] == ["string", "null"] + for definition in (legacy, v2): + description = definition["inputSchema"]["properties"]["overwrite"]["description"] + assert "job workspace only" in description + assert "never overwrite" in description + output = legacy["outputSchema"]["properties"] + assert {"runtime_artifact", "durable_result", "source_unchanged", "overwrite_scope"} <= set(output) + assert output["failure_stage"]["type"] == ["string", "null"] + assert output["resolution_hint"]["type"] == ["string", "null"] + + +def test_runtime_uri_sanitization_rejects_host_and_traversal_paths() -> None: + normal = _project_result_contract( + { + "status": "created", + "uri": "runtime://jobs/x/artifact.png", + "relative_path": "project/artifact.png", + "source": "runtime_snapshot", + } + ) + assert normal is not None + assert normal["uri"] == "runtime://jobs/x/artifact.png" + + for malicious in ("runtime://../host", "runtime:///absolute", "runtime://C:/host/file.png"): + result = _project_result_contract( + { + "status": "created", + "uri": malicious, + "relative_path": "project/artifact.png", + "source": "runtime_snapshot", + } + ) + assert result is not None + assert result["uri"] is None diff --git a/tests/test_issue232_ticks.py b/tests/test_issue232_ticks.py new file mode 100644 index 0000000..40497aa --- /dev/null +++ b/tests/test_issue232_ticks.py @@ -0,0 +1,121 @@ +import matplotlib + +matplotlib.use("Agg") + +import matplotlib.pyplot as plt +from matplotlib.ticker import FuncFormatter + +from hub_core.geometry_diagnostics import diagnose_figure_geometry +from themes.journal_theme import ( + apply_journal_theme, + apply_narrow_log_minor_tick_policy, + save_journal_fig, +) + + +def _draw_narrow_log(target="nature"): + apply_journal_theme(target) + fig, ax = plt.subplots(figsize=(3, 2), dpi=100) + ax.set_xscale("log") + ax.set_xlim(28, 338) + ax.plot([30, 300], [1, 2]) + fig.canvas.draw() + return fig, ax + + +def test_journal_auto_suppresses_only_minor_labels_in_narrow_log_range(): + fig, ax = _draw_narrow_log() + try: + major_before = [label.get_text() for label in ax.get_xticklabels() if label.get_text()] + minor_before = [label.get_text() for label in ax.get_xticklabels(minor=True) if label.get_text()] + + evidence = apply_narrow_log_minor_tick_policy(fig) + fig.canvas.draw() + + assert major_before + assert minor_before + assert [label.get_text() for label in ax.get_xticklabels() if label.get_text()] == major_before + assert [label.get_text() for label in ax.get_xticklabels(minor=True) if label.get_text()] == [] + assert evidence["axes"] == [ + { + "axis_index": 0, + "axis": "x", + "decades": evidence["axes"][0]["decades"], + "applied": True, + "restored": False, + "reason": "narrow_log_range", + } + ] + finally: + plt.close(fig) + + +def test_narrow_log_policy_is_target_scoped_and_preserves_custom_formatter(): + fig, ax = _draw_narrow_log("ppt") + try: + before = ax.xaxis.get_minor_formatter() + before_thresholds = tuple(before.minor_thresholds) + apply_narrow_log_minor_tick_policy(fig, mode=True) + assert ax.xaxis.get_minor_formatter() is before + assert tuple(before.minor_thresholds) == before_thresholds + finally: + plt.close(fig) + + fig, ax = _draw_narrow_log("nature") + try: + custom = FuncFormatter(lambda value, position: f"custom-{value:g}") + ax.xaxis.set_minor_formatter(custom) + evidence = apply_narrow_log_minor_tick_policy(fig) + assert ax.xaxis.get_minor_formatter() is custom + assert evidence["axes"][0]["reason"] == "custom_minor_formatter" + finally: + plt.close(fig) + + +def test_narrow_log_policy_explicit_opt_out_restores_default_formatter(tmp_path): + fig, ax = _draw_narrow_log() + try: + apply_narrow_log_minor_tick_policy(fig) + assert tuple(ax.xaxis.get_minor_formatter().minor_thresholds) == (0.0, 0.0) + save_journal_fig(fig, tmp_path / "opt_out.png", narrow_log_minor_labels=False, dpi=100) + assert tuple(ax.xaxis.get_minor_formatter().minor_thresholds) == (1.0, 0.4) + finally: + plt.close(fig) + + +def test_narrow_log_policy_does_not_rewrite_post_policy_formatter_customization(): + fig, ax = _draw_narrow_log() + try: + apply_narrow_log_minor_tick_policy(fig) + formatter = ax.xaxis.get_minor_formatter() + formatter.minor_thresholds = (7.0, 7.0) + evidence = apply_narrow_log_minor_tick_policy(fig) + assert tuple(formatter.minor_thresholds) == (7.0, 7.0) + assert evidence["axes"][0]["reason"] == "user_modified_formatter" + finally: + plt.close(fig) + + +def test_tick_overlap_evidence_includes_displayed_minor_labels_and_offset_text(): + fig, (log_ax, linear_ax) = plt.subplots(1, 2, figsize=(5, 2), dpi=100) + try: + log_ax.set_xscale("log") + log_ax.set_xlim(28, 338) + log_ax.plot([30, 300], [1, 2]) + linear_ax.plot([1_000_000, 2_000_000], [1, 2]) + linear_ax.ticklabel_format(axis="x", style="sci", scilimits=(0, 0), useOffset=True) + fig.canvas.draw() + + result = diagnose_figure_geometry(fig, [log_ax, linear_ax], layout_locked=False) + checks = [check for check in result["checks"] if check["name"] == "tick_label_overlaps"] + log_data = checks[0]["data"] + offset_data = checks[1]["data"] + + assert log_data["x_minor_labels"] + assert log_data["x_minor_overlap_pairs"] + # Major indices remain the historical space; minor pairs are additive. + assert log_data["x_overlap_pairs"] == [] + assert set(offset_data["x_offset_text"]) == {"text", "visible", "paintable", "displayed"} + assert offset_data["x_offset_text"]["displayed"] + finally: + plt.close(fig) diff --git a/tests/test_mcp_surface_profiles.py b/tests/test_mcp_surface_profiles.py index a3ae7d7..1d1cd4b 100644 --- a/tests/test_mcp_surface_profiles.py +++ b/tests/test_mcp_surface_profiles.py @@ -1,10 +1,12 @@ from __future__ import annotations import json +import tomllib from pathlib import Path import pytest +from hub_core.artifact_audit import PUBLICATION_READINESS_POLICY from hub_core.mcp import FigOpsMCPServer, GraphHubMCPServer from hub_core.mcp.config import McpServerConfig from hub_core.mcp.schemas import LEGACY_TOOL_NAMES, TOOL_NAMES, list_tool_definitions @@ -107,6 +109,28 @@ def test_writes_disabled_v2_discovery_omits_denied_renders() -> None: assert {"figops.inspect_data", "figops.audit_artifact"} <= set(_names(definitions)) +def test_health_version_is_package_version_not_audit_policy_projection() -> None: + server = FigOpsMCPServer(surface_profile="v2", write_tools_enabled=False) + health = server.call_tool("figops.health", {})["structuredContent"] + package = tomllib.loads((Path(__file__).resolve().parents[1] / "pyproject.toml").read_text(encoding="utf-8")) + + assert health["version"] == package["project"]["version"] + assert health["version"] != "publication-readiness-v2" + + +def test_audit_policy_schema_keeps_public_v1_enum_and_documents_internal_projection() -> None: + definition = next( + item + for item in list_tool_definitions(profile="v2", write_tools_enabled=True) + if item["name"] == "figops.audit_artifact" + ) + schema = definition["inputSchema"]["properties"]["policy_packs"] + + assert schema["items"]["enum"] == [PUBLICATION_READINESS_POLICY] + assert "publication-readiness-v2" in schema["description"] + assert "not_applicable" in definition["description"] + + def test_compatibility_profile_exposes_frozen_fourteen_plus_thirteen() -> None: server = FigOpsMCPServer(surface_profile="compatibility", write_tools_enabled=True) definitions = _tools_list(server) diff --git a/tests/test_render_evidence.py b/tests/test_render_evidence.py index 6e43e0d..fa7994a 100644 --- a/tests/test_render_evidence.py +++ b/tests/test_render_evidence.py @@ -22,6 +22,7 @@ verify_artifact_policy_projection, ) from hub_core.evidence_contract import EvidenceContractError, validate_evidence_envelope +from hub_core.journal_geometry_policy import geometry_minimum_results from hub_core.mcp.render_geometry import _geometry_stub from hub_core.mcp.render_orchestration import _build_preview_artifacts, _preview_resource_references from hub_core.mcp.render_response import audit_response, one_render_response @@ -483,8 +484,15 @@ def test_required_resolution_and_geometry_unavailable_fail_closed( unavailable_results = unavailable["resolved_policy"]["parameters"]["results"] dpi = next(item for item in unavailable_results if item["check_id"] == "dpi") text = next(item for item in unavailable_results if item["check_id"] == "text_geometry") + geometry_results = [ + item for item in unavailable_results if item["metric_id"] == "style_geometry_observations" + ] assert (dpi["status"], dpi["enforcement"]) == ("not_applicable", "required") assert (text["status"], text["enforcement"]) == ("not_applicable", "informational") + assert geometry_results + assert all(item["status"] == "not_applicable" for item in geometry_results) + assert all(item["enforcement"] == "required" for item in geometry_results) + assert all(isinstance(item.get("reason"), str) and item["reason"].strip() for item in geometry_results) measured = tmp_path / "measured.png" Image.new("RGB", (120, 80), "navy").save(measured, format="PNG", dpi=(600, 600)) @@ -503,6 +511,15 @@ def test_required_resolution_and_geometry_unavailable_fail_closed( assert below["policy_projection"]["status"] == "blocked" +def test_required_geometry_not_applicable_has_reason_and_needs_review() -> None: + results = geometry_minimum_results(None, validation_target="nature") + + assert results + assert all(item["status"] == "not_applicable" for item in results) + assert all(item["enforcement"] == "required" for item in results) + assert all(isinstance(item.get("reason"), str) and item["reason"].strip() for item in results) + + def test_pdf_width_and_font_subtype_are_measured_from_existing_bytes(tmp_path: Path) -> None: safe = tmp_path / "safe.pdf" # Keep the fixture's page geometry explicit. Other integration tests may diff --git a/themes/journal_export_policy.py b/themes/journal_export_policy.py new file mode 100644 index 0000000..83d38f4 --- /dev/null +++ b/themes/journal_export_policy.py @@ -0,0 +1,271 @@ +"""Small, state-free export policies used by :mod:`journal_theme`. + +The public theme module remains the compatibility façade. These helpers keep +save-time policy decisions separate from rcParam and figure-token setup while +receiving the active target explicitly, avoiding a second source of theme +state. +""" + +from __future__ import annotations + +import math +import os +import time +from pathlib import Path +from typing import Any + +INTERNAL_STYLE_TARGET_FORMAT = "nature_surfur" +NARROW_LOG_MAX_DECADES = 2.0 +TIFF_AUTO_PRESETS: set[str] = { + "nature", + INTERNAL_STYLE_TARGET_FORMAT, + "science", + "acs", + "rsc", + "elsevier", + "wiley", + "cell", +} + +_JOURNAL_TARGET_FORMATS = frozenset(TIFF_AUTO_PRESETS) +_DEFAULT_LOG_MINOR_THRESHOLDS = (1.0, 0.4) +_NARROW_LOG_POLICY_ATTR = "_graph_hub_narrow_log_minor_policy" +_FIXED_WIDTH_TARGET_FORMATS = frozenset({"nature", "default", INTERNAL_STYLE_TARGET_FORMAT}) +DIAG_BUDGET_FLOOR_SECONDS = 5.0 + + +def _normalize_narrow_log_minor_labels(value: str | bool) -> str: + if isinstance(value, bool): + return "on" if value else "off" + normalized = str(value).strip().lower() + if normalized == "auto": + return "auto" + raise ValueError("narrow_log_minor_labels must be 'auto', True, or False") + + +def _log_axis_decades(axis) -> float | None: + try: + lower, upper = (float(value) for value in axis.get_view_interval()) + base = float(getattr(axis.get_transform(), "base", 10.0)) + if lower <= 0 or upper <= 0 or base <= 1 or not all(math.isfinite(value) for value in (lower, upper, base)): + return None + return abs(math.log(max(lower, upper) / min(lower, upper), base)) + except (AttributeError, TypeError, ValueError, ZeroDivisionError): + return None + + +def _is_default_log_formatter(formatter) -> bool: + """Return True only for Matplotlib's own LogFormatter family.""" + + try: + from matplotlib.ticker import LogFormatter + + return isinstance(formatter, LogFormatter) and type(formatter).__module__ == "matplotlib.ticker" + except (ImportError, TypeError): + return False + + +def _restore_narrow_log_formatter(formatter) -> bool: + prior = getattr(formatter, _NARROW_LOG_POLICY_ATTR, None) + if prior is None: + return False + current = tuple(float(value) for value in getattr(formatter, "minor_thresholds", ())) + if current != (0.0, 0.0): + try: + delattr(formatter, _NARROW_LOG_POLICY_ATTR) + except AttributeError: + pass + return False + formatter.minor_thresholds = tuple(prior) + try: + formatter.set_locs() + except (AttributeError, RuntimeError, ValueError): + pass + try: + delattr(formatter, _NARROW_LOG_POLICY_ATTR) + except AttributeError: + pass + return True + + +def apply_narrow_log_minor_tick_policy( + fig, + *, + mode: str | bool = "auto", + target_format: str | None = None, +) -> dict: + """Apply bounded journal log-minor-label behavior to a live figure.""" + + normalized = _normalize_narrow_log_minor_labels(mode) + target = str(target_format or "").lower() + eligible_target = target in _JOURNAL_TARGET_FORMATS + evidence = { + "mode": normalized, + "target_format": target, + "max_decades": float(NARROW_LOG_MAX_DECADES), + "eligible_target": bool(eligible_target), + "axes": [], + } + for axis_index, ax in enumerate(getattr(fig, "axes", ())): + for axis_name, axis in (("x", ax.xaxis), ("y", ax.yaxis)): + if axis.get_scale() != "log": + continue + formatter = axis.get_minor_formatter() + decades = _log_axis_decades(axis) + axis_evidence = { + "axis_index": int(axis_index), + "axis": axis_name, + "decades": None if decades is None else float(decades), + "applied": False, + "restored": False, + "reason": "", + } + should_apply = ( + normalized != "off" + and eligible_target + and decades is not None + and decades < NARROW_LOG_MAX_DECADES + ) + if not _is_default_log_formatter(formatter): + axis_evidence["reason"] = "custom_minor_formatter" + elif should_apply: + current = tuple(float(value) for value in getattr(formatter, "minor_thresholds", ())) + prior = getattr(formatter, _NARROW_LOG_POLICY_ATTR, None) + if prior is not None and current != (0.0, 0.0): + axis_evidence["reason"] = "user_modified_formatter" + _restore_narrow_log_formatter(formatter) + elif prior is None and current != _DEFAULT_LOG_MINOR_THRESHOLDS: + axis_evidence["reason"] = "nondefault_minor_thresholds" + else: + if prior is None: + setattr(formatter, _NARROW_LOG_POLICY_ATTR, current) + formatter.minor_thresholds = (0.0, 0.0) + try: + formatter.set_locs() + except (AttributeError, RuntimeError, ValueError): + pass + axis_evidence["applied"] = True + axis_evidence["reason"] = "narrow_log_range" + else: + axis_evidence["restored"] = _restore_narrow_log_formatter(formatter) + if normalized == "off": + axis_evidence["reason"] = "explicit_opt_out" + elif not eligible_target: + axis_evidence["reason"] = "non_journal_target" + elif decades is None: + axis_evidence["reason"] = "invalid_log_range" + else: + axis_evidence["reason"] = "range_at_or_above_threshold" + evidence["axes"].append(axis_evidence) + fig._graph_hub_narrow_log_minor_label_policy = evidence + return evidence + + +def resolve_bbox_policy( + *, + target_format: str, + layout_lock: Any, + kwargs: dict[str, Any], + bbox_policy: str | None, +) -> tuple[bool, str]: + """Resolve fixed-canvas vs tight-crop behavior and mutate save kwargs.""" + + normalized = "auto" if bbox_policy is None else str(bbox_policy).strip().lower() + if normalized not in {"auto", "fixed", "tight"}: + raise ValueError("bbox_policy must be 'auto', 'fixed', or 'tight'") + has_explicit_bbox = "bbox_inches" in kwargs + if has_explicit_bbox: + return kwargs.get("bbox_inches") is None, normalized + if normalized == "fixed" or ( + normalized == "auto" and (layout_lock or target_format in _FIXED_WIDTH_TARGET_FORMATS) + ): + return True, normalized + if normalized == "tight" or (normalized == "auto" and target_format != "neutral"): + kwargs["bbox_inches"] = "tight" + return False, normalized + + +def save_auto_tiff_companion( + fig, + file_path: Path, + *, + preset: str | None, + suffix: str, + tiff_companion: bool, + companion_formats: tuple[str, ...], + kwargs: dict[str, Any], + fixed_canvas: bool, +) -> None: + if ( + not tiff_companion + or (preset or "").lower() not in TIFF_AUTO_PRESETS + or suffix == ".tiff" + or "tiff" in companion_formats + ): + return + tiff_kwargs: dict[str, Any] = { + "dpi": 300, + "format": "tiff", + "pil_kwargs": {"compression": "tiff_lzw"}, + } + if not fixed_canvas: + tiff_kwargs["bbox_inches"] = kwargs.get("bbox_inches", "tight") + fig.savefig(str(file_path.with_suffix(".tiff")), **tiff_kwargs) + + +def prepare_save_metadata( + filename, + *, + kwargs: dict[str, Any], + target_format: str, +) -> tuple[Path, str, dict[str, Any]]: + """Normalize deterministic metadata and raster defaults for one save.""" + + metadata = kwargs.pop("metadata", {}) or {} + file_path = Path(filename) + suffix = file_path.suffix.lower() + if target_format != "neutral" and suffix in {".png", ".jpg", ".jpeg", ".tif", ".tiff"}: + kwargs.setdefault("dpi", 600) + metadata.setdefault("Creator", None) + metadata.pop("Producer", None) + metadata.pop("Software", None) + if suffix == ".svg": + metadata.pop("CreationDate", None) + metadata.pop("ModDate", None) + metadata.setdefault("Date", None) + else: + metadata.setdefault("CreationDate", None) + metadata.setdefault("ModDate", None) + return file_path, suffix, metadata + + +def safe_geometry_diagnostics_inline( + fig, + *, + layout_lock_attr: str, + font_token_sizes: list[float], + journal_compliance: Any, +) -> dict: + """Run geometry diagnostics without allowing them to fail a saved figure.""" + + try: + from hub_core.geometry_diagnostics import RAW_SCHEMA_VERSION, diagnose_figure_geometry + + deadline = float(os.environ.get("GEOMETRY_DIAGNOSTICS_DEADLINE", "inf")) + if deadline - time.time() < DIAG_BUDGET_FLOOR_SECONDS: + return {"schema_version": RAW_SCHEMA_VERSION, "measurements": [], "warnings": ["skipped: render budget"]} + data_axes = [ + axis for axis in fig.axes if axis.get_visible() and getattr(axis, "_graph_hub_role", None) != "colorbar" + ] + return diagnose_figure_geometry( + fig, + data_axes, + layout_locked=getattr(fig, layout_lock_attr, None) is not None, + font_token_sizes=font_token_sizes, + journal_compliance=journal_compliance, + contract_version="raw", + ) + except Exception as exc: + from hub_core.geometry_diagnostics import RAW_SCHEMA_VERSION + + return {"schema_version": RAW_SCHEMA_VERSION, "measurements": [], "warnings": [str(exc)]} diff --git a/themes/journal_theme.py b/themes/journal_theme.py index 912d1eb..e87d61b 100644 --- a/themes/journal_theme.py +++ b/themes/journal_theme.py @@ -6,10 +6,10 @@ - target_format 파라미터에 따라 딕셔너리를 로드하고, font_scale에 따라 크기를 보정하는 순수 함수. - 환경 변수 직접 참조를 배제하여 순수 함수(Pure function) 원칙 준수. """ + import copy import json import os -import time from dataclasses import dataclass from pathlib import Path @@ -89,6 +89,19 @@ def get_profile_rc_overrides(profile_name=None): get_legend_args, ) +try: + from . import journal_export_policy as _journal_export_policy +except ImportError: + import journal_export_policy as _journal_export_policy + +NARROW_LOG_MAX_DECADES = _journal_export_policy.NARROW_LOG_MAX_DECADES +TIFF_AUTO_PRESETS = _journal_export_policy.TIFF_AUTO_PRESETS +_apply_narrow_log_minor_tick_policy = _journal_export_policy.apply_narrow_log_minor_tick_policy +prepare_save_metadata = _journal_export_policy.prepare_save_metadata +resolve_bbox_policy = _journal_export_policy.resolve_bbox_policy +save_auto_tiff_companion = _journal_export_policy.save_auto_tiff_companion +_safe_geometry_diagnostics = _journal_export_policy.safe_geometry_diagnostics_inline + __all__ = [ "DOUBLE_COLUMN", "INTERNAL_STYLE_TARGET_FORMAT", @@ -97,6 +110,7 @@ def get_profile_rc_overrides(profile_name=None): "SINGLE_COLUMN", "STYLE_PRESETS", "TIFF_AUTO_PRESETS", + "NARROW_LOG_MAX_DECADES", "_LAYOUT_LOCK_ATTR", "_active_font_token_sizes", "_apply_legacy_publication_layout", @@ -105,6 +119,8 @@ def get_profile_rc_overrides(profile_name=None): "_safe_geometry_diagnostics_inline", "apply_journal_style", "apply_journal_theme", + "apply_narrow_log_minor_tick_policy", + "apply_narrow_log_tick_policy", "apply_panel_grid_layout", "apply_publication_layout", "font_tokens", @@ -120,20 +136,8 @@ def get_profile_rc_overrides(profile_name=None): # ── Nature/Science Standard Widths (mm) ───────────────────────── SINGLE_COLUMN = 89 # mm DOUBLE_COLUMN = 183 # mm -DIAG_BUDGET_FLOOR_SECONDS = 5.0 INTERNAL_STYLE_TARGET_FORMAT = "_".join(("nature", "surfur")) -TIFF_AUTO_PRESETS: set[str] = { - "nature", - INTERNAL_STYLE_TARGET_FORMAT, - "science", - "acs", - "rsc", - "elsevier", - "wiley", - "cell", -} - @dataclass(frozen=True) class FontTokens: @@ -232,7 +236,10 @@ def mm_to_inch(mm): # Output "savefig.dpi": 600, "savefig.format": "pdf", - "savefig.bbox": "tight", + # Nature figures have a publication-width canvas. Tight cropping is + # available through ``save_journal_fig(..., bbox_policy="tight")`` or + # an explicit ``bbox_inches="tight"`` save kwarg. + "savefig.bbox": None, "svg.fonttype": "none", "pdf.fonttype": 42, "ps.fonttype": 42, @@ -465,6 +472,12 @@ def mm_to_inch(mm): } ) +# Keep the historical tight-bbox default for non-Nature journal tracks. Their +# existing render/compatibility paths may rely on crop-to-artists behavior; +# only the Nature-family presets opt into fixed physical canvas dimensions. +for _tight_compatibility_target in ("science", "acs", "rsc", "elsevier", "wiley", "cell"): + STYLE_PRESETS[_tight_compatibility_target]["savefig.bbox"] = "tight" + # Internal project style preset (2026-04-10) # - NatComm 5-7pt strict compliance (title 7.0, legend 6.0) # - 50x50 mm plot box 기준 → spine/tick 약간 굵게 (0.75pt) @@ -627,46 +640,31 @@ def set_figure_size(width_mm, height_mm=None, ratio=0.8): def _safe_geometry_diagnostics_inline(fig) -> dict: - """Run geometry diagnostics in the same frame that holds the live figure. - - Never raises: a diagnostics-engine error degrades to a passed:null stub so the - worker's broad except can never hard-fail an already-saved figure. The wall-clock - budget skip reads ONLY GEOMETRY_DIAGNOSTICS_DEADLINE against a fixed floor; - MCP_RENDER_TIMEOUT_SECONDS is a module constant in mcp_surface and is never in - os.environ, so it must not be read here. - """ - try: - from hub_core.geometry_diagnostics import RAW_SCHEMA_VERSION, diagnose_figure_geometry - - deadline = float(os.environ.get("GEOMETRY_DIAGNOSTICS_DEADLINE", "inf")) - if deadline - time.time() < DIAG_BUDGET_FLOOR_SECONDS: - return { - "schema_version": RAW_SCHEMA_VERSION, - "measurements": [], - "warnings": ["skipped: render budget"], - } - data_axes = [ - axis for axis in fig.axes if axis.get_visible() and getattr(axis, "_graph_hub_role", None) != "colorbar" - ] - layout_locked = getattr(fig, _LAYOUT_LOCK_ATTR, None) is not None - return diagnose_figure_geometry( - fig, - data_axes, - layout_locked=layout_locked, - font_token_sizes=_active_font_token_sizes(), - journal_compliance=_ACTIVE_COMPLIANCE_TOKENS, - contract_version="raw", - ) - except Exception as exc: - from hub_core.geometry_diagnostics import RAW_SCHEMA_VERSION + """Run geometry diagnostics in the same frame that holds the live figure.""" - return {"schema_version": RAW_SCHEMA_VERSION, "measurements": [], "warnings": [str(exc)]} + return _safe_geometry_diagnostics( + fig, + layout_lock_attr=_LAYOUT_LOCK_ATTR, + font_token_sizes=_active_font_token_sizes(), + journal_compliance=_ACTIVE_COMPLIANCE_TOKENS, + ) def _active_font_token_sizes() -> list[float]: return list(_ACTIVE_FONT_TOKENS.as_dict().values()) +def apply_narrow_log_minor_tick_policy(fig, *, mode: str | bool = "auto") -> dict: + """Apply the journal-only narrow-log minor-label policy to ``fig``.""" + + return _apply_narrow_log_minor_tick_policy(fig, mode=mode, target_format=_ACTIVE_TARGET_FORMAT) + + +# A descriptive alias keeps direct callers readable while preserving one +# implementation for older scripts that prefer the shorter ``tick`` spelling. +apply_narrow_log_tick_policy = apply_narrow_log_minor_tick_policy + + def save_journal_fig( fig, filename, @@ -676,8 +674,10 @@ def save_journal_fig( tiff_companion: bool = True, auto_declutter: bool | None = None, declutter_mode: str | None = None, + narrow_log_minor_labels: str | bool = "auto", compliance_mode: str | None = None, mutation_ledger_out: list[dict] | None = None, + bbox_policy: str | None = None, **kwargs, ): """ @@ -685,41 +685,47 @@ def save_journal_fig( PDF uses CreationDate/ModDate, while SVG suppresses Date metadata for stable output. If filename is .pdf, companion files are generated per companion_formats (png, tiff). - Layout-locked figures use rc_context to suppress savefig.bbox='tight' from rcParams, - because passing bbox_inches=None in kwargs still falls back to rcParams in matplotlib. + ``bbox_policy`` controls the canvas-vs-crop policy when ``bbox_inches`` is + not passed explicitly. ``None``/``"auto"`` keeps publication canvas size + for layout-locked and Nature-family figures, while retaining the historical + tight-bbox behavior for other non-neutral targets. Use + ``bbox_policy="tight"`` (or the long-standing ``bbox_inches="tight"`` + kwarg) as an explicit crop opt-in; use ``bbox_policy="fixed"`` to force a + fixed canvas for any target. Explicit ``bbox_inches`` always wins, which + preserves compatibility with callers that already requested tight output. + + Fixed-canvas saves use rc_context to suppress ``savefig.bbox='tight'`` from + rcParams, because passing ``bbox_inches=None`` in kwargs still falls back to + rcParams in matplotlib. If preset is in TIFF_AUTO_PRESETS and tiff_companion is True, a 300 DPI LZW-compressed TIFF companion is saved alongside any primary format (unless primary is already TIFF). + + ``narrow_log_minor_labels`` is a journal-only save-time convenience. In + ``auto`` mode, built-in Matplotlib log minor labels are suppressed below + two decades; pass ``False`` to opt out. User-supplied formatters are never + replaced. """ import contextlib layout_lock = getattr(fig, _LAYOUT_LOCK_ATTR, None) - if layout_lock: + fixed_canvas, _ = resolve_bbox_policy( + target_format=_ACTIVE_TARGET_FORMAT, + layout_lock=layout_lock, + kwargs=kwargs, + bbox_policy=bbox_policy, + ) + if fixed_canvas: kwargs.pop("bbox_inches", None) save_ctx = plt.rc_context({"savefig.bbox": None, "savefig.pad_inches": 0}) else: - if _ACTIVE_TARGET_FORMAT != "neutral": - kwargs.setdefault("bbox_inches", "tight") save_ctx = contextlib.nullcontext() - metadata = kwargs.pop("metadata", {}) or {} - file_path = Path(filename) - suffix = file_path.suffix.lower() - if _ACTIVE_TARGET_FORMAT != "neutral" and suffix in {".png", ".jpg", ".jpeg", ".tif", ".tiff"}: - kwargs.setdefault("dpi", 600) - - # 도구 버전 정보 차단 — 환경별 바이너리 해시 불일치 방지 - metadata.setdefault("Creator", None) - metadata.pop("Producer", None) - metadata.pop("Software", None) - - if suffix == ".svg": - metadata.pop("CreationDate", None) - metadata.pop("ModDate", None) - metadata.setdefault("Date", None) - else: - metadata.setdefault("CreationDate", None) - metadata.setdefault("ModDate", None) + file_path, suffix, metadata = prepare_save_metadata( + filename, + kwargs=kwargs, + target_format=_ACTIVE_TARGET_FORMAT, + ) effective_compliance = str(compliance_mode or _ACTIVE_COMPLIANCE_MODE or "validate").strip().lower() if effective_compliance not in {"validate", "clamp"}: @@ -732,6 +738,7 @@ def save_journal_fig( raise ValueError("declutter_mode must be 'none' or 'declutter'") with save_ctx: + apply_narrow_log_minor_tick_policy(fig, mode=narrow_log_minor_labels) ledger, declutter_evidence = apply_explicit_save_mutations( fig, compliance_mode=effective_compliance, @@ -771,14 +778,13 @@ def save_journal_fig( tiff_kwargs["pil_kwargs"] = {"compression": "tiff_lzw"} fig.savefig(file_path.with_suffix(".tiff"), **tiff_kwargs) - # Auto TIFF companion for journal presets - _preset = (preset or "").lower() - if tiff_companion and _preset in TIFF_AUTO_PRESETS and suffix != ".tiff" and "tiff" not in companion_formats: - tiff_path = file_path.with_suffix(".tiff") - fig.savefig( - str(tiff_path), - dpi=300, - format="tiff", - bbox_inches="tight", - pil_kwargs={"compression": "tiff_lzw"}, - ) + save_auto_tiff_companion( + fig, + file_path, + preset=preset, + suffix=suffix, + tiff_companion=tiff_companion, + companion_formats=companion_formats, + kwargs=kwargs, + fixed_canvas=fixed_canvas, + ) From 97eeffb77b84b04692020234fb9b25fa82f22cdd Mon Sep 17 00:00:00 2001 From: Codex Date: Wed, 29 Jul 2026 22:35:43 +0900 Subject: [PATCH 2/2] fix: align macOS gates and release metadata --- CHANGELOG.md | 5 +++++ docs/packaging/public-release-status.md | 11 ++++++----- pyproject.toml | 2 +- .../m4_1_multiseries_broken_axis.png | Bin 104362 -> 106231 bytes .../visual_regression/m4_2_box_plot.png | Bin 103536 -> 105800 bytes .../visual_regression/m4_2_facet_plot.png | Bin 96154 -> 95409 bytes .../m4_2_grouped_bar_aggregate.png | Bin 70678 -> 72240 bytes .../visual_regression/m4_2_violin_plot.png | Bin 118165 -> 120752 bytes tests/test_issue230_geometry.py | 2 +- tests/test_issue232_ticks.py | 14 +++++++++++--- tests/test_release_discipline.py | 4 +++- uv.lock | 2 +- 12 files changed, 28 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 059ccc2..7f19cf5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,11 @@ This project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html) and changed-file `uv run ruff check ...`, and `uv run python figops_mcp_server.py --smoke`. - Maintainers tag releases after merge; implementers open PRs but do not merge or tag. +## [0.20.2] - 2026-07-29 + +Post-0.20.1 release-candidate metadata entry. This records the next patch +candidate only; merge, tag, and package publication remain maintainer actions. + ## [0.20.1] - 2026-07-25 Post-0.20.0 release-candidate metadata entry. This records the next patch diff --git a/docs/packaging/public-release-status.md b/docs/packaging/public-release-status.md index fdd338c..efa31b4 100644 --- a/docs/packaging/public-release-status.md +++ b/docs/packaging/public-release-status.md @@ -2,14 +2,14 @@ - Inventory valid: yes - Package distribution allowed: yes -- Repository technically eligible for public release: yes +- Repository technically eligible for public release: no - Repository publication authorized: yes -- Repository release allowed: yes +- Repository release allowed: no - Authorization evidence references: 1 -- Technical release gate: ok -- Technical blockers: 0 +- Technical release gate: blocked +- Technical blockers: 1 - Auto-fixable technical blockers: 0 -- Confirmation-required technical blockers: 0 +- Confirmation-required technical blockers: 1 Repository publication authorization is recorded in the authoritative inventory approval fields with validated HTTPS evidence references. The technical gate remains independent evidence; a release is allowed only when both authorization and technical eligibility are yes. @@ -19,3 +19,4 @@ Decision record: [public-release-decision-record.md](./public-release-decision-r | Family | Count | Status | Confirmation | Action | | --- | ---: | --- | --- | --- | +| private_marker | 1 | requires_decision | yes | Sanitize or relocate files that contain real project identifiers or private style names. | diff --git a/pyproject.toml b/pyproject.toml index a352a25..609f34b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "figops" -version = "0.20.1" +version = "0.20.2" description = "Reproducible plotting and analysis pipeline for research projects" readme = "README.md" requires-python = ">=3.12" diff --git a/tests/fixtures/visual_regression/m4_1_multiseries_broken_axis.png b/tests/fixtures/visual_regression/m4_1_multiseries_broken_axis.png index c75fa1d4c0e7c1eeda16a7d0e0ff29ce446981c1..6ecce11f736cf07973b7e3b41d43953393aebf80 100644 GIT binary patch literal 106231 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

}TA0h>~q@ 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 e<8P5>dzZGRv_wQIeB@vUSk6>u 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 literal 104362 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

3Cr(ZgI1wur%c#4d68y&eM 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

4*`f;WUC{RqpPf*+Ue<4%q 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

Gkz-`hM*td$#R@{I{m$eVrKvge%4IO6 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

rE!TU&FIx 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 D+*b0^ literal 103536 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 diff --git a/tests/fixtures/visual_regression/m4_2_facet_plot.png b/tests/fixtures/visual_regression/m4_2_facet_plot.png index a243f18d12632a0a91807453a5266575b9157124..40c492c0641669ac76e070e306ae20cd226ab9f0 100644 GIT binary patch literal 95409 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

oa0%akJnCGRSsY|33E(#jOf6XKZ2A)@XeIO@6BV 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

%0ErBs-*OXca#Pt25Y3?;5zIi*a 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 Ny49OjMXoUP{9nGC8rJ{- literal 96154 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