-
-
Notifications
You must be signed in to change notification settings - Fork 0
Capability Matrix
Chris Michael edited this page Jun 5, 2026
·
137 revisions
Implemented Code path exists and has tests or fixtures.
Implemented with gaps The slice is real, but the boundary is intentionally narrow.
Design-only Architecture exists; user-facing implementation does not.
Deferred The project has explicitly not taken this surface yet.
Status: wiki reference yes. Compiler behavior changed by this page: no.
This matrix is a map of what Meris can do today and where the next work should land. It is not a promise sheet. Each row points to code, tests, wiki pages, or tracking issues so contributors can tell real behavior from planned design.
| Capability | Status | Evidence |
|---|---|---|
| Packages and imports | Implemented | Reference Index, NameResolverTest |
| Products and data declarations | Implemented | Language Surface, core syntax fixture |
| Closed variant types | Implemented | Declarations And Types, erased generics fixture |
| Function, entry, and script bodies | Implemented | CLI And Runtime, MerisCliScriptBodyTest |
| Declaration visibility | Implemented | Declaration Visibility, VisibilityTypeCheckerTest |
| Generic type expressions and explicit call type arguments | Implemented with gaps | Declaration Type Parameters, ExpressionParserTest |
| Type aliases | Implemented | Type Aliases, TypeAliasTypeCheckerTest |
| Raised-error set aliases | Implemented | Parser, formatter, checker, API reports, compatibility diff, hover, signature help, and LSP related diagnostics preserve alias spelling while comparing expanded concrete error sets. Type Aliases, RaisedErrorSetAliasTypeCheckerTest, MerisCliRaisedErrorAliasApiReportTest, LspHoverServiceTest |
| Source-level classes | Deferred | Language Surface |
| Source-level config declarations | Deferred | Project Manifest |
| Capability | Status | Evidence |
|---|---|---|
Typed failures with raises, raise, and handle
|
Implemented | Expressions And Control Flow, ErrorEffectTypeCheckerTest |
| Payload-bearing typed failures | Implemented | Standard Error Boundary, typed errors fixture |
Pattern matching on variant and builtin Option<T> values |
Implemented | Closed source variants, builtin Option<T>, and guarded match arms work in the checker, interpreter, and JVM backend. Guarded arms are runtime filters and do not count toward static exhaustiveness. Match Expressions, JvmMatchBytecodeEmitterTest, OptionMatchTypeCheckerTest, MatchGuardTypeCheckerTest, MatchGuardInterpreterTest, issue 1082, issue 1188
|
| Product constructor patterns and nested subpatterns | Implemented | Parser, formatter, checker, interpreter, and JVM backend accept positional User(Id, Name) product destructuring, named-field User(Name: DisplayName, ..) destructuring, explicit rest .., generic product substitution, and nested constructor subpatterns in match; nested coverage participates in exhaustiveness. Mixed positional/named fields and omitted named fields without .. are rejected. Match Expressions, ExpressionParserTest, ConstructorPatternFormatterTest, ProductPatternTypeCheckerTest, NestedConstructorPatternTypeCheckerTest, ProductPatternInterpreterTest, JvmMatchBytecodeEmitterTest, product pattern parity fixture, issue 1045, issue 1067, issue 1068, issue 1083, issue 1185
|
| Structural equality | Implemented | Structural Equality, structural equality fixture |
| Product update | Implemented | Product Copy Update And Display Helpers, ProductUpdateInterpreterTest, JvmProductUpdateBytecodeEmitterTest, issue 628 |
| Debug shape and field metadata | Implemented with gaps | Debug Shape And Field Metadata, DebugMetadataInterpreterTest, JvmDebugBytecodeEmitterTest, DebugMetadataTypeCheckerTest, issue 1048 |
| Traits, impls, and static conformance dispatch | Implemented | Interpreter and JVM static dispatch accept generic conformance applicability such as impl<T> Printable for Box<T>, constrained mapped-function proof, and stable JVM specialization identity across source files. Dynamic trait-object construction reuses checked generic conformance proofs for supported cases. Traits, Dynamic Dispatch Values, TraitConformanceTypeCheckerTest, GenericTraitConformanceApplicabilityTypeCheckerTest, GenericTraitConstraintTypeCheckerTest, DynamicDispatchTypeCheckerTest, generic trait runtime parity fixture, issue 1184, issue 1199
|
Static standard Counted collection trait |
Implemented |
where T: Counted resolves for builtin List<T>, Set<T>, and Map<K, V> and lowers to existing count/emptiness standard calls in the checker, interpreter, JVM, and browser target. dyn Counted is rejected. Standard Library, StandardCountedTypeCheckerTest, StandardCountedInterpreterTest, JvmStandardCountedBytecodeEmitterTest, BrowserCollectionProtocolReadinessTest
|
| Trait overlap diagnostics | Implemented | Traits, issue 544 |
| Multi-paradigm expressiveness baseline | Design-only | Language Expressiveness Baseline, issue 608 |
| Function values, lambdas, expected-type lambda elision, and fallible List callbacks | Implemented with gaps | Function Values, Standard Library, lambda elision parity fixture, LambdaElisionTypeCheckerTest, FunctionValueInterpreterTest, JvmListBytecodeEmitterTest, issue 1496 |
| Dynamic dispatch values | Implemented with gaps | Dynamic Dispatch Values, DynamicDispatchTypeCheckerTest, DynamicDispatchInterpreterTest, JvmTraitDispatchBytecodeEmitterTest, issue 698 |
| Structured concurrency and cancellation | Implemented with gaps | Structured Concurrency And Cancellation, ServerTestHostCancellationTest, DeterministicWorkSchedulerTest, issue 633 |
| Reified generic runtime types | Deferred | JVM Backend |
| Capability | Status | Evidence |
|---|---|---|
| Console, String, Option, List, Args, Env, and Fs modules | Implemented | Standard Library, StandardLibraryTest |
| First-class List runtime values and fallible transformations | Implemented | Standard Library, InterpreterListTest, JvmListBytecodeEmitterTest, issue 701 |
| Json text validation, compacting, and pretty printing | Implemented | Json Boundary, StandardRuntimeLibraryJsonTest |
| Typed Json decode for primitives, Option, List, product values, generic product values, and closed variant values | Implemented with gaps | Json Boundary, StandardRuntimeLibraryJsonTest, issue 563 |
| Typed Json encode for primitives, Option, List, product values, generic product values, and closed variant values | Implemented with gaps | Json Boundary, JvmJsonEncodeBytecodeEmitterTest, issue 589 |
| Custom Json codec declarations and field-name policy | Implemented with gaps | Product field-name codecs work in parser, formatter, checker, interpreter, JVM Json.DecodeWith / Json.EncodeWith, checked Server body/response codec metadata, and source-free packaged Server custom Json plan descriptors. Variant renaming, custom envelopes, numeric coercions, and transform callbacks are not implemented. Custom Json Codecs, JsonCodecParserTest, JsonCodecTypeCheckerTest, InterpreterJsonCodecTest, JvmJsonCodecBytecodeEmitterTest, MerisCliPackagedServerJsonCodecDescriptorTest, MerisCliPackagedServerJsonCodecRoundTripTest, issue 715, issue 1219
|
| Db standard-library catalog | Implemented with gaps |
Db defines prepared values, statements, query/execute helpers, explicit transaction helpers, row decoders, and DbError payload metadata for catalog/type-checker use. Runtime adapters, JVM execution, JDBC bridge, database fixtures, schema tooling, and Server examples are not implemented. Db Boundary, StandardDbModule.kt, StandardDbLibraryTest, DbStdlibTypeCheckerTest, issue 1268, PR #1271
|
| Http text client with strict UTF-8 response decoding | Implemented | HTTP Boundary, issue 545 |
| Assert test helpers and typed assertion failures | Implemented | Standard Library, Tests, StandardAssertLibraryTest, StandardRuntimeAssertLibraryTest, MerisCliTestCommandTest, issue 1047 |
| Dynamic Json object values | Deferred | Json Boundary |
| Capability | Status | Evidence |
|---|---|---|
| Product and variant bytecode artifacts | Implemented | JVM Backend, jvm product ABI fixture |
| Script and entry-point bytecode | Implemented | JVM Backend, MerisCliRuntimeWrapperTest |
| Typed failures, handlers, match, equality, and stdlib bridges | Implemented | JVM Backend, JvmStandardErrorPayloadBytecodeEmitterTest |
| JVM compiled test runner | Implemented | Tests, issue 542 |
| Stable public JVM ABI | Deferred | JVM Backend |
| Capability | Status | Evidence |
|---|---|---|
| Browser target compatibility checker | Implemented with gaps | Browser Target Boundary, issue 592 |
| Browser no-DOM artifact emission | Implemented with gaps |
meris compile --target browser emits deterministic browser-artifact.json metadata and meris-browser.js for compatible lowered modules. The metadata includes serialized Json codec metadata and a schema-versioned v1 capability manifest for required pure-runtime capabilities, Json text helpers, and unsupported host services. The JavaScript shim executes pure functions, products, variants, static trait dispatch, Option, List, Map, structural equality, and browser-safe String/Json text helpers. WebAssembly, DOM, fetch, timers, workers, storage, events, claimed browser host services, source maps, dynamic dispatch values, and function-backed Json codec execution are not implemented. Browser Target Boundary, BrowserExecutableEmitterTest, MerisCliBrowserArtifactTest, issue 1072, issue 1087, issue 1187
|
| WebAssembly, DOM, browser host APIs, and UI packages | Deferred | Browser Target Boundary |
| Capability | Status | Evidence |
|---|---|---|
| Static Java method calls | Implemented | Java Interop, JvmJavaInteropEmitterTest |
| Java constructors and borrowed instance methods | Implemented | Java Interop, java object interop fixture, issue 548 |
| Java exception translation to typed failures | Implemented | Java Interop, JavaInteropTypeCheckerTest |
| Explicit Java SAM adapters for function values | Implemented with gaps | Java Interop, JavaSamInteropTypeCheckerTest, JvmJavaSamInteropEmitterTest, issue 700 |
| Java collection copy adapters, including nested List elements | Implemented with gaps | Java Collection Adapters, issue 547 |
| Interpreter execution of Java interop | Deferred | Java Interop |
| Capability | Status | Evidence |
|---|---|---|
meris check, run, compile, test, and serve
|
Implemented with gaps | CLI And Runtime, MerisCliServeCommandTest |
| Diagnostic JSON and LSP diagnostics/syntax services | Implemented with gaps | CLI JSON diagnostics, the compiler-owned LSP diagnostic mapper, and meris lsp stdio diagnostic publishing exist. Project-aware diagnostics reuse CliProjectBuildGraph for source roots, workspace facts, classpath inputs, and package graph diagnostics. Snapshot currentness uses server-owned text revisions and open epochs. Full-sync didChange handling ignores ranged or rangeLength incremental payloads before they can corrupt the open buffer. Syntax-only document symbols, parser-owned child document symbols, folding ranges, and selection ranges exist. Hover includes parser-owned syntax facts and checked occurrence-backed name facts for open documents. Whole-document formatting, exact syntax-owner range formatting, structural on-type formatting for } and newline, and syntax-owned full semantic tokens exist. Compiler occurrence facts include nested type-reference geometry, failed-resolution targets, and a visible-scope occurrence query for semantic LSP consumers; they drive single-location go-to-definition, occurrence-backed references, name-aware hover, unqualified expression completion, checked product-field member completion, and conservative rename edits for resolved source-backed targets. Checked call-signature facts drive textDocument/signatureHelp for provable call sites. The checked project snapshot cache reuses unchanged semantic project checks and invalidates on relevant watched file and workspace-folder events. Workspace-folder roots bound project discovery, seed catalog-backed workspace symbols, and clear diagnostics when removed. Deterministic quickfix code actions exist for M2004 misplaced imports, and source.organizeImports sorts/deduplicates plain import blocks while declining edits that would touch comments or unsupported trivia. A protocol contract harness exercises initialize capabilities, lifecycle errors, unopened and unsupported request surfaces, conservative null/empty responses, changed documents, and UTF-16 ranges through JSON-RPC envelopes. A thin VS Code client is implemented under editors/vscode and forwards Meris source, manifest, and lockfile watcher events. Parser/catalog-backed completion and catalog-backed workspace symbols are implemented with narrow scope; completion consumes visible local facts, checked receiver product-field facts, import-path catalog entries, and qualified project declarations. It does not suggest unqualified project declarations from catalog reachability alone. Recursive project discovery under arbitrary workspace folders, arbitrary expression/block range formatting, general editor indentation, format-on-save, range/delta semantic tokens, and broader code actions are not implemented. Language Server Protocol, Implementation Roadmap And Policies, DiagnosticJsonRendererTest, MerisLanguageServerTest, MerisLanguageServerProtocolContractTest, MerisLanguageServerSnapshotTest, MerisLanguageServerFormattingTest, LspRangeFormattingRequestTest, LspOnTypeFormattingRequestTest, MerisLanguageServerOnTypeFormattingTest, MerisLanguageServerHoverTest, LspHoverServiceTest, LspHoverRequestTest, MerisLanguageServerProjectTest, MerisLanguageServerWorkspaceFoldersTest, MerisLanguageServerSemanticTokensTest, LspSemanticTokensTest, MerisLanguageServerDefinitionTest, MerisLanguageServerCodeActionTest, MerisLanguageServerWatchedFilesTest, LspWatchedFilesTest, LspDocumentStoreTest, LspFormattingServiceTest, LspDefinitionServiceTest, LspSyntaxServicesTest, OccurrenceFactCollectorTest, VisibleScopeOccurrenceQueryTest, CallSignatureFactsTypeCheckerTest, LspCompletionServiceTest, LspCheckedProjectSnapshotCacheTest, LspDiagnosticMapperTest, issue 1069, issue 1096, issue 1097, issue 1098, issue 1104, issue 1105, issue 1106, issue 1107, issue 1108, issue 1109, issue 1110, issue 1114, issue 1115, issue 1124, issue 1125, issue 1126, issue 1129, issue 1130, issue 1099, issue 1131, issue 1146, issue 1148, issue 1150, issue 1157, issue 1152, issue 1156, issue 1173, issue 1174, issue 1175, issue 1176, issue 1177, issue 1178, issue 1181, issue 1225
|
| LSP name-aware hover details | Implemented |
textDocument/hover uses compiler-owned occurrence hover details for signatures, checked types, import alias spelling, module, visibility, and documentation. It covers functions, Java functions with translated Meris errors, product constructors, source variant constructors, standard-library variant constructors in raise / match / handle positions, trait methods, standard-library functions, imports, locals, and parameters where checked facts exist. Unsupported or stale positions return no hover. Language Server Protocol, OccurrenceHoverFacts, StandardLibraryVariants, MerisLanguageServerHoverTest, LspHoverServiceTest, OccurrenceHoverFactsTest, issue 1179, issue 1224
|
| LSP project-aware and checked member completion | Implemented with gaps | Completion uses the project catalog for reachable import paths and qualified declaration candidates, keeps unqualified expressions backed by visible-scope compiler facts, and excludes private, unrelated, test, codec, and impl declarations from project suggestions. It also suggests checked product fields for compiler-proven receiver expressions and fails closed for unsupported receivers. Language Server Protocol, LspCompletionServiceTest, LspProjectCompletionServiceTest, MerisLanguageServerCompletionTest, issue 1147, issue 1181 |
| LSP workspace symbols | Implemented with gaps |
workspace/symbol uses the project catalog for source-backed declarations visible from open catalog sources or active workspace-folder project roots. It skips standard-library and virtual declarations, sorts exact/prefix/contains/fuzzy matches deterministically, and returns empty results for unsupported contexts. Language Server Protocol, MerisLanguageServerWorkspaceSymbolTest, MerisLanguageServerWorkspaceFoldersTest, LspWorkspaceSymbolServiceTest, LspWorkspaceSymbolRequestTest, issue 1151, issue 1174
|
| LSP signature help | Implemented with gaps |
textDocument/signatureHelp returns one checked signature for provable call sites, uses ( and , trigger characters, selects the active parameter from checked argument spans, and returns null rather than guessing for unsupported positions. Language Server Protocol, MerisLanguageServerSignatureHelpTest, LspSignatureHelpServiceTest, issue 1149
|
| LSP references | Implemented with gaps |
textDocument/references uses exact compiler occurrence targets, honors context.includeDeclaration, sorts and dedupes source-backed locations, and returns [] for unsupported, unresolved, ambiguous, missing-member, standard-library, spanless, unopened, or stale positions. Language Server Protocol, MerisLanguageServerReferencesTest, LspReferencesServiceTest, LspReferencesRequestTest, issue 1152
|
| LSP prepareRename and safe rename edits | Implemented with gaps |
RenameSafetyClassifier classifies exact occurrence targets as safe, review-required, or blocked. textDocument/prepareRename exposes the safe subset to editors, and textDocument/rename produces versioned workspace edits only for that safe subset. Review-required, blocked, unresolved, ambiguous, missing-member, standard-library, unsupported, stale, invalid-name, or spanless requests return null. Language Server Protocol, RenameSafetyClassifierTest, MerisLanguageServerPrepareRenameTest, LspPrepareRenameServiceTest, LspPrepareRenameRequestTest, MerisLanguageServerRenameTest, LspRenameServiceTest, LspRenameRequestTest, issue 1153, issue 1154, issue 1177
|
| LSP code actions and editor gate | Implemented |
M2004 quick fixes use data.meris schema version 1 and require matching code, URI, range, and open document version before returning versioned workspace edits. source.organizeImports sorts and deduplicates plain import blocks, and returns no action when inline comments or interleaved comments would be touched. The Editor LSP Gate runs LSP protocol tests, installDist, VSIX content verification, the real meris lsp diagnostic smoke path, and a packaged VS Code Extension Host smoke on CI. Language Server Protocol, LspCodeActionDiagnosticData, MerisLanguageServerCodeActionTest, MerisLanguageServerOrganizeImportsCodeActionTest, MerisLanguageServerProtocolTest, VS Code LSP smoke script, VSIX content check, VS Code Extension Host smoke script, CI workflow, issue 1158, issue 1159, issue 1180, issue 1178
|
| Versioned API reports and report compatibility diff | Implemented with gaps | API Reports, MerisCliApiReportTest, MerisCliApiReportDiffTest, issue 1049 |
| Executable non-server examples | Implemented | Runnable Examples, NonServerExecutableExamplesTest, validation script, issue 1055 |
| Project manifest source, output, classpath, script metadata, selected script check/run, package metadata, server route graph, server profiles, environment launch overrides, and server artifact metadata | Implemented with gaps | Project Manifest, MerisCliProjectManifestTest, MerisCliProjectScriptManifestTest, MerisCliProjectScriptExecutionTest, ServerLaunchConfigResolverTest, MerisCliServeEnvironmentConfigTest, MerisCliServerArtifactManifestTest, issue 590, issue 1019, issue 1217, issue 1221 |
| Package and workspace boundary model | Implemented with gaps | Workspace graph failures, namespace-prefix ownership failures, local-path package resolution failures, registry resolver/cache boundary failures, and lockfile metadata failures use structured diagnostics for CLI, JSON, and editor consumers. An exact package graph exists for workspace, path, and registry-source lockfile inputs. Live registry fetches and package assembly remain separate work. Package And Workspace Boundaries, MerisCliWorkspacePackageGraphTest, MerisCliWorkspacePackageGraphNamespaceTest, MerisCliExactPackageGraphTest, MerisCliPackageGraphJsonDiagnosticsTest, PackageDependencyResolverIntegrationTest, issue 642, issue 1085, issue 1086, issue 1182, issue 1183 |
| Workspace lockfile dependency metadata validation | Implemented with gaps |
check --project validates meris.lock package entries, source metadata for workspace/path/registry dependencies, and optional locked dependency edges. Checksums, live registry fetches, cache population, and classpath assembly are not implemented. Package And Workspace Boundaries, MerisCliPackageLockfileMetadataTest, PackageLockfileSourceMetadataTest, issue 1070, issue 1183
|
| Shared immutable CLI project build graph | Implemented with gaps | Project-backed CLI commands now share CliProjectBuildGraph for manifest package nodes, project-local script entries, dependency edges, source-root order, explicit classpath entries, workspace facts, local-path package facts, registry/cache boundary facts, and lockfile facts. Selected project script check/run consumes those facts while keeping sibling scripts out of package source reads. CliExactPackageGraph adds exact package nodes and selected dependency edges. Package assembly, live registry fetches, cache population, classpath assembly, JVM script emission, and LSP script surfacing are not implemented. Package And Workspace Boundaries, MerisCliWorkspacePackageGraphTest, MerisCliExactPackageGraphTest, MerisCliProjectScriptManifestTest, MerisCliProjectScriptExecutionTest, issue 1084, issue 1086, issue 1183, issue 1217, issue 1221
|
| Test double and architecture fixture policy | Implemented | Test Doubles And Fixture Conventions, issue 616 |
| Public performance benchmark scaffold and result-history schema | Implemented | Performance Benchmarks, benchmarks README, issue 665 |
| Benchmark history conversion from CLI JSONL and raw JMH JSON | Implemented | Performance Benchmarks, history converter, issue 675 |
| Advisory performance gates for risky changes | Implemented | Performance Benchmarks, performance gate policy, issue 680 |
| Server loopback benchmark runner | Implemented with gaps | Performance Benchmarks, server loopback runner, issue 677 |
| Named-machine benchmark baseline manifests | Implemented | Performance Benchmarks, baseline manifest helper, issue 678 |
| Benchmark comparison reports and advisory thresholds | Implemented | Performance Benchmarks, comparison report helper, issue 679 |
| Benchmark trust levels for public history | Implemented | Performance Benchmarks, history schema, issue 718 |
| JMH allocation and GC metric capture | Implemented with gaps | Performance Benchmarks, allocation/GC runner, issue 676 |
| Package-throughput benchmark harness | Implemented with gaps | Performance Benchmarks, package-throughput runner, issue 690 |
| Server loopback GC-log evidence | Implemented with gaps | Performance Benchmarks, server loopback runner, issue 691 |
| Server JSON API lifecycle benchmark evidence | Implemented with gaps | Static lifecycle fixture validation plus benchmark-owned custom-codec loopback shutdown drain and cleanup observations. Source Server.Application acquire/release counters on the default meris serve path are still unavailable. Performance Benchmarks, server loopback runner, static lifecycle runner, server JSON API result schema example, issue 1021
|
| Formatter stability for implemented syntax | Implemented | Language Surface, SyntaxFormatterTest |
| Release smoke over installDist, distZip, and distTar | Implemented | JVM Backend, issue 541 |
| External package dependency resolution | Design-only | Project Manifest, Package And Workspace Boundaries, issue 522 |
| Architecture pattern conformance fixtures | Implemented | Architecture Pattern Fixtures, Architecture Pattern Conformance Matrix, product update repository fixture, issue 646 |
| Capability | Status | Evidence |
|---|---|---|
| Server response constructors | Implemented | Meris Server Package, ServerResponseConstructorsRuntimeTest |
| Server request builders and accessors | Implemented with JVM gaps | Meris Server Package, InterpreterServerRequestTest |
| Route declaration syntax, route constructor catalog, and checked route graph metadata, including query/header extraction metadata | Implemented with gaps | Meris Server Package, ServerRouteGraphSyntaxTypeCheckerTest, ServerRouteConstructorCheckerTest, issue 568 |
| Public Server.Application builder catalog and runtime bridge, including homogeneous Json body/response codec metadata | Implemented with gaps | Meris Server Package, StandardServerApplicationLibraryTest, ServerApplicationCatalogTypeCheckerTest, ServerApplicationCodecRouteValidationTest, ServerTestHostPublicApplicationBridgeTest, JvmServerApplicationDescriptorBytecodeEmitterTest, ServerDependencyEnvironment, issue 645 |
| Public Server health and route-inventory management helpers | Implemented with gaps |
Server.Health and Server.RouteInventory are opt-in route helpers for checked application metadata and the in-process test host. Live HTTP adapter exposure, metrics, security policy, and dependency-health execution are deferred. Meris Server Package, ServerTestHostPublicApplicationBridgeTest, issue 1071
|
| Public Server static asset descriptors | Implemented with gaps | Meris Server Package, StandardServerApplicationLibraryTest, ServerTestHostPublicApplicationBridgeTest, issue 591 |
| In-process Server test host, typed application builder, observations, lifecycle, public middleware/Next pipeline, JSON body codec path, typed JSON response codec path, and first media negotiation policy | Implemented with gaps | Meris Server Package, ServerApplicationBuilderTest, ServerTestHostBodyCodecTest, ServerTestHostResponseCodecTest, ServerTestHostResponseNegotiationTest, issue 570 |
| Public one-request Server test helpers | Implemented with JVM gap |
Test.CallOnce returns Server.Response; Server.TestCall returns Server.TestResult with status, body, header, failure, route, and cleanup-state accessors. JVM target rejects the test helper family. Tests, Standard Library, Meris Server Package, ServerTestCallOnceTest, ServerRequestRuntimeBuildersTest, JvmTargetCompatibilityCheckerTest, issue 1018, issue 1089
|
| Request-scoped Server pipeline cleanup hooks | Implemented with gaps | Meris Server Package, ServerTestHostRequestCleanupTest, issue 588 |
| Versioned internal Server observability snapshots and route-linked runtime test-host projections | Implemented with gaps | Meris Server Package, ServerObservabilitySnapshotTest, issue 587, issue 1017 |
JVM HTTP host adapter and meris serve startup with manifest profiles and environment overrides |
Implemented with gaps | HTTP Boundary, MerisCliServeCommandTest, MerisCliServeEnvironmentConfigTest, issue 573, issue 1019 |
| Default Server error mapping | Implemented with gaps | Meris Server Package, ServerDefaultErrorMapperTest, issue 585 |
| Generated Server application descriptors | Implemented with gaps | Meris Server Package, JvmServerApplicationDescriptorBytecodeEmitterTest, issue 583 |
| Packaged Server artifact smoke coverage | Implemented | issue 549, JVM Backend |
| Packaged Server descriptor launchers | Implemented with gaps | Source-free packaged route-handler and pipeline middleware launch works through generated callable metadata for ordinary handlers/stages, request cleanup hooks, function-backed body decoder/response encoder hooks with supported primitives, runtime carriers, and metadata-backed generated product or variant descriptor values, default Json product body/response codec plans including List<Product> response values and top-level List<Product> / Option<Product> request bodies, and compiler-produced custom Json codec plan descriptors. Source-free packaged application resource acquire/release works for supported callable descriptors and metadata-backed generated product or variant resource values. Non-empty packaged application environments work when every owned dependency is exposed by a matching application resource; hidden resources, external resource exposure, missing owned resources, and resource/dependency type drift are rejected before host startup. Source-free packaged static routes work for project directory output through the compiled static asset manifest. Missing callable metadata, descriptor drift, conflicting/malformed/unsupported/mismatched Json descriptors, and generated value ABI drift are rejected before host startup; legacy planless default Json descriptors remain accepted for primitive default shapes only. Nested request-body erased containers remain a follow-up; unsupported erased carriers remain rejected before host startup. Project Manifest, MerisCliPackagedServerLauncherTest, MerisCliPackagedServerPipelineLauncherTest, MerisCliPackagedServerCleanupLauncherTest, MerisCliPackagedServerCodecSmokeTest, MerisCliPackagedServerDefaultJsonCodecTest, MerisCliPackagedServerJsonBodyContainerTest, MerisCliPackagedServerGeneratedFunctionCodecTest, MerisCliPackagedServerCodecMetadataTest, MerisCliPackagedServerCompileArtifactTest, MerisCliPackagedServerJsonCodecDescriptorTest, MerisCliPackagedServerJsonCodecRoundTripTest, MerisCliPackagedServerSourceFreeGuardTest, MerisCliPackagedServerResourceExposureGuardTest, ServerCompiledResourceLifecycleTest, RuntimeCompiledFunctionGeneratedValueBridgeTest, RuntimeCompiledFunctionErrorFieldsTest, issue 584, issue 1088, issue 1189, issue 1197, issue 1216, issue 1218, issue 1219, issue 1250, PR #1277
|
| WebSockets and streaming request bodies | Deferred | Meris Server Package |
An implemented row may still be small. Meris lands narrow slices when the type rules, diagnostics, interpreter behavior, JVM behavior, and tests can stay in sync. If a planned feature is already tracked by an issue linked above, a new issue should refine that work instead of duplicating it.
- Reference Index
- Implementation Roadmap And Policies
- Language Surface
- Db Boundary
- Product Copy Update And Display Helpers
- Debug Shape And Field Metadata
- Function Values
- Dynamic Dispatch Values
- Structured Concurrency And Cancellation
- Test Doubles And Fixture Conventions
- Architecture Pattern Fixtures
- API Reports
- Runnable Examples
- Performance Benchmarks
- Standard Library
- Custom Json Codecs
- JVM Backend
- Meris Server Package