Collapse execution surfaces into one canonical request and result
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- php, typescript
- Domain
- backend, backend-api-design
Research direction
Start at the Codebox boundary and runtime execution engine, then map the recipes, agent tasks, workloads, packages, batch, and fanout helpers described here. Review issue #1827 for the Homeboy boundary and identify how each helper currently enters and leaves execution. Done means one versioned request and result contract, migrated consumers, removed obsolete protocols, and contract coverage for every listed outcome.
Written by the indexing model from the issue text.
Description
Parent: #2429
Problem
WP Codebox exposes overlapping execution concepts across runtime requests, recipes, tasks, workloads, packages, run plans, episodes, batch, and fanout. Each adds validation, status projection, artifact projection, CLI routing, PHP adaptation, and documentation.
The result is not merely a large API. Multiple layers can own planning and lifecycle for the same run, which creates translation code and divergent failure semantics. #1827 documents the downstream consequence: Codebox and Homeboy both own task translation, workspace snapshots, application, verification, publication, and terminal projection.
Desired shape
Define one canonical versioned execution request and one canonical versioned result at the Codebox boundary.
The request should describe:
- runtime backend/profile requirements;
- mounts and materialized inputs;
- execution policy;
- ordered or bounded execution steps;
- required artifact/evidence classes;
- caller correlation metadata.
The result should describe:
- terminal execution status and normalized failure;
- runtime and input provenance;
- command/step results;
- workspace delta;
- artifact and evidence references;
- cleanup outcome.
Recipes, agent tasks, workloads, packages, batch, and fanout may remain authoring or orchestration helpers, but they must compile to the canonical request before entering Codebox and consume the canonical result after execution. They are not independent runtime protocols.
Acceptance criteria
- One public request schema enters the runtime execution engine and one public result schema leaves it.
- Every higher-level helper has a deterministic compiler to that request rather than a separate executor.
- Backend implementations receive the same request contract and return backend evidence through the same result contract.
- Status and failure taxonomy are defined once.
- Homeboy uses the canonical boundary described by #1827 and owns retries, verification, apply, promotion, and publication.
- Known consumers are migrated and obsolete execution protocols are removed.
- Contract tests cover success, no-op, policy rejection, malformed input, runtime failure, timeout/interruption, partial evidence, and cleanup failure.
AI assistance
- Model: OpenAI gpt-5.6-sol
- Tool: OpenCode
- Used for: Mapped overlapping execution surfaces and drafted a single request/result consolidation contract under Chris Huber's direction.
- Dominant language
- TypeScript
- Stars
- 17
- Forks
- 4
- Avg merge
- 1h 11m
- Merged PRs (30d)
- 39
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Automattic/wp-codebox
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Automattic/wp-codebox#2531 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Automattic/wp-codebox#2467 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Automattic/wp-codebox#2466 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Automattic/wp-codebox#2105 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Automattic/wp-codebox#2061 ·
Maintainers usually reply within 1 day
All issues in Automattic/wp-codebox
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
betagouv/mon-entreprise#4699 ·
Maintainers usually reply within 3 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
jaegertracing/jaeger-ui#4547 · 3 comments ·
Maintainers usually reply within 1 day
-
ai-driven-qa
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
linagora/twake-calendar-frontend#1467 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
need4deed-org/sdk#267 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
auth0/universal-login#414 ·
Maintainers usually reply within 1 day