Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Collapse execution surfaces into one canonical request and result

Open
#2,431 0 comments 0 reactions 0 assignees View on GitHub

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

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Automattic/wp-codebox

All issues in Automattic/wp-codebox

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.