chore: document profiling and other followups, and stuff

idfk
This commit is contained in:
lda
2026-09-14 03:30:17 +07:00 Verified
parent 4268c69877
commit 7cf729e4fc
4 changed files with 51 additions and 1 deletions
+1
View File
@@ -9353,6 +9353,7 @@
"name": "expected_revision",
"required": true,
"schema": {
"minimum": 1,
"type": "integer"
}
},
+48
View File
@@ -82,9 +82,57 @@ Defer these slices until the active sequence exposes a concrete need:
inspection for native subgraphs
- Investigate protocol-native progress or streaming only if polling through
`wf run watch` proves inadequate
- Profile run latency before adding instrumentation: separate test setup,
graph execution, validation/serialization, and result printing in the slow
rewrite example. Capture a flame graph or time-oriented profile before
attributing cost to `model_validate`. Use the measurements to scope per-node
timing, wall-clock correlation timestamps, and possible OpenTelemetry
integration; preserve monotonic duration measurement as a separate concern.
- Continue [`OpenAPI capability sources`](openapi_capability_source.md) when a
real non-MCP source requires them
## Scheduling follow-ups
These are separate improvement slices, not reopened scheduling blockers or
new prerequisites for the active fork/gather sequence. Plan them explicitly
rather than expanding review-cleanup waves.
- **Persistence and concurrency design:** concentrate ownership, transaction,
and cancellation responsibilities behind explicit guarantees. Keep
filesystem roots and lock mechanics inside the file-backed implementation;
preserve durable admission, attempt identity, scoped recovery, and
join-before-ownership-release tests. Do not introduce an ORM or silently
optional transaction guarantees as part of this design work.
- **Responsiveness and scale:** first address synchronous schedule-admin work
on the event loop with cancellation-safe, joined execution and shutdown
coordination. Then measure historical-run scans before planning occurrence
indexes or active-run indexes; any index needs its own recovery contract.
- **Python scheduling ergonomics:** design client-owned occurrence objects
and pages, computed next-run information, and the placement of schedule
mutation methods. Keep calendar behavior library-owned and distinguish a
predicted next occurrence from guaranteed execution under capacity and
overlap policies.
## Thesis and evidence work
Continue the
[`system design and implementation thesis`](thesis/system-design-implementation.md)
alongside runtime work. Preserve its focus on application purpose, general
UI/UX, and execution semantics before introducing implementation details;
explain artifacts and deployments in that progression. Revisit diagrams for
standalone clarity and keep implemented capabilities separate from future
product directions.
The companion shell-backed assistant has a local execution backend; its chat
interface is under development. Workflow-client integration and agent-driven
authoring remain future evaluation work. Rerun the agent evaluation when that
integration is ready; retain the old 36-trial material as historical evidence
rather than presenting it as validation of the new experience.
Resolve the missing generated thesis PDF fixtures separately: decide whether
tests generate them or the reproducible build supplies them, then document
and test that policy. Do not weaken asset checks merely to make CI green.
## Durable platform constraints
These rules describe current boundaries. New work should preserve them.
+1 -1
View File
@@ -42,7 +42,7 @@ dev = [
]
[tool.pytest.ini_options]
addopts = "-p no:cacheprovider -n 8"
addopts = "-p no:cacheprovider -n auto --maxprocesses=8"
pythonpath = ["."]
asyncio_mode = "auto"
markers = ["slow: slow subprocess/integration tests (deselect with '-m \"not slow\"')"]
+1
View File
@@ -60,6 +60,7 @@ def build_input(context: Context):
def test():
assert 240 - 135 + 20 >= 120, "my math!"
d = gacha.execute(
build_input(context)(
20, # lets be optimistic