You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sub-issue 4 of #2191. The repo-wide vocabulary sweep and the dead code the epic left behind. Comment and test changes plus one deletion. Its acceptance is a reviewed list, since a grep for these words also hits Kubernetes, CI and the cedar dialect.
Vocabulary
"Search attribute" for what is now outcomeAttribute folded onto the run ledger (packages/core/src/op/runtime.ts:90-98, local-executor.ts:280):
cedar src/dogwood/replay-op.ts:212, replay-activity.ts:98, replay-activity.test.ts:413.
"Workflow" for the Op or the run:
op/activities/converge.ts:2,60, op/activities/env-teardown.ts:53,152-153, op/activities/apply.ts:93, op/builders.ts:868 (policyGate "blocking the workflow"; it throws and fails the step), op/step-output-ref.ts:14-16 ("the serializer compiles into a real local variable in the generated workflow"; local-executor.ts resolves refs from resultsById), components/cli-support.ts:435 ("the generated orchestrator Op will eventually do").
op/types.ts:12 "Used as the workflow function name (camelCase) and output directory name", copied into composites/watch-op.ts:32, converge-op.ts:100, reconcile-op.ts:36, pipeline-audit-op.ts:33, workflow-audit-op.ts:37, lexicon-upgrade-op.ts:63. workflowFnName was deleted in 257ca0c; only the directory half is true.
cli/commands/build.test.ts:952-983 test named "op worker files go to dist/ops" with fixtures ops/durable-hello/{workflow,worker,activities}.ts. The routing is real and generic; rename and re-fixture.
Other:
"the worker's cwd": op/builders.ts:366, op/activities/env-teardown.ts:49.
"replay-safe": components/auto-release.ts:16-17.
TMP014 where OPS014 is meant: op/composites/converge-op.ts:74,75,83; lexicons/k8s/src/composites/operator-stack.ts:40,44,49,107,201.
"rather than in core or the temporal barrel": op/builders.ts in aws :4,6, azure :4, gcp :4, k3d :4, k3s :4, all deferring to lexicons/k8s/src/op/builders.ts:25 and its "a worker image needs no kubectl binary" line.
temporal cited as a live peer: lexicons/azure/src/deep-observe.ts:342, lexicons/aws/src/codegen/docs.ts:117.
lexicons/fly/src/components/run-agent-conformance.test.ts:22-26,174-182 motivates a real test with "On a durable runtime".
vitest.config.ts:111-114 and test/no-egress.test.ts:274-277 justify timeouts by "the Temporal runtime/compile-smoke suites bundle workflows with webpack"; nothing bundles anything. Re-justify or drop.
test/forgejo-preview-e2e.sh:13 and test/forgejo-preview-e2e/README.md:21 "packs core + fly + temporal"; lines 98-100 pack two packages.
packages/core/src/components/pilots/pilots-lint-clean.test.ts:62-63 tells users to write chant-disable-next-line COMP004; comp004-gate-needs-durable-runtime.ts:19-24 says COMP diagnostics honour only the file-level form.
packages/core/src/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.ts:4 "nothing requires the durable backend".
safeHeartbeat (packages/core/src/op/activity-runtime.ts:9-23), a @deprecated no-op "kept so the lexicons that call it keep compiling; it goes away once none of them do". Callers: core op/emulator-lifecycle.ts:3,161; about forty sites across aws, azure, fly, gcp, gitlab, helm, k3d, k3s, k8s, terraform. Four wrap it in a live setInterval every 15s for the life of a shell-out: lexicons/helm/src/op/activities/helm.ts:434-443,565-576, lexicons/k3s/src/op/activities/k3s.ts:142-154, lexicons/k3d/src/op/activities/k3d.ts:160-169. Remove every call, then the export.
--temporal as the sample runCommand in lexicons/github/src/components/generate-op-pipeline.test.ts:204,214, generate-pipeline.test.ts:225,233, lexicons/gitlab/src/components/generate-op-pipeline.test.ts:92,102, generate-pipeline.test.ts:189,197. Passthrough is what they test; the fixture teaches a command that exits 2.
packages/core/src/cli/handlers/run.test.ts:82makeOp types taskQueue?: string; nothing sets it and OpConfig has no such field.
Not in scope
The --temporal bridge (packages/core/src/cli/main.ts:106,115,1003-1007, main.test.ts:581-592) stays until 0.58.0 ships; 257ca0c is not an ancestor of the chant-v0.57.0 tag. signalName as the public field on gate() and GateStep (op/types.ts:175) is a rename with a deprecation and gets its own issue. Historical rows in whats-new.mdx:131,158, lexicons/k8s/src/lint/post-synth/wk8301.ts:8 ("queue/Temporal workers" as a port-less workload), the "#809 relocated from the temporal lexicon" provenance notes, packages/core/src/lint/post-synth.test.ts:137 ("shaped like temporal's TMP012/TMP013") and the vendored SARIF schema stay.
Acceptance
Every listed line is rewritten against the current mechanism, and the PR body lists each with its replacement.
safeHeartbeat does not exist and no setInterval heartbeat loop remains in any activity.
FTN020 imports core's cron validator and its doc records the @daily decision.
No test fixture uses --temporal as a run command.
The typecheck baseline does not grow, the full suite passes, depcheck and check-lexicons pass.
Sub-issue 4 of #2191. The repo-wide vocabulary sweep and the dead code the epic left behind. Comment and test changes plus one deletion. Its acceptance is a reviewed list, since a grep for these words also hits Kubernetes, CI and the cedar dialect.
Vocabulary
"Search attribute" for what is now
outcomeAttributefolded onto the run ledger (packages/core/src/op/runtime.ts:90-98,local-executor.ts:280):op/local-executor.ts:50,55(StepRecord.outcome/outcomesdocs),op/activities/lifecycle.ts:64,70,op/composites/watch-op.ts:5-6,80,workflow-audit-op.ts:78,lexicon-upgrade-op.ts:124-125,composites/composites.test.ts:71,133,354.src/dogwood/replay-op.ts:212,replay-activity.ts:98,replay-activity.test.ts:413."Workflow" for the Op or the run:
op/activities/converge.ts:2,60,op/activities/env-teardown.ts:53,152-153,op/activities/apply.ts:93,op/builders.ts:868(policyGate"blocking the workflow"; it throws and fails the step),op/step-output-ref.ts:14-16("the serializer compiles into a real local variable in the generated workflow";local-executor.tsresolves refs fromresultsById),components/cli-support.ts:435("the generated orchestrator Op will eventually do").op/types.ts:12"Used as the workflow function name (camelCase) and output directory name", copied intocomposites/watch-op.ts:32,converge-op.ts:100,reconcile-op.ts:36,pipeline-audit-op.ts:33,workflow-audit-op.ts:37,lexicon-upgrade-op.ts:63.workflowFnNamewas deleted in 257ca0c; only the directory half is true.cli/commands/build.test.ts:952-983test named "op worker files go to dist/ops" with fixturesops/durable-hello/{workflow,worker,activities}.ts. The routing is real and generic; rename and re-fixture.Other:
op/builders.ts:366,op/activities/env-teardown.ts:49.components/auto-release.ts:16-17.op/composites/converge-op.ts:74,75,83;lexicons/k8s/src/composites/operator-stack.ts:40,44,49,107,201.op/builders.tsin aws:4,6, azure:4, gcp:4, k3d:4, k3s:4, all deferring tolexicons/k8s/src/op/builders.ts:25and its "a worker image needs no kubectl binary" line.lexicons/azure/src/deep-observe.ts:342,lexicons/aws/src/codegen/docs.ts:117.lexicons/fly/src/components/run-agent-conformance.test.ts:22-26,174-182motivates a real test with "On a durable runtime".vitest.config.ts:111-114andtest/no-egress.test.ts:274-277justify timeouts by "the Temporal runtime/compile-smoke suites bundle workflows with webpack"; nothing bundles anything. Re-justify or drop.test/forgejo-preview-e2e.sh:13andtest/forgejo-preview-e2e/README.md:21"packs core + fly + temporal"; lines 98-100 pack two packages.packages/core/src/components/pilots/pilots-lint-clean.test.ts:62-63tells users to writechant-disable-next-line COMP004;comp004-gate-needs-durable-runtime.ts:19-24says COMP diagnostics honour only the file-level form.packages/core/src/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.ts:4"nothing requires the durable backend".docs/src/content/docs/lint-rules/composition.mdx:140heading "COMP004: Gate Needs Durable Runtime" and the rule file and symbol name. Consistent with core: delete the Temporal runtime — run-client, op-progress, codegen loader, --temporal, the worker spawns; COMP004 renamed #2130's spec; decide whether to rename to what the rule's own description says ("a gate step ends the run pending approval") or leave with a note.Dead code
safeHeartbeat(packages/core/src/op/activity-runtime.ts:9-23), a@deprecatedno-op "kept so the lexicons that call it keep compiling; it goes away once none of them do". Callers: coreop/emulator-lifecycle.ts:3,161; about forty sites across aws, azure, fly, gcp, gitlab, helm, k3d, k3s, k8s, terraform. Four wrap it in a livesetIntervalevery 15s for the life of a shell-out:lexicons/helm/src/op/activities/helm.ts:434-443,565-576,lexicons/k3s/src/op/activities/k3s.ts:142-154,lexicons/k3d/src/op/activities/k3d.ts:160-169. Remove every call, then the export.lexicons/fountain/src/lint/post-synth/ftn020-schedule-cron-syntax.ts:17-19TODO "core(op): schedule belongs to the op; composites move into core and return { op }; github pipelines and chant operator read op.schedule #2120: switch to @intentius/chant/op/cron once it lands", inlined "from the temporal lexicon's TMP010".packages/core/src/op/cron.tsshipped and is exported fromop/index.ts:20. The copies differ: core rejects@daily, fountain accepts it. Decide explicitly and record it in the rule doc.--temporalas the samplerunCommandinlexicons/github/src/components/generate-op-pipeline.test.ts:204,214,generate-pipeline.test.ts:225,233,lexicons/gitlab/src/components/generate-op-pipeline.test.ts:92,102,generate-pipeline.test.ts:189,197. Passthrough is what they test; the fixture teaches a command that exits 2.packages/core/src/cli/handlers/run.test.ts:82makeOptypestaskQueue?: string; nothing sets it andOpConfighas no such field.Not in scope
The
--temporalbridge (packages/core/src/cli/main.ts:106,115,1003-1007,main.test.ts:581-592) stays until 0.58.0 ships; 257ca0c is not an ancestor of thechant-v0.57.0tag.signalNameas the public field ongate()andGateStep(op/types.ts:175) is a rename with a deprecation and gets its own issue. Historical rows inwhats-new.mdx:131,158,lexicons/k8s/src/lint/post-synth/wk8301.ts:8("queue/Temporal workers" as a port-less workload), the "#809 relocated from the temporal lexicon" provenance notes,packages/core/src/lint/post-synth.test.ts:137("shaped like temporal's TMP012/TMP013") and the vendored SARIF schema stay.Acceptance
safeHeartbeatdoes not exist and nosetIntervalheartbeat loop remains in any activity.@dailydecision.--temporalas a run command.signalName.