From 9435d68499e5142f03c93e99f66a43c13e18cd78 Mon Sep 17 00:00:00 2001 From: witbrock Date: Sat, 12 Sep 2026 18:13:28 -0400 Subject: [PATCH 1/2] docs: clarify hourly conversation naming schedule reconciliation --- .../von_workflow_language_manual.md | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/docs/engineering/von_workflow_language_manual.md b/docs/engineering/von_workflow_language_manual.md index c6ec7a8d..bee3b647 100644 --- a/docs/engineering/von_workflow_language_manual.md +++ b/docs/engineering/von_workflow_language_manual.md @@ -1373,7 +1373,32 @@ The owned unnamed-conversation naming consumer is `#V#unnamed_conversation_naming_workflow`. Its repository bundle and prompt are release inputs for the startup bootstrap; execution reads the published Vontology definition and linked prompt. Bootstrap does not create an actor's -schedule. Use the normal actor-bound schedule route with an interval of 3600 +schedule. Reuse this direct consumer for the bounded hourly naming job. A +[recurring task continuation](task_responsibility_continuation.md#recurring-encounters) +also uses a workflow schedule, then submits a separate Tasks/chat execution. +That path is useful when a responsibility needs evolving task guidance, a work +product and conversation continuity. It requires a pending or in-progress task +assigned to Von, created by the actor, with an accessible actor-owned originating +conversation in the same organisation. A recurring task type or a coding-agent +assignment alone does not supply an hourly executor. The existing naming +consumer already provides discovery, inspection, semantic title choice and +guarded effects without that additional task launch. This is a reuse decision, +not a measured claim about comparative model quality, cost or latency. + +Before creating a naming schedule, list the actor's schedules including disabled +ones and read back candidate definitions and launch inputs. Reuse a matching +schedule and explicitly resume it if paused. A create retry does not resume a +paused schedule. Preserve an existing schedule ID: the creation identity hashes +the actor, definition identity, cadence, inputs and caller key, so a stable key +alone does not deduplicate legacy schedules or schedules with changed inputs or +definition identities. Reconcile any older naming consumer before enabling a +replacement, preserving active work and enough state to restore its prior +enabled status. Do not create a second assignment or leave competing naming +schedules enabled. A bounded or incomplete schedule listing does not prove that +no prior schedule exists. + +If no suitable schedule exists after reconciliation, use the normal actor-bound +schedule route with an interval of 3600 seconds, a stable idempotency key such as `hourly-owned-unnamed-conversation-naming-v1`, and an explicit allowed model in `default_inputs.requested_model`. For the bounded naming slice, `gpt-5.4` with From b4850bff825d80991d04b30f74ec5b166af51f66 Mon Sep 17 00:00:00 2001 From: witbrock Date: Sat, 12 Sep 2026 18:15:47 -0400 Subject: [PATCH 2/2] docs: keep naming activation status on the requesting task --- docs/engineering/von_workflow_language_manual.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/engineering/von_workflow_language_manual.md b/docs/engineering/von_workflow_language_manual.md index bee3b647..fe7840fc 100644 --- a/docs/engineering/von_workflow_language_manual.md +++ b/docs/engineering/von_workflow_language_manual.md @@ -1398,8 +1398,7 @@ schedules enabled. A bounded or incomplete schedule listing does not prove that no prior schedule exists. If no suitable schedule exists after reconciliation, use the normal actor-bound -schedule route with an interval of 3600 -seconds, a stable idempotency key such as +schedule route with an interval of 3600 seconds, a stable idempotency key such as `hourly-owned-unnamed-conversation-naming-v1`, and an explicit allowed model in `default_inputs.requested_model`. For the bounded naming slice, `gpt-5.4` with `requested_model_parameters: {"reasoning_effort": "medium"}` is the initial @@ -1421,8 +1420,8 @@ incomplete source coverage is not exhaustive success; resume/retry the existing instance from its checkpoint. Completion covers the traversed source snapshot, not concurrent additions. Check occurrence identity, step receipts and canonical titles before claiming the hourly responsibility is working; schedule creation -and source publication alone are insufficient. JVNAUTOSCI-2698 owns the live -activation and acceptance status. +and source publication alone are insufficient. Record live activation and +acceptance on the current requesting task. Awaited durable execution contract: