Changelog
Strong beta branch notes followed by the main historical release log.
v0.4.130
2026-06-210.4.130 Releasefeatgeotech chat now auto-scans the current project folder at session start and seeds the agent with a bounded ground-model digest (strata values, lithology, groundwater, counts, verifier status), so the LLM understands your dataset from the first message; added --workspace/--no-workspace and /workspace + /rescan commands
featAdded --force-agent to geotech agent and geotech chat to skip the deterministic preflight short-circuit and route the request through the LLM agent loop; off by default
featRead-only data tools (query_ground_model, parse_ags/csv/cpt, read_file, analyze_signal_file) now serialize a wider ~8 KB result window and the hosted final-answer budget grows when a data tool was read, so the agent can reason across the whole dataset; data tools are paginated via limit/section
featgeotech analyze text output now signposts the AI agent verbs (geotech chat / geotech agent "<question>"); JSON and HTML output are unchanged
fixThe deterministic trust boundary is unchanged: the LLM interprets and orchestrates while deterministic code owns every number, and the new context/tool surfaces are read-only
v0.4.129
2026-06-210.4.129 ReleasefeatAdded a read-only query_ground_model agent tool so the LLM agent can query the deterministic, evidence-bound GroundModel (strata, parameters, groundwater, SPT, coordinates, per-borehole detail) instead of re-parsing raw files
featEnriched the agent context with a bounded GroundModel values digest (representative strata, lithology, USCS, groundwater) plus a tool pointer, available to chat/agent and the swarm interpretation and reviewer roles
fixThe deterministic trust boundary is unchanged: the tool sources the model via analyzeWorkspace, never recomputes a number or writes a file, and the LLM interprets while deterministic code owns the values
v0.4.128
2026-06-140.4.128 ReleasefeatPromoted the hosted strong-beta default text/agent model from glm-5.1 to glm-5.2, Z.ai’s latest flagship in the same GLM-5 series, served through the same chat-completions endpoint and hosted-beta proxy
fixUpdated the shared metadata default and supported-proxy-model catalog so the proxy allowlist, thinking-mode injection, CLI status/config output, and web defaults all follow glm-5.2; the superseded glm-5.1 is removed
fixRealigned the release-consistency guard, release smoke gate, BYOK/benchmark defaults, docs, and the active test corpus to glm-5.2; vision (glm-5v-turbo) and layout (glm-ocr) defaults are unchanged
v0.4.127
2026-06-140.4.127 ReleasefeatAdded AGSi (AGS interchange ground-model JSON) and DIGGS 2.x (XML) export adapters that turn the normalized ground model into industry-standard geotechnical interchange files
featExposed both formats on the CLI (geotech export agsi / export diggs) and as agent tools (export_agsi / export_diggs), reusing the shared lithology vocabulary so geology codes, USCS, and unit colours stay consistent
fixFaithful-subset output by design: structurally correct and round-trippable, dependency-free, with full XSD validation, DIGGS measurements, and AGSi 3D geometry deferred
v0.4.126
2026-06-130.4.126 ReleasefeatAdded a single deterministic lithology normalizer with a shared controlled vocabulary; the six previously independent soil/rock classifiers now delegate to it with unchanged outputs
fixFixed organic/peat classification: preserved as an organic class in the integrated review and recognized in the workspace dossier instead of being dropped to mixed/unknown
featPersisted normalized lithology on borehole layers and ground-model strata and surfaced it in borehole GeoJSON export, while always preserving the raw description
v0.4.125
2026-06-130.4.125 ReleasefeatAdded deterministic page-break continuity repair for merged multi-page borehole logs with a typed audit trail, advisory findings, and unchanged blocking validation for genuine anomalies
featAdded deterministic coordinate plausibility validation covering axis-swap detection, BNG/UTM range envelopes, UTM zone vs longitude consistency, mixed-CRS detection, and cross-borehole spatial outlier flagging
fixExposed continuity repair thresholds through ingest options with conservative defaults and surfaced repair notes in the ingest dossier stratigraphy panel
v0.4.124
2026-06-050.4.124 ReleasefeatAdded reviewed experimental excavation-plane-strain-dp-biot-replay drafting and backend execution for sequential Biot pressure-frame replay into Drucker-Prager effective stress
featAdded pressureReplayAudit result validation for accepted upstream Biot transient evidence, pressure audit metadata, zero nonlinear pore-pressure DOFs, and explicit limitations
fixExtended CLI aliases, agent schema normalization, default hosted GLM guardrails, route tests, and draft-run smoke coverage while FEM production readiness remains blocked
v0.4.123
2026-06-040.4.123 ReleasefeatAdded an OpenGeoSys Liquid Flow h1_1Dsteady open-source comparison for steady Darcy seepage head, flux, and gradient evidence
featAdded a route-backed excavation-plane-strain-dp-adaptive draft path with hardening-modulus parsing and approval-bearing run templates
fixExtended default hosted GLM, agent normalization, CLI, routing, and draft-run smoke coverage for reviewed DP adaptive FEM execution
v0.4.122
2026-06-040.4.122 ReleasefixMade persisted fem-reviewer-approval.v1 metadata mandatory for every reviewed experimental geotech fem run
fixUpdated FEM route, GroundModel workspace acceptance, docs, and agent command templates to include approval persistence metadata
fixExtended CLI and draft-run smoke coverage across raft, excavation, tunnel, consolidation, nonlinear-column, and Biot u-p scenarios
v0.4.121
2026-06-040.4.121 ReleasefeatAdded check_fem_support_member_design as a deterministic agent-callable FEM support-member limit-state tool
featRequired explicit support demand provenance plus reviewer identity, license, jurisdiction, assumptions, and limitations before support capacities are computed
fixAdded default hosted GLM and swarm regressions so agents use deterministic support checks without claiming FEM production approval
v0.4.120
2026-06-040.4.120 ReleasefeatAdded an OpenGeoSys staggered hydro-mechanics consolidation benchmark reference and open-source comparison record for Biot u-p pressure-profile evidence
featCompared the benchmark-scale Quad4 Biot pressure profile against the OpenGeoSys analytical p_D solution with deterministic hashes and series tolerances
fixExposed accepted external comparison IDs in FEM agent evidence summaries while keeping commercial-solver blockers active
v0.4.119
2026-06-040.4.119 ReleasefeatForwarded reviewed hardeningModulusKpa values into the route-backed plane-strain Drucker-Prager adaptive backend
featAdded maxHardeningStressKpa result-envelope evidence and validation for hardened DP manifests
fixExtended core and CLI tests for persisted route-backed hardening evidence while keeping FEM productionReady false
v0.4.118
2026-06-040.4.118 ReleasefixHardened persisted ingest job waiting so transient partial job.json reads during checkpoint-heavy large-PDF runs are retried below the CLI live-progress wrapper
fixAdded bounded persisted-read failure guidance with geotech ingest wait/resume instructions instead of surfacing raw JSON parser errors
featAdded isotropic hardening metadata to Drucker-Prager material-point, nonlinear-column, and plane-strain FEM evidence paths while full production FEM remains blocked
v0.4.117
2026-06-040.4.117 ReleasefixAdded compact persisted ingest progress snapshots so large-PDF foreground polling can survive transient full job.json reads during checkpoint-heavy runs
featAdded an explicit load-generated-positive-pressure Biot envelope mode for mechanically loaded consolidation evidence while preserving the default pressure-envelope guard
featRegistered the load-generated Biot pressure acceptance benchmark in FEM evidence and default hosted GLM readiness prompts while full production FEM remains blocked
v0.4.116
2026-06-040.4.116 ReleasefeatAdded per-step dense direct linear-solve residual audits to the plane-strain Biot u-p consolidation evidence kernel and transient acceptance metadata
fixHardened FEM reviewer approval validation for malformed validation summaries, duplicate assumptions or limitations, duplicate finding codes, and production-scope overclaims
fixFixed OpenAI-compatible BYOK support for localhost and private self-hosted endpoints while keeping remote endpoints fail-closed without an API key
v0.4.115
2026-06-040.4.115 ReleasefixHardened borehole-log async ingest finalization so failed page checkpoints are recorded as review findings instead of replayed through the final merge
fixPreserved successful checkpoint data on large PDFs when a later visual page returns malformed provider JSON after retry
fixAdded regression coverage for mixed successful/failed borehole checkpoints with accurate successful and failed page counts
v0.4.114
2026-06-040.4.114 ReleasefeatAdded generated published-source FEM benchmark comparison records for Terzaghi consolidation and alpha-zero Biot pressure dissipation with deterministic SHA-256 evidence/result hashes
featAdded sequential one-way Biot-pressure replay into the benchmark-scale Drucker-Prager effective-stress solve with explicit no-pressure-DOF audit metadata
fixAdded geotech fem run --require-approval-record and workspace acceptance metadata for strict reviewer approval persistence while full production FEM remains blocked
v0.4.112
2026-06-040.4.112 ReleasefixHardened async PDF ingest finalization so completed page checkpoints replay from persisted OCR/text hints instead of making fresh OCR/model calls during final merge
fixCompacted per-page raw model diagnostic text stored in ingest job checkpoints to reduce large job.json churn on 100+ page borehole PDFs
fixAdded checkpoint-only borehole finalization regression coverage so large ingest jobs complete to reviewable results instead of surfacing transient JSON parse errors
v0.4.111
2026-06-040.4.111 ReleasefeatAdded reviewed experimental geotech fem run --backend plane-strain-dp-adaptive for explicit 2D Drucker-Prager excavation cases with adaptive cutback rollback audit
featHardened result validation for adaptive DP metadata, solver residuals, full-load acceptance, rollback signatures, and productionReady overclaims
fixExtended FEM readiness and default hosted GLM guardrails so nonlinear evidence is visible while full production FEM remains blocked
v0.4.110
2026-06-040.4.110 ReleasefeatPromoted Biot transient acceptance metadata into result manifests, validation, CLI output, draft/run smoke, and WebGL smoke coverage
featAdded deterministic support member yield, buckling, flexure, slenderness, and combined utilization evidence with reviewer/license metadata validation
fixDowngraded repeated malformed provider JSON on long visual PDF ingest pages to manual review after retry instead of failing the whole async job
v0.4.109
2026-06-040.4.109 ReleasefeatAdded committed Gauss-point Drucker-Prager state history with strain increments and accumulated plastic-strain evidence
featAdded non-monotonic loadHistoryFactors coverage for unload/reload FEM evidence without resetting plastic state to virgin material
fixUpdated FEM readiness summaries so path-dependent plasticity evidence is visible while full production FEM remains blocked
v0.4.108
2026-06-030.4.108 ReleasefeatAdded audited CSR sparse linear-algebra utilities and an opt-in sparse Conjugate Gradient backend for benchmark-scale Drucker-Prager plane-strain load steps
featAdded structured external benchmark acceptance metadata with published/commercial source requirements, quantity tolerances, and readiness blockers
fixStrengthened staged excavation support screening and mocked default hosted GLM guardrails while keeping full production FEM blocked
v0.4.107
2026-06-030.4.107 ReleasefeatAdded explicit nonlinear FEM convergence reporting with per-load-step residual histories, termination reasons, and fail-closed nonconvergence metadata
featHardened the experimental Biot u-p preview with bounded transient step policy, pore-pressure diagnostics, pressure-overshoot rejection, and manifest validation
fixBlocked production-design FEM approval scope in reviewer records and CLI runs until production solver, benchmark, support-design, and jurisdiction-specific gates are implemented
v0.4.106
2026-06-030.4.106 ReleasefeatAdded route-backed experimental geotech fem demo biot and geotech fem run --backend biot-up paths for reviewed plane-strain Biot u-p seepage/groundwater cases
featUpdated GroundModel, ingest dossier, benchmark, production-readiness, and mocked default GLM surfaces so seepage/groundwater coupling appears as a human-reviewed preview route
fixHardened large foreground ingest jobs by extending bounded transient job.json read retries and reusing the last valid live-progress snapshot through partial checkpoint reads
v0.4.105
2026-06-030.4.105 ReleasefeatAdded an alpha-zero Quad4 Biot u-p drainage-column benchmark that checks transient pore-pressure dissipation against Terzaghi average consolidation at Tv = 0.197
featRegistered the pressure-dissipation benchmark in FEM engineering evidence and production-readiness surfaces so hosted GLM and BYOK-style agents can see the stronger consolidation evidence
fixKept full production FEM blocked: the Biot kernel remains benchmark-scale evidence, not a route-backed production sparse solver, nonlinear staged-construction backend, support-design engine, or independently approved benchmark corpus
v0.4.104
2026-06-030.4.104 ReleasefeatHardened the benchmark-scale Quad4 Biot u-p evidence kernel with explicit excess-pore-pressure, stress, storage, and Darcy-flux convention metadata plus auditable pressure-equation residual components
featAdded deterministic Biot pressure-gradient flux and alpha-zero decoupling benchmark coverage and a fail-fast unsupported negative free-pore-pressure policy
fixExtended production-readiness and mocked default GLM/BYOK agent tests so stronger Biot evidence is visible while full production FEM remains blocked behind route, sparse-solver, nonlinear-coupling, benchmark, support-design, and approval gates
v0.4.103
2026-06-030.4.103 ReleasefixAdded foreground geotech ingest <pdf> regression coverage for transient partial job.json reads so the initial command path keeps polling instead of aborting with a raw Unterminated string in JSON error
fixConfirmed the reported ingest failure was from an older global geotech 0.4.99 binary; the published latest CLI includes the live-progress hardening
fixKept FEM production readiness unchanged while the next solver work remains evidence-hardening and validation, not a production claim
v0.4.102
2026-06-030.4.102 ReleasefeatAdded a benchmark-scale Quad4 plane-strain Biot u-p backward-Euler evidence kernel with coupled displacement and pore-pressure DOFs, pressure storage, Darcy pressure-gradient flow, and Biot stress reduction
featExtended FEM evidence and mocked default GLM planning summaries with Biot u-p benchmark IDs, residual/mass-balance metrics, and stress sign-convention coverage
fixKept full production FEM blocked until route-backed manifests, production sparse solvers, nonlinear plasticity coupling, independent benchmarks, support design, and enforced approvals are complete
v0.4.101
2026-06-030.4.101 ReleasefixFixed large resumable PDF ingest live progress so transient partial job.json reads are skipped and retried instead of aborting with a raw Unterminated string in JSON error
fixAdded regression coverage for foreground ingest wait recovery while the background worker continues to a completed persisted result
fixKept repeated unreadable persisted job state bounded with resume/wait guidance rather than silently hanging
v0.4.100
2026-06-030.4.100 ReleasefeatAdded a benchmark-scale Quad4 plane-strain steady Darcy seepage evidence kernel with hydraulic head DOFs, Darcy flux, pore pressure, and effective-stress-reduction metadata
featExtended FEM evidence with 2D linear-head flow, boundary mass-balance, and effective-stress-reduction benchmarks visible to readiness tools and default hosted GLM planning
fixKept full production FEM blocked until route-backed result manifests, Biot u-p coupling, sparse production solvers, external benchmarks, support design, and enforced approvals are complete
v0.4.99
2026-06-030.4.99 ReleasefeatAdded a benchmark-scale mechanical-only Quad4 plane-strain Drucker-Prager load-step kernel with Gauss-point plastic state, residual/reaction checks, and collapse detection
featExtended FEM evidence with elastic-regression, shear plastic-patch, global residual, staged plastic-strain monotonicity, and collapse-detection benchmarks
fixKept full production FEM blocked until sparse solver routes, Biot/pore-pressure coupling, consistent tangent approval, external benchmarks, support design, and enforced approvals are complete
v0.4.98
2026-06-030.4.98 ReleasefeatAdded a benchmark-scale linear Quad4 plane-strain global assembly kernel with affine patch, skewed geometry, loaded reaction-balance, free-residual, dense-size-cap, and fail-fast validation coverage
featWired global assembly evidence into FEM engineering evidence, production-readiness summaries, exports, and mocked default GLM planning tests
fixKept full production FEM blocked until nonlinear global solver coupling, pore-pressure/consolidation coupling, production sparse solver/result routes, support-design standards, persisted approvals, and independent benchmarks are approved
v0.4.97
2026-06-030.4.97 ReleasefixHardened hosted-beta, Z.ai, OpenAI-compatible, Anthropic, and Hugging Face adapters so truncated provider JSON is reported as a provider response failure instead of a raw parser error
fixMade async PDF ingest retry malformed provider JSON once at the page level before recording a resumable page failure
fixAdded regression coverage for malformed hosted/GLM responses and the reported Unterminated string in JSON failure mode
v0.4.96
2026-06-030.4.96 ReleasefeatAdded a Drucker-Prager/Mohr-Coulomb-compatible nonlinear material-point return-mapping kernel with principal stress, plastic strain, and yield-residual metadata
featAdded geotech fem run --backend nonlinear-column for reviewed staged consolidation cases with deterministic solver load-step, iteration, force-residual, yield-residual, and plastic-strain metadata
fixKept FEM production readiness blocked until global 2D/3D assembly, pore-pressure DOFs, independent benchmarks, support design, and enforced production approvals are complete
v0.4.95
2026-06-030.4.95 ReleasefeatAdded an experimental staged settlement/consolidation FEM preview route with deterministic 1D Terzaghi time stepping, staged load history, settlement envelopes, and pore-pressure metadata
featAdded geotech fem demo consolidation plus staged consolidation draft/run and WebGL/fallback smoke coverage while keeping full 2D/3D coupled production FEM blocked
fixUpdated GroundModel, ingest dossier, benchmark, and default hosted GLM agent paths so staged consolidation is treated as a human-reviewed preview route, not a contract-only or production solver route
v0.4.94
2026-06-030.4.94 ReleasefixFixed resumable ingest job checkpoint persistence so large job.json writes stay atomic while the CLI polls live progress
fixAdded transient persisted-job JSON read retries and job-aware resume guidance instead of surfacing bare parser errors on partial checkpoint reads
fixHardened project storage with the same atomic-write and transient-read policy for project-backed ingest reviews, artifacts, notes, and active context
v0.4.93
2026-06-030.4.93 ReleasefeatAdded deterministic FEM engineering evidence kernels for Mohr-Coulomb material-point plasticity, 1D Terzaghi consolidation, 1D Darcy seepage, effective-stress coupling, support screening, tolerance policy, and reviewer approval validation
featAdded persisted FEM approval-record support so reviewed preview runs can carry reviewer identity, license, jurisdiction, assumptions, limitations, validation summary, and case hash
fixKept FEM production readiness blocked until the verified kernels are coupled to solver routes and independently benchmarked against published or commercial references
v0.4.92
2026-06-030.4.92 ReleasefeatAdded a deterministic FEM production-readiness assessment for nonlinear/plasticity, consolidation, seepage/pore-pressure coupling, advanced staging, support design, real project workspace-to-run, benchmark, and reviewer gates
fixKept full production-grade FEM claims blocked until solver physics, independent benchmarks, reviewed workspace acceptance, and licensed-review records are implemented
fixRequired geotech fem run to include --experimental --reviewed and extended FEM smoke coverage with contract-only route checks, reference balances, and cross-scenario trend assertions
v0.4.91
2026-06-030.4.91 ReleasefeatAdded production-candidate guardrail contracts for preprocessing, corpus benchmarking, BYOK, standards profiles, calculation drafts, planned FEM routes, and deterministic signal analysis
fixAdded runtime OpenRouter and Hugging Face BYOK aliases so users can bring OPENROUTER_API_KEY, OPENROUTER_MODEL, and HUGGINGFACE_API_KEY into real CLI sessions
fixKept AI-assisted and FEM-derived outputs review-gated, path-safe, and free of raw prompt, response, model payload, private path, and token-shaped leakage in persisted artifacts
v0.4.90
2026-06-010.4.90 ReleasefeatAdded a provider-neutral BYOK benchmark contract using the same preprocessed page-evidence prompt across hosted-beta, OpenAI-compatible, OpenRouter/free, and local/HF-compatible routes
fixMade BYOK response validation require compact JSON, source-evidence citations, preserved review gates, and no claims of direct image/PDF inspection
featExtended npm run smoke:byok with structured JSON report output for provider profile, model, latency, token, and evidence-contract comparison
v0.4.89
2026-06-010.4.89 ReleasefixAdded a machine-readable path-safety block to the internal geotechnical corpus benchmark report
fixMade corpus acceptance fail closed when fixture or benchmark inputs contain local absolute paths or secret-shaped values
fixKept path and secret findings redacted in JSON and HTML output so private fixture paths and BYOK tokens are not echoed into persisted artifacts
v0.4.88
2026-06-010.4.88 ReleasefeatSplit the internal geotechnical corpus benchmark provider matrix into hosted-beta, OpenAI-compatible BYOK, OpenRouter/free, and local/HF-compatible profiles
fixAdded fail-closed provider evidence checks so text-only, free, and local profiles must consume preprocessed OCR/page evidence instead of direct image or native-PDF tasks
featAdded corpus-level confidence component summaries and trend fields for extraction, traceability, corroboration, readiness, and page-evidence trust review
v0.4.87
2026-06-010.4.87 ReleasefixFixed the trusted-publishing release build by giving the web package a temporary npm lockfile during Next.js build so the Node 24 publish job selects npm for SWC registry fallback
fixKept the public web build behavior unchanged while aligning the release pipeline with the already-passing CI build
v0.4.86
2026-06-010.4.86 ReleasefeatAdded path-safe signal benchmark history and trend artifacts for deterministic monitoring benchmark comparisons over time
featAdded a signal-trend HTML dashboard with instrument coverage and run-to-run deltas beside the JSON and SVG benchmark outputs
fixKept signal benchmark acceptance fail-closed on path leaks while preserving zero-model-call checks for all five synthetic instrument classes
v0.4.85
2026-05-310.4.85 ReleasefeatAdded opt-in deterministic signal threshold profiles for settlement, piezometer, inclinometer, vibration PPV, and load-test monitoring data
featExtended geotech signal analyze and the sandboxed analyze_signal_file tool with threshold-profile auto and named review profiles while keeping signal metrics deterministic
fixExpanded the signal benchmark fixture to all five instrument classes and made comparison/direct-signal benchmark artifacts path-safe
v0.4.84
2026-05-310.4.84 ReleasefeatExtended opt-in GroundModel calculation input drafts with source references, grouped source pages, evidence-derived confidence, and explicit review gates
fixKept calculation and FEM drafts non-executing until missing user inputs, assumptions, and evidence gates are resolved
fixIncreased the broader preprocessing v2 fixture regression timeout so full core CI has enough budget for deterministic multi-PDF region rendering
v0.4.83
2026-05-310.4.83 ReleasefeatAdded deterministic standards-profile validation for Eurocode 7, AASHTO, IS, BS, and ASTM readiness with blocker codes, required assumptions, safety-factor context, and source references
featWired standards-profile validation into GroundModel verification while keeping generated calculation drafts review-gated and non-executing
fixAdded focused regression coverage for profile assumptions, missing evidence blockers, workflow blockers, and source-reference propagation
v0.4.82
2026-05-310.4.82 ReleasefeatAdded deterministic mixed digital/scanned and malformed scanned PDF fixtures so preprocessing v2 coverage spans borehole, CPT, lab, mixed, and malformed report page shapes
featAdded npm run benchmark:preprocessing to compare none, ocr-optimized, and region-v2 without hosted model calls, writing JSON, HTML, and SVG summaries
fixMade preprocessing benchmark output path-safe by storing fixture basenames and hashes only and failing if local paths or secrets leak into persisted output
v0.4.81
2026-05-310.4.81 ReleasefeatAdded deterministic scanned CPT table, lab table, and mixed scanned-report PDF fixtures to broaden region-v2 crop-detection coverage
fixAdded preprocessing-only regression coverage proving region-v2 detects normalized crop assets and region quality across broader geotechnical scanned layouts without hosted model calls
fixUpdated development status so preprocessing v2 broader-fixture coverage remains visible as the next hardening slice
v0.4.80
2026-05-310.4.80 ReleasefeatAdded a deterministic in-repo image-only borehole/table PDF fixture so region-v2 preprocessing is tested against rendered PDF evidence, not only synthetic benchmark metadata
fixMade corpus acceptance fail when region-v2 returns zero preprocessing regions, zero persisted crop assets, low region quality, or traceability below none and ocr-optimized
fixUpdated corpus HTML comparisons with region quality deltas and kept committed public fixture outputs free of local absolute path leaks
v0.4.79
2026-05-310.4.79 ReleasefeatAdded explicit region-v2 PDF/image preprocessing with fine-pass deskew metadata, higher-resolution normalized pages, smarter table and borehole/log strip crop candidates, and region quality scoring
featRoutes region-v2 table/log crop assets into OCR before full-page vision OCR so borehole and table evidence gets a tighter first extraction target while retaining provider-neutral fallback behavior
fixExtended corpus benchmarks to compare none, ocr-optimized, and region-v2 by default across region quality, persisted crop assets, deskew, hosted-call, traceability, and GroundModel readiness deltas
v0.4.78
2026-05-310.4.78 ReleasefeatAdded npm run benchmark:geotech-corpus as an internal R&D wrapper over the geotechnical document benchmark contract across fixture categories, provider profiles, preprocessing modes, traceability, cache reuse, GroundModel readiness, and FEM execution-boundary guardrails
featAdded real-fixture corpus mode for private local PDFs and images supplied through GEOTECHCLI_BENCHMARK_* env vars, including first-pass plus cached-rerun execution and none versus ocr-optimized preprocessing comparison
fixKept private report bytes and local absolute paths out of persisted corpus benchmark JSON while still writing local history, trend, SVG, and HTML summaries for repeatable review
fixPromoted review gates into corpus run summaries so benchmark acceptance captures trust boundaries as well as latency, hosted calls, cache hits, traceability, GroundModel readiness, and region quality
v0.4.77
2026-05-250.4.77 ReleasefixKept all recovered report boreholes selectable across integrated ingest evidence, strip-log, extracted-field, map, and A-A section views instead of collapsing to the first structured borehole
fixPromoted borehole-specific coordinate text from retained OCR/native report evidence into GroundModel map points, including compact latitude/longitude OCR rows and projected easting/northing rows
fixKept site-only coordinates out of borehole maps and preserved schematic alignment fallback when recovered borehole coordinates are missing or partial
featAdded geotech agent --task calculation-readiness and prompted routing for bearing, settlement, pile, liquefaction, slope, and FEM draft readiness over deterministic GroundModel verifier evidence
v0.4.75
2026-05-240.4.75 ReleasefixAdded regression coverage for failed geotech agent --route-with-model router calls so outage paths still fall back to the workspace-backed agent and keep a failed router row in model_calls.jsonl
fixClarified project-aware agent guidance so fallback provenance describes the current planned workspace-backed handoff row without implying unavailable post-run model-call telemetry
v0.4.74
2026-05-240.4.74 ReleasefeatAdded geotech agent --route-with-model so ambiguous project prompts can request a strict JSON workflow route proposal from the configured hosted or BYOK model
featWorkflow route artifacts now record selectionSource, rejected model tasks, confidence-gate status, and opt-in router proposal rows in model_calls.jsonl
fixRejected unknown model-supplied workflow tasks, kept no-evidence model proposals below the deterministic execution gate, and preserved fallback to the workspace-backed agent path
v0.4.73
2026-05-240.4.73 ReleasefeatAdded a provider-neutral project workflow router so prompted project requests can select and sequence deterministic workflows before any optional model review
featPrompted requests such as geotech agent "find anomalies and create visualizations" now write workflow_route.json, deterministic workflow outputs, and a combined workflow_route_report.md
fixAdded strict route validation and provider-contract tests so hosted GLM, BYOK OpenAI-compatible routes, direct Z.ai, and local-compatible models share the same allowed workflow task contract
v0.4.72
2026-05-240.4.72 ReleasefeatAdded a provider-neutral project workflow executor for explicit geotech agent --task data-quality, ground-model, risk-analysis, anomaly-detection, recommendations, and visualization runs
featAdded deterministic .geotech workflow_result.json, workflow_report.md, and workflow_trace.json artifacts while keeping model_calls.jsonl empty for task runs
fixAdded core project-workflow exports and regression coverage for deterministic workflow results, chart specs, reports, and CLI short-circuit behavior
v0.4.71
2026-05-230.4.71 ReleasefixAdded explicit repository read permissions to release verify and Cloudflare deploy jobs so checkout works when default workflow permissions are tightened
fixClarified geotech agent --no-workspace help text so it matches the current opt-out behavior for automatic project-aware discovery
v0.4.70
2026-05-230.4.70 ReleasefeatAdded project-agent root detection across explicit workspace, .geotech/project.json, git root, and cwd so project-aware runs have a clear filesystem boundary
featMade prompted geotech agent runs project-aware by default unless --no-workspace is supplied, with geotech agent . entering discovery mode
featAdded project-agent intent artifacts, run manifests, file/evidence JSONL indexes, local memory.json, tool-call traces, and model-call traces under .geotech
fixStopped swarm plans from advertising disabled skill tools or unavailable orchestrator deliverable tools, preserved reviewer tool context, and kept rejected reviews unresolved instead of approved-with-notes
v0.4.69
2026-05-230.4.69 ReleasefeatAdded project-aware geotech agent discovery: --plan-only and no-prompt runs scan the workspace, write .geotech project state, and show workflow readiness before any LLM call
featAdded geotech agent --task data-quality|ground-model|risk-analysis|anomaly-detection|recommendations|visualization --workspace <dir> for selected project workflows over the provider-neutral manifest context
fixUpdated FEM draft recommendations so reviewed cases point to geotech fem run <analysis_case.json> --experimental instead of stale built-in demo commands
fixAligned OpenAI-compatible BYOK config with docs by using OPENAI_COMPATIBLE_MODEL as primary and OPENAI_COMPATIBLE_MODEL_ID as a fallback alias
v0.4.68
2026-05-210.4.68 ReleasefixFixed the sequential npm publish script so each workspace publishes from its package directory instead of an ambiguous package spec
fixNormalized published package repository metadata with explicit GitHub URLs and workspace directories for @geotechcli/core and geotechcli
securityKept the tokenless Trusted Publishing path and moved the repair release to 0.4.68 after 0.4.67 failed before publishing npm packages
v0.4.67
2026-05-210.4.67 ReleasesecurityReplaced concurrent Changesets publishing with a deterministic npm publish script that publishes @geotechcli/core first and waits for registry visibility before publishing geotechcli
fixRestricted npm publishing to the strong-beta branch so tag-triggered workflows create GitHub releases without attempting a second npm publish
fixAdded package-version and dependency guardrails so the CLI cannot publish against a missing or mismatched core package version
fixMade the Cloudflare beta deploy wait for successful npm publishing so the live site cannot advance after a partial npm release
v0.4.66
2026-05-210.4.66 ReleasefixFixed the Trusted Publishing toolchain guard quoting so Bash does not expand JavaScript template expressions before Node evaluates the release check
securityKept the npm publish path tokenless and OIDC-based for the second Trusted Publishing release attempt
v0.4.65
2026-05-210.4.65 ReleasesecuritySwitched the npm publish job to Trusted Publishing/OIDC by removing the long-lived NPM_TOKEN publish path from changeset publish
securityAdded a Node 24/npm 11.5.1+ release toolchain check so OIDC publishing fails early if the runner cannot satisfy npm Trusted Publishing requirements
fixAdded GitHub repository metadata to the published core package so npm can match the OIDC trusted publisher to the repository
docsDocumented the exact npm Trusted Publisher settings for both published packages before the old write token is revoked
v0.4.64
2026-05-190.4.64 ReleasefeatAdded GroundModel-derived FEM draft candidates to report and borehole ingest output for foundation settlement and staged excavation deformation routes
featAdded a FEM draft routing table to HTML report output with readiness, missing user inputs, review gates, evidence prefill, and draft commands
fixKept LLM and swarm boundaries unchanged: agents can plan, draft, and validate FEM cases, while deterministic execution stays behind human-invoked geotech fem run --experimental
v0.4.63
2026-05-190.4.63 ReleasefeatAdded geotech fem run <analysis_case.json> --experimental so reviewed FEM draft cases can execute through deterministic built-in preview backends
featAdded a draft-to-run acceptance smoke harness covering raft, excavation, and tunnel case files, deterministic manifests, and HTML artifact output
fixKept LLM and swarm FEM authority bounded to planning, drafting, and validation; agents can recommend a reviewed run but cannot execute solver/WebGL generation as a tool
docsUpdated FEM docs and examples to distinguish draft, reviewed run, and built-in demo workflows while preserving the non-design safety boundary
v0.4.62
2026-05-180.4.62 ReleasefeatAdded geotech fem demo tunnel --experimental as the third deterministic 3D preview, generating an empirical tunnel volume-loss settlement surface without hosted model calls
featAdded a tunnel volume-loss analysis-case contract, deterministic result manifest, finite visualization mesh, and validation gates for diameter, axis depth, alignment length, volume loss, and trough-width factor
featExtended geotech fem draft tunnel-volume-loss-settlement so agents and users can prepare review-gated tunnel settlement drafts from explicit inputs
fixUpdated the FEM WebGL and Canvas smoke harness to generate and test raft, excavation, and tunnel artifacts at desktop and mobile sizes
fixKept the tunnel preview empirical and non-design: LLMs may route, draft, and review the case, but geotechCLI deterministic code owns the generated settlement surface
v0.4.61
2026-05-180.4.61 ReleasefeatAdded deterministic simulation-tool context to reviewer swarm prompts so FEM drafts and validation data remain visible even when a model handoff summary is terse
featAdded compact per-tool summaries for FEM and calculation outputs before reviewer JSON context, keeping BYOK and hosted models aligned on the same evidence contract
fixAdded runtime swarm regressions proving simulation agents can prepare FEM cases, reviewer agents can validate FEM cases, and reviewer agents cannot prepare FEM cases
fixKept FEM safety boundaries unchanged: LLMs plan and review while geotechCLI deterministic contracts own case drafting, validation, and future solver outputs
v0.4.60
2026-05-180.4.60 ReleasefeatAdded a GroundModel-to-FEM draft adapter that converts FEM readiness drafts into provider-neutral prepare_fem_analysis_case inputs with retained evidence references
featAdded geotech fem draft <objective> --workspace <dir> so workspace evidence can prefill material, groundwater, and source traceability before users provide geometry, loads, and staging
featAdded geotech fem agent ... --workspace <dir> to give the scoped FEM brain FEM-only GroundModel readiness context without widening its tool allowlist
fixKept FEM safety boundaries unchanged: no solver auto-run, no design approval, and no LLM-invented displacement, reaction, mesh, or stage values
v0.4.59
2026-05-170.4.59 ReleasefeatAdded geotech fem draft <objective> for deterministic review-gated FEM analysis-case drafts without running a solver or creating WebGL results
fixWired FEM GroundModel readiness command templates to draft analysis_case.json inputs before experimental demos
fixHardened FEM agent validation so blocked cases return inspectable reviewer data instead of tool transport failures
featAdded compact FEM draft and validation summaries for LLM and swarm handoff while keeping FEM math deterministic
v0.4.58
2026-05-170.4.58 ReleasefeatAdded optional resultFields, steps, and datasets metadata to FEM result manifests so future FEM previews can share one viewer and validation contract
fixKept the existing visualization disp/color/frames contract backward-compatible while validating malformed result metadata when present
featAdded geotech fem agent as a scoped LLM FEM planning surface that can list FEM capabilities, prepare analysis-case drafts, and validate cases only
featAdded scripts/smoke-fem-webgl.mjs and npm run smoke:fem:webgl for reusable desktop/mobile FEM artifact QA
v0.4.57
2026-05-170.4.57 ReleasefeatAdded geotech fem demo excavation --experimental as the second deterministic 3D FEM/WebGL preview for staged excavation deformation screening
featAdded an excavation analysis-case contract, staged elastic demo runner, finite-result validation, and manifest fields for surface settlement, horizontal displacement, wall-deflection proxy, support reaction, and stage count
featExtended the FEM WebGL artifact with optional field and stage controls for staged manifests while preserving the existing raft preview layout
fixUpdated FEM routing so agents and swarm roles can prepare review-gated excavation-deformation drafts without inventing FEM result values
fixAdded GroundModel readiness and non-executing input drafts for experimental staged excavation FEM so workspace analysis no longer exposes FEM as foundation-only
v0.4.56
2026-05-170.4.56 ReleasefeatAdded provider-neutral FEM capability routing so agents can list implemented, draft, and planned FEM routes before attempting numerical work
featAdded list_fem_capabilities, prepare_fem_analysis_case, and validate_fem_analysis_case agent tools for deterministic FEM planning, case drafting, and review-gated validation
featWired FEM planning into the simulation swarm allowlist and FEM validation into the reviewer allowlist so LLMs route and review while geotechCLI owns contracts and validators
featAdded an experimental fem-foundation-settlement GroundModel readiness workflow with non-executing input drafts and review gates
fixFixed swarm planner readiness extraction for ready_with_assumptions workflows and threaded FEM route/validation tools into DesignEngineer and RiskReviewer plans
v0.4.55
2026-05-160.4.55 ReleasefeatAdded geotech fem demo raft --experimental as an opt-in deterministic 3D FEM/WebGL preview for raft settlement workflow development
featAdded a provider-neutral FEM analysis-case and result-manifest contract in core with validation for assumptions, finite result arrays, mesh references, and reaction-balance review
featAdded a self-contained WebGL exporter for the experimental raft preview with deformation scale, mesh wireframe, raft load patch, validation warnings, assumptions, and limitations
fixDocumented the FEM preview as experimental non-design behavior in README and website docs while keeping production calculations and report workflows unchanged
fixAdded regression coverage for the deterministic raft manifest, WebGL export contract, CLI experimental gate, JSON output, and artifact writing
v0.4.54
2026-05-150.4.54 ReleasefeatReplaced the legacy dark ingest dossier with the light integrated geotechnical review interface for HTML ingest output
featPersisted compact GLM-OCR layout pages through geotechnical document ingest, borehole ingest, page audits, and page evidence cache reuse
featConverted persisted OCR layout geometry into source-page overlays automatically with conservative text-matched evidence linking for boreholes, extracted parameters, and image/table regions
fixHardened source-region rendering for duplicate GLM indices, stale region links, invalid persisted pages, ratio bboxes, and GLM layout priority over older reconstructed evidence boxes
fixNarrowed hosted-beta web proxy imports to @geotechcli/core/llm, removing the Next.js critical dependency warning from the web production build without changing CLI PDF or vision runtime loading
securityKept the release on stable Next.js after audit review: the high and critical npm audit gate is clean, while the remaining moderate Next/PostCSS advisory is a tracked upstream nested dependency with no stable patched Next release available yet
fixAdded regression coverage for cache layout round-tripping, geotechnical document cache hits, borehole page audits, integrated layout source pages, and Playwright-verified desktop and mobile review output
v0.4.53
2026-05-150.4.53 ReleasesecurityMade geotech agent and geotech chat treat --skills as the authoritative per-session gate for installed skill tools
fixKept direct geotech skill commands live while preventing persisted skill runtime settings from leaking into LLMConfig skill access
fixAdded CLI regression coverage for agent, chat, and direct skill command behavior around skill opt-in and approved-skill execution
fixReplaced several Windows-hostile CLI glyphs in agent and vision status output with ASCII text and fixed a corrupted development-status apostrophe
securityUpgraded the web workspace to the May 2026 Next.js security patch line and pinned patched PostCSS/AWS XML parser dependencies used by the website build chain
v0.4.52
2026-05-100.4.52 ReleasefeatAdded provider-neutral Confidence v2 for geotechnical document ingest results with extraction, page evidence, traceability, corroboration, engineering completeness, readiness, missing-data, and review-gate scores
featThreaded confidenceBreakdown into DocumentEvidencePacket, compact agent summaries, benchmark JSON, CLI summaries, and generated HTML reports
featRenamed report confidence presentation to Review confidence and added a compact Trust breakdown section before GroundModel visuals
fixTightened missing-critical-data scoring so not-reported values do not count as usable engineering evidence
fixUpdated the canonical GeotechnicalInvestigationReport cached benchmark fixture with Confidence v2 data and verified the real PDF benchmark with 34/34 pages, 100% cache hits, zero hosted calls, and 100% direct source-page traceability
fixAdded Playwright as a development dependency and verified the generated Confidence v2 HTML report at desktop and mobile widths with no page-level horizontal overflow
v0.4.51
2026-05-090.4.51 ReleasefeatAdded a report-side GroundModel adapter for geotechnical PDF ingest results with source-page evidence IDs, inferred strata, SPT N-values, depth-bound parameters, and groundwater observations
featAdded a GroundModel Visual Review section to generated geotechnical report HTML with compact borehole strip logs, SPT N-value depth plotting, lab-parameter depth charts, and groundwater summaries
fixKept the DocumentEvidencePacket schema stable while wiring richer visual review through the report view model
fixAdded regression coverage for report HTML GroundModel visual rendering from PDF evidence
v0.4.50
2026-05-090.4.50 ReleasefeatAdded a GroundModel Visual Review section to geotech analyze --format html with compact borehole strip logs, SPT N-value depth plotting, lab-parameter depth mini charts, and groundwater/monitoring summaries
featExtended geotech viz GroundModel support beyond coordinate maps so analyze JSON now renders map, SPT-depth, lab-depth, and groundwater charts from the same provider-neutral GroundModel contract
fixAdded context-aware table inference so common coordinate headers such as id and groundwater files with generic depth_m columns still bind to borehole map points and groundwater observations
fixKept visual outputs evidence-first by carrying borehole IDs, depth, confidence, warnings, and evidence IDs into SVG titles and interactive chart metadata
fixAdded regression coverage for richer HTML visual review and multi-chart GroundModel visualization output
v0.4.49
2026-05-090.4.49 ReleasefeatAdded a provider-neutral ground-model-map.v1 contract with borehole coordinate points, CRS/local-grid warnings, confidence, source evidence references, and plottable extents
featAttached GroundModel map data during geotech analyze so workspace analysis carries spatial evidence alongside boreholes, standards readiness, and calculation-routing context
featAdded a GroundModel Map section to geotech analyze --format html with plan-view SVG coordinates, map metrics, warnings, and traceable coordinate rows
featUpdated geotech viz so GroundModel JSON and analyze JSON are detected automatically and rendered as an interactive coordinate map with point labels and evidence metadata
fixAdded regression coverage for GroundModel map creation, analyze HTML rendering, and map chart generation
v0.4.48
2026-05-060.4.48 ReleasefeatAdded a deterministic role-based swarm execution plan for geotech agent --swarm with WorkspaceScout, DataEngineer, GroundModeler, StandardsChecker, DesignEngineer, RiskReviewer, and ReportEngineer ownership
featThreaded workspace evidence, standards profile, calculation readiness, missing inputs, and approved executable skills into swarm prompts before specialist execution starts
featMade geotech agent --workspace ... --swarm request non-executing calculation input drafts during workspace analysis so ready and blocked workflows are explicit
fixExcluded prompt-only and unapproved skills from swarm execution while preserving them as audit warnings
fixAdded regression coverage for swarm plan prompt injection, role ownership, skill selection, and workspace readiness formatting
v0.4.47
2026-05-060.4.47 ReleasefeatAdded standards-profile assumptions for Eurocode 7, AASHTO, IS, BS, and ASTM workspace analysis so GroundModel readiness carries an explicit design-profile basis
featAdded opt-in, non-executing calculation input drafts for bearing, settlement, pile, liquefaction, and slope workflows through geotech analyze --draft-inputs
fixRepaired bundled skill bootstrap so partial installs no longer stop after the first few skill manifests and first use repairs the complete approved catalog
fixRemoved the stale public docs example that referenced an internal bundled ZIP filename
fixAdded regression coverage for standards profile exports, calculation input drafts, workspace propagation, HTML readiness rendering, and partial skill-catalog repair
v0.4.46
2026-05-050.4.46 ReleasefeatAdded a provider-neutral DocumentEvidencePacket synthesis prompt compiler so report synthesis reads the same page, observation, source-page, review-gate, and traceability contract used by agents and benchmarks
fixRouted geotechnical document synthesis through the evidence-packet compiler instead of raw extraction arrays, preserving whole-report outline order, borehole continuity, missing-data gates, and source-page citation rules across hosted GLM and future BYOK providers
featAdvanced the document evidence packet schema to v2 with extracted risk and recommendation signals so synthesis can stay packet-first without losing engineering interpretation context
featAdded a provider-agnostic agent operating contract for single-agent, swarm, and legacy specialist prompts so BYOK models receive the same GeotechCLI evidence, tool, capability, confidence, and review-gate instructions as hosted GLM
fixAdded free/open-route model adaptation rules for compact evidence, smaller steps, provider capability failures, and native-PDF/image fallbacks so free OpenRouter-style models fail clearly instead of drifting silently
fixTightened OpenAI-compatible capability profiling so known text-only free routes are review-gated for image understanding while multimodal omni/VL/vision routes remain image-capable
featAdded npm run smoke:byok for local provider-key smoke tests across Z.ai, OpenAI, Anthropic, Hugging Face, and OpenAI-compatible endpoints when matching environment keys are present
fixDocumented BYOK smoke environment variables and added regression coverage for packet-first synthesis prompt compilation and provider-agnostic agent prompt injection
v0.4.45
2026-05-050.4.45 ReleasefeatAdded a schema-validated DocumentEvidencePacket for geotechnical document ingest results, normalizing page methods, source pages, observations, content chunks, synthesis, review gates, and traceability into a provider-neutral contract
fixAttached evidence packets to geotechnical document ingest and async job-adjusted results so reports, benchmarks, and agents share the same evidence shape
featAdded compact agent evidence summaries for geotechnical ingest, job-result, and persisted-review tools so source pages, methods, missing values, review gates, borehole IDs, and max depth survive prompt truncation
fixUpdated single-agent and swarm tool-result serialization to prefer compact evidence summaries before raw JSON
fixAdded regression coverage for packet schema validation, benchmark evidence-contract metrics, agent ingest summaries, and prompt serialization
v0.4.44
2026-05-050.4.44 ReleasefixMade geotechnical document synthesis read an ordered whole-report outline before high-signal extraction rows so takeaways, risks, recommendations, and borehole evidence stay report-level first
fixPrevented figure, table, and borehole-log titles from replacing the report title in generated Geotechnical Intelligence Reports, including cached result rendering
featRebuilt borehole and ground-model report visuals with compact lithology-colored profiles, source-page legend rows, inferred-contact styling, and overflow-safe SVG layout
fixCurated noisy OCR material fragments out of the main material table while keeping page-level traceability in source evidence and Processing Audit
fixVerified the cached GeotechnicalInvestigationReport PDF output with Playwright screenshot and layout assertions for horizontal overflow and SVG text overflow
v0.4.43
2026-05-040.4.43 ReleasefixIncreased the slow raster-page ingest recovery regression timeout so GitHub Actions can finish the same PDF/OCR-style path that passes locally on Windows
fixKept the benchmark, GroundModel readiness, provider-neutral evidence, and report filename behavior from 0.4.42 unchanged
v0.4.42
2026-05-040.4.42 ReleasefeatAdded geotechnical report benchmark output for page cache reuse, estimated hosted calls, source-page traceability, retained signal counts, and GroundModel readiness gates
featAdded npm run benchmark:geotech-report as a local two-pass benchmark harness for the canonical GeotechnicalInvestigationReport PDF
fixStamped retained geotechnical materials, classifications, and parameters with provider-neutral source pages for hosted GLM and future BYOK providers
featAdded GroundModel calculation-readiness routing for bearing capacity, settlement, pile capacity, liquefaction, and slope stability
fixUpdated geotech analyze terminal and HTML report output to show deterministic workflow readiness before agents or users route evidence into calculations
fixRenamed default generated ingest and workspace HTML filenames from legacy review wording to report wording while preserving internal compatibility APIs
v0.4.41
2026-05-040.4.41 ReleasefixRenamed the generated HTML ingest output to a Geotechnical Intelligence Report presentation, including CLI summary labels and browser report prompts
featReworked the report shell into a compact dark engineering dashboard with top navigation, cleaner hero hierarchy, dark evidence cards, and contained table/profile sections
fixTightened desktop and mobile layout constraints so status badges, source metadata, ground-model SVGs, borehole profiles, and engineering tables avoid overlap and horizontal clipping
fixKept Processing Audit and model-stage details below the engineering review surface while keeping the main report focused on decisions, evidence, confidence, and human verification
fixVerified the GeotechnicalInvestigationReport PDF report regenerated with all 34 pages processed and clean desktop/mobile screenshots
v0.4.40
2026-05-030.4.40 ReleasefixStabilized PDF page evidence cache keys for generated per-page PDF payloads so repeated full-report ingest reuses native PDF page evidence instead of re-extracting regenerated pages
fixAdded regression coverage for synchronous and persisted async PDF page cache reuse when page payload bytes change between jobs
featUpgraded HTML ingest reports with status badges, searchable review filters, a schematic ground-model cross-section, source evidence actions, and a scroll-aware human review workflow bar
fixVerified the GeotechnicalInvestigationReport PDF rerun completed with all 34 pages as cache hits and no new cache stores while keeping the review-focused report presentation intact
v0.4.39
2026-05-030.4.39 ReleasefixDisabled automatic page evidence cache reuse under Vitest unless a test opts in explicitly, preventing synthetic page fixtures from reusing stale cached extraction output across tests
fixKept production and local CLI cache defaults unchanged, so repeated real PDF ingest still reuses unchanged page evidence
fixVerified the full core test workspace after the cache-isolation fix
v0.4.38
2026-05-030.4.38 ReleasefeatAdded a durable page evidence cache keyed by source file hash, page hash, page number, model version, preprocessing version, and schema version
fixReused cached geotechnical page evidence on reruns so repeated PDF ingest can skip duplicate OCR, GLM-OCR, GLM-5V, and page extraction work when inputs are unchanged
fixPersisted cache audit metadata through async ingest checkpoints, segmented child-job merges, final page audits, CLI summaries, and HTML report processing audit views
fixKept cache I/O best-effort so inaccessible local cache storage never turns a valid page extraction into a failed page
fixAdded regression coverage for cache key stability, corrupt cache misses, invalidation, sync ingest reuse, async job reuse, and report cache presentation
v0.4.37
2026-05-030.4.37 ReleasefixRaised installed-CLI hosted beta defaults to 2,000 text, 600 vision, 600 layout, and 200 agent requests per day for image-heavy PDF development runs
fixRaised anonymous hosted beta defaults moderately while keeping stricter abuse protection than installed CLI traffic
fixHardened Geotechnical Intelligence Report borehole-profile inference to use retained inspection text and content chunks when structured parameter rows omit depth data
fixAdded regression coverage for profile generation from real report-style borehole schedule and conclusion text
v0.4.36
2026-05-030.4.36 ReleasefeatRedesigned HTML ingest reports as a premium Geotechnical Intelligence Report with a sticky sidebar, executive facts, review actions, engineering insight cards, and source-evidence navigation
featAdded an evidence-first trust table for extracted and missing engineering parameters with source page, confidence, review posture, and evidence snippets
featAdded a lightweight borehole stratigraphy SVG view for retained borehole and layer evidence, with dashed boundaries for uncertain or missing intervals
fixMoved model-stage and raw page audit details into a collapsed Processing Audit section so the main report stays engineering-decision-first
fixAdded regression coverage for the premium report layout, trust layer, source evidence, processing audit, and borehole visualization
v0.4.35
2026-05-030.4.35 ReleasefixKept GLM thinking enabled for final report synthesis as the first attempt, then retried once without thinking when Z.ai returns an empty/no-content assistant response
fixPrevented successful visual ingest runs from showing a GLM-5.1 synthesis failed warning when the fallback synthesis response is valid
fixAdded regression coverage for the hosted-beta synthesis fallback path so the report brief remains populated after an empty thinking-mode completion
v0.4.34
2026-05-030.4.34 ReleasefeatAdded hosted GLM-OCR layout parsing with a separate layout quota bucket, configurable public limits, and developer key/IP bypass support
featWired geotechnical document ingest to prefer GLM-OCR layout text before GLM-5V visual extraction, then run GLM-5.1 synthesis for report takeaways, ground model, key parameters, interpretation, and limitations
fixRaised public hosted-beta CLI defaults to 300 text, 120 vision, 80 layout, and 40 agent requests per day while preserving tighter anonymous caps
fixRouted hosted-beta image-only, graphics-only, and text-unreadable report pages directly into structured GLM visual extraction when no accepted text exists, avoiding duplicate OCR-only vision calls before interpretation
fixMarked direct visual page extraction as vision-visual in page audits and forced manual review before approval so high-confidence image-only results do not silently auto-proceed
featImproved the HTML ingest report with report takeaways, grouped parameter tables, stage badges, an extraction overview strip, confidence meters, cleaner engineering brief text, and shortened table/page-card fragments for human review
featApplied a shadcn-style static report presentation pass so key engineering tables come before operational audit details, with raw page audit tables collapsed by default
fixPreserved engineering units such as kN/m3, t/m2, kg/cm2, and m/s in report presentation while still cleaning OCR-like spacing
fixAdded regression coverage for synchronous ingest, persisted async jobs, direct visual extraction, and report HTML rendering
v0.4.33
2026-05-010.4.33 ReleasefixForced hosted-beta PDF page inputs through provider-safe raster images so geotech vision log no longer sends native PDF parts to the GLM vision model
fixApplied the same hosted-beta PDF raster path to CLI ingest and agent ingest tools while preserving native PDF pages for providers that can support them
fixRaised the public CLI hosted-beta vision burst window to four requests per minute so one-page image-only PDF workflows can complete OCR and structured extraction without self-rate-limiting
fixAdded regression coverage for forced raster PDF page inputs on digital-text PDFs
v0.4.32
2026-05-010.4.32 ReleasefixDisabled GLM thinking mode for the hosted glm-5v-turbo vision path so borehole-log ingest and vision commands return final assistant content instead of empty completions
fixFixed the CLI vision retry backoff so recoverable hosted vision failures no longer let Node exit with an unsettled top-level await warning before the fallback attempt runs
fixAdded regression coverage for forwarding disabled thinking mode on GLM vision proxy requests
v0.4.31
2026-05-010.4.31 ReleasefixDisabled GLM thinking mode by default in the hosted-beta proxy so low-latency text calls return final assistant content instead of spending tiny smoke-test budgets on reasoning tokens
fixAdded GEOTECHCLI_HOSTED_BETA_THINKING_MODE=disabled to the environment contract, with an opt-in path for future deeper reasoning tests
fixKept the Z.ai GLM model defaults and live release smoke checks aligned with the hosted-beta no-user-key contract
v0.4.30
2026-05-010.4.30 ReleasefeatSwapped the strong-beta hosted AI defaults to Z.ai GLM, using glm-5.1 for text and agent reasoning and glm-5v-turbo for vision
fixKept the public CLI contract on hosted-beta so end users still get default AI access without bringing their own provider key
fixRetargeted the beta proxy, environment docs, release guardrails, and website copy around the server-side ZHIPU_API_KEY secret
fixDisabled the legacy Modal deploy workflow by default while preserving it as a manual historical fallback
fixAdded guardrails for GLM proxy model defaults and provider-neutral timeout and fallback wording
v0.4.29
2026-04-240.4.29 ReleasefeatAdded the canonical GroundModel v1 contract for workspace analysis, binding boreholes, SPT tests, groundwater, lab parameters, monitoring series, and rejected observations into one engineering model
featAdded evidence-bound extraction for sampled CSV/XLSX data so analyze JSON and reports show source file, sheet, row, column, confidence, raw value, and normalized value
featAdded a deterministic GroundModel verifier for rejected SPT values, missing groundwater, missing coordinates, undeclared local CRS, unknown standard profiles, and duplicate SPT depths
featUpgraded geotech analyze --format html with GroundModel, verifier findings, and evidence table sections while keeping terminal output compact
fixUpgraded geotech agent --workspace so hosted-beta tasks receive a GroundModel/verifier summary without adding any Modal GPU calls to local analysis
v0.4.28
2026-04-240.4.28 ReleasefeatAdded geotech analyze [workspace] for deterministic local project manifests with compact terminal output, JSON, and self-contained HTML reports
featAdded core workspace intelligence for file discovery, geotechnical classification, branch detection, recommendations, and ProjectManifest generation without hosted-beta GPU spend
featAdded lightweight CSV/XLSX schema inference for depth, coordinates, borehole/sample IDs, SPT/CPT, lab, monitoring, and signal-style columns
featAdded geotech agent ... --workspace <dir> so agent tasks can receive a compact local manifest summary instead of guessing directly from raw files
docsDocumented geotech analyze ., --branch, --standard, --json, and --format html while clearly marking deeper planner/calculation behavior as future roadmap layers
v0.4.27
2026-04-240.4.27 ReleasefixReduced hosted Qwen Modal L4 admission pressure by defaulting concurrent inputs to 2, adding an explicit max-num-seqs guard, and keeping max containers at 1 for credit-safe operation
fixLowered hosted-beta proxy retry pressure with single-attempt vision and agent calls, fewer text retries, and separate per-minute limits for heavier vision and agent requests
fixSerialized more long mixed PDF ingest jobs on hosted beta so image-only report appendix and tail pages do not flood one GPU queue
fixAdded cheaper PDF retry behavior with deterministic partial extraction for text timeouts, skipped duplicate vision OCR on retry, and manual-review downgrades for repeated slow visual tail pages
featPrinted the exact browser-report command after plain persisted ingest results so users can immediately open the HTML review without rerunning the PDF
v0.4.26
2026-04-240.4.26 ReleasefixFixed bundled strong-beta skills in global npm installs by trusting only first-party bundled-skill archives while keeping arbitrary outside ZIP imports blocked
featChanged long PDF ingest to live-wait by default with visible page progress, elapsed time, heartbeat/status, and failure counts, plus --background for detached jobs
featMade ingest HTML format save and open a browser report by default for run, wait, and result flows while --no-open keeps save-only automation clean
fixHardened PDF ingest with page-count fallbacks, zero-page job rejection, retryable 524/upstream-timeout checkpoints, image-heavy concurrency control, and completed-partial resume retry behavior
fixImproved report extraction by preserving user-declared report intent, limiting borehole appendix dominance, and rejecting impossible SPT values from standards references while retaining warnings as evidence
fixCleaned strong-beta drift across agent docs, handoff notes, changelog encoding, swarm final synthesis fallback, and effective config display for provider defaults
v0.4.25
2026-04-230.4.25 ReleasefeatAdded hosted-beta long-PDF segmentation for geotechnical report ingest, using a 60 effective-page best-result window with linked sequential packets and one merged final result
featAdded --page-range <start:end> to geotech ingest so targeted report subsets can be reviewed, rerun, and exported without processing the whole PDF
featExtended the HTML ingest report to show segment execution, selected page-range context, and merged packet outcomes inside one premium review surface
fixKept the shipped hosted-beta path on the non-quantized default Qwen model while forcing segmented long-report execution onto extraction concurrency 1 for better queue stability on L4
fixHardened parent and child persisted ingest jobs so segmented report packets checkpoint independently and merge back into the parent result with original page numbering preserved
v0.4.24
2026-04-230.4.24 ReleasefixFixed the Modal deploy workflow so blank repository variables now fall back to the intended defaults instead of crashing the hosted-beta launcher during GitHub Actions deploys
fixReduced hosted-beta L4 startup memory pressure by defaulting the vLLM compilation profile to cudagraph_mode NONE, enabling PyTorch expandable segments, and stripping stale num-gpu-blocks override startup args that can force KV-cache OOM
fixWired the new Modal compilation override through the deploy workflow and runtime notes so the hosted Qwen path can be tuned safely without turning on a baseline warm-container cost increase
fixUpdated the strong-beta release surfaces for 0.4.24 so package metadata, lockfile pins, changelog notes, and the website release contract stay aligned with the shipped hosted-beta hotfixes
v0.4.22
2026-04-210.4.22 ReleasefixUnified the live single-agent and swarm tool bootstrap so both runtimes register the same filesystem, shell, data, deliverable, and skill tools instead of drifting when a tool depends on side-effect imports
fixAligned swarm with the same deterministic intake screen and first-turn hosted-beta fallback used by the main agent, so under-specified requests and provider warmup/outage cases now resolve more consistently across both execution paths
fixUpdated the strong-beta release surfaces together for this versioned reliability pass, including package metadata, README, website docs, website changelog, homepage bundled-skill copy, and release-consistency checks
featAdded a self-contained HTML ingest report for geotech ingest so borehole packets and broader geotechnical reports can be reviewed as a polished engineering brief instead of raw JSON alone
featAdded public strong-beta docs and README examples for report ingest, resumable long-PDF jobs, and HTML report export using real geotechnical report workflows
fixContinued hardening the long-PDF ingest path around normalized page routing, async job orchestration, and broader geotechnical report extraction so mixed engineering PDFs behave like a first-class workflow
v0.4.21
2026-04-200.4.21 ReleasesecurityAdded a dedicated proprietary-internals refusal policy across the main agent, swarm, and exported legacy multi-agent orchestrator paths so hidden prompts, internal instructions, repo layout, and protected source-file requests are blocked before any model call is made
securityHardened the agent filesystem and shell sandbox against geotechCLI repo-internal disclosure by blocking protected source/build/test areas and rejecting broad repo-root enumeration when the CLI is run from its own source checkout
fixKept normal user flexibility intact by preserving high-level product explanations, ordinary project subdirectory scanning, and the existing opt-in command runner behavior while adding regression coverage for the new protection boundaries
v0.4.20
2026-04-200.4.20 ReleasefixAdded a repo-level contributor guide so maintainers and coding agents can follow the current strong-beta architecture, release workflow, and verification expectations more consistently
fixRemoved a stale internal swarm prompt reference to the deleted local integration surface so the shipped multi-agent guidance matches the real toolset and beta scope
fixKept the strong-beta build green after the internal agent-guidance cleanup so the CLI, core package, and web app stay aligned on the new release
v0.4.19
2026-04-200.4.19 ReleasefixTrimmed an unfinished local integration surface from the shipped beta so the public CLI only exposes features that are currently supported end to end
fixRemoved the related internal tool wiring and exports so the packaged runtime and public API surface stay aligned with the current beta scope
fixCleaned docs, pricing copy, README content, and release notes so the website reflects the supported feature set more accurately
v0.4.18
2026-04-200.4.18 ReleasefeatAdded a dedicated geotech skill section to the public docs with concrete list, show, validate, run, and agent-session examples so bundled skills are documented as a first-class strong-beta surface
featAdded a homepage bundled-skills showcase on the beta site, including a direct docs link and terminal examples for direct CLI use and the per-session --skills agent opt-in path
fixUpdated the public beta capability messaging to show the bundled strong-beta skill catalog more explicitly instead of leaving skills buried inside release notes or command help
v0.4.17
2026-04-200.4.17 ReleasefixReplaced bundled skill ZIP extraction with a pure JavaScript path inside @geotechcli/core so first-use skill bootstrap no longer depends on external tar or python executables just to list or inspect installed skills
fixPreserved the strong-beta skill catalog and the new --skills agent session opt-in while removing the Windows-specific archive extraction footgun that could block fresh local skill discovery
fixKept archive path validation in place so bundled skill imports still reject unsafe ZIP paths during bootstrap and nested archive discovery
v0.4.12
2026-04-190.4.12 ReleasefixAdded strong-beta release guardrails so public beta pushes now require a new shared version and verify GitHub, npm, Cloudflare, and Modal release surfaces together
featRemoved the Modal deploy path filter so versioned strong-beta releases always refresh the hosted Qwen runtime instead of silently skipping the Modal workflow
featExtended the strong-beta skill runner with compatibility adapters for the remaining EPB tunnel workspace bundles so tunnel skills now share the same trusted install, sandbox, and artifact pipeline as the rest of the catalog
featApproved the remaining EPB tunnel skills for strong-beta execution after end-to-end certification against their bundled example inputs
fixFixed skill run workspace naming so back-to-back skill executions cannot collide in the same millisecond and corrupt output bundles
fixExpanded skill runtime regression coverage so the full tunnel workspace compatibility set stays aligned with the strong-beta approval catalog
v0.4.11
2026-04-170.4.11 ReleasefixRaised hosted-beta agent timeout budgets to better match real Modal cold starts so the CLI is less likely to fall back before the Qwen server is actually ready
fixChanged first-turn fallback messaging to explicitly say when the Modal.com GPU is warming up or the timeout budget was exceeded instead of implying the hosted stack is simply unavailable
featAdded live waiting hints for hosted-beta sessions so geotech agent and geotech chat can show a clearer Modal.com GPU warmup message while users wait
fixLimited hosted agent proxy calls to a single upstream attempt instead of retrying cold starts, reducing wasted L4 GPU time and keeping timeout behavior more honest for the current budget
fixAdded regression coverage for Modal warmup and timeout fallback wording plus the no-retry hosted agent proxy path
v0.4.10
2026-04-170.4.10 ReleasefeatAdded a terminal-rich text renderer for geotech agent, swarm, and chat answers so sections, bullets, tables, and inline tool names render as a cleaner engineering brief instead of raw markdown
featRefined the interactive plot viewer with a lighter product-style surface, scrollable legends, contained labels, and inside-only zoom so the old thick bottom slider no longer crowds the plot area
fixShortened chart subtitles and adjusted chart spacing so the actual engineering plot keeps priority over surrounding viewer chrome on narrower screens
fixSkipped mixed-unit overview charts for generic CSV and workbook plots unless the overlaid series share a clear unit signature
fixPromoted CPT templates to true inverted depth profiles, split pile browser plots into separate force and stress views, and corrected liquefaction chart domains so factor-of-safety charts are no longer stretched by blow-count ranges
v0.4.9
2026-04-170.4.9 ReleasefixGeneric hosted-beta transport failures like Hosted beta AI request failed, empty upstream content, and fetch failed are now treated as temporary first-turn availability issues instead of surfacing a raw chat error and then continuing down a second answer path
featAdded a live terminal status controller for geotech agent and geotech chat so users see Terzaghi actively thinking, calling tools, and reviewing results while the response is being prepared
fixKept the underlying agent workflow unchanged for evidence-backed requests while making the waiting experience feel active and more trustworthy during long hosted responses
fixBroadened tunnelling intake detection so UCS, water inflow, face, and machine-selection prompts now short-circuit into the data-requirements screen even when users do not explicitly say TBM or tunnel
v0.4.8
2026-04-170.4.8 ReleasefeatReplaced the narrow foundation-only shortcut with a catalog-driven geotechnical intake layer that screens multiple analysis families before calling the hosted model
fixUnder-specified foundation, soil classification, and liquefaction prompts now return immediate engineering data requirements instead of burning a long hosted-beta round trip
fixProject metadata and notes alone no longer suppress agent intake; only real evidence such as soil profiles, datasets, derived parameters, or active analysis context can bypass it
fixAdded regression coverage to keep metadata-only project sessions from slipping past intake while still allowing evidence-backed project context to reach hosted beta normally
v0.4.7
2026-04-170.4.7 ReleasefixAdded an immediate deterministic screening answer for under-specified foundation and soil-profile agent prompts so the CLI responds instantly instead of waiting on hosted-beta just to request missing data
fixImproved the hosted-beta fallback for the same foundation-screening prompts so transient provider issues now return a useful engineering checklist instead of the generic no-fallback message
fixSwitched hosted beta to the native vLLM OpenAI-compatible server on Modal so text and image chat completions share the same contract and the broken modal-http invalid function call path is removed
fixKept hosted beta on Qwen/Qwen3.5-9B as the shared hybrid multimodal model instead of drifting to a separate Qwen2.5-VL default
fixCorrected the Modal vLLM launcher to pass --limit-mm-per-prompt as JSON so the current vllm serve CLI accepts multimodal limits during deploy
featExpanded the Modal deploy workflow to watch hosted-beta contract files and added a post-deploy /health smoke check to catch drift immediately
featReplaced ASCII-first plotting with an interactive browser plot viewer for geotech viz and command-level --plot flows, while keeping terminal fallback available
vstrong-beta-qwen-migration
2026-04-16Qwen on ModalfeatMigrated hosted beta backend from GLM (Zhipu/Z.AI) to Qwen/Qwen3.5-9B served on Modal.com with NVIDIA L4 GPU
featModal deployment auto-scales to zero after 10 minutes idle to conserve GPU credits
featHosted beta text and vision defaults unified to Qwen/Qwen3.5-9B
fixUpdated proxy, CLI defaults, docs, privacy, and website copy for the new model and provider
vstrong-beta-model-refresh
2026-04-14Hosted Model UpdatefeatHosted beta text default switched to glm-4.7-flash to reduce shared credit burn during strong beta
featHosted beta vision default switched to glm-4.6v-flash for lower-cost image analysis during strong beta
fixHosted proxy allowlist, CLI defaults, and docs were aligned to the new flash model IDs
vstrong-beta-wave2
2026-04-03Hosted Qwen BetafeatHosted beta gateway enabled for strong-beta with Qwen/Qwen3.5-9B on Modal
securityProxy now validates requests, enforces model allowlists, and applies server-side rate limits before calling upstream
featCLI default provider switched to hosted-beta so users can try AI commands without bringing their own key
featWebsite, docs, and privacy copy updated to reflect hosted beta access with no-signup limits
vstrong-beta
2026-04-03Strong Beta BranchfeatPublic beta branch introduced for safe Cloudflare deployment trials
featWebsite messaging rewritten around strong beta: deterministic CLI live, hosted anonymous AI coming in a later wave
fixSignup, checkout, usage, webhook, and hosted proxy endpoints disabled until the beta gateway is ready
fixCLI AI flows now use the user configured provider directly in Wave 1, without fake registration walls
featHosted beta defaults are Qwen/Qwen3.5-9B for both text and vision
v0.4.4
2026-04-140.4.4 ReleasefixDeepened hosted-beta upstream retry and backoff behavior again so transient free-model overload windows are less likely to surface as immediate CLI failures
featAdded a local heuristic fallback for geotech ai-classify so descriptive soil classification can still return a USCS-style result when hosted-beta text is temporarily unavailable
fixAdded deterministic fallback behavior for the first agent turn so provider saturation now yields a useful engineering limitation analysis instead of a blank agent failure
fixAdded focused regression tests for the new ai-classify and agent fallback paths before releasing the patch
featRaised hosted-beta limits for installed geotechCLI clients while keeping stricter anonymous caps in place for the public beta proxy
fixAdded retry and backoff handling for transient upstream 429 and gateway overload responses so simple AI commands recover more gracefully
fixExtended hosted-beta timeout budgets for text, vision, and agent requests and translated raw aborts into clearer timeout messages in the CLI
fixSeparated daily usage fingerprints by client mode so geotechCLI traffic no longer burns through the same low anonymous bucket
fixAdded focused hosted-beta regression tests covering client-mode limits, upstream retry behavior, and timeout handling before shipping the patch release
featExpanded terminal plotting so classify uscs, liquefaction, and pile now support direct engineering ASCII charts through the shared --plot flag
featAdded geotech viz engineering presets for Mohr circle and Atterberg plasticity charts with field-friendly CLI inputs
featAdded geotech viz file templates for compaction curves, grain-size distribution curves, and CPT-style plotting to speed up daily engineering review
featCommitted new visualization showcase files for compaction, gradation, and CPT workflows and kept the docs in sync with the CLI surface
securityClosed agent sandbox escape paths, gated command execution more tightly, and hardened hosted-beta request handling for production-facing strong-beta use
fixCorrected slope seismic regression behavior and locked the deterministic engineering suite back to a passing state
featAdded additive case-file persistence, deterministic report assembly, conservative evidence records, and agent deliverable tools for report and export generation
featEnabled PDF and DOCX exports for deterministic stored-case reports using dedicated layout generators
featAdded terminal visualization with geotech viz plus committed CSV and Excel showcase samples for demos and quick plotting
featBorehole log vision can now process multi-page PDFs page by page and merge the extracted log output into one result
fixAdded settlement trough and forgiving through aliases so the Peck plotting command matches the public examples and common user phrasing
fixExport examples and committed mock datasets were added so GeoJSON, DXF, and CSV flows can be smoke-tested reliably
securityUpdated Next.js to 15.5.15 and the Vitest toolchain to 4.1.4 so the release workspace installs cleanly with no npm audit vulnerabilities
fixAligned GitHub Actions and Cloudflare release jobs to Node 22 and added the direct esbuild install required by the OpenNext Cloudflare bundler
fixAligned the public release surface on Qwen3.5-9B defaults across docs, CLI, and website copy
v0.2.0
2026-03-30Stability + SafetysecurityFilesystem sandbox and shell command hardening for agent tools
featPile capacity, slope stability, and lateral earth pressure modules added to the deterministic core
fixBearing capacity water-table correction implemented for shallow foundations
featPersistent CLI usage tracking and email verification flow added
feat--quiet and --dry-run wired into the CLI for safer scripted workflows
fixExpanded guardrails, standards coverage, and tool registry breadth for agent execution
v0.1.0
2026-03-26Initial ReleasefeatBearing capacity calculation (Terzaghi, Meyerhof, Hansen, Vesic)
featLiquefaction triggering analysis (Boulanger & Idriss 2014, NCEER)
featRock & soil classification (RMR89, USCS, Q-system)
featTBM performance prediction, type selection, cutter wear estimation
featAI vision analysis: core box, hybrid RMR, sensor data, borehole logs
featMulti-agent orchestrator (Geo, Tunnel, Hydro, Seismic, Slope, Foundation agents)
featAI-powered report generation from analysis data
featNatural language soil classification
featGBR document Q&A with vision model
featExport to GeoJSON, DXF (AutoCAD), and CSV
featLLM-agnostic provider layer: Qwen, OpenAI, Anthropic, Hugging Face, and self-hosted backends
featAnti-abuse metering: 5 free AI calls for unregistered users, IP fingerprinting
feat--json, --verbose, --plot, --output global flags on every command
securityAPI keys never logged, echoed, or included in error messages
securityJSON output auto-redacts all sensitive fields