Release v1.3.2: BUILD REPORT, Onshape settings UI, hierarchical seed templates#5
Merged
Conversation
- BUILD REPORT: new printable /executions/{id}/report page with closeout
photo support (new attachment kind "closeout", PATCH /api/attachments/{id},
template/CSS updates, smoke test).
- MCP server: full procedure CRUD (get/update/delete procedure and steps,
reorder, dependencies, kit/output management, step kit, publish_version,
list_versions, clone_procedure) plus create_risk. Adds mcp>=1.0 dep.
- opal migrate: honor --project/--database so migrations target the right
project DB instead of whatever the ambient env points to.
- Seed: rewrite all 6 procedures into operation/step hierarchy (52 ops,
194 sub-steps with requires_signoff / required_data_schema on
measurement and verification steps); add default users (admin id=1 plus
two non-admins); embed parent_step_id, kit_items, and output_items in
version snapshots so executions render the tree.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds an admin-only /settings/onshape/configure form so Onshape API credentials can be entered, edited, and tested from the web UI. - New AppSetting model + migration for runtime-mutable key/value config that survives restarts and overrides env values. - apply_db_overlay() rebuilds the runtime Settings from app_setting rows; called at server lifespan startup and after each save. - OnshapeClient.get_session_info() backs the TEST CONNECTION button; bad credentials surface as a friendly "Authentication failed" banner instead of a raw JSON decode error. - Settings index now always shows the ONSHAPE INTEGRATION panel — CONFIGURE button when disabled, EDIT alongside PULL/PUSH when enabled. Form follows the standard OPAL panel + form_actions style and reuses ok.status / var(--accent-*) for messaging. - Replace broken .alert classes in onshape_documents.html with the standard inline-color flash style used elsewhere. - Bump to 1.3.2. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two feature commits plus the v1.3.2 version bump.
BUILD REPORT, expanded MCP procedure tools, hierarchical seed templates (d73b421)
/executions/{id}/reportpage with closeout-photo support — new attachment kindcloseout,PATCH /api/attachments/{id}, template + CSS, smoke test.mcp>=1.0dep.opal migratenow honors--project/--databaseso migrations target the right project DB.Onshape settings UI (07b0194)
Admin-only
/settings/onshape/configureform so credentials can be entered, edited, and tested without touching.env.AppSettingmodel + migration for runtime-mutable key/value config that survives restarts and overrides env values.apply_db_overlay()rebuilds runtime Settings fromapp_settingrows at server lifespan startup and after each save.OnshapeClient.get_session_info()powers the TEST CONNECTION button; bad credentials surface as a friendly "Authentication failed" banner instead of a raw JSON decode error.form_actionsstyle; reusesok.statusandvar(--accent-*)for messaging. Drops broken.alertclasses inonshape_documents.htmlfor the standard inline-color flash style.Test plan
ruff format+ruff check src/cleanpytest tests/unit/— 308 passedopal seedruns end-to-end with the new hierarchical templates (246 steps across 6 procedures)/settings/onshape/configureflow exercised: save → status flips to ENABLED, TEST CONNECTION with bad keys returns the friendly auth-failed bannerConnected as <name>banner