Skip to content

Add Foundry and custom durable history samples - #99

Draft
Tamir Dresher (tamirdresher) wants to merge 2 commits into
tamirdresher-microsoft-stack-4-retention-metricsfrom
tamirdresher-microsoft-stack-5-history-samples
Draft

Add Foundry and custom durable history samples#99
Tamir Dresher (tamirdresher) wants to merge 2 commits into
tamirdresher-microsoft-stack-4-retention-metricsfrom
tamirdresher-microsoft-stack-5-history-samples

Conversation

@tamirdresher

@tamirdresher Tamir Dresher (tamirdresher) commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds the experimental durable history Samples 08 and 09. This is stack position 5 of 6, based on tamirdresher-microsoft-stack-4-retention-metrics; Sample 10 is intentionally excluded.

These are draft/experimental samples only. They do not expose a public EnableMailboxWrites API or activate production schema2 behavior. Samples and tests use an internal, default-disabled activation path. Mixed-runtime production use remains blocked until Python, dashboard, and poller compatibility reaches the rollout floor.

  • 08_FoundryManagedAgent uses a stable logical service key with KeepAll. It exercises an actual versioned Microsoft Foundry durable proxy and cold restart, preserves mailbox and completion state without mirroring the service transcript into entity conversationHistory, restores the service binding and opaque continuation/reference, verifies continued callability, and cleans up the exact agent version created by the sample.
  • 09_CustomHistoryProvider uses a stable external provider key with KeepAll. It verifies proxy start and cold-restart reference continuity/callability with a compatible provider, rejects a changed provider key, preserves mailbox and completion state without transcript mirrors, projects bounded input into model context, and cleans up its local history. Marker input is explicitly limited to 1 KiB of UTF-8 before durable activity starts. Its cumulative history test exceeds 1 MiB through moderate records and does not claim to solve a single oversized payload.

Configuration

The samples use:

  • FOUNDRY_PROJECT_ENDPOINT
  • FOUNDRY_MODEL
  • DURABLE_TASK_SCHEDULER_CONNECTION_STRING

Authentication uses DefaultAzureCredential; no credentials or connection secrets are included.

Validation

  • Sample 09 tests: 13/13 passed.
  • Registration/Foundry tests: 4/4 passed.
  • DurableTask tests: 1338/1338 passed.
  • Hosting tests: 223/223 passed.
  • Sample 08 and Sample 09 Release builds passed.
  • Full Release build: 38 projects, 0 warnings, 0 errors.
  • Package and symbol-package creation passed.
  • Formatting, analyzers, and scope checks passed.
  • Sample verifier: 0 run, 2 secure checks skipped because required live-service configuration was unavailable.
  • Final independent gpt-5.6-sol review: ACCEPT for exact head d3c09e9ad91602a596993950a8b893a8756d26a8.

Known limitations

  • The custom provider is intentionally text-focused and backed by local JSON.
  • External provider writes and durable entity commits are not transactionally coupled.
  • The samples do not provide payload offload, distributed storage, exactly-once behavior, or a solution for one oversized request/tool result.
  • No production-readiness or production schema2 activation is claimed.

Change summary

  • Expected stack base commit: 1479c5322f61544fd13be65805e6bf0b96d668b3
  • Head commit: d3c09e9ad91602a596993950a8b893a8756d26a8
  • Incremental diff: 17 files changed, 2,139 insertions
  • Cumulative diff from repository origin/main (62afdbac03f0a81b0917abe6328203b706a2f294): 130 files changed, 27,074 insertions, 395 deletions

Incremental commits

  1. 04380e51e964a8330304e0645a3b8d2cfe1c881c Add gated durable history samples
  2. d3c09e9ad91602a596993950a8b893a8756d26a8 Bound custom history sample marker input

@tamirdresher
Tamir Dresher (tamirdresher) added this pull request to stack #96 September 11, 2026 22:03
Tamir Dresher and others added 2 commits September 12, 2026 19:35
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Validate marker text against a conservative 1 KiB UTF-8 limit before durable session creation, with deterministic boundary coverage.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@tamirdresher
Tamir Dresher (tamirdresher) force-pushed the tamirdresher-microsoft-stack-5-history-samples branch from 92fcae7 to d3c09e9 Compare September 12, 2026 17:13
Copilot AI lite review requested due to automatic review settings September 12, 2026 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant