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
The wp-site-generator Site Generation Loop fails before the first model call because Data Machine marks the required adjacent handler tool unavailable even though the agent bundle workflow wires github_issue_publish via the adjacent publish step and tool recorder.
Downstream symptoms: no issue_number / issue_url outputs, then design/static tasks skip due missing output bindings.
Expected
When an AI step is paired with an adjacent publish/handler step in an ephemeral agent-bundle flow, the required handler tool should be available to the model and preserved through visibility/tool-policy filtering. The model should be able to call github_issue_publish exactly once and satisfy the configured recorder/output assertions.
Notes
This is not an importer/compiler failure. The run reached Homeboy agent-task execution after WP Codebox/Homeboy setup and failed during Data Machine AI step tool preparation.
AI assistance
AI assistance: Yes
Tool(s): OpenCode (GPT-5.5)
Used for: Capturing the failing workflow evidence and drafting the runtime bug report.
Removed the Data Machine 1.0 blocker label. The root activation-order defect was fixed upstream in Automattic/wp-codebox#753; remaining work is end-to-end scenario verification and a stale smoke assertion cleanup.
Bounded verification reached a reproduced current Data Machine defect, so this moved to a minimal PR rather than closing with no code change: #3344
Evidence:
Exact bundle pinned from failing run 27094708135 (b2669b1e59681e58997f2bf6bacfd18eb8bf230d).
Current WP Codebox loaded Agents API, Data Machine, Data Machine Code, and the adjacent GitHub handler as runtime components; the original required_handler_tool_unavailable activation-order failure did not recur.
Deterministic provider/GitHub doubles prevented live issue mutation.
First current blocker: SQLite exposed no @@SESSION.max_allowed_packet; Data Machine converted that to a zero-byte query budget and rejected the ~5 KB workflow engine snapshot. Before artifact: runtime-mt5bthvq-pbzjx6 (engine_data_query_oversize, new_bytes=4863, estimated_query_bytes=13822).
After the PR fix, artifact runtime-mt5c0zhb-je5312 records Stored engine_data successfully and advances into the direct action lifecycle.
Canonical Homeboy run baf9f7c9-a15c-47aa-9712-735e65771213 failed closed with PHPUNIT_ZERO_TESTS cause=recipe_run_no_executions (zero executed, not a test failure).
Direct operation job is created and action 6 is enqueued.
Drain starts action 6.
SAVEPOINT datamachine_transaction_1 is active.
The SQLite adapter tries BEGIN IMMEDIATE before translating/executing the pending-to-processing UPDATE.
SQLite returns cannot start a transaction within a transaction; wpdb->update() returns boolean false, rows_affected=0, with non-empty last_error.
Action Scheduler records the action complete, but the job remains pending and github_issue_publish executes 0 times.
This disproves #3348's affected-row diagnosis. The distinct owner-layer blocker is tracked at WordPress/sqlite-database-integration#495. PR #3353 was corrected to remove the unsafe fallback and is closing without merge.
Final deterministic verification is green with the upstream SQLite owner fix from WordPress/sqlite-database-integration#496 (9879478e39d5e8b3eb0e6a3651b39d4f0f7f77f0). Closing this issue.
That run proved PR #496 fixed the SQLite lifecycle boundary: the job left pending, drained its action, and reached a terminal status without a nested BEGIN failure. Its later AI failure was not a valid current Data Machine compatibility result because current Data Machine requires WordPress 7.0; no WordPress 7 compatibility shims were retained.
Fixture correction
The retained GitHub double expected the obsolete synthetic endpoint Extra-Chill/verify-2578-fixture. The pinned bundle correctly configures chubes4/wp-site-generator, so the disposable fixture was corrected to intercept https://api.github.com/repos/chubes4/wp-site-generator/issues. A fresh runtime reset the call counter and produced exactly one successful call. The current provider's deterministic /v1/models discovery and authentication were also supplied without permitting network writes.
Activity
chubes4 commentedon Aug 20, 2026
Removed the Data Machine 1.0 blocker label. The root activation-order defect was fixed upstream in Automattic/wp-codebox#753; remaining work is end-to-end scenario verification and a stale smoke assertion cleanup.
chubes4 commentedon Aug 23, 2026
Bounded verification reached a reproduced current Data Machine defect, so this moved to a minimal PR rather than closing with no code change: #3344
Evidence:
b2669b1e59681e58997f2bf6bacfd18eb8bf230d).required_handler_tool_unavailableactivation-order failure did not recur.@@SESSION.max_allowed_packet; Data Machine converted that to a zero-byte query budget and rejected the ~5 KB workflow engine snapshot. Before artifact:runtime-mt5bthvq-pbzjx6(engine_data_query_oversize,new_bytes=4863,estimated_query_bytes=13822).runtime-mt5c0zhb-je5312recordsStored engine_data successfullyand advances into the direct action lifecycle.baf9f7c9-a15c-47aa-9712-735e65771213failed closed withPHPUNIT_ZERO_TESTS cause=recipe_run_no_executions(zero executed, not a test failure).Required-handler policy remains unchanged.
chubes4 commentedon Aug 23, 2026
Exact deterministic replay after #3346 isolated the next owner-layer blocker; this issue remains open.
Replay contract:
b2669b1e59681e58997f2bf6bacfd18eb8bf230d6.9.2, PHP8.3.32github_issue_publishcall count: exactly oneissue_number,issue_urlRetained result:
runtime-mt6bqbcc-dfymmzartifact-bundle-sha256-38b3a05a217740e7b6801de40989b68ad518c5fa789c97c5a683ea9ae0df5161/mnt/extrachill-workspace/tmp/opencode/verify-2578-after-3346-filesystem-trace-wp692/runtime-mt6bqbcc-dfymmzObserved sequence:
6is enqueued.6.SAVEPOINT datamachine_transaction_1is active.BEGIN IMMEDIATEbefore translating/executing the pending-to-processingUPDATE.cannot start a transaction within a transaction;wpdb->update()returns booleanfalse,rows_affected=0, with non-emptylast_error.pendingandgithub_issue_publishexecutes0times.This disproves #3348's affected-row diagnosis. The distinct owner-layer blocker is tracked at WordPress/sqlite-database-integration#495. PR #3353 was corrected to remove the unsafe fallback and is closing without merge.
chubes4 commentedon Aug 23, 2026
Final deterministic verification is green with the upstream SQLite owner fix from WordPress/sqlite-database-integration#496 (
9879478e39d5e8b3eb0e6a3651b39d4f0f7f77f0). Closing this issue.Exact contract
wp-site-generatorbundle revision:b2669b1e59681e58997f2bf6bacfd18eb8bf230dgithub_issue_publishexactly once as the first and only publish actionissue_number,issue_urlef90a97f1, current Agents API, refreshed current Data Machine Code, current OpenAI provider7.0Final retained evidence
runtime-mt6eng03-f1aytkartifact-bundle-sha256-38b3a05a217740e7b6801de40989b68ad518c5fa789c97c5a683ea9ae0df5161/mnt/extrachill-workspace/tmp/opencode/verify-2578-sqlite-496-wp70-final-7/runtime-mt6eng03-f1aytkrun_5dde34c157484629b9af96b5710536a7Exact passing assertions:
{ "job_count": 1, "terminal_success": true, "job_status": "completed", "github_issue_publish_visible": true, "github_issue_publish_calls": 1, "issue_number_bound": 2578001, "issue_url_bound": "https://github.example.test/chubes4/wp-site-generator/issues/2578001", "payload_fields": ["title", "body", "labels"], "forbidden_failures_absent": [ "required_handler_tool_unavailable", "engine_data_query_oversize", "cannot start a transaction within a transaction", "status_persistence_failed", "wait_incomplete" ] }The runtime result independently reports
completion_outcome.status=completed,success=true, and both required outputs present.Historical SQLite proof
The intermediate WordPress 6.9.2 run is retained as:
runtime-mt6dngjy-w0lj4qartifact-bundle-sha256-e6292e445f7dee76e5184865e37f5ef3d3a7b235987607ea05752a0992f2f660That run proved PR #496 fixed the SQLite lifecycle boundary: the job left
pending, drained its action, and reached a terminal status without a nestedBEGINfailure. Its later AI failure was not a valid current Data Machine compatibility result because current Data Machine requires WordPress 7.0; no WordPress 7 compatibility shims were retained.Fixture correction
The retained GitHub double expected the obsolete synthetic endpoint
Extra-Chill/verify-2578-fixture. The pinned bundle correctly configureschubes4/wp-site-generator, so the disposable fixture was corrected to intercepthttps://api.github.com/repos/chubes4/wp-site-generator/issues. A fresh runtime reset the call counter and produced exactly one successful call. The current provider's deterministic/v1/modelsdiscovery and authentication were also supplied without permitting network writes.Refs WordPress/sqlite-database-integration#495
Refs WordPress/sqlite-database-integration#496