Harden shape memory: contracts, expiry, freshness, key classifiers - #1768
Harden shape memory: contracts, expiry, freshness, key classifiers#1768RhysSullivan wants to merge 2 commits into
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
executor-marketing | a30e433 | Commit Preview URL Branch Preview URL |
Aug 27 2026, 08:16 AM |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
executor-cloud | a30e433 | Aug 27 2026, 08:17 AM |
Cloudflare preview
Sign-in is Cloudflare Access (one-time PIN to an allowed email). The preview has its own database and encryption key; it is destroyed when this PR closes. |
@executor-js/cli
@executor-js/config
@executor-js/execution
@executor-js/sdk
@executor-js/codemode-core
@executor-js/runtime-quickjs
@executor-js/plugin-file-secrets
@executor-js/plugin-graphql
@executor-js/plugin-keychain
@executor-js/plugin-mcp
@executor-js/plugin-onepassword
@executor-js/plugin-openapi
executor
commit: |
|
Codex review findings addressed in a30e433: email classifier narrowed to full-string matches ( |
Hardening pass on runtime shape inference, from the independent design review. Standalone value; also the foundation for the MCP data-contract PR stacked on top.
additionalProperties, regardless of width.observations/updatedAtstale in storage forever. Writes now also happen on observation milestones and a 6h freshness interval.unknown) and restart on the next observation.observe/recalltake a result-encoding contract; a mismatch recalls nothing and restarts rather than merging — so a data-contract migration invalidates stale shapes with no deletion pass. Legacy records default to "direct".tool-result-normalization.ts(the pure result-encoding vocabulary + MCP CallToolResult normalizer, 13 contract-table tests) and optionalcontent/metaside channels onToolResult— wired up by the stacked PR, inert here.Tests: 18 new (5 memory behavior with stub storage + TestClock, 2 classifier suites, 13 normalization), sdk suite 683/683.